2011,09,17, Saturday
Love is without reason.
歌 :けい しょうなり
作詞:けい しょうなり
作曲:けい しょうなり
編曲:けい しょうなり
恋愛がどうのこうのという詞を、初めて作った曲です。あー若かったなぁ。
最近ボカロ曲に作り直してニコニコ動画にアップしました。
よかったらこちらの動画にコメントをつけていただけると嬉しすぎます^^
http://www.nicovideo.jp/watch/sm15391230
MP3データで聴いてみてください。
歌詞は「続き▽」をクリックすると見えるようになります。
続き▽
2011,04,01, Friday
PHPでErrorExceptionを使ったエラーハンドリング処理を実装し、よりセキュアな作りに挑戦しようとしたんだけど、Warningやらなんやら投げるようしたら使い勝手が悪くなりすぎた。
っていうか、一番取りたいERRORは有無を言わさずプログラム停止するって仕様はどうなのよ?
未定義の関数を呼び出した時のFatalErrorくらい拾ってほしい…。
ERROR以外は、ページ表示した後 WARNING何件 NOTICE何件、詳細はこうって感じで出せるようにならないかなぁ?
WARNING程度で ERRORと同じ処理をするのは不便すぎるなぁ。
で、こうするのがいいんじゃないかなと思った方法を掲載してみます~
/**
* Error Handlerの定義
* Warningや Noticeなど、発生したメッセージをエラーハンドリングし、
* ErrorExceptionオブジェクトにしておいて、stdClassオブジェクトのプロパティに保存していきます。
* これを Zend_Registryで保持しておくので、後でどこからでも取り出すことができます。
*/
{
// (E_ALL | E_STRICT)発生時に呼び出される関数を登録します。
set_error_handler(
function ($errno, $errstr, $errfile, $errline, $errcontext)
{
// レジストリに登録があるかを確認し、あれば取り出します。
if (Zend_Registry::isRegistered('myErrorException'))
{
$myerr = Zend_Registry::get('myErrorException');
}
// なければ stdClassオブジェクトを生成し、
// エラーを保存するプロパティを用意して、
// レジストリに登録します。
else
{
$myerr = new stdClass;
$myerr->e = array();
Zend_Registry::set('myErrorException', $myerr);
}
// ErrorExceptionオブジェクトを生成し、プロパティに格納します。
$myerr->e[] = new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
, (E_ALL | E_STRICT)
);
}
すべての処理が終わった後、これを煮るなり焼くなりすればいいかと^^
Zend_Logで、Firebugのコンソールへ送る方法があるようなので、それを使う実装ができるといいんじゃないかなぁって思います。
あ、これ、PHP5.3以降対応です。無名関数のところを書き変えれば PHP5以上で動作すると思います。
関連する関数・ライブラリについては、以下を参照のこと。
PHPマニュアル set_error_handler()
http://jp.php.net/manual/ja/function.set-error-handler.php
ZendFrameworkマニュアル Zend_Registry
http://framework.zend.com/manual/ja/zend.registry.html
2009,04,17, Friday
BUFFALOのUSBメモリを買うと、メーカーのホームページから SecureLockWare をダウンロードできます。
これをインストールするとドライブに暗号をかけることができ、PCが盗難等にあっても情報流出を防げるようになります。
ただ、ここには利用者の期待する機能と提供されている機能にいくらかのズレがあり、これを巡ったトラブルの報告例(正確には復旧例)がいくつか僕のブログに投稿されたので、少しまとめ直してみようと思います。
まず お断りとして、僕は当時のPCを別の理由ですでに破棄しており、操作の記憶もあいまいです。残されている記録は当時の日記のみです。2年以上前の記事です。
現在のPCで同じことをすれば再現して検証できるでしょうが、さすがにそこまでする気はないので あしからず。
僕はソフト屋なので、ハードの質問をされてもお答えできない場合が多いです。申し訳ありませんが、掲載されている成功例から ご自身の状況に合う復旧方法を見出してください。
また、メーカーのバッファロー、メルコや、製品を非難するつもりはありません。ただ現状として このトラブルに困った人がいるのは事実ですので、これからも出てくるかもしれないトラブルを抱えた人の一助にでもなればと思い、復旧成功例を掲載しています。
Secure Lock Ware で
2008,01,21, Monday
PHP/PEARライブラリの Flexy というテンプレートエンジンを触って見ました。
Flexyの特徴としては、タグの中に属性値として if処理と foreach処理が指定できるので、WYSIWYGソフトでHTML編集をした際にレイアウトが崩れにくいというのがあげられます。
詳しい内容とインストール手順は、他サイトに任せます。
その際に、いくつか動作がおかしい点を見つけデバッグしました。
バグというよりは、PHP5での動作を考慮していないのだと思います。ファイルの先頭に、「PHP Version 4」と書かれていますし。
---
追記&再編集: 08/02/24
08年1月末に、まさかの新バージョン(v1.31)リリースです!^^
ちょっとびっくりしました。もう保守されないのだとばかり思っていたので。ただ、まだ PHP4 向けのようですが。
---
続き▽
2006,10,10, Tuesday
絶対優勝は決まってると思いつつ、昨日の神宮と東京ドームの安いチケットを念のため買ってあったんです。
今日は仕事を7時半に切り上げドームへ。会社を出る時は3―1で勝っていたのに、着いたら引き分けに。しかも安いチケットだったからすでに席は埋まってて、球場なのにテレビ観戦^^
あとはずーっと我慢の子で、点が入れば巨人ファンは帰るだろうと思って待ってました。
で、タイロンの満塁ホームランで確定。叫んだー!
叫んだ途端に冷静。
空いてる席を探して移動して、そこで胴上げを見ました。
落合監督が何をしゃべったのかは、音の反響で全然聞こえなかったので、帰ってからニュースを見ます。
ってもうスポーツニュースの時間に間に合わないことに気付いた^^
帰り道に迷ってたから^^
---
しょうなりの携帯