読者です 読者をやめる 読者になる 読者になる

φ(..)メモ:Gunosy Go利用の現状確認会(Gunosy.go#11)

防備 φ(..)

メモなので分かってないとことか勘違いしているとことかありあり.

スライド

発表 概要
1 Gunosy APIチームGo開発フロー // Speaker Deck 1月にjoinされた"きょこみ"さんの発表.環境整備からデプロイ・運用まで
2 神に近づくx/net/context (Finding God with x/net/context) gunosy製WAF ≒ goji + x/net/context
3 GunosyでのMicroservicesの現状とGoの使いどころ // Speaker Deck gunosyAPIサーバの話とか
4 gopher-lua ゲーム開発でLua使ってるので,Goとうまく連携させたい
5 実例で学ぶGoプログラム開発 // Speaker Deck インフラで使うGo.スクリプトよりバイナリがメンテ楽
6 Go at Gehirn Gehirn(という会社)ではMTAとかGoで書いてます

気になったキーワードとか

キーワード メモ
errbit Handler で panic したらメール送付してたのを errbit というのに変えたらしい.スタックトレースが読めたり,同じエラーをまとめてくれたりするのでいいらしい
mogi gunosy製 DBモック.機会があったら使ってみたい
kami gunosy製 WAF.Goji の Web.C に相当する部分を context で扱って,受け取ったこいつをさらに投げ返すことで MIddleware がスッキリするっぽい
x/net/context Go Concurrency Patterns: Context.こいつを引きずり回すことでリクエスト途中で切ったりとか便利に使えるらしい
map[interface{}]interface{} map[string]interface{} とは違うのだよ!という話を聞いた.Goji も web.C.Env が map[string]interface{} から map[interface{}]interface{} に変わったらしい.ミソは,キーが interface{} なので,型を指定する必要があって,指定する型がパッケージプライベートなら,それは他のパッケージからは隠蔽されるということ
MVCモデル Goji だと MVC で分けたりするんですが,Model が大きくなりすぎませんか?という話題があった.MVC で割るんじゃなくて,機能ごとに割っていくというのを gunosy でやっているらしく,きっちりといかないときもあるが概ねうまくいっているらしい

どうでもいいこと

gunosy のオフィスはきれいだったなー.同じ森ビルでも階によって雰囲気全然違うなー.あと,ひさびさに来ましたけど森ビルの空調はレベル高いんじゃないかと思いました(小並感