infoMore than 5 years have passed since last update.
Go Conference 2015 summer
Last updated at Posted at 2015-06-21
Official
Generative programming in Go. - monochromegane
Debugging Go Code with GDB - kaneshin
Gore: A Tale of Go REPL - motemen
Go言語でコマンドラインツールをつくるときに僕の語ること - deeeet
自己完結型の形態素解析器をgoで作った話 - ikawaha
Gaurun〜A general push notification server in Go〜 - cubicdaiya
- slide
-
GourunとはGo製push通知基盤システム
- 以前はプッシュ通知はジョブキュー(Q4M+PHP)
- 現在はNginx + Gourun(APIベース、JSON)
- チャネルのサイズを静的固定(チャネル数超えるとブロック)
- 監視はZabbix。API(stat/go、stat/app)でメモリ、GC、 ゴルーチン数、チャネル数を取得する。
- ゴルーチンがメモリリークしたり、チャネルのブロッキングしたりするので、監視して注意する。外部ライブラリが悪さをしていたので、そのライブラリをforkして直して使っている。
-
golang-stats-api-handlerそのまま出力している。
Goと電子工作とロボット - たけいひでゆき
ピクシブ社内広告サーバーでのGoの開発・運用 - catatsuy
- slide
- Go製広告サーバーの紹介
- Nginx -> Circus -> App(Go) -> fluentd -> Admin(MySQL)
- キャッシュ機構やコネクションの保持とか考える事が減るのでNginxで受ける。
- GoでTCPをlistenして起動したサーバーに対してproxy_passすると遅かったので、Unixドメインソケットで受けたかった。
- Circus
- Python製のプロセス管理ツール。Circus自体がソケットファイルを持って、アプリケーションはファイルディスクリプタをlistenさせて起動してくれる。
- UNIXドメインソケット
- 同一マシンなら親子関係がなくても可能なプロセス間通信。
- memcachedにも利用している
- profiling
- testing.B
-
golang-stats-api-handler -> muninで可視化。
- nginxから社内から見れないように
- Goプロセス監視はCircus、Nagios。
- stopwatch
- もっと速く・・・
- CPU throttling (最大周波数で動くように)。/etc/default/cpifrequtils を編集。広告サーバーとDBサーバーでは有効だった。
- Goのログ
- 標準出力してCircusに任せていたが、ピーク時にCircusが負荷がかかるので、ログローテートを自前で実装した。(USR1受け取ったら新しくファイルを開いて、pidファイルを作る)
GOで基盤システムつくってる話 - サイバーエージェント 西尾様
- slide
- ソシャゲのRealtime Messaging Platformで何故Goを採用したかの話
- コード
- 読みやすい
- 機能/担当者間のレビューや相互理解が容易
- フォーマットやコード規定が明確
- 学習コスト
- A Tour of Go
- Effective Go
- 60-70%は自習でなんとかなる
- 30%がGOらしく書く事
- 開発環境がgomt,golint,go toolvet,godocとか標準で豊富
- デプロイが楽
- テストが楽
- ベンチマークが楽
- プロファイルが楽
- パッケージ管理に求める事
- versioningが必須
- vendoringは?
- パッケージ管理の選択技
- パーケージ構成
- レイヤー、機能でパッケージを分離
- ルートパッケージから2階層以内
- Goぽいコードを近づける為に
- ライブラリやフレームワークの選定
- genericsないのどうしてる?
- interface + type check{}
- reflect使わない
LT
AppEngine for Go Unittest - sinmetal
slide
pp and reflect - k0kubun
slide
Goのパッケージ構成で試行錯誤してみた話 - fkm
slide
Go製の拡張可能なslackbot - kyokomi
slide
List of users who liked
22Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up