「golang.tokyo #12」に参加してきました

Next Currency とGAE/Go

  • sonatard 株式会社ネクストカレンシー

GAE/Go

  • GAE
  • 技術選定
    • シンプルなものを選んだ
  • サービス構成
    • サービス単位で分割できる
    • サービスごとにスケール
    • サービスごとにインスタンス選択できる
    • サービス毎に自動的にドメイン
  • デプロイ
    • コマンドひとつ
    • blue/greenデプロイできる
  • アーキテクチャ
  • フレームワーク/ライブラリ
    • ほしい機能最小限のもの
    • chi
  • APIプロトコル
    • REST? RPC?
  • API開発方針
  • リリースまで変わり続けるもの
  • リリース直前が一番いいものを作れる
  • APIクライアントとドキュメント
    • Postman
  • config
  • 開発環境
    • go
      • goimpoerts
    • GAE
      • コマンド
  • CI
    • CricleCI

GoとGCPkubernetesを使ったMF KESSAIの歴史

  • shinofara MF KESSAI株式会社

MF KESSAI

どんな会社か

  • マネーフォーワードの子会社
  • データの可視化業務効率化

なぜgoか

  • 型を厳格に
  • railsからの移行

goでどのように

  • ライブラリは最小限
  • goらしく書くこと

Dockerの採用

  • 環境の同一化担保
  • カプセル化
  • runtime環境の一貫性
    • CI回した環境を本番へ

REST API

  • goa

新規事業にgoを選んでよかったこと悪かったこと

よかったこと

  • 仕様変更が多かったけどコンパイルがあるお陰でよかった
  • 静的チェックツールを最初から入れていて不要なレビューを削減
  • 言語そのものが活発
  • チーム開発に向いている

悪かったこと

  • 動的型付け言語経験者からするとできたことができなくていや
  • 画面UIこるのには向かない
    • template周りの機能は不足している言語
  • エラーハンドリングとか記述量多くなりがち
    • IDE使いこなせばいけるけど