GOでos.Open()
などを使って静的なファイルをロードすることは多い。
この場合、ビルドした実行ファイルと一緒に静的コンテンツを配る必要がある。
またgopherjsでjavascript化すると開くことができない。
バイナリ化してしてコードに含めると実行ファイルに含められるが、面倒なうえにサイズが非常に大きくなってしまう。
go-assets-builderを使うとどちらも解決したので、使用方法などメモ。
GOでos.Open()
などを使って静的なファイルをロードすることは多い。
この場合、ビルドした実行ファイルと一緒に静的コンテンツを配る必要がある。
またgopherjsでjavascript化すると開くことができない。
バイナリ化してしてコードに含めると実行ファイルに含められるが、面倒なうえにサイズが非常に大きくなってしまう。
go-assets-builderを使うとどちらも解決したので、使用方法などメモ。
gopherjsを使う時にファイル入出力があると変換処理が必要になる。
そしてosパッケージが使えないため機能のテストをしにくい。
jsを使ったテストコードをgo上で書くのは結構面倒くさいので切り分けて書くと楽でした。
GOをgopherjsでjavascriptに変換してからCordovaで利用することを考えます。
os.Open()
などでファイルを開く処理はnode.js以外で使えない。
Cordovaで操作可能な場所のファイルを使う場合でもPermission deniedになる。
そこで基本的にCordova側で入出力してGO側で実処理と変換を行うようにします。
Androidアプリを作るのは難しそうだったのでjavascript化して何かに使えないか模索してみます。バイナリ化してexecするより汎用性は上がるはず。
Windowsだけでやりたかったけど、無理だったのでUbuntuで実行します。
物理マシンでもAWS上でもLinuxを持ってますが、Windowsメインで使っているときにちょっとLinuxを使いたい場合に一手間かかります。
そこでWindows上で動く仮想マシンをインストールすることにしました。
大学でも会社でもVMWareを使ってましたが、がっつり使うわけでもないので別に人気のありそうなVirtualBoxを試してみます。
Golangに慣れてきたので何かしら作ってみたい。
最近Androidアプリを作れていないのでGOで書けないかなと試してみました。
テスト環境はWindows10です。
“golang.org/x/image/draw”を使って色々します。
前にScaleを使いましたが、drawで他に何ができるかのサンプル付きメモ。
対象はDraw
, Copy
, DrawMask
, Transform
です。
画像を使っていると使いたい関数の関係でimage
をio.Reader
に変換したいことがあったので、その辺のコーディングメモ。
最終的にはPipe
を使います。
main
パッケージが複数あるときのコンパイルでワイルドカード(*
)を使った指定をしたときに問題が起きたので、その対策方法メモです。
ついでにMakefileも作ります。
事前準備としてコマンドプロンプトでlinuxコマンドを使えるようにしておきます。
まぁWindowsでGO開発する人がいれば自然としているはず。