バーチャルホストの設定をローカルで確認するためには、クライアント機で名前解決するための仕組みが無いといけない。グローバルで見えるサーバーならば、DNSが同じことをしてくれるんだけどね。
Windowsマシンの場合、その仕組みを提供してくれるのが、HOSTSファイルだ。HOSTSファイルに、IPとホスト名のマッピングを書くことで、名前解決を行ってくれるというわけ。まあ、大体 linux と一緒です。
が、しかし。
HOSTSファイルが見つからないんである。その昔、「C:\Windows」あたりにあったのを見た気がしたんだけど、見つからない。どうも Windows XP からは配置場所が変わったらしい。時間を返せ。
C:\WINDOWS\SYSTEM32\DRIVERS\ETC
こんなところにあるなんて、気付かないだろう。やられた。あと拡張子が無いからメモ帳で開けないのもイライラする。また Vista になったら、別のところに行ってしまったりするんだろうか。面倒くさい。
Posted by dT by 10:01 | Comments (0) | TrackBacks (0)
このコラムを読んでいる間、しきりにうなづいていた。スタバにたむろする馴れ合い女子大生が、「うんうん、それ分かるー」ってな具合に。これは、かよわき大人の代弁者だ。自分、かなりスッキリしたッス。
以前、社内でシステムにおける
自分は両方を見ているから、デザイナーとしての思いも強いけれども、プログラマーの気持ちも痛いほどよくわかる。特にデスマーチの最中では、同じチームのプログラマーに、コーディング以外のことを強いることは、したくない。
品質より効率,美学より利潤,ではなく,品質向上のために効率化をはかり,美学を追求するために利益を還元することが必要ではないだろうか。
チームのみんながこの意識をホントに共有できれば、たとえ苛酷な状況でも、ちっとはマシなもんができるかもしれない。素敵な思想だなあ。
Posted by dT by 00:56 | Comments (0) | TrackBacks (0)
複数構成のアプリケーションサーバーでサービスを運用する場合、ソースは一元管理にすると、保守がラクチンになる。そこで使うのが、NFS。
が、しかし。
NFSの設定なんて年に一度もしないので、いつも方法を忘れて、あーだこーだと時間を無為にしている気がする。なんだかなあ。ということで、以下、簡易手順メモ。
Posted by dT by 20:22 | Comments (0) | TrackBacks (0)
properties ファイルを WEB-INF/classes 以外の場所に配置できないものかと調査中。結局、クラスローダーが見えないところには置けないっぽい。リポジトリのチェック順序とか見て、結構ガッカリ。
コアな話なので、また時間のあるときに調べてみよう。
Posted by dT by 19:19 | Comments (0) | TrackBacks (1)
DBUnit のように DB 操作を行うユニットテストを実施する際、そこで使うコネクションをどう取ろうかという話。
バッチ処理のような単体プログラムであれば、単純に JDBC のコネクションを自前で生成すれば良いんだろうけど、Webアプリケーションのなかで、DB操作を行うメソッドを間接的に利用するクラスをテストしようとすると、ちと面倒なことになる。わざわざテスト用コネクションを受けるインタフェースと実装を用意しなくちゃなんない。うざー。
そこで考えてみる。
実際のアプリケーションは、tomcat などのコンテナの JNDI を使ってコネクションを張るわけで。じゃあ、ユニットテストケースからも tomcat が見えて、JNDI を使えれば良いんじゃないか、と。そんなことできるのか、と。ツールとか無いのか、と。あったよ、と。
JUnit JNDI DataSource helper package
こいつを使うことで、コンテナ上で動くのと同様に、DB操作するクラスのユニットテストができます。素晴らしい。結構、感動した。
以下、簡単な使い方のまとめ。
Posted by dT by 12:54 | Comments (0) | TrackBacks (0)
プロジェクトも終盤だというのに、ここに来てテーブル設計に凡ミスを発見。何とかその穴を埋めようと、ビューを定義したのだけれども、やけにパフォーマンスが悪い。なんでじゃ。
ビューの功罪
注意を要するケースがあります。それは、ビュー定義で集約操作を行なっているときです。具体的には、次のような演算が含まれる場合です。
AVG、COUNT、MAX などの集約関数
集約演算子( UNION、INTERSECT、MINUS 等 )
おー、バッチリ嬉々として UNION ALL とかやっちゃってましたよ。縦結合の代わりに横結合するようにしたら、劇的に軽くなった。ビューが単なるSQLクエリの束であることを考えれば、当然なんだけど、盲点でした。
ちなみに、ビューはSQLクエリでしかないということで、元となる実テーブルのインデックスが使えます。さっき試してみて驚いたけど、よく考えたら当たり前じゃないか。ううう。
Posted by dT by 18:54 | Comments (0) | TrackBacks (0)