- 鈴木健太 (@suzu_v) と申します
- 株式会社VOYAGE GROUP
- 新卒2年目です
- アドテクノロジー関連事業をしています
- 普段はcosmiというデータをマネジメントするプラットフォームを開発しています
- @brtriver さん
- 解説をしていただきます
- @makoga さん
- 弊社CTOです。今日は客席で。
- サポーターズの皆様
- 普段使ってる言語はなんですか?
- C, C++, Java, Scala, Clojure, Python, PHP, Perl, Ruby, Lisp, Haskell, ObjC ...
- みなさんの領域はなんですか?
- Web Apps, iOS / Android, Middleware, Infrastructure...
- 普段使ってるエディタはなんですか?
- Eclipse, Vim, Emacs, NetBeans, IntelliJ IDEA, ...
- ライブコーディングします
- テスト駆動開発(TDD)
- 継続的インテグレーション(CI)
- GitHub
- TravisCI
- PHP >= 5.4
作業リポジトリ
- suzuken/tt
- Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community
- CIのためのSaaS
- OSSプロダクトだと無料で使える
- 各種バージョンごとのテストなども行ってくれる
- GitHubとの連携がとても簡単
- GitHubを利用したPull Requestベースの開発フロー
- testrunnerを利用したローカルでの自動テスト
- ビルトインWebサーバを利用したローカルでの振る舞いテスト
- Shellの使い方, Alias
- TravisによるCI
- Vim
- Vimperator
- 上司「ねえねえ、鈴木くん」
- 僕「はい、なんですか」
- 上司「よしなに時刻を渡したらいい感じに日本語で返してくれる仕組みがほしいんだけど」
- 僕「はぁ」
- 上司「たとえば2013/10/03 19:30:01って渡したら2013年10月03日19時30分01秒って返してくれたらいいなぁ」
- 僕「わかりました」
- 上司「さっきはありがとう。またお願いしたいことがあるんだけど。」
- 僕「はい、なんですか。」
- 上司「最近すぐお腹がすいちゃってさあ。お昼12時のランチの時間まであと何分なのか出せるようにしたいんだよね」
- 僕「はい。」
- 上司「あ、待って。夕飯も18時に食べたいから、18時まであと何分なのかも出せるようにしたいなぁ。」
- 僕「いろいろふわっとしてますが、とりあえず作ってみます。」
- 5分
- 上司「さっきはありがとう。」
- 僕「はい」
- 上司「最近海外出張が多くてさ。いい感じにtimezone設定したら、日本時間から時刻変換できるようにしてくれない?」
- 僕「あー、いいですよ」
- 上司「日付の返却形式は前に言ったとおり、2013年10月03日19時30分01秒とか、そんな感じで。」
- 僕「かしこまりました」
- 上司「さっきはありがとう。だが、ここまではウォーミングアップのようなものだ…」
- 僕「( ゚д゚)ハッ! 口調が変わっている…」
- 上司「とりあえずさっきまで作ったの、よしなにWebAPI化してくれない?」
- 僕「はぁ。」
- 上司「たとえば、GETで時刻が渡されたら日本語に。あとtimezone変換もしてほしい。それから、ある時刻が現在時刻から何分かを出せるようにもして欲しいんだよね。」
- 僕「なるほど」
- 上司「返却形式はJSONでよろしく。」
- GETパラメータ
- time: 指定する時刻
- tz: タイムゾーン指定
- 戻り値
- time: 日本語の時刻
- diff: 現在時刻からの差分
- テストから書くと、要求がすっきりして意識をプログラムに落としやすくなります
- ポイント: 複数人でつかうときでも、誰もがテストの方法がわかるようにしておくこと
- たとえば、
make test
- たとえば、
- .gitignoreに必ず指定することまとめ - @katzchang.contexts
- PHP: The Right Way
- Composer
- suzuken/dotfiles