第32回PHP勉強会
トライコーン株式会社で行われたPHP勉強会に参加中ですしました。
リアルタイムに書いていきます。
抜けている所があればコメントください。
- events.php.gr.jpイベント管理システムについて
- Ethnaでモバイルサイト開発
- 極める!vim
- ARGF作ってみた
- Ethnaで問題にぶちあたったときの5段階の解決法
- PHP勉強会極めてない!Git
events.php.gr.jpイベント管理システムについて
haltさんの発表
PHPは5で辞める。
理由はblogにて
歴史的な話
Ethna
国産のフレームワークでGREEのふじもと神がつくった
Ruby on Railsより前に出来た
PHP4,PHP5の両方で使える。
国産フレームワーク戦争を勝ち抜いた日本最強のフレームワーク
東のEthna、西のMaple
ほとんど中身が変わらないまま3年以上たっているので
CakePHPやSymfonyに比べると古めかしい(だがそれがいい)
古めかしい感じが初心者には優しいのじゃないか。
SQLite
変態データベース
ファイル型のDBなのでデーモンいらずで簡単
バックアップは
cp data.db. data.db.bak
あらかじめCREATE TABLEしたdbごと
メモリ上にDBをつくったりもできる
dbファイルに書き込み権限が必要で
dbファイルが置かれたディレクトリにも書き込み権限が必要
型が適当
integerに文字列が突っ込める
当然エラーは出ない
SQLite2(php4,php5)とSQLite3(pdo:php5)がある
SQLite3はpdoインターフェースしか無い
2と3には互換性はないので注意
TypeKey
six apartのオープンな認証サービス
TypeKeyに対応しているサービスならどのサイトでも同じidでログインできる
ユーザーは複数のサイトに個人情報を登録しなくて便利
サービス提供者はパスワードを管理しなくてよいので便利(漏れた日も多少は安心)
TypeKeyが使われているサービスが全然ない
はてなもTypeKeyもOpenID対応しやがったのでOpenIDでいいじゃんムード
ソースコードのダウンロード
svn co http://svn.coderepos.org/share/websites/events.php.gr.jp/trunk event
Ethnaでモバイルサイト開発
id:maru_ccさんの発表
ページめくるのが早すぎてメモしきれなかった。
自己紹介
Tomoyuki MARUTA
http://maru.cc/
話す事
Ethnaについて
以前は
いまでは
ほぼ全てEthna
例外
コードを書く場所
Ethnaで書く場所
ActionForm
ActionClass
View
AppManager
スケルトンに無いメソッド
ActionClass
View
ActionClass
- authenticate
- 認証,前提条件
- ログインチェック
- 認証,前提条件
- prepare
- 入力値チェック
- perform
- データ更新
View
preforward
forward
_setDefault
Controller
- APPID_Controller
Controllerで
- エントリポイントの区別
- 他の環境のActionが絶対に動かない仕組み
モバイル開発について
- モバイル開発で気にする事
対応端末をしぼる
- キャリアでしぼる
- 3キャリア
- 古いのは除く
- 一部海外メーカー製の端末を除く
- コンテンツ内容でしぼる
- デザイン的要因でしぼる
キャリア間の違い
- HTML、CSSの記述
- 絵文字
- mailto
- SoftBank 3G,3GCのみUTF-8のUilencode
- 画像
- コンテンツ
HTML, CSS
絵文字
絵文字以外で出ない文字
mailtoのbody等
Filterをどう動かすか
- 動的ページ
- そのままFilterが動くので問題ない
- 静的ページ
どう動かすか 静的ページ
- auto_prepernd_fileを書く
- ViewPageClass
- forwardを使う
画像
- 画像形式
- 画像サイズ
画像変換
- 画像を端末に合わせて変換する
- 画像変換サービスを利用する
- 自前で変換する
- 画像変換ルールを画像URLのパラメータで渡す
- auto_prepend_fileを書く
後半のまとめ
- テンプレートは共通に
- テンプレートからキャリア区別する情報を排除する
- デザイナーにやってもらえる事はやってもらう(絵文字とか)
- モバイル対応はライブラリの整備が大事
- auto_prepend_file、Filterなどを使いキャリア個別の処理を意識しないでいい土台を整える。
極める!vim
haltさんの発表
余談
夕方4時から6時までのスーパーフレックス
vimを使う前
文字コード自動判定が出来るという理由だけでPeggyPadというエディタを使っていた
エディタなんてどれを使っても同じだろ
id:secondlife
「えー!マジ(ry」
エディタについて考えさせられる
エディタとは
大工にとっての鉋
武士にとっての刀
おまえはエディタを軽視してないか?
一生かけて自分にあわせて無限に成長させられるエディタこそ真のエディタではないか?
vimかemacsじゃなくて、それができるかできないか
eclipseはカスタマイズできるが作業コストがでかい。
vim
ALGIN:left
オープンOSを選ばない
vimと禿の違い
編集対象をとらえる次元が違う
text object
表示しているものを意味をもったものとして認識している
キーワードを認識していてd %でブロック単位で削除できたりできる。
エディタを使う行為もプログラミングに含まれる
vimを使ってプログラムを生成している
補完辞書の作成と設定
さいごに
- この内容はまるごと PHP2に収録される予定なので出たら買ってください。
名言:「.vimrcは俺の人生」
ARGF作ってみた
ごく一般的なデスクトップ
コマンドライン大好き
GUI
直感的に分かりやすい
学習コストが低い
CUI
直感的に分かりづらい
学習コストが高い
軽い
組み合わせができる
おまけ
ライブラリにサンプルコードを書こうキャンペーン
phshって面白いかも
Ethnaで問題にぶちあたったときの5段階の解決法
id:sotarokさんの発表
Ethnaで問題・・・?
- ここでいうもんだいとは
- 使ってるけど、わからない場合
レベル1
レベル2
- ブログで愚痴る。フォーラムで聞く
- コミッターさんは、Ethna関連記事を追ってたりもする
- フォーラムで聞く
- MLで聞く
レベル4
- 自分で書く
- パッチを投げてしまう
- 小さな事でもOK
- コミッターさん達が大喜び
- 自分のコードがコミットされる
- Ethnaはゆるゆる
- もしかしたらそのコードを元に更に改良してくれるかも
- でもこれって
レベル5
- 例えばEthnaを避ける
- 自分の要望を満たせないなら
- でもこれって
PHP Framework Fight!
PHP勉強会極めてない!Git
kunitさんの発表
subversionはcommit単位でのバージョン管理
Tracというキラーアプリも登場
もうSubversionで良いんじゃね?
GitはLinusがLinuxカーネル開発用に作った
今のメンテナーは浜野純さん(日本人)
分散、pull/pushが特徴。バンバン派生していける。
subversionでもSVKを使うと作業用ブランチを作れる
ブランチ切り放題。
マージする方法に力を入れている
おかしくなったリビジョンを見つける為のコマンドがある(bisect)
なぜ今Git
GitHub
Ruby on Railsで実装されたGitリポジトリのホスティングサービス
もちろんRuby on Railsも移行
そして達人プログラマーも
Progmatic Version Control Using Git
今日話した内容はSoftware Design 4月号から