maemaewaterの日記

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

Azure Batchを使用してBlender 3.0でレンダリング

はじめに Azure Batchがレンダリング環境としても良さそうと思い試してみることにしてみました。マイクロソフトからもレンダリングに関する記事もあり、更にストレージ のアクセスの高速化の方法などかなり大規模なレンダリング環境(HPC Cache)まで想定され…

GoogleスプレッドシートでJSONを扱ってみる

なんとなくスプレッドシートでカラムにJSONのテキストが入っている時には関数が用意されているのかなと思ったのですが、なさそうだったのでゴールデンウィーク中なのもあって簡単なものを作ってみようということで試しに作ってみました。 もしかしたら、一つ…

PowerShellのGet-Contentと置換(Regular Expression)

PowerShellでテキストの文字列の置換を行いたいなと思ったのですが、いろいろと面白かったのでまとめてみようと思います。 今回は以下のテキストファイルを対象に進めていきます。 hello.htmlというファイル名で保存しています。 <html> <head> <title>hello world</title> </head> <body> <div> <span>hello wor</span></div></body></html>…

C#でPNG形式の画像を読み込む (.NET)

はじめに サーバーレス環境などで.NETが利用できたりしますが、実行環境のCPUアーキテクチャもx86とは限らないケースも多くなってくると思われます。実行される環境もWindowsであったりLinuxであったり様々なケースがあり得そうです。そこで、マネージドコー…

ARMプロセッサのLinuxでRuby on Railsを動かす

Rails ARM 普段はx86-64などのCPUを使ったサーバーが多いですが、ARMプロセッサのサーバーもAWSでは選択ができるようになっています。 ARMプロセッサで動くサーバーでRailsを動かすまでの違いなどを確認するために試してみたことをまとめていきます。 基本的…

Discordでのマイク設定(オーディオインタフェース + マイク)

ゲームをする時にDiscordで会話をすることがあると思うのですが、新しく購入したマイクで音声が割れてしまうように聞こえる問題があったので、その対応方法です。DiscordではなくOBS Studioでは問題ありませんでした。また、Discordのマイクテストでも音声の…

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で書いたのですが、この…

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…