【GO】正規表現の複数行マッチ

Golangの正規表現は少し癖が強いような気がします。

複数行の抜き出しで戸惑ったので基本からおさらい。

ドキュメント:https://golang.org/pkg/regexp/

正規表現:https://github.com/google/re2/wiki/Syntax

続きを読む 【GO】正規表現の複数行マッチ

VSCodeでGO開発

Golangを始めてから大体Atomで書いていたのですが、関数の自動補完が欲しかったのでVSCodeを始めてみます。

別にAtomの拡張でもできそうですが、最近ちょくちょくフリーズすることがあって代替手段を探してたのもあります。

VSCodeは最初期に触ってその時は全然使い物にならなかった記憶があるため敬遠してましたが、最近よく見かけるのでいい感じになってるはず。

続きを読む VSCodeでGO開発

【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をビルドしてブラウザで動作させる