Go Conference'20 in Autumn SENDAI 参加リポート

2 min読了の目安(約1900字IDEAアイデア記事

はじめに

本日開催された「Go Conference'20 in Autumn SENDAI」にオンラインで参加しました。
セッションは合計で10以上ありましたが、その中で私が視聴した4つのセッションについて、リポートをまとめました。
セッションの動画はYoutubeのSendai.go公式チャンネルで視聴することができます。

ナイフ1本で行うGoのサバイバル術

登壇者:tentenさん(メルペイ)
knifeというのはtentenさんが開発している自作ツール。
knifeという名前はアーミーナイフから。
Goには公式で様々なコマンドが用意されているが、現状だと型情報をベースにして調べることができない。
knifeはgo listのように型情報を表示できるツールで、指定したパッケージの型情報を表示することができる。

メルカリのエンジニア情報ポータルサイトにもtentenさんの記事あり。

Go on DockerスタイルでのバックエンドAPI構築

登壇者:伊藤真彦さん(フューチャー株式会社)
メルカリやヤフオクから情報をクローリングして、一覧で見れるアプリを個人で開発。
フロントサイドはVueでバックエンドがGoでクローリングにはGoqueryAgoutiを使っている。

  • コンテナを軽くするために
     1. 軽量なベースイメージを使う
     2. 不要になった者をアンインストールする
  • Goをコンテナで動かすポイント
     1. 環境変数をセットする
     2. Go Modulesを活用する
     3. マルチステージビルドを活用する
  • フューチャー技術ブログはこちら

HTTPクライアントを作ろうとして学ぶ、使いやすいインタフェース

登壇者:泉将之さん(ウォンテッドリー株式会社)
「使いやすいインタフェース」とは何かを実例から学び、実現するための手法を考える内容。
スライドの中で引用されていた「良いAPIとはどうあるべきか」の所が印象的。

APIs should be easy to use and hard to misuse.
引用元と思われる記事

  • 良いインターフェイスにするための3つの条件
     1. Easy to learn / Easy to use
     2. Hard to misuse 
     3. Easy to extend
  • セッションの最後にはgRPCの話もあってそちらも興味深い。

Go言語再入門の気付き

登壇者:平田智子さん(株式会社Gunosy)
一年間実務でGoをやってきて再入門するに至った経緯と方法を解説。

  • インプット
     1. 基礎参考書の熟読
      自分が弱い分野の把握、言語仕様を確認 
     2. コードリーディング
      フューチャー技術ブログを参考に実施
     3. 特定分野の掘り下げ
      書籍「Goならわかるシステムプログラミング」「Go言語による並行処理」
  • アウトプット
     1. とりあえず動かす
      GoPlaygroundがおすすめ
     2. 小さめの便利ツールを開発
      コマンドラインツールなど、標準ライブラリ縛りで実装
     3. 既存のコードの改修/新規コードで導入