開発

開発

[Selenium IDE]Webアプリテストツール

今日はSelenium IDEの紹介です。Webアプリ等でフォームのテストをしたい場合に、テストのために何度もフォームに入力するのは非常に手間がかかります。そこで登場するのがFireFoxプラグインのSelenium IDE。
CakePHP

[cakephp2]render結果をコントローラーで取得する

render結果をコントローラーで取得する方法$this->render('viewname','',null);$body=$this->response->body();メール送信用のデザインをこれで作ると便利ですね。
CakePHP

[candycane]cakephp製redmine互換BTSをインストールしてみよう

プロジェクト管理は多くの開発者やプロジェクトマネージャが困ることの一つです。バグトラッキングシステムなどは多くの種類があります。backlogやgithub等、有料のものも数多くありますが、フリーなredmineなども有名です。redmin...
CakePHP

[cakePHP2.x]CakePHPでDebugKitを使っていると重い&メモリをバカ食いする件

デバッグをONにして少々重い処理をしていると、メモリ不足やtimeoutが頻発するようになることがあります。諸悪の根源は履歴キャッシュにあるようです。こんなもの一度も使ったことはありません。すっぱり削除しましょうwpublic $compo...
CakePHP

[cakephp2]debug_kitの表示がおかしい場合

debug_kitは非常に使いやすいプラグインだと思うのですが、たまに不具合もあるようです。別のサーバーに作ったアプリをインストールしてテストしていたのですが、なぜかセッションがうまく引き継がれません。いろいろ調べるためにdebug_kit...
CakePHP

[cakephp2]アプリケーションを複数設置してAPCを用いている場合の注意

意外と気が付かない点。APCをつかってcakephp2のアプリケーションを複数サーバーに設置している場合。設定を一部ダブらないようにした方がいいようです。core.php//APCを使う場合の設定例Configure::write('Ses...
開発

[jQuery]exValidationの遅延チェック

exValidationは大変便利な入力チェックのライブラリで、よく使っています。Submit時だけでなく、任意のタイミングでヴァリデーションをしたいときは以下のようにします。#hogeの判定をする場合var validation = $(...
CakePHP

[Cakephp2]Cake plus の罠

Cake plus は大変便利なプラグインです。フォームデータをhiddenで引き継ぐのは、いちいちhiddenメソッドを書かなくてはいけないため非常に面倒ですが、このプラグインを使うと$this->FormHidden->hiddenVa...
開発

[mysql]MySQLでエラー「ERROR 1153 (08S01)

これはSQL文が長すぎる場合に発生するエラーです。投入するSQL文を短くするかmy.confで以下の設定を追加または値を大きくしますします。max_allowed_packet = 1Gここでは1Gとかなり大きくとりましたが、サーバーが搭載...
CakePHP

[cakephp2.x]セッションの保存先をDBするときにハマった件

表題の件。cakephp2でセッションの保存先をDBにする場合。core.phpでSessionの設定を下記に変更してConfigure::write('Session', array(//'defaults' => 'php''defau...
CakePHP

[cakephp2]外部ファイル更新時のキャッシュについて

css等を更新したときに、名前を変えないとキャッシュが効いてしまって変更が有効にならない場合、以前の記事でSVNのバージョン番号を付与するように改造するといいという記事を書きました。しかし、実はもっといい方法が用意されていました。core....
CakePHP

[cakephp2.x]APC利用時のan internal error has occurredエラーについて

cakephp利用時にan internal error has occurred.が出てしまうことがまれにあります。困ったことに、このエラー、根本的な原因がわからないことが多い。たいていの場合はキャッシュとモデル(テーブル)の問題でtmp...
CakePHP

[cakephp2]modelのソートでrand()を使う場合の注意

たとえば、ランダムにデータを取得したい場合。$this->(model)->find('list',array('order'=>array('rand()'))); とするとSQLでは... rand() ASC ... などとなってしま...
Linux

[postfix]CentOSでメール送信サーバーの構築 — gmail yahoo 宛てでも届くように

初期設定ではメールが迷惑メール扱いになってしまうことがあります。迷惑メール判別の仕組みはいくつかありますが、yahoo等で採用しているSPF認証とDKIMを設定してみます。これを設定しておけば迷惑メール扱いなりにくくなるはずです。なお、自ド...
Linux

[SVN]can’t convert string from ‘utf-8’ to native encodingエラーについて

LinuxでソースファイルをSVNで管理していて、アップデートしたらエラーが発生してどうしても更新できません。can't convert string from 'utf-8' to native encodingこれは、SVNの管理下に日...
CakePHP

[CakePHP2.x]adminルーティング時のリンク指定

adminルーティングした場合にリンク等でURLを指定したい場合。パラメータをどうしたらいいかわからず詰まってしまった。まぁ、'/admin/hoges/action'といった感じで指定してもいいのですが、配列で指定する場合は下記のようにな...
CakePHP

[CakePHP]外部ファイルにバージョン番号を付加してキャッシュ問題を解決する方法

CakePHPに限らず、CSSやJSファイル等を更新した場合、キャッシュが効いてしまい最新のものが読み込まれない場合があります。この場合、ファイル名を変えればいいのですが、それはすごく大変です。そこで、下記のようにバージョン番号を付加してし...
CakePHP

[cakephp2.x]shellの中でviewを使いたい

まれに、shellの中でhtmlファイルを生成したいことがあります。また、htmlメールを送信したい場合もあるでしょう。一応、shellの機能の中にテンプレート機能があるようなのですが、使い方の情報が少ないのと、いまいち使い勝手が悪い。通常...
CakePHP

[cakephp2.x]ヘルパーでヴァリデーションエラーの内容を見たい

ヘルパーでヴァリデーションエラーの内容を見たかったのだがどうやってアクセスしていいかわからない。ヘルパー内で$thisのダンプをとっていって何とか見つけました。$this->_View->Form->validationErrorsここでア...
CakePHP

[cakephp2.x]pagenateのカウントがおかしい場合。

pagenateのfiledsでDESCENTやgrop byを使うとカウントがおかしくなってしまう場合。AppModel.phpに以下でpaginateCount()関数をオーバーライドすればいい。function paginateCou...