開発中の落書き

開発中の落書き

開発者todesmarzが
開発中にわかってきたことや、
覚えておきたいことをつらつらと書き残しています。

Amebaでブログを始めよう!
CakePHP では、ログの出力が簡単に出来ます。


// Cakephp Objectクラス継承したクラスでは
$this->log('ログに出力するメッセージ', ログタイプ);

// その他
CakeLog::write(ログタイプ, 'ログに出力するメッセージ');


log関数では、CakeLog::writeを呼び出すだけのため
どちらを使っても処理としては同じ

パフォーマンスを気にするならば
後者(関数呼び出しがひとつ不要)

将来処理が変わるかもしれないことを気にするならば
前者

くらいに思っていればいいのかな

ログタイプはあくまでタイプであり
bootstrap.phpに定義されているファイルの出力方法に従ったりする


ここからはしたは、CakePHP 2.3の場合として読んでください


LOG_DEBUGに設定したとしても
core.phpの
Configure::write('debug', 0);
にしても
ファイルは出力される。



App::uses('CakeLog', 'Log');
if (Configure::read('debug') != 0) {
CakeLog::config('debug', array(
'engine' => 'FileLog',
'types' => array('notice', 'info', 'debug'),
'file' => 'debug',
));
}
CakeLog::config('error', array(
'engine' => 'FileLog',
'types' => array('warning', 'error', 'critical', 'alert', 'emergency'),
'file' => 'error',
));



debugの設定を見て
CakeLog設定を行うか切り替えることで
対応しました。

検索すると
debugを0にするとログ(デバッグ、エラー)が出来ないやデバッグログは出力されない
という情報もありますがあくまでCakePHP 2.3の場合

または、うちの環境の場合という事しか言えないですが

調べてみても
ubuntu 12.10で
カーネルが対応していると

言われているが
webサイト閲覧だけでCPUの負荷が高く
Intel hd 4000 この程度なのか、ドライバーが正しく使用されていないのかが判断できない

様々な対応を行なってきた

1.intelが配布しているドライバーのインストール
2.xorg.confの設定

2.が効果あったように思える

/etc/X11/xorg.conf.failsafe


Section "Device"
Identifier "Intel"
Driver "intel"
Option "AccelMethod" "sna"
EndSection


なにかと不安だけど
これを設定し再起動することで
多少体感できるくらいよくはなった


不安要素
--------
■xorg.confではなくxorg.conf.failsafeなこと
本当に効果あるのか

■snaってSandy Bridge New Accelerationの略
ivyでも使用出来るのかまた今後のcpu haswellなどでも使用できのか
--------


haswellが発売しているっていうのに
いまごろやっとivyのちからが発揮されるようになるとは・・・
同じビューファイルを使用し

同じ事を記述する事を書くのは無駄なため
同一のファイルでできたら

最高です!!

Controllerのアクションメソッドに

$this->render(view名);

この記載すると
PHPUnitでNotfoundになる場合がありました。

大文字小文字の問題で
なぜかアクションによって
正常に動作する場合としない場合がありました

この場合もっと正確な名称を
記載することで
解決ができます。

$this->render(クラス名/view名);
または、
$this->render(common/view名);

実際は、クラス名言うよりも
Viewのフォルダ名だったりしますが

置いている場所を指定してください