2011-01-01から1年間の記事一覧

Eclipse/PDT から PHPUnit/CIUnit のテストを自動実行する

コマンドラインから phpunit コマンドによるテストの実行 ブラウザから VisualPHPUnit によるテストの実行 Stagehand_TestRunner によるコマンドラインからのテストの自動実行 と 3つのテストの実行方法をみてきましたが、今回は第4の方法として、Eclipse/PD…

コードやテストを変更したら自動で PHPUnit を実行する

指定したフォルダの変更を監視して、変更検出時にテストを自動的に実行してくれるという便利なツール「Stagehand_TestRunner」がありましたので、インストールして CIUnit で使ってみました。 Stagehand_TestRunner のインストール $ sudo pear channel-disc…

PHPUnit のテストを Web から実行する VisualPHPUnit

PHPUnit の WebUI の VisualPHPUnit というのがありました。 https://github.com/NSinopoli/VisualPHPUnit CodeIgniter はもともとコマンドラインを使わないため、ユーザの中にはコマンドラインに親しんでおらず、ブラウザからテスト結果をみたいという人も…

CIUnit でのモデルのテスト方法

CIUnit には、データベースフィクスチャの機能があります。これは、テストを実行する前にデータベースにあらかじめ用意されたデータを登録する機能です。この機能により、テスト実行時のデータをいつも同じにすることで、正しくテスト結果を判定することがで…

CodeIgniter で PHPUnit によるアプリケーションテストを実行するための CIUnit をインストールする

(2015/05/14) CodeIgniter 3.0 用のツールを開発中です。CI PHPUnit Test for CodeIgniter 3.0(2011/09/05) 記事が古くなったので、更新した記事 CodeIgniter 2.0.3 に PHPUnit/CIUnit をインストールする を書きました。 CIUnit とは? CIUnit は、CodeIgni…

CodeIgniter ユーザが CodeIgniter の XSS フィルタについて知るべき 5つのこと

(2015/08/20) CodeIgniter 3.0 では XSS フィルタを入力フィルタとして使うことは誤りであり XSS フィルタは出力時にのみ使うべきである旨がユーザガイドに明記されています。http://www.codeigniter.com/user_guide/installation/upgrade_300.html#step-13-…

Mercurial で改行コードが変更されたコミットの変更点の確認方法

改行コードが変更された場合、普通に diff を取ると全行が表示されてしまい変更点がわかりません。 $ hg diff -c tipこのような場合は、hg diff に w オプションを付けて実行すると、改行コードの変更などの空白文字の変更を無視した差分を表示できます。 $ …

TypeError: findoutgoing() got an unexpected keyword argument 'heads'

Ubuntu から Mercurial で push しようとしたら、以下のエラーが出ました。 $ hg push ssh://hg@bitbucket.org/codeigniter_jp/ci-ja への反映中 変更点を探索中 ** 予期せぬ例外が浮揚されました。 ** http://mercurial.selenic.com/wiki/BugTracker まで *…

CodeIgniter に h() を!

CodeIgniter の XSS 対策について以下の記事を書きました。 CodeIgniter の XSS 対策はどうあるべきか? CodeIgniter の XSS 対策はどうあるべきか? その2 また、日本 CodeIgniter ユーザ会のメーリングリスト などでも議論しました。その結果、多くの日本…

CodeIgniter の XSS 対策はどうあるべきか? その2

CodeIgniter の XSS 対策はどうあるべきか? では、ビューでの変数をデフォルトで HTML エスケープするという実装案を示しましたが、それだけで XSS 対策が完了するわけではありません。今回は、現状の CodeIgniter でどのような XSS 対策をすればいいかにつ…

Mercurial でリポジトリを簡単に修正する Histedit の使い方

Mercurial で自分のローカルのリポジトリにコミットしてしまった変更を修正する方法です。 Histedit のインストール Histedit Extension を使いますので、インストールします。 $ hg clone https://bitbucket.org/durin42/histedit「~/.hgrc」に以下を記載し…

CodeIgniter の XSS 対策はどうあるべきか?

CodeIgniter での XSS 対策については、いろいろ議論があるはずですが、あまり公開された日本語の情報はありません。CodeIgniter には XSS フィルタリング機能が標準で用意されていますが、これは本質的にブラックリストでありフィルタリング漏れが生じる可…

Mercurial(hg) の拡張機能のコマンド一覧

hg の拡張機能のコマンドのメモです。基本的なコマンドは、Mercurial(hg) のコマンド一覧 参照。 graphlog hg glog ASCIIアートのグラフログを表示 transplant hg transplant チェンジセット 指定したチェンジセットのみをマージする hg transplant チェンジ…

Eclipse で CodeIgniter のコード補完を行わせる冴えたやり方

以前の記事 Eclipse で CodeIgniter 2.0 のコード補完 ですが、Eclipse(PDT) をバージョンアップしたためか、動作しなくなっていました。コード補完できるコードを生成するコントローラを変更し、別の方法でやってみました。

CodeIgniter 1.7.3 に対するノート

(最終更新 2011/09/01)CodeIgniter 1.7.3 は、すでに保守されていません。ユーザは 2.x へアップグレードすることが推奨されます。これ以外の脆弱性をご存じの方は、是非、お知らせ願います。 既知の脆弱性など $this->db->cache_delete_all() すると .htacc…

CodeIgniter のページネーションクラスでキーワードを GET で渡す方法

CodeIgniter 2.0 からは、GET を普通に使えるようになりました。CodeIgniter 1.x では、ページネーションクラスで検索キーワードをどのように渡すかが問題でしたが、現在では以下のようにすれば GET で普通に渡すことができますね。

CodeIgniter 2.0.1 に対するノート(脆弱性とバグ)

(2011/09/09) CodeIgniter 2.0.3 がリリースされたため、このノートは今後更新しません。今後は、CodeIgniter 2.0.3 に対するノート(脆弱性とバグ) を参照願います。(最終更新 2011/09/01)これ以外の脆弱性をご存じの方がいらっしゃいましたら、是非、お教え…

CodeIgniter 2.0.1 のリリース

CodeIgniter 2.0.1 が 3/15 にリリースされました。日本語言語パックも、本日 3/28 にリリースされました。 日本語言語パック(CodeIgniter 2.0.1)リリース 変更点は、以下の変更履歴を参照してください。 http://codeigniter.jp/user_guide_ja/changelog.htm…

Bitbucket の Wiki は Mercurial で管理されている

Bitbucket では Wiki も Mercurial で管理されています。Wiki のページには、以下のように hg clone コマンドが記載されています。 実際に hg clone してみると、Wiki のリポジトリが取得されます。 $ hg clone https://kenjis@bitbucket.org/codeigniter_jp…

PHPspeed による dotcloud のベンチマーク

phper.jp に続いて dotcloud を PHPspeed でベンチマークしてみます。 インストール PHP サービスを作成します。 $ dotcloud deploy -t php kenji.phpspeed Created "kenji.phpspeed". 以前作成した MySQL データベースにベンチマーク用のデータベースとユー…

PHPspeed による phper.jp のベンチマーク

PHPspeed という PHP と MySQL のベンチマークツールで phper.jp をベンチマークしてみます。 インストール phper.jp の git リポジトリを clone します。 $ git clone gitosis@git.phper.jp:kenji/phpspeed.git $ mv phpspeed phpspeed-repos PHPspeed をダ…

CodeIgniter Sparks を使ってみる

(2015/08/19) CodeIgniter Sparks は CodeIgniter 3.0 には対応していません。2.x でしか使えません。CodeIgniter をスパークさせるための CodeIgniter Sparks が始まってます。Sparks は CodeIgniter のためのパッケージマネージャ&リポジトリです。CodeIg…

dotcloud に concrete5 をインストールする

phper.jp に続いて dotcloud にも PHP アプリをインストールしてみます。http://docs.dotcloud.com/static/tutorials/firststeps/ を参考にします。 dotcloud コマンドのインストール dotcloud コマンドをインストールします。 $ sudo easy_install dotcloud…

はじめての Mercurial / Bitbucet

最近、日本でも Mercurial ユーザが増えてきている気がします。ブログや twitter でもちらほら見かけます。例えば、 Mercurialを使ってみた。 – 伊藤清徳の垂直落下式ムーンサルトプレス Mercurial + Bitbucket = 最高! - present MacHg+BitBucketで快適?な…

『Webサイト制作者のためのPHP入門講座』の CodeIgniter アプリを CodeIgniter 2.0.0 に移行する

Webサイト制作者のためのPHP入門講座 には、CodeIgniter で作成したアプリケーションである「グルメMAP」が含まれています。これは、CodeIgniter 1.7.2 を利用して作成されています。今回は、この「グルメMAP」を CodeIgniter 2.0.0 に移行してみます。CodeI…

Mercurial でマージツールに Meld を使う

kdiff3 は日本語の編集に問題があり、日本語をマージ作業中に編集する必要がある場合、作業が困難ですので、別のマージツールに変更することにします。Ubuntu に GUI のマージツールである Meld をインストールし、Mercurial のマージで使えるようにします。…

『体系的に学ぶ 安全なWebアプリケーションの作り方』の仮想マシンを VirtualBox で使う

体系的に学ぶ 安全なWebアプリケーションの作り方 には実習用の仮想マシンが付属しています。しかし、前提が VMware Player であり Windows となっています。Linux 版の VMware Player でも動作確認されているとのことですが、私は VirtualBox を使っており …

Mercurial で複数のチェンジセットを 1つにまとめる

(2011/06/09) より操作が簡単な Histedit を使った方法を Mercurial でリポジトリを簡単に修正する Histedit の使い方 - A Day in Serenity @ kenjis に記載しました。 Mercurial で複数のチェンジセットをまとめる方法です。MQ を使いますので、「~/.hgrc」…

phper.jp に concrete5 をインストールする

http://phper.jp/ というサービスがプレビュー版テスト公開されましたので、試しに concrete5 をインストールしてみました。クイックスタートガイド を参考にプロジェクトを追加します。名前は「concrete5」としました。アプリサーバを追加します。名前は「c…

Mercurial でマージツールに kdiff3 を使う

Ubuntu に GUI のマージツールである kdiff3 をインストールし、Mercurial のマージで使えるようにします。 $ sudo apt-get install kdiff3 KDiff3 日本語文字幅対応パッチ版のインストール KDiff3 日本語文字幅対応パッチ版に入れ替えます。 $ sudo apt-get…