2016-08-01から1ヶ月間の記事一覧

続、workerパターンをcontext化してみたら……

みなさん「みんなのGo言語」は予約ポチりましたか? 私はポチりました! そんな「みんなのGo言語」の著者の一人であるid:lestrrat さんからの前エントリに対してマサカリが飛んできてます。 workerパターンをcontext化してみたら…… - okzkメモ[golang] conte…

workerパターンをcontext化してみたら……

はい、というわけで、前記事のworkerパターンをcontextつかったらどーなるか、についてです。 前の記事や、その元記事のソースを読んでいる前提ですので、未読の方はそちらの確認からお願いします。 さて、ざっくりとした変更の方針ですけど、以下の2点です…

Re: golang の channel を使って Dispatcher-Worker を作り goroutine 爆発させないようにする

こちらを読みました。 blog.kaneshin.co channel自体にdispatch機構があるからもっとシンプルに書けるのでは?と思って書き直したのがこちら。 コードだけぶん投げてもアレなので、あとで解説書きます。 ついでに「go1.7で標準化されたcontext使ったらどうな…

Re: Dockerに載せたサービスをホットデプロイする

こちらを拝見したところ、やりたいコトはdocker1.12のswarmモードで解決するんじゃないかなー、と思ってみたので試してみたテスト。 h3poteto.hatenablog.com とりあえず、最新版のdocker(1.12)をインストールです。 手元の環境はCentOS7なので、インストー…

golangのGCとかgoroutineの状況を確認するライブラリ

golangで作った長時間動かすアプリで「goroutineリークやメモリリークがないか知りたい」とか「GCの影響がどの程度か知りたい」とかないですか?ありますよね? そのためのログをダラダラ出力するためのライブラリを公開しました。 # 元々はクローズドなトコ…

marisa-trieのgo bindingを書いた

id:s-yataさんが公開してくださっているmarisa-trieをgolangで使えるようなバインディングを公開しました。 github.com marisa-trieは非常に省メモリなtrie実装です。 特徴等は公式ドキュメントを参照してください。 インストールも普通にgo getするだけでOK…

golangで書いたアプリケーションをどう動かすか?

まとまりなく、何パターンか列挙します。 アプリケーションコンテナで動かす 通常ステートレスなアプリに限られると思いますけど、dockerで動かすというやり方です。 # 個人的にはdocker 1.12で組み込まれたswarmモードがすごくお手軽でよいと最近思ってます…

golangで書いたアプリケーションのstatic link化

「goで書いたアプリケーションは実行ファイルひとつコピーするだけでいいのでインスコ超ラクチン」なんて思ってたんですが、 go1.4からnetパッケージを使っているアプリケーションは、フツーにビルドするとdynamic linkになるようになってました。 $ cd /pat…