maemaewaterの日記

PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。

OpenStreetMapのスタイルでDBの接続先を変更する

OpenStreetMapをnode.jsからレンダリングする時にスタイルのXMLを用意しますが、ここに書かれているDB(PostgreSQL)への接続先を変更する方法についてです。実際の運用では、接続先が変わると思いますので(PostgreSQLを別のサーバーで動かしたりなど)、接続先…

OpenStreetMapをMapnikでレンダリングして画像ファイルに出力

OpenStreetMapというプロジェクトがあることを知り、綺麗な地図だなと思っていたらMapnikを使ってレンダリングしているよということが書かれており地図画像が出力できたら面白いなということで試してみました。 www.openstreetmap.org mapnik.org 今回は、Ub…

UWPアプリケーションでONNXを使用する

UWPアプリケーション(Universal Windows Platform)での機械学習で使用されるONNX形式のモデルの使い方についてです。いくつか問題になるところがありましたので、その問題点と解決方法についてになります。 モデルファイルの読み込み UWPアプリケーションで…

ML.NETでONNXを使用する

ML.NETでONNX形式のモデルを扱えないかどうか調べていたところ以下の動画で解説されていました。 https://www.youtube.com/watch?v=lamnwHvjEV0 この動画で説明されていることでもあるのですが、少しまとめてみようと思います。 プロジェクトの作成 ここでは…

ゲーミングPC

Redditを眺めていたら光るPCが多くてびっくりです。スゴイ感じのPCをいくつか紹介したくなってしまいますね。 Just finished my Ryzen build. I've never had RGB before, I love it! from r/pcmasterrace May the 4th be with you from r/pcmasterrace How'…

After Effects: 2つのレイヤーの位置に対して90度の場所に別のレイヤーの位置を設定

正直何の役に立つかわかりませんが、ベクトルの関数を使ってみる例として作ってみました。 結果 Text 3の位置のエクスプレッション let p1 = thisComp.layer("Text 1").transform.position; let p2 = thisComp.layer("Text 2").transform.position; let d = …

Firebaseを使用して独自ドメインでCloud FunctionsのWeb APIをHTTPS接続できるようにする

Cloud Functionsのみの利用では、独自ドメインでHTTPSを使用することができないということでした。そこで、FirebaseのHostingの機能を使うと良いとのことです。少し具体的には、Hostingのrewrite(ある特定のURLのパスでアクセスされたときに、その時の動作を…

Google Cloud Functions (Python)

Cloud Functionsを使用してみたのですこしまとめてみようと思います。ラインタイムは、Python 3.7でトリガーはHTTPとしています。 パラメーターの受け取り 入力されるパラメーターはPOSTで受け取る形であらかじめコードが記述されておりました。 request_jso…

GeoHashを生成するWeb APIを作ってみました

GeoHash(範囲の絞り込みができる文字列の形式の緯度、経度)を生成するAPIを作って公開してみました。作成したあとにWeb APIとして使えたら便利かもしれないと思いましたのでついでに公開してみました。 言語自体はPythonで書いたのですが、Google Cloud Func…

After Effects: 最初のエクスプレッション

After Effectsのエクスプレッション(Expression)を初めに作成したときにとりあえずわけが分からなかったのですが、始めたころから書いていくうちに分かったこと何回かに分けてまとめてみようと思います。 エクスプレッションは、基本JavaScript的な言語(今は…

After Effects: エクスプレッション: パスを制御する

エクスプレッションでパスの座標を直接して図形が描けたら便利かもしれないということで、試してみました。 パスをエクステンションで作成 シェイプレイヤーを作成して、パスのところでエクスプレッションを追加します。そこに以下のように記述すると座標を…

After Effects: エクスプレッション: footage関数でCSVファイルを読み込む

footage関数を使うとCSVファイルを読み込むことができます。CSVファイルの一行目は、列名として扱われているようですね。 let x = footage('test.csv').dataValue([1,1]); x; 列,行の順で指定するのですね。最初、行,列の順だと思ってました。 let x = foota…

After Effects: エクスプレッションで共通で使える関数ライブラリを作成する

After Effectsでエクスプレッションを記述していて他のレイヤーでも使えないのかなと思っていたのですが、バージョン15以上からはfootageを利用してライブラリを記述できるようになっていました。 以下のページで説明されていたので試しに作成してみました。…

椅子のクッション

全くプログラミングと関係ないのですが、最近椅子に座って作業していると疲れてしまうのでクッションを買いました。東京西川のエアークッション スクエアというものです。あのエアーの素材のクッションなので良さそうと思って購入してみたのですが、これは良…

.NET Coreでの画像の扱い

C#

.NET Coreで画像を扱おうと思った時に画像関連のクラスライブラリが提供されていないことを知ったのですが、MSDNのブログにも触れられていました。 blogs.msdn.microsoft.com Gitで利用ために画像概要をテキストで表現するときに.NETで書いたのですが、この…

gitで画像の差分の扱いについて

git

gitで画像の差分をみたいときにバイナリ扱いとなり、どの部分が編集されたのか分かりにくいことも多かったので、少し分かりやすくしたいなといことで画像を一度テキストに変換しその差分をみれるようにしてみようということで試してみました。 画像をテキス…

C++で並列化

C++

C++も手軽に並列化(parallel_for)できるのですね。いろいろ調べると面白そうです。 #include "stdafx.h" #include <iostream> #include <ppl.h> #include <vector> using namespace std; using namespace concurrency; int main() { vector<int> v; for (size_t i = 0; i < 1000; i++) { v.</int></vector></ppl.h></iostream>…

AzureのApp Service

Microsoft AzureのApp Serviceを試してみたりしています。App ServiceはWebサービスを動かすことができますが、今回はPythonで試してみています。Azureのアカウントを作成してローカルのマシンにgitとエディタとPythonの実行環境があれば十分始められる手軽…

AWS CLI (Windows)とPowerShell

AWS CLIをPowerShellから使うのあればAWS Tools for Windows PowerShellを使えたことの後で気がつきましたがメモ代わりに残しておこうと思います。AWS CLI自体はWindows版のインストーラーから入れてしまえば大丈夫ですが、PowerShellから使いやすいようにaw…

PowerShell/コマンド プロンプトでカレントディレクトリをエクスローラーで表示する

Windowsのコマンドラインツールを使って、カレントディレクトリをエクスプローラーで開きたい時があるかもしれません。PowerShellとコマンド プロンプトでは以下のようにして開けます。PowerShell ii . コマンド プロンプト start .

NginxとPython

標準で用意されているライブラリでPythonを使おうと思ったので、Nginxで受けたリクエストをPythonで書かれたプログラムで返すということにしました。Nginxは基本的にリクエストを受け、その裏でWSGI(Python)で処理する流れになります(Nginx(80番ボート) -> W…

SQL Server ExpressのLocalDB

C#

SQL Server ExpressにLocalDBというローカルファイルを参照するタイプのデータベースが利用できる機能があります。 この機能の使い方についてのまとめです。 プロジェクト作成。C#のプロジェクトを新しく作成します。 LocalDBの作成。Visual Studioのソリュ…

Amazon Elastic Load Balancingでのgzip圧縮

aws

Amazon Elastic Load Balancing(ELB)でgzipを使用するにはどうするのだろうと思っていたのですが、受け側のHTTPサーバー(例ではApache)でgzipを有効にしていれば大丈夫でした。Apacheでgzipが有効になっていない場合(ELBを通して): Apacheでgzipが有効になっ…

Amazon S3へのファイルアップロード : aws-sdk-php2

Amazon S3へファイルをアップロードについてです。AWS-SDK-PHP2を使用したAmazon S3へのファイルのアップロードもDynamoDBのようにconfig.phpにアクセス用の情報を設定しておき、Aws::factoryを使用してオブジェクトを取得して行います。アップロードまでの…

cURLの話

cli

TwitterにOAuthでアクセスしようと思ってTwitterのドキュメントを読んでいると目にしたのがcurlでした。 HTTPのアクセス例がcurlで書かれていて、便利なツールなんだなと思いました。LinuxでもWindowsでも利用することができて、cURLのページに行くとdownloa…

C#: コンソールアプリケーションでasyncを利用

C#

Windows 8用のアプリケーション等ではasyncのメソッドのみになっていたりするのですが、コンソールアプリケーションでasycを利用する時にはMainにasyncはつけられないのですが、Task.Factory.StartNewを使用すると大丈夫です。 using System; using System.C…

Amazon DynamoDBのLocal Secondary Indexes

Amazon DynamoDBでテーブルに対してハッシュキーとレンジキー以外にLocal Secondary Indexesが設定できるようになっています。テーブルを作成する際に設定する必要があるようですが、テーブルの設計が楽になるなと思います。これから、使ってみようと思いま…

Amazon DynamoDB: aws-sdk-php2/2.3.0のgetItem

Amazon DynamoDBですが、aws-sdk-php2のgetItemを使用する時も微妙に変わっておりました。少しだけですが。キーに"user"という名前を持つテーブルに対してのgetItem。 get('dynamodb'); $get_result = $ddb->getItem(array( 'TableName' => 'test2', 'Key…

Amazon DynamoDBのLocal Secondary Indexesとaws-sdk-php2/2.3.0

Amazon DynamoDBで新しく追加されたLocal Secondary Indexesを使用しようと思ってドキュメントを読んでいたらQueryの書き方が変わっていました。 微妙に変わっているので、見間違えかと思いましたが確かに変わっておりました。今回は、Queryの使い方とLocal …

Windows.Data.Json

C#

WindowsストアのアプリでJsonを読み込む場合にWindows.Data.Jsonを利用しますが、オブジェクトの中に更にオブジェクトがある場合には、次のようにすると値を取り出すことができます。読み込むJSON: { "a":"a", "b": {"c":"c"} } Windows.Data.Jsonを使用した…