アーカイブ:  « 2009年5月 | メイン | 2009年7月 »

2009年6月23日

AuthComponentでセッション切れが発生する

CakePHPのアプリケーションでAuthコンポーネントを利用して認証システムを作っていると時々セッション切れになってログイン画面に誘導されることがある。

こづかいつけーる for WebではOpenIDによる認証システムを使っていることもあるのかなぜかしらセッション切れが多いと感じていたところ、スパイスラボのブログにて有益な情報を発見した。

Security.level が high のときに起きるいろいろなことということで事例が紹介がされており、なかでもリダイレクトが書き換えられるというところが気になった。実際、こづかいつけーる for Webでのcore.phpのSecurity.levelがhighになっていたところ、mediumにしたらセッション切れは起こらなくなった。

おそらくセッションの保持範囲が設定レベルに応じて変わってくるところがポイントになっていると考えられる。

2009年6月22日

複数の入力項目をチェックする

モデルに実装するバリデーションの例には、メールアドレスを2回入力して、一致しているかどうかを比較したりするような複数の入力項目をチェックする例が残念ながら記載されていない。

モデルの中で何とかやってみた例なので、クレバーな方法ではないかもしれないが、DBへデータを登録する前のチェックをコントローラーで実装しようとすると面倒なので、困っている方がいらっしゃれば参考にしていただきたいと思う。

var $validate = array(
 'mailaddrss1' => array(
  'rule' => array('checkAddrss'),
  'message' => 'メールアドレス1とメールアドレス2の入力内容が異なります',
 ),
);

//$dataはmailaddress1の内容がセットされる
function checkAddrss($data){
 $check_data= $this->data;
 return $data != $check_data['ModelName']['mailaddress2'];
}

2009年6月20日

退院後に必要なもの(チャイルドシート編)

チャイルドシートは1万円台のものから4,5万円するものまで様々だが、そんなに予算がないので、2万5千円をめどに考えてみた。

候補に挙がったのは、7歳まで利用できるプリムロングSと2012年から適用されるECE(ヨーロッパ統一規則適合品)に対応しているコッコロ、コッコロEGで悩んだ。プリムロングは、2003年に販売されたモデルで、国土交通省装置型式指定基準適合品になっているものの、新基準ではない点が気がかりだったが、コッコロは、軽量ながらも作りが簡単になっていて不安だという口コミもあり、最終的にはコストパフォーマンスに優れており、作りがしっかりしているというプリムロングSをAmazonから購入した。

  

プリムロングSは取り付けしにくいという口コミがあったが、実際取り付けてみると取扱説明書だけでも十分に取り付けができた。また、DVDが付いているのだが、こちらを見ると非常にわかりやすかったので、説明書だけでは分かりにくい人もDVDを見れば安心だと思った。

値段も安かったのは、型落ちで在庫整理品かと思ったら、製造日が2009/5/23、Amazonへの納品日が2009/6/1になっていたので、そうでもないらしい。Amazonでもランキング3位に入るだけあって、多くの人に支持されたロングセラーなんだろうと思う。

2009年6月19日

シリアルポート

・標準的なインターフェイスはRS-232Cである。
・1ビット単位でデータを転送する
・ブートローダーとLinuxカーネルでは、同じ速度を使用するように設定する必要がある。(異なる速度を設定するとカーネルパニックが発生し、再起動が必要)

debugレベルに応じてエラー表示が変わってしまう

app/config/core.phpの
Configure::write('debug', N);
のN=0とN>0では、コントローラーもしくはアクションなどが存在しない場合に表示されるエラーメッセージが変わってしまう。

具体的には、N>0ならば、app/views/missing_controller.ctp、app/views/missing_action.ctpが呼ばれるのに対して、N=0ならば、app/views/error404.ctpが呼ばれる仕組みだ。

これは、cake/libs/error.phpの110行目あたりにある
if ($method !== 'error') {
 if (Configure::read() == 0) {
  $method = 'error404';
  if (isset($code) && $code == 500) {
   $method = 'error500';
  }
 }
}
によるものである。

debugレベルを0にしてリリースする場合には、意図したエラーメッセージが出るか確認したほうがよさそうだ。

2009年6月18日

退院後に必要なもの(授乳編)

産後平均7日間の入院でかかる費用は、約38万円と聞かされていたが、実際かかった費用は新生児の医療費を含めて約44万円だった。個室だったため、差額ベット代や休日加算などが含まれているのだと思う。

ところで、退院後にすぐに必要になったものについてまとめてみた。夫婦で休みを取れていればいいけれども、そうでなければ、入院前に買いそろえておく必要があると思う。

哺乳瓶
哺乳瓶はヌークというもので、ガラス製品のものが温度がよくわかってよいと思う。
240mlのものと120mlのものがあって、新生児には、120mlがいいかもしれない。家では、120mlを4本、240mlを2本そろえた。
 


哺乳瓶洗浄
ピジョンからミルクポンというタンクに溶かすだけでいいものが売っているので、ミルクポンとセットで使っている。(タンクは、240mlのガラス瓶が4本入る大きさ)
濃度をきちんと管理しないといけないけれど、計量する手間は面倒なので、便利。
 

洗浄する際に、母乳が残っているとすぐに汚れてしまうので、お湯で洗ってから入れるわけだけれども、それでも細かい汚れが付いてしまっているので、哺乳瓶のブラシを買っておきたい。なお、ガラス瓶用とプラスチック用の2つがあるので注意したい。

ディバイスファイル

/dev/hd[a-z][0-9]+ IDEハードディスク
/dev/sd[a-z][0-9]+ SCSIハードディスク(SATAも)
/dev/ttyS[0-9]+ シリアルポート(COM[1-9])
/dev/lp[0-9]+ LPTポート
/dev/fd[0-9]+ フロッピーディスク

ディバイスファイルは、スペシャルファイルキャラクタディバイス:バッファなしでデータを受け渡す)になっており、パーミッションを表示すると crw------- などとcがセットされている。

IRQ(Interrupt ReQuest)

IRQ:1 キーボード
IRQ:3(I/Oポートアドレス:02F8) シリアルポート(COM)2
IRQ:4 シリアルポート(COM)1
IRQ:5 パラレルポート(LPT)2、サウンドカード
IRQ:6 フロッピーディスク
IRQ:7 パラレルポート(LPT)1

2009年6月14日

環境変数エラー

Trac detected an internal error: The environment options "TRAC_ENV" or "TRAC_ENV_PARENT_DIR" or the mod_python options "TracEnv" or "TracEnvParentDir" are missing. Trac requires one of these options to locate the Trac environment(s).

というエラーが発生した。
原因は、TRAC_ENVがhttpd.confなどに設定されていないことによる。

<Location /xxx>
SetEnv TRAC_ENV "/trac_path"
</Location>

などの記載を行う。

2009年6月10日

出生に関する手続

出生にあたり手続きをしなければならないものは、出生届、住民登録、児童手当申請の主に3つとなる。出生届は、里帰り出産している場合には、出産した病院の市町村に届け出はできるが、住民登録並びに児童手当申請は、住民登録している市町村でしかできないので、届け出忘れに注意したい。

出生届
生後14日以内に届け出をしなければならない。必要なのは、母子手帳、印鑑、出生届の3つだが、届出者の本人確認のための運転免許証を持っていくといいと思う。

住民登録
出生届をしたら住民登録が自動的に行われてもよさそうだが、これらは別々に行わなければならない。出生届が住民登録をしていない市町村で行われた場合、1週間以降に行う必要がある。

児童手当申請
生後15日以内に届け出をしなければ、手当を受給開始月が遅れてしまう。また、所得制限があるので、申請しても却下される場合がある。また、乳幼児医療費助成制度を設けている場合もあるので、確認をして併せて申請を行う。

CakePHPで作成したアプリケーション

CakePHPで作成したWebアプリケーション「こづかいつけーる for Web」をリリースしました。
アカウントの作成が不要で、mixi、Yahoo、Googleのアカウントがあればすぐ利用ができる家計簿サービスです。

CakePHPと携帯ライブラリ「lib3gk」&CakePHP1.2用ヘルパー/コンポーネントのおかげでコーディング量を大幅に減らすことができました。

2009年6月 7日

第一子誕生

6月7日に2,596gの男の子(第一子)を授かった。

職場の協力もあり、職場で初めて2ヵ月間の育児休暇をとることができ、2ヵ月間という短い期間ながら、これから育児を頑張っていこうと思う。ところで、育児休暇についてだが、夫婦同時に取得することはできないため、妻が育児休暇をとる場合には、産後休暇の56日間にあわせて取ると、同時に子育てすることができる。

男性の育児休業の取得率だが、厚生労働省の資料によれば、1.56%であるらしい。低水準ながら、100人に1.5人とれているというのは自分の職場を含めて、協力的な職場もあるのだと感心する。これから1人でも多く育児休暇を取得して、育児休暇をとることが当たり前の世の中になればよいと思う。

ところで、育児休暇をとると基本的には無給となってしまうため、育児休業給付という支援制度があり、育児休暇を取得している間は、取得前の30%、取得後6ヵ月後に20%の50%が保障される仕組みになっている。

これからは技術の内容に子育ての内容を含めて情報を発信していきたいと思います。

2009年6月 6日

flushをするとメッセージの後に1が出力される

iphloxの情報整理ノートに対処方法が紹介されている。今回の対処の方法に従い、
cake/libs/view/helpers/session.phpをapp/view/helpers/session.phpにコピーし、

echo($out);
parent::del('Message.' . $key);
return true;

//echo($out);
parent::del('Message.' . $key);
//return true;
return $out;

とすると表示されなくなる。不具合なのかどうかはまた別の機会に検証してみたい。

2009年6月 5日

英語キーボードを日本語キーボードに変更する

VMWareでインストールを行った際にキーボードの配列がなぜか英語キーになっていたので、日本語に変更する方法を調べてみた。はてなより。

2009年6月 4日

ごみ箱のアイコンを復旧させる方法

Windows Vistaでごみ箱のアイコンを誤って捨ててしまったため、その復旧方法を調べてみた。
MicrosoftのサポートにWindows Vista のデスクトップに [ごみ箱] アイコンを表示する方法があったので、紹介する。

2009年6月 3日

グーグルが賭けるHTML 5の未来

@ITより。

Webアプリケーションは完全にクライアントアプリケーションを置き換えることができるのだろうか?クライアントアプリケーションがWebアプリケーションに置き換えることができない理由は、自分が考えるに3つあると思う。

セキュリティ
Webサイト特有のセキュリティ問題が挙げられる。通信経路の問題は、SSL化することで漏えいは防げるだろうし、そもそも基幹システムは、インターネットを使わずに、IPSecやVPN上の通信経路を利用できるようになった。

応答速度
応答速度は、ブラウザの動作が遅いことが原因でクライアントアプリケーションから置き換えることができない。主に基幹システムに多いと思われる。ただ、GoogleはGoogle Chromeによってこれを改善しようとしている。

表現度
Ajaxにより表現度は一段と向上したが、HTML5によりクライアントアプリケーションでしか実現できなかったものをブラウザでも同様に実現できるようになれば、表現度の問題は改善されると思われる。

今回、HTML5によって、クライアントアプリケーションに移行する際に一番ネックであった表現度を大幅に改善し、クライアントアプリケーションもWebアプリケーションに統合することができるようになるとますますブラウザの重要性は高まることになると思われる。