maemaewaterの日記

エンジニア兼ゲーマーの人の日記です。PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。

Wordpressを間接的に呼び出して高速化+wp-adminの直接呼び出しを防ぐ

Wordpressを運用するときに直接PHPで処理を行うのではなくキャッシュなどを経由して利用してみようということで試してみました。 サイトのレスポンスも高速になります。検証した環境ではざっくりですがおおよそ33msかかっているものがおおよそ12msまで短縮で…

Let's Encryptを使ってウェブサイトをHTTPSでアクセスできるようにする

1台のサーバーで運用したいウェブサイトなどではなるべくコストを減らしたかったりすると思います。AWSのELBやGCPのロードバランサーなどクラウドサービスで提供されているロードバランサーを使うと簡単にSSLの設定ができてHTTPSできたりしますが、少々お値…

WSLでrbenvのinit

WSLを使ってRubyを使うときにrbenvを使うケースがあると思います。この時に、.bash_profileに eval "$(rbenv init -)" を書いたりすると思います。しかし、これをWSLの.bash_profileに書くとターミナルを開いたときにエラーが表示されます。WSLでは、~/.prof…

スキャンした書類のページの番号が連続していない場合のファイル名変更スクリプト

スキャンした書類の画像のファイル名が、ページ順ではなかった場合に番号を振りなおすスクリプトです。 以下のようなディレクトリ構成でスクリプトを実行します。 num_change.rb images/ 画像_001.jpg 画像_002.jpg ... スクリプト(num_change.rb)は次の通り…

After Effects: エクスプレッションをはじめる 2

第2回目は、変数の種類とテキストをアニメーションさせるということを行ってみます。 変数の種類 数値(Number) 文字列(String) 配列(Array) オブジェクト(Object) 数値 数値を表す型です。数値を代入することで数値の変数として利用できます。 var n1 = 5; v…

After Effects: エクスプレッションをはじめる 1

エクスプレッションを作成しているなかで、基本的なところからまとめてみようと思います。 エクスプレッションでできること 工夫次第でいろいろと広がるので、まとめることが難しそうですが少なくともできることをまとめてみます。エクスプレッションはアニ…

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を使用してオブジェクトを取得して行います。アップロードまでの…