読者です 読者をやめる 読者になる 読者になる

@Konboi memo

主に技術に関してつらつらと。

HATENA Engineer Seminar #2 に参加してきました #hatenatech

11月25日に開催された、HATENA Engineer Seminar #2 に参加してきました。

イベントを主催していただいた はてなさん ありがとうございました。 普段使っているサービスの裏側の話が聞けて非常に楽しい会でした。

細かいところは後日スライドがおそらく上がると思うので、概要と感想を述べたいと思います。 当日の流れは #hatenatech を追えばなんとなくわかるのではないでしょうか。

開会の挨拶

  • 年末から年明けにかけて色々サービスでるらしいです
  • 今後もこのような形で、勉強会を開催してく予定

Vagrant + Chef つくるはてなブックマーク開発環境 @aereal

問題

2008年にリニューアルされた、はてなブックマークの環境は 歴史が長い、 加えて開発者のOSもMac,Windows … と多岐に渡るので

開発環境を構築するのが非常に大変。

( cpanm --installdeps .. が通るのに2日程度かかるらしい?! )

さらに、はてなインターンやメンバーの異動で入ってくる人たちが定期的に一定数いるのにも関わらず、すぐに開発に入れないのは良くない。

解決方法

vagrant + chef を用いて開発用のboxを作成。

新しい入った人は、そのboxを用いてすぐに開発環境が整う。

モジュールもchefのレシピを使ってバージョンを指定してインストールする形式に。

ただ、chefのレシピのメンテナンスしてるのが1人しかいないそうなので、チーム外に発信中らしい。

感想

  • インターン等で定期的に新しい人が入ってくる環境だったらbox作って配布するのはよさげ。
  • 懇親会で聞いたら、boxつくるのに1週間はかかったそう。
  • 発表でもいっていたけど、時間を書けて作る作らないはメリット、デメリット考えて作らないとなだなと。

はてなにおけるモダンiOSアプリ開発入門 @cockscomb

自分はiOSの開発をしたことがないのでさらっと… すいません

はてなのアプリの作り方

  1. アプリの方向瀬を決定
  2. ペーパープロトタイピング
  3. ユーザーテスト
  4. 社内のiOS端末ユーザーにtestflight
  5. アプリリリース
  6. ユーザーの同意を得て、トラッキング

あとはこんな感じで終始笑いが起こる発表でした。

Fluentd + MongoDB + Kibana のABテスト事例

どうやってるの?

  • cookpad社のchanko的なものを実装して、表示を切り替えている
  • 調べたいボタン等のタグに data-event-name=“hoge-button” などの独自属性をつける
  • JavaScriptのクリックイベントを監視して定義した独自属性があったらajaxで値を送る
  • 送られたらデータをアプリケーションでjson形式に整形してlogを吐く
  • fluentdでログを集約してパターンにマッチしたログを mongodbのサーバー, elasticsearchのサーバー に送る
  • mongodb,elasticsearch それぞれで計測する

実際に運用しててどうなの?

  • 今のところ特に困ってない
  • SSDを積んだサーバーだからかも?
  • デザイナーでもABテストができる環境が構築できた。
  • 開発陣の憶測で決めないで、実際に計測するの大事。

感想

  • elasticsearchのサーバーのスペックがどの程度なのか詳しくは知らないってことだったけど、気になるところかなと。 以前のelasticsearch勉強会で聞いたcookpadさんの説明でもそこそこのマシンが必要みたいなこと言ってたし。
  • elasticsearch + Kibana を次のプロジェクトとかで入れてみたいなと。

最後に

普段お世話になっている はてな のサービスの裏側を知ることができると共に、

みんな自分と同じ年の入社なのに、メインエンジニアとしてバリバリ活躍してるし、 インターンの講師とかしてるし、自分ももっと頑張らねば!! と考えさせられる、 非常に素晴らしい会でした。

ありがとうございました!