まだまだ完成度を高める必要がありますが、PHPのリグレッションテストツールのPROVE for PHPのダウンロードを開始しました。
PHPのテストスイートの設定を忘れていてPDOオブジェクトのサポートできてない事に直前に気がついたのでPDOには対応していません。これは出来るだけ早急に対応します。
Dokuwikiなどでは普通に使えます。VMwareイメージも用意しているので試してみてください。
非常用の個人利用は無料です。商用利用はご購入ください。開発に役立ちます!
まだまだ完成度を高める必要がありますが、PHPのリグレッションテストツールのPROVE for PHPのダウンロードを開始しました。
PHPのテストスイートの設定を忘れていてPDOオブジェクトのサポートできてない事に直前に気がついたのでPDOには対応していません。これは出来るだけ早急に対応します。
Dokuwikiなどでは普通に使えます。VMwareイメージも用意しているので試してみてください。
非常用の個人利用は無料です。商用利用はご購入ください。開発に役立ちます!
PROVE for PHP 0.4.0をリリースしました。
もともとIO部分はプラグイン化するつもりだったのですが、ファイルに最適化し過ぎていた部分があったため大幅にリファクタリングしました。機能追加よりも今後の機能拡張を容易にするための変更がメインです。内部構造をかなり変更したのでバグが残っているかも知れません。もし見つけたら教えて頂けると助かります。
昨年のPHPカンファレンスで紹介したPORVE for PHP 開発版の公開を始めました。PROVE for PHPはこんなテストが出来ます。
使い方もとても簡単です。
http://www.provephp.com/
Gitを使っていて初めてエラーらしいエラーに合いました。検索してもコレという物がヒットしなかったので書きます。
error: unable to index file aaa
fatal: updating files failed
などと出るエラーですが
と出るエラーのようです。簡単に再現します。
(git version 1.7.3.3)
[yohgaki@dev git-test]$ git init . Initialized empty Git repository in /home/yohgaki/tmp/git-test/.git/ [yohgaki@dev git-test]$ touch aaa [yohgaki@dev git-test]$ git add aaa [yohgaki@dev git-test]$ git commit -m 'add' . [master (root-commit) ff6f5d2] add 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 aaa [yohgaki@dev git-test]$ rm aaa rm: remove 通常の空ファイル `aaa'? y [yohgaki@dev git-test]$ mkdir aaa [yohgaki@dev git-test]$ touch aaa/bbb [yohgaki@dev git-test]$ git add aaa/ [yohgaki@dev git-test]$ git commit -m 'add dir' . error: unable to index file aaa fatal: updating files failed
他のケースでも出るようですが私の場合はこれでした。コミットしたいディレクトリに移動してコミットすればコミットできましたが、私の場合は何か他の問題(?)もあったようでdetachした状態となったのでマージして直しました。
[yohgaki@dev git-test]$ git commit -m 'add dir' . error: unable to index file aaa fatal: updating files failed [yohgaki@dev git-test]$ cd aaa/ [yohgaki@dev aaa]$ git commit -m 'commit dir' . [master 5b63843] commit dir 1 files changed, 0 insertions(+), 0 deletions(-) rename aaa => aaa/bbb (100%) [yohgaki@dev aaa]$ cd .. [yohgaki@dev git-test]$ git branch * master
徳丸さんのブログでescapeshellcmdの余計なお世話の件が指摘されていたのでパッチを作りました。これmagic quoteと同じレベルの余計なお世話なのですが放置されています。個人的にはどのような関数にも全てバリデーション済みの文字列しか渡さないのでセキュリティ問題は発生しないのですが、UNIX系OSではペアとなる”と’はエスケープしない仕様に気が付いていないプログラマも多いかもしれません。
という記事があったのでPHPでやるとどうかなと作ってみた。(と言うほどの物ではありませんけど)本当に一行にするには無理があったのでの実際には2行です。他に良い方法があるかな?
$ php -r '$h=get_headers($argv[1], 1);echo $h["Location"];' http://j.mp/dankogai
専用関数があるので面白くもなんともありませんね。
JPUG四国支部、オープンセミナー実行委員会主催のオープンセミナー2011@広島が2011/1/22(土)に開催されます。UST中継も予定されていまるので遠方の方もご覧いただけます。
私の環境では、PAGER=’lv’ としていたのでMac OSXのターミナルでgit diff とかするとANSIエスケープシーケンスが正しく処理されない。GIT_PARGER環境変数を以下のように修正した。
export GIT_PAGER=’/opt/local/bin/lv -c’
これはMacportsのlv(マルチバイト文字も正しく表示できるテキストビューアー)ですが、普通のlessを使っている人は
export GIT_PAGER=’/usr/bin/less -R’
でカラー表示になると思います。
遅ればせながらMomonga Linux 7リリースの紹介です。
ホームページ:
http://www.momonga-linux.org/
ダウンロード:
http://dist.momonga-linux.org/pub/momonga/7/Momonga/
絶対に目を通すべきFAQ:
http://developer.momonga-linux.org/wiki/?Momonga+Linux+7+FAQ
Mac OSX 10.6のPHPはPHP5.3なのでPHP5.2をビルドしてインストールしたい、と思っている方も多いと思います。Macportsが入っていれば、
sudo port install php52 php52-web
のような感じでPHP5.2をインストールできます。Portsじゃなくてソースから、そしてPECLなど他のモジュールもロードするのではなくスタティックに組み込みたい!という場合もあるでしょう。いちいちモジュールディレクトリを作ってphp.iniでロールするのは面倒ですから当然です。
(さらに…)
Mac上でEmacsを使うと言っても、コードを見るくらいでAquaemacsを使っています。Aquaemacs 2.0以上からはタブも使えてかなり便利です。今は2.1を使っています。PHP、RubyはEclipseやNetBeansを使っています。
Aquaemacsでコーディングはしていなかったので今まで困らなかったのですが、PHP本体のコーディングとビルドをMac上で出来るようにしました。Cのコードは普通はEmacsで書いているので、AquaemacsでCのコードをコーディングしようと思ったら「バックスラッシュ(\)が円記号(¥)になる」現象で困ってしまいました。
(さらに…)
毎年恒例のオープンセミナーのお知らせです。Rubyの松本さん、PGClusterの三谷さんをはじめ聴きごたえのある講師が揃いました。お昼はお弁当を持ってくるか注文する方が良いです。懇親会は70名になっていますが、既に予約が多すぎたので50から70名に増やしたばかりです。申し込みはお早めにどうぞ。
申し込み用のページ
http://kokucheese.com/event/index/1834/
セミナー告知ページ
http://openseminar.okaya.ma/
広島で中四国で行われている地域コミュニティが合同で行っているオープンセミナーが11/28(土曜)開催されます。
http://www.postgresql.jp/events/5e835cf630aa30fc30f330bb30df30ca30fc-1/view
ご都合が良い方は是非参加ください。
来る11月28日(土)に(株)SRA西日本会議室(Pルーム)にて
JPUG中国支部主催のオープンセミナーを開催します。
今回はオープンラボ岡山の協力を得、RubyやAndroidの話題も盛り込んでいます。
また、東京から桑村潤氏、石井達夫氏にお越しいただきますので、
興味のある方は是非ご参加ください。セミナー、懇親会に参加を希望される方は、人数把握のため、三谷(mitani@sraw.co.jp)までメールでお申し込みください。
1.日時:2009年11月28日(土)13時から17時
(開場受付 12:30〜、懇親会 18:00-20:00)
2.場所:(株)SRA西日本 会議室(Pルーム)
広島市南区稲荷町 2-16 広島稲荷町第一生命ビル 10F
http://www.sraw.co.jp/map_hiroshima.html
3.定員:30名
4.会費:無料(懇親会は別途費用)
5.プログラム
13:00-13:25 三谷さん:PostgreSQLのClustering最新動向
13:30-13:55 吉田さん:RubyとPostgreSQLの全文検索
14:00-14:25 英吉さん:Android Marketの理想と現実
14:30-14:55 大垣さん:SQLインジェクション
15:00-15:50 桑村さん:PL/Proxy,PgBouncerの紹介
16:00-16:50 石井さん:pgpool-II最新情報
明日のOSC東京Fallでは「SQLインジェクション”ゼロ”のPostgreSQL利用法 – 今更聞けないSQLインジェク ションの現実と対策」と題したセッションを日本PostgreSQLユーザ会の講師として話をさせて頂きます。
SQLインジェクションはとうの昔に枯れた話題と思われていますが、古くても今の問題です。何年か前、日本PostgreSQLユーザ会のセミナーで手作業でのブラインドSQLインジェクションのデモをした事がありますが今回はツールを使ったデモもあります。書いている間に当初作ろうと思っていたプレゼンとは異なる物なってしまいました。多少紹介から期待する内容とは異なっているかも知れません。既にSQLインジェクションについては十分知っている方でも、それなりに(?)楽しめる内容になっていると思います。おかげ様で満員だそうですが、飛び込みでも少しは入れるのかな?
45分なのに60枚もスライドがある上、デモもあります。かなりハイペースで話すことになります。ネットで直ぐに見つかるような基本的な事はあまり書かなかったのですが、無いようで書くとSQLインジェクションについて色々在る物です。多少スライドは飛ばす事になります。
ほぼ同じ内容でOSC高知でも話をさせて頂く予定です。
来たくても来れなかった方は是非高知でお会いしましょう。