【GO】wasm作成で使うsyscall/jsの型変換

GoでWebAssemblyを作るときに必要になるsyscall/jsパッケージの型変換メモ。

使うのはGo1.12です。

Go1.11から破壊的な変更があるため注意。

続きを読む 【GO】wasm作成で使うsyscall/jsの型変換

【GO】filepathパッケージ

ファイル判別などでstringsパッケージを使ってましたがpath/filepathを使ったら楽だったのでメソッド一覧を試してみました。

パッケージの説明を眺めるだけでも良かったけど、全部にサンプルがあるわけでもないし今後使うためには実際に使っておきたい。

続きを読む 【GO】filepathパッケージ

【GO】AWS S3に対する入出力

golangでAWS S3内のファイルを読み込んだり、アップロードしたりします。

IAMの設定からプログラムでの入出力までメモ。

続きを読む 【GO】AWS S3に対する入出力

【GO】クローリング・スクレイピング

node.jsでヘッドレスブラウザ(phantomjs+casperjs)を動かして情報を取得したりしていました(ブログ内検索)。

GOでスクレイピングも同じくらい簡単だったので使い方メモ。

続きを読む 【GO】クローリング・スクレイピング

【GO】WebAssemblyのOut of memory対策

golangでwasmを作って使うとOut of memoryが起きました(発端考察)。

OOM issueとして議論されていましたが、公式版では解決しなかったのでフォークされたものを利用して解決しました。

今回はその利用方法メモです。

環境はWindows10ですがGit for windowsを入れているのでlinuxコマンドも使います。

続きを読む 【GO】WebAssemblyのOut of memory対策

【GO】ver1.12でのWebAssembly

2019/02/25にGo1.12がリリースされてました。

https://golang.org/dl/

 

前回WebAssemblyビルドでメモリエラーになって困っていたので一応アップデートしてみました。

WebAssemblyはまだ実験的機能らしく関数や機能も変わっていたので試しつつメモ。

あと解決しなかったOOMエラーの考察。

続きを読む 【GO】ver1.12でのWebAssembly

GO→WebAssembly→React→Cordova

前回やった内容で「golang webassembly」と検索してもあまり情報がなかったけど、ReactやCordovaとWebAssemblyの組み合わせは全く出てこなかった。

React+Cordovaでアプリを作るテストもしていたので、せっかくだから手探りでアプリ化までしました。

今回はその備忘録です。

続きを読む GO→WebAssembly→React→Cordova

【GO】WebAssemblyをビルドしてブラウザで動作させる

Gopherjsを使ってJavascript化して色々してきましたが、ブラウザでバイナリを動かす手段としてWebAssemblyがあります。

GO1.11から追加された機能で情報も多くないですが、無理にJSにして使うよりも軽く速くなるかもしれないので使ってみたいと思います。

windows10でやっていくので他環境だと環境変数などは適宜変える必要があります。

続きを読む 【GO】WebAssemblyをビルドしてブラウザで動作させる

【GO】AWS LambdaでGoで作ったバイナリを実行する

AWS LambdaでGOできないかなと思ったらあったので使ってみます。

実施環境はWindows10です。

続きを読む 【GO】AWS LambdaでGoで作ったバイナリを実行する

【GO】静的ファイルを含めた実行ファイル作成

GOでos.Open()などを使って静的なファイルをロードすることは多い。

この場合、ビルドした実行ファイルと一緒に静的コンテンツを配る必要がある。

またgopherjsでjavascript化すると開くことができない。

 

バイナリ化してしてコードに含めると実行ファイルに含められるが、面倒なうえにサイズが非常に大きくなってしまう。

go-assets-builderを使うとどちらも解決したので、使用方法などメモ。

続きを読む 【GO】静的ファイルを含めた実行ファイル作成