LoginSignup
25
24

More than 5 years have passed since last update.

GREE Tech Talk #06「Practical Go」- #greetech06 -

Posted at

Official

peco開発で踏んだ5つの罠(仮) : 牧 大輔(LINE株式会社)

  • Slide
  • wercker(CI)でgoxcが動いてWin,Linux,Macバイナリを自動生成している
  • homebrewの対応はするべき
  • 並行処理の同期は人類に難しいので、用心しすぎて越したことはない
  • モックっぽいものはinterfaceで定義して、グローバル変数に代入していく
  • 汎用ライブラリはあればいいが、コンパイルするので別に必要はない。
  • pecoはビルドプログラミング書いたけど、配布する時はコピーしてカスタマイズしたものを埋め込むという手も現実的。
  • クロスコンパイル出来るけど、cgo使わなければ出来るけど、まだ完璧じゃない。
  • go-homedirはシェルを使用するからどうだろう・・・

Goの運用周りの泥臭い話(仮) : 田沼 修平(グリー株式会社)

  • Slide
  • Goアプリのモニタリングの基礎とミドルウェア作成の話
  • InfluxDB(時系列的データの格納に向いている)
  • Goのモニタリング方法
  • Goでサーバーを書く。
    • スキップリスト(RedisのSortedSet)の作成をGoで。ソース
  • GoでMQTTサーバーを書く。
    • MQTT・・・pubsubメッセージプロトコル
    • MQTTの利点はheaderの短さと仕様の完結差
    • redisはQoS0(力の限り送る。後は知らん)
  • 1コネクションで1ゴルーチンが作成される
  • デーモン化はフォークするよりsupervisordが良い
  • チャネルはコスト高いから使わず、mutex.lockを使用した

Experiences building InfluxDB in golang(仮) : Paul Dix(InfluxDB)

  • Goで開発されたInflexDBの話
  • シンプル
  • メンテナンスしやすい。わかりやすいから。
  • Performanceも素晴らしい
  • デプロイもバイナリ配布で簡単
  • goraft
  • InfluxDBではGCは敵になった。unsafeで回避。
  • タイムアウト問題
    • GCが停止
    • 大きいリクエスト
    • ネットワークオーバー
    • サーバーが遅い
  • ライブラリの再開発をやる
  • pprof使ってみる
  • ベンチマーク取ってみる (go test -bench=)
25
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
24