WELLHAT のログ


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

eclipse + Android Plugin が動作しなくなったとき

Android プロジェクトが作成できなくなったり、AVD Manager が起動しても中身が空だったり、どうも動きがおかしくなりました。
ウィザードを使わなくてもAndoroidプロジェクトは作れますし、AVD Managerも単体で起動すれば、中身が表示されるので、無視していましたが、ふと思い起こして解決の道を探ってみました。

結局、コマンドプロンプトで、eclipseのディレクトリに移動し、

eclipse -clean

で動くようになりました。

NSS_Initialize failed エラー (Linux)

LinuxマシンでWEBサイトが見れなくなっていました。
apacheのエラーログにはNSS関連のエラーが出まくっていました。

[Tue Apr 19 03:08:22 2011] [error] NSS_Initialize failed. Certificate database:
/etc/httpd/alias.

調査したところ、昨日自動適用された mod_nss-1.0.8-4.el5_6.1 が原因と判明。
/etc/httpd/aliases/ 配下のファイルの所有者が root になっていました。

[root@localhost conf.d]# ls -l /etc/httpd/alias/
合計 108
-rw------- 1 root apache 65536  4月 27  2010 cert8.db
  

Kohana 3.0.9 リリース

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

2010/12/30 に Kohana 3.0.9 がリリースされました。
(年末年始の休みとかないんでしょうか・・・気合を感じます)
重要な部分を比較しているのですが、いろいろ手が加えら得ています。

でも次は3.1.0が待ち構えています。
2011/1/17時点でRC2ですがもうバグ修正が96%完了しているようです。
更新が頻繁なのはユーザが増えてきているのかもしれませんね。

Kohana 3.0 - さらなる軽量化へ

Kohana 3.0 を初めて業務プロジェクトに適用してみました。
とにかく軽量のフレームワークがよいと考え以前からKohanaを採用していましたが、2.xに比べさらに軽量になっていると思います。

Kohana2.x時代はイベントやフックという機構を利用して、アクションの中からフレームワーク中のさまざまな処理を追加したり、置き換えることができましたが、そういった機構が完全になくなりました。

Tomcat 終了時に致命的エラー

struts2.1.16 のWebアプリにて tomcat 6.0.24, 6.0.26 に上げると、tomcat終了時に org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap がエラーを吐くケースがありました。

携帯サイトに Struts 2.1.8 を適用したら文字が見えない!

Struts 2.1.6 で作った携帯サイトに Struts 2.1.8 を適用してみたところ、 <s:property />で出力する文字がすべて見えない状態になっていました。
なお、pageEncoding は UTF-8 で、contentType は Windows-31J で出力しています。

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\ に