Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

転職してから半年くらいでやったことまとめ

IRCを導入した

遠隔地で作業しているひともいた中でメールでのやりとりはとても面倒だった。
(同じオフィスで開発してるひとからもメールでいろいろ来た)

だるかったので、ngIRCdを導入して、やりとりがすごく楽になった。(基本英語だが)

 

リポジトリを分割した

サーバに置いてあるものがすべて1つのリポジトリで管理されていた。(僕は泣いた)

だるかったけど、頑張って適切なサービスの単位で分割した。

 

ファイルサーバ作った

クラウドに置かないほうがいいファイルとか共有するため。

 

ユニットテスト直した

ぶっ壊れていたのをとりあえず動くようにしてから、とにかく自分が触るところを中心に追加していった。

カバレッジが最初は30%くらいだったけど、いまは90%近くまで上がっていて、
僕に多少の精神的な安寧をもたらしてくれている。

 

Pull Reqestベースの開発にした

それまでは(ローンチ後も)masterブランチぶっこみ開発が基本らしかったのだけれど、とにかくmasterには直接コミットしないように説いて、GithubのPull Req使ってもらうようにした。

ただ、まだ、自分でPRして自分でmergeせざるを得ない状況だったりするので、完璧にはうまくいってない。

 

Jenkins導入した

Welcome to Jenkins CI! | Jenkins CI

個人的に一番頑張った。

iPhoneアプリのテストとかビルドとかあったので、Mac mini買ってもらってその上に構築した。

  • ユニットテストを自動化
    • Gitのmasterが進んだとき
    • Pull Requestがあったとき
  • カバレッジ出力
  • 開発環境、ステージング環境へのデプロイ
    • 本番環境だけ若干の手作業が必要なのでなんとかしたいところ
  • ホームページ、Webアプリの生死確認
  • Androidアプリビルド
  • iPhoneアプリビルド
  • iPhoneアプリTestFlightへのアップロード

 

サーバの状態監視をできるようにした

fluentdGrowthForecastを使って、リソースとかアクセス状態とか監視できるようにした。

 じわじわでもアクセスが増えるとうれしい。

可視化大事。

 

データ管理ツール作った

いろいろサービスのデータを管理するのにDB直接触ったりスクリプト書いたりしなければならない状態だったのと、Ruby on Rails 4が出たタイミングだったので、自分でRails4で管理ツールみたいなのを作った。

完全に自分用だったので、そのツールに中二でソリッドな名前をつけてたら、いつのまにか社内で使うようになってちょっと恥ずかしい。

 

今後の課題とかやりたいこととか

  • 本番環境への自動デプロイ
  • AndroidアプリのGradle化
  • Androidアプリ、iPhoneアプリのUIテスト自動化
    • もう手動での確認はいやだお・・・
  • ログの解析
    • なんかせっかく集めてるアクセスログとかまったく生かしてない
    • 動向から負荷対策とかちゃんとしたい