Upload
hisateru-tanaka
View
425
Download
2
Embed Size (px)
DESCRIPTION
PHPMatsuri 2013 でついに導入されたLT大会システム。その開発の中身をご紹介します。
Citation preview
LT大会システムの中身の話
いま皆さんが使っているサイトを作りました
たなかひさてる@tanakahisateru
Pinoco developerPHPTAL contributorFirebug translation contributorYii framework user
開発のきっかけ
•過去3年間Googleスプレッドシートのフォームで運用していたという事実
•福岡で飛ばした
•「これPHP祭だぜ? PHP使ってないじゃん」
@tanakahisateru LT大会のシステム作ってもらえるんですか?
やりましょう RT @tanakahisateru LT大会のシステム作ってもらえるんですか?
Yii Framework•MVCフレームワーク
•雑なところはあるけどちゃんとOOP
• Array感の少ないCakePHP
• jQueryビルトイン
•標準でAjaxのUIウィジェットが使える
なぜ採用?
• Yii = プログラマブルphpMyAdmin
• https://github.com/tanakahisateru/phpmatsuri-hack-contest
•ソート/検索のデモ+ソース
反省点•自分以外誰も使った経験がない
•実は単体テストやってません(いやこれはロジックを書く量がすごく少なかったんですよ)
•当日にバグ出してこっそり修正デプロイ2回やってました
Pagodabox• PHPに特化したPaaS
• nginx, php-fpm じゃない
• Apacheベース
• .htaccess の mod_rewrite が使える•いろいろ簡単
なぜ採用?•負荷が少なければずっと無料でOK
•ローカルApache環境で作っちゃってた
• Engine Yard かさくらクラウドに移行したかったけど忙しくなった
•コンソール紹介
大変だったこと•デプロイ中のマイグレーション中に [yes/no] で止まって積んだ
•テーブルごとに charset=utf8 しないと文字化け
• Pagodaに一番詳しい知人が祭に参加できないという事実
CodeIQ様に依頼•「発表順を決めるプログラムを作って下さい」
•まさかの致命的仕様ミス
•「a,b,cで分けてください」
• dあるじゃん
たいへん申し訳ございません
大変だったこと
•直前にセッションまわりをいじった
•言語切替が死んだ
•修正
もっと大変だったこと•そうだCSVを上げる機能がない
•今朝7:00からやってました
•致命的な仕様ミス 「dグループ」
•闇の発表者のエントリーが本番で消えた
•ホテルから出れない
実はbグループはじまる前に
•「ページャーを14刻みにできない?」
•作りました
•超ライブ感
落ちたらごめんなさい