2018年4月15日に開催されたGo Conference 2018 Spring に参加してきました。
会場は、日本橋にあるCybozuさんのイベントスペースで行われていました。
セッション内容
セッション内容と登壇者の一覧は、@cia_rana さんという方がまとめてくださった、Go Conference 2018 Spring セッション一覧 · GitHubもがとても見やすいので引用させていただきます。
また、セッション内容に関連するリンク集を、@pei0804 さんがまとめてくださってます🙏 tikasan.hatenablog.com
以下、自分が聞かせていただいたセッションの感想を一部、簡単にまとめます。
Testing with microservices in merpay
メルカリの中でもメルペイという決済サービスをgo+gRPCで実装した際のテストの話をされていました。
所属している会社にてECの決済部分を主に担当しているため、「どうやって決済をgoで実装しマイクローサービスで安全に出すか」という関心事に引っかかってとても参考になりました。
「決済をやることの難しさ」・「人類が正しく実装するのは難しい」という話とともにそれをどうテストしていったかという話でした。
なので、「ミスできない」環境でマイクローサービス化に一歩進まないという状況にいる方には手がかりになる内容だなと思いました。
How to write Go code
eurekaのCTOの@kaneshin さんによる「どういう考え方でgolangを書いていけばいいか」というテーマで、主にどのように公式ドキュメントを活用していくかという話でした。
走り書きのメモを以下に載せておきます。
持ち帰りたい大テーマ
- 言語思想:「愚者は経験に学び、賢者は歴史に学ぶ。」
- 作った人たちの思想を公式ドキュメントから学んでいく
- リソースの最大活用:公式ドキュメントを最大限活用する
golang公式ドキュメントの読み方
- golang.org
- https://golang.org/pkg/
- 初学者は記事の新旧の見分けがつきにくいのでここを見たほうがいい
- example codeがあるのでそれを見ただけでわかる
- 実装の中身を見ることもできる
- golangの標準のPKGには、いわゆる「goらしいコード」があるので参考にすべし。
- 最初に読むべき場所
- How to write go code
- Effective Go
- https://golang.org/doc/effective_go.html
- 他言語の思想なども書いている
- https://golang.org/pkg/
- godoc
- Packageの内容について参照のこと
- goblog
- https://blog.golang.org/
- goの新鮮な情報をキャッチアップできる
- golangを会社に導入したい人が上司に見せたら良さそうな記事
- go/wiki
- https://github.com/golang/go/wiki
- 例えば、テストの書き方などがこの資料に乗っかっている
- Visualization of the Go open source package graph
GoらしいAPIを求める旅路
@lestrratさんによる、「GoっぽいAPIをどう書くか」という話でした。
www.slideshare.net具体例として、https://github.com/cenkalti/backoff をどうGoっぽいAPIに変えていくかという話で、変えた結果をhttps://github.com/lestrrat-go/backoffに上げていただいています。
コードジェネレートとの付き合い方
@pei0804 さんが作成されているコードジェネレータについての話でした。twitterでやり取りさせていただいた方を初めて生で見たという感動が個人的に有りました。
www.slideshare.net
力強くOSSを自分で作っていった課題と解決の話がとても面白いです。
さいごに
Goの実践の場を増やして発表側になれるように改めて頑張ろうと思います。