ソフトウェア開発技術者試験にむけて

今年の秋を最後に終了してしまうソフトウェア開発技術者試験。最後なので、バシッと取っておきたいと思って現在勉強中です。毎日2〜3時間程度、テキストとにらめっこしてます。しかし、さすがに難しい。覚えることが多い上に計算問題とかも多いですね。

私のいつものスタンスとしては、テキストを1周したら、とりあえず問題集を始めて、ガラスの自信を粉々に砕いた後に、カケラを拾い集めるように、地味に問題集に取り組み、わからないところをテキストで熟読。これを繰り返して自信を取り戻していくという方式です。(我流のフォトリーディングとか混ぜながら。これをやるとテキストがなんとなく読みやすい)

試験は10月19日なので、実質あと40日なんですけど、まあ1日2〜3時間として約100時間ほど勉強に費やせば、受かるんじゃないかな〜と思ってます。言語の問題もないし。まあその分込み入った話が多いんですが。正直、基本情報のときの言語の問題なんてサービス問題みたいなもんなので(内容が初歩のため、言語をほとんどやってなくても、他の言語の知識でカバーできる)、午後は楽だった。。。PHPでの経験+オブジェクト指向の知識+Javaの初心者本1回で合格できたからね。でもJavaは使えない(ダメやん)。


CakePHP: AjaxHelper::editorでonFailureは出来ない?

CakePHP1.1の話。

CakePHP Users in Japanで質問してたんですが、
AjaxHelper::editorで、エラーの場合にどうすればいいのか?で、一応自分なりに答えが出たので、ブログでも書いておこうかなと。ネットで調べても情報がなかったもんで。。。(探すの下手?)

一応、私がぶつかった問題をおさらいしておきますと、例えば重複を許さないカテゴリーの編集などをした場合に、既に存在するカテゴリ名などを入力されたらエラーにして、『そのカテゴリは既に存在します』みたいなエラーメッセージを表示したかったんです。しかし、それがAjaxHelper::editorを使った場合にどうすれば実装できるのかわからなかったわけです。

まず、CakePHPのAjaxHelperは基本的にprototype.jsとscriptaculousを使ってるので、Ajaxヘルパーを使うとこれらを使ったソースを自動的に吐いてくれる。ところが、AjaxHelper::editorメソッドは、scriptaculousのInPlaceEditorのオプションであるonFailureが指定できないっぽい。

/cake/libs/view/helpers/ajax.phpを見てみると、有効なオプションを指定する配列($editorOptions)にonFailureがなかった。editorメソッド内もちょこっといじってみたが(onFailureを加えそうな感じに)、できなかった。まあこれは私が安直にやったからだろう。もっと時間かければできるかも。

ただどちらにしろ、時間がもったいないのとcakeディレクトリ以下のソースに手を付けたくなかったので(単純に面倒だし、バグになったら嫌)、viewのthtmlファイル側でscriptaculousのInPlaceEditorの呼び出しをajaxヘルパーを使わずに書いた。それならonFailure書けるし。

今のところ、AjaxHelper::editorは、自分だけが使うんなら使ってもいいけど(要は運用面でカバー)、一般ユーザに使ってもらうには難しい気がします。エラー制御できんのは致命的だと思うんですが、これってeditorメソッドを使ったエラー制御ってできるんでしょうかね?


CakePHP: お問い合わせプラグインを作成

CakePHP1.1で、お問い合わせプラグインを作りました。
入力項目は、

  1. 名前
  2. メールアドレス
  3. カテゴリー(選択)
  4. 件名
  5. 本文

です。

私が使ってるPEAR::Mailを使ったMailComponentが必要なので、同梱しています。もし、MailComponentが既にある場合は、InquiryControllerの内容を書き換えるか、私が使ってるMailComponentを使ってください。

デモというか、ページの感じは、私のサイトで確認できます。(実際に動いてます)

http://hillclimb.319ring.net/inquiry/

以下のリンクからダウンロード可能です。使用される方はreadme.txtをよく読んでから使用してください。

cake_inquiry_plugin_ver_1.0.zip


Googleブラウザ Chromeを試す

Googleが開発したブラウザであるChrome(クローム)が会社でも話題になり、みんなダウンロードして使ってました。私も試しにダウンロードして使ってます。今も、Chromeで書いてみています。なんか、ネットの一部ではローマ字読みで『チョロメ』と呼ばれているとか。

Chromeの特徴としては、レンダリングスピードの速いSafariと同じWebKitを使っているとか。確かにレンダリングが速い。すぐに画面が表示される。これはすごいなぁと普通に感心した。そして、javascriptのエンジンに独自のV8というエンジンを使っているらしい。これもなんとなく速く感じる。ベンチマークとってないのでわからんけど、なんかMozillaがベンチマーク取ったらしい。

http://www.itmedia.co.jp/news/articles/0809/04/news026.html

うーん、処理的にはfirefox3.1に採用されるTraceMonkeyのほうが速いらしい。

俺はfirefox3にアドオンを結構入れてるから(デベロッパー系のfirebugとか、Web Developerとか、Live Http headersとか)そのせいもあって若干重い。まあ気になるほどじゃないけれど、タブが増えると微妙になる。しかし、これらのツールは開発者にとって非常に便利です。なぜこんな前振りをしたかというと、今のところ、Chromeをそこまで詳しく調べてないからわからないけれど、Chromeにアドオンがあるならば、それを入れてからのベンチマークじゃないと開発者的には意味なくはないけど微妙です。今のところ、メインで使うブラウザにはなり得ない。

ただ、Chromeの起動はめっちゃ速い。ここまでの機能が入ってこの起動速度ならば、一般ユーザにはオススメだなと思います。

Webプログラマー的には、テスト対象を増やしてくれて、よくもやってくれたな!という気持ちも反面あります(苦笑)あぁ、世の中のブラウザがすべてfirefoxになればよいのに。。。なんちゃって(ちょっとマジだけど)


GoogleMapsでの最短経路検索が完成!

最短経路検索ができた。お試しページ作ってみたので、興味ある人はやってみてください。
自分でいうのもなんですが、面白いですよ!!勝手に線が引かれる快感。。。

まあ、WebAPIを使ってるから、俺は大した苦労はしてないんだけどさ!

http://hillclimb.319ring.net/pages/web_routing/

よければ掲示板とかにでも感想を教えてください!!