Go
社内勉強会用

Goでwebサービス

More than 1 year has passed since last update.

 作ったもの

https://www.landskip.jp/

スクリーンショット 2017-10-23 16.39.06.png


いろいろあったインフラ

  1. 2年前くらい:最初Azureで開始
    • オートスケール機能の使えるアプリケーションサーバがwindowsサーバで辛い
    • deploy.sh書いてたけどpower shellに書き直して辛い
    • サポートのレス遅い
    • 動画のエンコードするMedia Serverは便利だった
    • ちょっとスタートアップで使うにはオーバースペック
  2. つらみに耐えかねてSakuraへ
    • 先日の大規模障害くらいからオブジェクトストレージが不具合多い
  3. 障害復帰が遅かったので
    • ConoHaへ

Goのいいところ


Goのいいところ

  • ビルドが軽い(C++やってた人の所感
  • 規約が厳しい(ポジティブな意味で)
    • (API叩いてEntityに入れるような処理書いてみるとわかるけど)
  • linterや標準ツールがとても充実
  • デプロイが楽(1 binary deploy)

Goで辛かったとこ


Goで辛かったとこ

  • オブジェクト指向の概念がない(構造体)
  • gomでパッケージ管理してて結構ビルドがこけたけど原因がわからなかった
  • revelのサンプルとか参考にしてもいまいち正解がわからん・・・

辛かったときに参考にしたこと


オブジェクト指向の概念がない(構造体)

実装しながらちょっとした構文やパターンの実装はローカルで環境作るとビルドとか面倒なのでGo Playgroundでためす

gomでパッケージ管理してて結構ビルドがこけたけど原因がわからなかった

  • Goは1.6からvenderingの機能がついているのでGoのバージョンを固定して、gom->glideに移行して安定した
  • glide使っている人の方が多い気がした

revelのサンプルとか参考にしてもいまいち正解がわからん・・・

未解決


Goで簡単なツールを作ってみた


codicというサービスのAPIを使って、コマンド上で変数名をサジェストしてくれるやつ
https://github.com/jumbo-in-Jap/Codic_cli

コード見ながら説明します。


Goを始めたくなったあなたへ