設計法則チートシート memo

設計法則チートシート

設計法則は、たくさんあって忘れがちなのでチートシートが欲しいと思っていた。 素晴しいリストを見付けました。 何かのときにすっと出したい、プログラミングに関する法則・原則一覧 ## 設計法則チートシート 画像とodp形式作ってみました。 設計法則チートシート(odp形式) 壁に貼っておこう。 もっとお…
CakePHP2 でコンポーネントの遅延ローディング CakePHP2

CakePHP2 でコンポーネントの遅延ローディング

コントローラの初期化でフィールド変数 $components に定義したコンポーネントを読み込んで初期化していて、ファットコントローラでは大量のコンポーネントを使っていることがある。 更に、PDF出力やエクセル出力など外部ライブラリを使うコンポーネントがあると、それらも毎回読み込むことなる。 非常に…
シェルスクリプトで多重起動防止 bash

シェルスクリプトで多重起動防止

シェルスクリプトでロック機能つけたくて調べてたら、procmail入れたらついてくるlockfileと言うコマンドが神だった。 指定した秒数待って指定した回数リトライして待ってもダメならエラー返す。 指定した秒数より古いロックは無視する。 まで面倒見てくれる SCRIPT_DIR=$(cd $(di…
CakePHP2 ログローテーションの重複実行の回避 CakePHP2

CakePHP2 ログローテーションの重複実行の回避

事情によりCakePHP2を使っているのですが、アクセスが増えた時に、レスポンス遅延が発生しました。 どうも警告が大量に出力されたり、そもそもログ出力が多かったりして、ログローテーションが重複実行されて サーバが不安定になったことがあり、CakePHP2のファイルログのソースコード(lib/Cake…