17
LT大会システムの 中身の話 いま皆さんが使っているサイトを作りました

#phpmatsuri LT大会システムの中身

Embed Size (px)

DESCRIPTION

PHPMatsuri 2013 でついに導入されたLT大会システム。その開発の中身をご紹介します。

Citation preview

Page 1: #phpmatsuri LT大会システムの中身

LT大会システムの中身の話

いま皆さんが使っているサイトを作りました

Page 2: #phpmatsuri LT大会システムの中身

たなかひさてる@tanakahisateru

Pinoco developerPHPTAL contributorFirebug translation contributorYii framework user

Page 3: #phpmatsuri LT大会システムの中身

開発のきっかけ

•過去3年間Googleスプレッドシートのフォームで運用していたという事実

•福岡で飛ばした

•「これPHP祭だぜ? PHP使ってないじゃん」

Page 4: #phpmatsuri LT大会システムの中身

@tanakahisateru LT大会のシステム作ってもらえるんですか?

Page 5: #phpmatsuri LT大会システムの中身

やりましょう RT @tanakahisateru LT大会のシステム作ってもらえるんですか?

Page 6: #phpmatsuri LT大会システムの中身

Yii Framework•MVCフレームワーク

•雑なところはあるけどちゃんとOOP

• Array感の少ないCakePHP

• jQueryビルトイン

•標準でAjaxのUIウィジェットが使える

Page 7: #phpmatsuri LT大会システムの中身

なぜ採用?

• Yii = プログラマブルphpMyAdmin

• https://github.com/tanakahisateru/phpmatsuri-hack-contest

•ソート/検索のデモ+ソース

Page 8: #phpmatsuri LT大会システムの中身

反省点•自分以外誰も使った経験がない

•実は単体テストやってません(いやこれはロジックを書く量がすごく少なかったんですよ)

•当日にバグ出してこっそり修正デプロイ2回やってました

Page 9: #phpmatsuri LT大会システムの中身

Pagodabox• PHPに特化したPaaS

• nginx, php-fpm じゃない

• Apacheベース

• .htaccess の mod_rewrite が使える•いろいろ簡単

Page 10: #phpmatsuri LT大会システムの中身

なぜ採用?•負荷が少なければずっと無料でOK

•ローカルApache環境で作っちゃってた

• Engine Yard かさくらクラウドに移行したかったけど忙しくなった

•コンソール紹介

Page 11: #phpmatsuri LT大会システムの中身

大変だったこと•デプロイ中のマイグレーション中に [yes/no] で止まって積んだ

•テーブルごとに charset=utf8 しないと文字化け

• Pagodaに一番詳しい知人が祭に参加できないという事実

Page 12: #phpmatsuri LT大会システムの中身

CodeIQ様に依頼•「発表順を決めるプログラムを作って下さい」

•まさかの致命的仕様ミス

•「a,b,cで分けてください」

• dあるじゃん

Page 13: #phpmatsuri LT大会システムの中身

たいへん申し訳ございません

Page 14: #phpmatsuri LT大会システムの中身

大変だったこと

•直前にセッションまわりをいじった

•言語切替が死んだ

•修正

Page 15: #phpmatsuri LT大会システムの中身

もっと大変だったこと•そうだCSVを上げる機能がない

•今朝7:00からやってました

•致命的な仕様ミス 「dグループ」

•闇の発表者のエントリーが本番で消えた

•ホテルから出れない

Page 16: #phpmatsuri LT大会システムの中身

実はbグループはじまる前に

•「ページャーを14刻みにできない?」

•作りました

•超ライブ感

Page 17: #phpmatsuri LT大会システムの中身

落ちたらごめんなさい