【GO】データベース操作

情報収集と表示用途でデータベースを使ってみます。

データベース選定からGOでテストを動かすまでの備忘録。

実施環境はWindows10(64bit)です。

続きを読む 【GO】データベース操作

【GO】foreverを使った永続化

linuxでプログラムを走らせ続けることを考えるとservice(systemctl)に登録するかと思います。

すでにnode.jsをいくつか走らせているので同じ環境で管理したい。

foreverというnode.jsの永続化をするパッケージを使ってGOを永続化します。

https://github.com/foreverjs/forever

 

続きを読む 【GO】foreverを使った永続化

【GO】goqueryでscriptの変数を取得する

goqueryでHTMLを読み込んでも中身が空の時があります。

agoutiなど使って表示を待ってからとる方法もありますが、メモリなどの関係でブラウザを起動させたくない時にscriptを読み込んで変数を取得することもできます。

APIが用意されておらずwebsocketのみで値更新されていない場合向け。

続きを読む 【GO】goqueryでscriptの変数を取得する

【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対策