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