最近、開発用のサーバとしてマシンを調達して、Linux(CentOS 5.1)を入れてみました。
そのついでにこのマシンをジュークボックスにして自動的に音楽を再生し続けさせるようにしてみます。
具体的な方法は、以下の通り。
PHPなどのシングルスレッドのWebアプリケーションを長く開発していると、何も考えずにクラス変数を使ってしまう...。
Tomcatは、シングルスレッドの設定を行わない限り、マルチスレッドで動作する(あらかじめいくつか複数のスレッドを起動しておき、リクエスト毎にどれかを使うような感じ)のでクラス変数を使うと全てのスレッドからアクセスが共有されてしまいます。
これは、たとえば現在のHTTPセッション(セッション間データを扱う「セッション変数」ではなく、1セッション内という意味)のみで統一的に扱いたいデータをクラス変数に入れておくと、HTTPセッションが終了してもそのデータが保持されたままになってしまうということです。
クラス変数はプロセス内で共有される変数なので、Tomcat起動中は同じプロセスですから当然といえば当然なのですが...、例えばデータベースコネクションなんかは上記のような形で扱いたいところです。
(さらに…)
今回は、そこそこ役に立つかもしれない小ネタをいろいろと。HibernateなどのO/Rマップライブラリを使っている人にとっては全く無用かもしれません。
ちょっと、前提として Perl が使える環境が必要となりますので、そのつもりで・・。
Windowsの場合は、
などで利用できます(cygwinはperlではないですが・・・、Vistaの人はActivePerl入れられないらしいので)。
データベースを使った開発をする際に結構困るのがテーブル定義のSQL文やデータオブジェクトのクラスの整合性維持とか管理だったりします。まずは、それらをある程度自動化する方法。
(さらに…)