「PHP徹底構築」を頂きました
廣川類さんが執筆された「PHP徹底構築」を頂きました。3/29日発売らしくアマゾンでも予約受付中の出来たてホヤホヤの本です。書籍イメージも無かったので自分の携帯で撮った写真を載せておきます。
最新版のPHP 5.4にも対応しています。先程届いたばかりなので読むのはこれからですが、内容を簡単に紹介します。
廣川類さんが執筆された「PHP徹底構築」を頂きました。3/29日発売らしくアマゾンでも予約受付中の出来たてホヤホヤの本です。書籍イメージも無かったので自分の携帯で撮った写真を載せておきます。
最新版のPHP 5.4にも対応しています。先程届いたばかりなので読むのはこれからですが、内容を簡単に紹介します。
OSC愛媛2012の「PHP5.4とはどんなPHPなのか?」の資料を公開します。ポイントは以下の通り。
プラットフォームの選択には様々な事情がありますが、Traitsはコードを効率良く再利用するには便利な機能です。さっと移行してしまうのも良いでしょう。
ところで、Traitsの例としてアクセサの実装例を紹介しています。
https://gist.github.com/1379592
しかし、次のPHPではC#風のアクセサ文法がサポートされる可能性があります。
https://wiki.php.net/rfc/propertygetsetsyntax
こちらの方が色々便利です。利用する場合は、このような文法が実装される可能性があることを理解した上で使うと良いと思います。
PHPのソースコードのリポジトリがSubversionからGitに移行しました。
https://wiki.php.net/vcs/gitfaq
個人的には、これで色々楽になります。
第二回 岡山PHP勉強会のスライドです。
遅くなりました。多少追記したい部分があったのですが、取り敢えず公開します。
少し前にPHPのechoはカンマとドット、どちらの方が速い?というエントリを書きました。
この時は長めの細切れな文字列を連結しています。カンマの方が2割ほど速い結果でした。古いPHPでは短く単純な文字列の場合もで速かった、と記憶していました。手元のPHP5.3の性能が気になったのでabで簡単に試してみました。
Git HubがMass Assignment脆弱性に脆弱で他のレポジトリが見れる状態だったらしい。問題は既に修正されています。
この脆弱性はRailsに限った事ではないし、古くからPHPを使っているユーザにとってはある意味懐かしい脆弱性でもあると思ったのでエントリを書いてみました。
PHP 5.4がリリースされました。
詳細はソースに添付されているUPGRADINGとNEWS、マニュアルのマイグレーションガイドから参照できます。
昨日、echo ‘abc’,’xyz’ (カンマ) と echo ‘abc’.’xyz’ (ドット) とどちらが速い?と言う話になったので簡単な実験をしてみました。
PHPのソースコードを見るとどちらも有利な点と不利な点があります。随分前に試した時も一般にカンマの方が速いと思える結果でしたがPHP5.3ではどうなのか試してみました。 もっと読む
Linux PC用にJIS配列Apple KeyboardのUSB版(フルサイズのApple Keyboard)を購入しました。
MacBookと同じ配列のワイヤレス版の場合、長時間の入力には向かない、とAppleサイトの製品レビューにはあったのでUSB版を購入しました。バッテリーも気にしなくて良いのはメリットです。
第2回岡山PHP勉強会の参加募集が始まりました。
前回はすぐ満席になったのでお早めに。
二回目のPHP 5.4 Advent Calender用のエントリです。
今回はPHP 5.4より後のPHP(5.5かな?)で利用可能になると思われるAccessorの仕様について紹介します。まずはAccessorのおさらいから。
追記:この機能は投票で棄却されてしまいました。賛否両論が拮抗していたのですが、実装されなくて残念です。
PROVE for PHP Version 1.1.0を公開しました。特に重要な変更はログデータ構造の変更と各種オーバーライド機能の調整です。
今までext3/ext4ファイルシステムの場合、ディスク容量を使い切る前にパフォーマンスが低下してしまい大きなデータを保存できませんでした。データ構造を見直す事により大きなデータでも安定して動作するようになっています。
昨日は第一回の岡山PHP勉強会お疲れ様でした。参加枠を何度か拡大しても60名の満席でした。初回ということでプログラマ目線からのセキュリティ対策の基本を解説させていただきました。セキュリティってわかりづらい、何をすれば良いのかわからない、という声はよく耳にします。短い時間でしたが考え方の基本は概ね説明できたと思います。
重要なことは口頭で説明したので資料だけみてもよくわからないとは思いますが、勉強会の資料を公開します。なにかございましたらツイッターなどで問い合わせて下さい。ツイッターには岡山PHP勉強会のハッシュタグ (#okaphp) を付けると他の方にも分かりやすいと思います。
次回の岡山PHP勉強会は2月だそうです。
追記:Integrityの訳はネットを検索してきた訳語の「統合性」を使っていましたが、違和感があったので調べてみました。JISでは「完全性」と訳されているので正しい用語に修正しておきました。
PHP Advent Calender用のエントリです。
PHPのセッション管理は非常に簡単です。セッションをsession_start()で開始して$_SESSION配列を使うだけです。便利で簡単なセッションモジュールですがセッションアダプションに脆弱であるため、一般に言われてる「ログインする時にはsession_regenerate_id()を呼ぶ」コーディングではセッションアダプションに脆弱になってしまいます。
まずは危険性と対策を紹介します。 もっと読む
PostgreSQL Advent Calender用のエントリです。
エスケープ処理が必要なのにエスケープ用のAPIが無い状態は良くありません。エスケープしないために動かないのはまだ良い方です。エスケープが必要なのにエ スケープをしなくても動いてしまい、セキュリティ上の問題となる場合もあります。全てのアプリケーション・ライブラリはエスケープが必要なデータに対するAPIを持っておくべき です。今回はPostgreSQL 9.0から追加されたエスケープ関数を紹介します。
PostgreSQL使い始めて最初の頃に気づくのはuserなどの予約語がフィールド名に使えない事かも知れません。例えば、
yohgaki@[local] test=# CREATE TABLE user (name text); ERROR: syntax error at or near "user" 行 1: CREATE TABLE user (name text);
と失敗してしまいます。これはuserがPostgreSQLの予約語であるためSQL文の識別子として使用できないからです。MS Accessからデータベースに入った方には識別子に日本語を使う場合も多いので、PostgreSQLでは日本語のテーブル名やフィールド名はそのままでは使えない事に気が付いた方も多いのではないでしょうか? もっと読む