Hatena エンジニア Seminor #3
http://songmu.github.io/slides/hatenatech-3/#0
Dev と Ops
開発、運用エンジニアが協調している。
運用チームが開発チームのミーティングにも参加することがある
Docker
ログインして生活するものではない
アプリケーションごとにコンテナ化
Hatena
rpmパッケージを作るのが楽
Graphiteのような環境駆逐が面倒なもので
Docker自体を自前で運用するか?
オーケストレーションツール(複数のサーバーにいれるもの)
AWS EC2コンテナ
専用サーバ
cockscomb
WWDCに行ってきた
モチベーション
iOS 62% Andoroid 37%
iOSの方がシェアがあり、後回しになりやすい
久しぶりのAndoroidアプリなので
Flagshipを作りたい。
Process
Pagerプロトタイピングをする
スマホのサイズの紙で。紙芝居をする→早い段階で評価する
ペーパープロトタイプですべての画面を洗い出す。
画面のつながりの矛盾をなくす
ハンバーガーボタンはユーザにとって最悪といわれている。
ハンバーガーボタンで混乱しない。
スクラム開発の手法を水曜から2週間。
火曜日にユーザビリティテストを行う。
水曜日にスプリント計画。
結構、きくのでおすすめ。
開発
AndoroidSdudioを使う。
Genymotionにお金をかけると、実機より早く感じるくらいのえむれーたー。
マテリアルデザイン
AppCompatを使う。
ActionBarActiity
Fragment
FragmentTransaction
Fragmentmanager
Fragmentのはまりやばい
Fragmentの復元が暗黙的に行われてしまうので注意。
Ftagmentの入れ子でハマる
onActivityResult
commitを呼ぶタイミングが重要。IllegalStateExceptionで死ぬ。
見たまま編集
はてな記法
マークダウン
見たまま編集は
ContentEditableを使うとよい。Andorid4.4以降でないとつかえない。
見出し記法
リスト記法はてなはハイフン
協調は
手で確認したくないので、単体テストをかく。
テストを通るコードをかけばいい。
いつかはテストが通るコードにたどり着ける。
AccountManager(Andoroidアカウント管理)
アプリ間で使いまわせる
Retrofit
やばい。
インスタンスを毎回つくっても問題ないパフォーマンス
Hatenaのスマホエンジニア
スマート会をしている7名
8人目は君だ!!
マカレル
- ランチがでる!
- フリードリンク!
色々とってくれる
簡単アラーと通知
メトリックを追加できる!
全体的なお話
REST APIでMackerelへリクエストでサーバにためていく。ダッシュボードでみれる。
AgentはGoでかかれていて、オープンソースにしている。
Scalerサーバー側
AgentはGoで書いたのはなぜ
singleバイナリで
マルチプラットフォーム対応が用意
フットプリントが小さい。サーバの性能に影響しない
Angular.js
- サーバ側でどこまで描写するか設計は難しい
- ビルドツールにgulp
SlowTest
Specs2→ScalaTest
30→15分
Playでのバージョンアップでの苦労は
- GitFlow
- ステージングで検証しているんでくろうはしていない
mackerl
3拠点。在宅勤務もあり
しっかり決まりとして、在宅勤務をバックアップしている
コミュニケーションの機会を逃さない
- ペアプロしまくる
- チャットで発言しまくる
リモートという制約を理由する
- 情報共有の仕組みを整える
- チームをスケールできる
自律的にルールをきめる
- 信頼を絶やさない
- 自分でルールを決めだす(働く部屋を決める。時間を決める)
リモートアンチパターン
少数のエンジニアが勝手にリモートする
- ノウハウが偏在してしまう。
エンジニアはリモートが得意?全然そんなことはない
- 文筆業ではできるけど。
- 情報共有をするのが難しい職種
音声環境を整えておく。
懇親会
最初緊張して話かけられなかったけど、話かけたら面白いお話が聞けて良かった。後半はスピーカーさんがテーブルにきて質問コーナーになりました。