Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

Gunosy.go#11を開催し、GunosyのGo現状確認を行いました

こんにちは。Gunosy開発本部APIチームの横道です。

先日、2015/03/11にGunosy.go#11を開催し、GunosyのGo現状確認を行いました。

募集していた人数は20名で、ほぼ全員参加していただけたみたいです。 ありがとうございました。

懇親会で話した感じでは、発表者以外でGoを業務で使っているという方は、まだまだ少ない印象を受けました。

しかし、今後業務でも使っていきたいという話が結構出ていたので、Gunosy.goきっかけでGo採用して事例増えていくといいですね。

その時は、発表枠でお越しいただけると嬉しいです。

以降の内容は、発表内容の補足と所感と次回開催の告知になります。

Gunosy.go#11の内容

gunosygo.connpass.com

ハッシュタグ: #gunosygo

上記イベントページに、発表/LTのスライドはすべてアップロード済みです。

  • 発表: APIチームのGo開発フロー @kyokomi
  • 発表: 神に近づくx/net/context @Greg
  • 発表: GunosyでのMicroservicesの現状とGoの使いどころ @y_matsuwitter
  • LT① : gopher-luaを使ってみた @tenntenn
  • LT② : 実例で学ぶGoプログラム開発 @cubicdaiya
  • LT③ : Go at Gehirn @yosida95

ちなみに、神に近づくx/net/ontextのスライドは少し中級者向けな感じもありますが、 歴史的経緯とかハマりポイントの事例がわかりやすくて かなり面白いのでおすすめです。

自分が発表した内容

speakerdeck.com

Gunosyに入って約2ヶ月が経過して、現状の確認と今後アサインするメンバー向けにどうやって開発し、どんなツールを使っているかなどを発表させていただきました。

かなり駆け足で話してしまったので、少し補足させていただきます。

ライブラリ選定の補足

Godepを使ってないと話ましたが、使ってないために問題が2度起きたことがあります。(一部の方には懇親会で話しました)

1回目は、gojiが2015年1月頃にweb.Cで保持するmapの型をmap[string]interface{}からmap[interface{}]interface{}に変更された際に、CircleCIでbuildエラーになりました。

この時は、すぐに修正箇所も特定できてライブラリ側の問題というよりは使う側の修正が必要だっただけなので、やっぱりGodep等なくても問題ないかな。という結論でした。

2回目は、googollee/go-engine.ioでrenameという名の結構な規模のリファクタをされた際にバグったやつを見事に踏んでしまい実行時エラーになりました。

これはさすがにCircleCIで気づけないしヤバイ。。。という危機感でさすがにGodep入れようと検討しましたが、すぐ気づけて直せたという点もあって見送ってしまいました。

総合テストの自動化等がまだ行えていない為、逆にステージングで人の手で確認しているから、現状は不要となっているという状況かもしれません、今後テストコードの自動生成等で人の手で確認する工数を削減していくとさすがにパッケージ管理ツールは導入しないときついかなと思ってます。

ちなみに、こちらの問題ですが本家が解決しようとしてる気配がありそうなので今後に期待ですね。

所感・感想

勉強会の主催は初めてだったので色々至らない点が多かったかと思いますので、 次回以降の開催はもう少しスムーズにやれるよう努めたいと思います。

かなり勢いで開催してしまったにも関わらず、とても良い発表を聞けて良かったと思います。

LTして下さった方々、本当にありがとうございました。

次回Gunosy.go#12の開催について

次回の開催ですが、1ヶ月後の4月中旬くらいを想定しています。

テーマは、 「not http」

httpを使わない何かを作ったりした話や、httpを使わないGoの事例を紹介するLTなどを行う形式で考えています。

もし、何か話したい(LTしたい)という方がいましたら、募集かける前でも全然問題ないので、ハッシュタグ: #gunosygoで何かつぶやいてもらうか Twitter: @k_yokomiにメンション飛ばしていただければ優先的に枠を用意させていただきますので、よろしくお願いします!