WELLHAT のログ


WELLHATのゆる~いブログです。
日々のお仕事の中でちょっとしたきもちいい、わるいと感じたことを綴っています。

Smartyコンパイラのカスタマイズ

Smartyのデフォルト修飾子を指定していて、{if}でPHPの関数を呼ぶとエラーになる場合があります。

{if isset($data)}dataがあるときだけ出す{/if}

これを回避するため、Smartyのコンパイラを継承し、_compile_if_tag メソッドをオーバーライドしました。

同メソッド中、_parse_var_props を呼んでいる箇所が1か所あるので独自のメソッドを呼び出すよう修正しました。

JUnitでInterceptorのテスト

Struts2のInterceptorをJUnitでテストしてみました。
そのときちょっと面倒なのがActionInvocation づくり。
コレを使えば割と簡単です。

com.opensymphony.xwork2.mock.MockActionInvocation

HttpServletRequest を作りたいときはコレ。

org.springframework.mock.web.MockHttpServletRequest

もう、リクエストやらセッションやらいろいろ値を入れられます。

// アクションコンテキスト
HashMap<String, Object> contextMap = new HashMap<String, Object>();
  

明けましておめでとうございます!

明けましておめでとうございます。
今年もよろしくお願いいたします。

Java, PHPのフレームワーク構築に携わることが多くなってきました。
JavaはStrut2, PHPはKohanaを利用しています。

お客様によって重要視されるポイントが違うのでとても勉強になります!
いいところを全部集めたら最強のフレームワークができるかも !?

これまでの経験を十二分に発揮しさらなる高みを目指して頑張ります!

レジストリ壊れる

メインの開発サーバのレジストリが壊れました。

次のファイルが存在しないかまたは壊れているため、Windows を起動できませんでした:
\WINDOWS\SYSTEM32\CONFIG\SYSTEM

データは別ディスクでバックアップもあるので安心なのですがOSが壊れるのはそれなりに痛手です。
朝からとてもやな感じでしたが、これも試練ととらえマイクロソフトのサイトを参考に修復を試みました。
http://support.microsoft.com/kb/880636/ja

c:\windows\system32\config\ に

DB2 エンジニア とりました!

「DB2エンジニア」という資格をとりました。
DB2の入門中の入門の試験ですけどね・・・

DB2に絡むシステム案件がありその準備の一環だったので、取れてとりあえずはホッとしています。

試験に受かったからどうだ、ということはないのですが、試験勉強することで体系的にその製品を知ることができ引き出しを増やせる点は悪くないと思っています。

しかし、DB2の試験情報は情報が少ないのでホント厳しいですね。

Kohana - CodeIgniter をベースに開発されたフレームワーク

最近、PHPのフレームワークには Kohana を利用しています。
http://kohanaphp.com/

Kohana は、CodeIgniter を元に開発されたフレームワークです。
コントローラのディレクトリが2階層に限定されるCodeIgniter の制約がイヤになって CodeIgniter の Forum を見ていたところ、いろんな人が Kohana に移った記事を見て、私も見てみたところ、Kohanaのインスタンス化のしくみ、イベントモデルにすっかり魅了され、Kohanaに移ってきました。

Drupal 6.13 を触ってみました。

人に薦めておきながら、久し振りに最新の Drupal を触りました。
1年前くらいは Drupal 6 のモジュールが少なく、渋々このサイトも Drupal 5 を導入したのですが、ようやく、Drupal 6 対応のモジュールが増えてきて、Drupal 5 から乗り換えできるレベルと思います。しかし、管理画面の使いにくさは相変わらず。
単にニュースやブログを追加するだけであれば、乗り換える理由はなさそう。

emobile契約!

訪問先でWEBページを見ながらお話する機会も多くなってきました。
今まで、Air H で頑張ってきましたが、64kや128kではメールの受信が精いっぱい。
そこで、イー・モバイルに乗り換えてみました。

最初はイー・モバイルのサイトで購入しようとしたのですが、なぜかエラーが出て先に進めませんでした。

Error:256

なんだこりゃ。

しかもエラーを起こしたPHPファイルのファイルシステム上のパスが画面に表示されました。

メンテナンス中画面(Java編)

メンテナンス中画面は、.htaccess が有効な場合は、RewriteEngineを利用するとうまくいきます。

例えば、.htaccessファイルに以下のような内容を記述しておき、メンテナンス作業を行う場合に、ファイルを設置すれば、リクエストはすべて /maintenance.html ページに遷移してくれます。
管理者のIPアドレスを除外しておけば、管理者だけはアクセスできるようにもできます。

dbcpコネクション張りっぱなし

commons-dbcp、commons-pool を利用してWEBアプリのフレームワークを作るとき、気を付けることがあります。

ホットデプロイでDBのコネクションが張られっぱなしになる事象が発生し調査したところ、dbcp は一度にコネクションを張ったら基本張られっぱなしになることが分かりました。