きょこみのーと

技術に関係ないほうのブログ

GWにGo言語で作ったMeetAppというサービスの開発記録

GWに2〜3日くらい本気だして、MeetAppというサービスをリリースしました。

f:id:kyokomi:20150518233235p:plain

フロントエンド&企画をやっていただいた@tejitakさんのブログに大体の概要が書いてありますので、こちらを併せてご覧いただければと。

GWハッカソンでMeetAppという趣味アプリ開発者のためのサービス作りました - TEJI TECH BLOG

自分の方は、Goの構成や使っているライブラリや開発中のTipsなどをまとめようかと思います。

Goの構成

使ったライブラリ

今回の開発過程で作ったライブラリ

kyokomi/goroku

herokuの以下アドオンをx/net/contextベースで利用できるライブラリ

作ったといっても、他のライブラリをラップしてherokuの環境変数を使うようにしているだけですが。

開発時のTipsとか

心がけたこと

  • 汎用性 vs 開発速度(2対8くらいの割合)
  • 読みやすいコード vs 捨てやすい/改修しやすいコード(4対6くらいの割合)
  • パフォーマンス考慮できるならやるけど、少しでも複雑になるなら// TODO:残してサクッとスルーする
  • おれおれフレームワークとか作らない
  • テスト書いたほうが開発が早くなるor画面上で動作確認が難しいテストのみ書くようにした

良かった点

  • mongolab便利だった(管理画面でデータいじったりするの楽)
  • Cloudinary便利だった(画像リサイズとかURLベースでやってくれる)
  • CircleCIで自動herokuデプロイを組んでから開発速度が加速した(最初からやってもよさそう)
  • 開発後半で、リファクタしたりよく使うコードとかを別パッケージにしたりする余裕があった
  • 開発はほぼ2人だったのでコミュニケーションロスもほとんど無く、スピード感良い感じでスムーズに開発できた

おわり

引き続き改善していくつもりですが、x/net/contextベースで開発したため結構使いまわせるようになっているので次はもっと早く開発できそうですので新しく別サービス作るのもアリかなと思ってます。

一緒に作るのも面白かったので、またやりたい。