JUnit4 ことはじめ

ずっと食わず嫌いだった JUnit4 を使ってみたので, コードを晒しておきます…

続きを読む

広告

MovableType を FastCGI で動作させる

最近, スパムコメントやスパムトラックバックで, サーバーの負荷が酷な状態になっていたため, 負荷低減のために MovableType を FastCGI で動作するようにしてみました.

参考
http://wiki.movabletype.org/Hosting_MT_under_FastCGI_(Japanese)

  1. まず, 必要なライブラリをインストール. FreeBSD なので ports から…
    # portinstall www/p5-FastCGI
    # portinstall www/mod_fastcgi
    

    portupgrade を使わない場合は, /usr/ports/www/p5-FastCGI, /usr/ports/www/mod_fastcgi で make install で OK

  2. httpd.conf に以下を追加
    LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
    <IfModule fastcgi_module>
    FastCgiIpcDir /var/tmp/fcgi_ipc/
    AddHandler fastcgi-script fcgi
    FastCGIConfig -autoUpdate -idle-timeout 120 -killInterval 3600 -maxClassProcesses 6 -maxProcesses 15
    </IfModule>
    
  3. mod_fastcgi を有効にするため, apache を再起動
    # apachectl restart
    
  4. MovableType の mt*.cgi を mt*.fcgi にリネーム. とりあえず mt*.cgi も動くようにコピーしました.
    $ cp mt.cgi mt.fcgi
    $ cp mt-tb.cgi mt-tb.cgi
    $ cp mt-comments.cgi mt-comments.fcgi
    $ cp mt-search.cgi mt-search.fcgi
    $ cp mt-view.cgi mt-view.fcgi
    
  5. mt-config.cgi の編集. とりあえず必要な箇所のみ *.fcgi にしました.
    AdminScript mt.fcgi
    CommentScript mt-comments.fcgi
    TrackbackScript mt-tb.fcgi
    SearchScript mt-search.fcgi
    # XMLRPCScript mt-xmlrpc.pl
    ViewScript mt-view.fcgi
    # AtomScript mt-atom.pl
    # UpgradeScript mt-upgrade.pl
    

あとは, mt.fcgi にアクセスして, FastCGI で動作することを確認し, サイトをすべて再構築してやれば OK です.

これで負荷が減ってくれれば良いのですが…

続きを読む

JIS X 0213:2004(JIS2004) と Java と PHP と RDBMS

ずいぶん前に, EC-CUBE の ML へ投稿した話題ですが, どうも過去ログに埋もれているので, 再度まとめてみます…

Windows Vista で, 日本語の文字集合に, JIS X 0213:2004(JIS2004) が採用されました.

このため, 扱える漢字が増えたり, 字体が変化したりして, さまざまな影響があります.

EC-CUBE を代表する PHP のアプリケーションや, Java の場合, どのような影響が考えられるでしょうか.

以前, Windows Vista での影響調査をする機会があり, いろいろ調べましたので, ちょっとまとめてみます.

続きを読む

職人のこだわり

Life is beautiful: Born to code
そうやって愛しい我が子を育てる様にコードを一行一行書いていく
 何百万人、何千万人もの人に使ってもらえる日を夢見ながら
プログラミングという楽しみがある時代に生まれて来ることができた幸せを噛み締めながら

前職が寿司屋の板前だった僕にとって, プログラミングというのは同じ職人気質の仕事.
多くの共通している部分があります.
違う部分は, ドキュメントを書くことかな…
板前は, 先輩の仕事を見て覚える.
エンジニアは, 後世のためにドキュメントを書く.
しかし, 現場が大規模化していったら, 職人の世界も同じようにドキュメントを書く能力が必要になってくると思います.
でも, 一番大切なのは, 「愛情」だと思っています.
料理に対して, いかに「愛情」を注げるか.
コードに対して, いかに「愛情」を注げるか.
チームに対して, いかに「愛情」を注げるか.
顧客に対して, いかに「愛情」を注げるか.
「愛情」を実感することが一番の幸せではないでしょうか.

続きを読む

Gnome 2.22.0

FreeBSD Ports の x11/gnome2 が 2.22.0 になったので早速アップグレードしてみました.

参考 – FreeBSD Daily Topics 2008年3月25日

しかし, いくつか問題が…

gstreamer-plugins-good がアップグレードできない

/usr/ports/UPDATING に書かれているように, gstreamer-plugins-good を portupgrade(1) しようとしたら, 依存関係でコケました(汗)
この ports をアップグレードするには, multimedias/gstreamer と, multimedias/gstreamer-plugins を先にアップグレードする必要があるようです.
下記のようにすることで解消.

# portupgrade multimedias/gstreamer
# portupgrade multimedias/gstreamer-plugins
# portupgrade -f multimedias/gstreamer-plugins-good

textproc/rarian を再三要求される

Gnome 2.20.1 のアップグレードの際, portupgrade -o で textproc/rarian を textproc/scrollkeeper に置きかえたのに, 依存関係がおかしいのか, 再三 textproc/rarian を入れようとしてビルドに失敗する.
良くないと思いつつも, /usr/ports/textproc/rarian/Makefile を編集し, コンフリクトしないようにした…

--- Makefile.orig       Fri Mar 28 02:25:54 2008
+++ Makefile    Fri Mar 28 02:26:35 2008
@@ -26,7 +26,7 @@
DOCBOOK_VERSION=4.2
-CONFLICTS=     scrollkeeper-[0-9]*
+#CONFLICTS=    scrollkeeper-[0-9]*
USE_BZIP2=     yes
USE_GMAKE=     yes

これだけやったら, あとは /usr/ports/UPDATING の手順通りでアップグレードは無事完了.

しかし, また問題が…

  • インストールが終わって, X を立ち上げなおすと, 日本語入力ができなくなってしまった…
  • Gnome 関連の dot ファイルを削除して解決
  • 何故か Compiz Fusion が core 吐いてお亡くなりになる…
    • xorg-server も同時に更新されたので, そのせいかなと思いつつ, 調べる時間ない…(苦笑)
  • gnome-vfs で Windowsサーバーに繋げない…
    • nautilus で Ctrl + L で smb://IPアドレス/ディレクトリ と指定して
      あげたら, あっさり繋がった(汗)
    • gvfs 経由で Windows サーバーに接続するようになったためで, ~/.gvfs 以下にマウントされるので便利
  • /etc/rc.conf に gnome_enable=”YES” が必要になったらしい.
    • avahi や, dbus を動作させるため.
    • これやったら, GDM も有効になってしまった(苦笑)

    GDM は使わないポリシーなので, /etc/rc.conf に enable_gdm=”NO” としています.

    また, DRM を有効にすると, ドロップシャドウがつくので, ちょっとかっこいいです.

    あとは, compiz-fusion が動くように頑張らないと…

    続きを読む