ColdFusionは実は優れた言語ではないかという考察 – 2

ColdFusion-開発効率を求められる今だから知りたい高性能Webアプリケーションサーバーという連載を始めました。ここに書いてあることよりまともな批評や紹介をしているつもりなので、是非参考にしてください。

前回に引き続き、PerlとColdFusionを比べてみようかな、と言う企画。今回は言語面や開発者層という視点から。世の中にあまり知られていないColdFusionの紹介もかねて。

Continue reading “ColdFusionは実は優れた言語ではないかという考察 – 2”

ColdFusion Administrator と JRun JMCを英語で立ち上げる方法

日本語環境に ColdFusionやJRunをインストールすると、それらの管理画面(ColdFusion AdministratorとJRun JMC)はデフォルトでは日本語画面になりますが、英語で管理画面を見たいというニーズもあるはず。

最近英語で立ち上げる方法を見つけたので、書いておきます。

Continue reading “ColdFusion Administrator と JRun JMCを英語で立ち上げる方法”

ColdFusionのオブジェクトをJSONに変換するコンポーネント

Ajaxなどを使っていると、JavaScript側ではJSONでデータを受け取りたいと思うことがあります。ColdFusionにはJSON形式で書き出してくれるための関数がなかったので、コンポーネントとして作りました。

Continue reading “ColdFusionのオブジェクトをJSONに変換するコンポーネント”

ColdFusionは実は優れた言語ではないか、と言う考察 – 1

ColdFusion-開発効率を求められる今だから知りたい高性能Webアプリケーションサーバーという連載を始めました。ここに書いてあることよりまともな批評や紹介をしているつもりなので、是非参考にしてください。

ある程度のアクセスがあるサイトでは、はてなに代表されるようなPerlやRuby on Railsなどが熱いのですが、Adobe(旧Macromedia)が出しているColdFusionと言う言語があります。当方が関わっているサイトで月間約5300万PVあるサイトがあるのですが、そこではColdFusionを使っています。

最近はてなのnaoyaさんがInside Hatena Bookmark’s Backendという記事で、はてなブックマークのサーバー構成などを公開されていたのですが、そこには月間4500万PVとありました。同じぐらいの規模を持つサイトとして、PerlとColdFusionを比べてみよう、と言う記事です。

Continue reading “ColdFusionは実は優れた言語ではないか、と言う考察 – 1”

ColdFusionで多量のクエリーを発行するとjava.Lang.OutOfMemoryで止まってしまう場合の解決方法

ColdFusionのデバッグが有効になっていると、ColdFusionはクエリーの情報をデバッグ用に保存しておくため、クエリーを発行すればするだけメモリーを消費していき、最終的にはColdFusionがメモリーを使い果たして止まってしまいます。

なので、大量のクエリーを発行する場合はAdministration画面でデバッグを無効にするか、cfqueryタグにdebug=”no”属性を付加しておくことが重要です。

<cfquery debug="no">
INSERT INTO ...
</cfquery>

またColdFusionに割り当てるメモリーを増やすことでも解決できる場合があります。メモリー割り当ての方法についてはマニュアルを参照してください。

ColdFusionでsleepをさせるには

ColdFusionで、ループの処理などを行っているとウェイトを入れたくなるときがあります。ColdFusionの関数にはウェイトを入れる関数がないので、JavaのThreadクラスのオブジェクトを作り、それを使ってウェイトを入れる必要があります。具体的には以下のコード

<!--- 5秒間スリープ --->
<cfset thread = CreateObject("java", "java.lang.Thread") />
<cfset thread.sleep(5000) />

ColdFusionで変数が定義されているかどうかを調べるには

ColdFusionで変数が定義されているかどうかを調べるにはisDefined()もしくはstructKeyExists()を使いますが、isDefined()には罠があるという話。元ネタはisDefined() vs structKeyExists()

Continue reading “ColdFusionで変数が定義されているかどうかを調べるには”

ColdFusionコネクターをwsconfigでインストールする方法

WebサーバーとColdFusionを繋ぐコネクターは、ColdFusionインストール後でもcf_root/runtime/bin/wsconfigを使って自動でインストールできます。それの使い方。

Continue reading “ColdFusionコネクターをwsconfigでインストールする方法”

ColdFusionコネクターをマニュアルでインストールする方法

ApacheなどのWebサーバーとColdFusionを繋ぐコネクターは、ColdFusionインストール時やインストール後にcf_root/runtime/bin/wsconfigなどのツールを使って自動でインストールするのが普通の方法ですが、サーバー環境によってはこれらのツールが使えない場合があります。そういった場合、手動でコネクタをインストールする必要がありますが、その方法。

Continue reading “ColdFusionコネクターをマニュアルでインストールする方法”

ColdFusion MX 7 を OS X 10.4 Tiger で使う

ColdFusionをOS X上で使おうと思った場合、DevNetの東さんの記事を参考にJRun for Mac OS X上にColdFusion J2EE Editionをデプロイすることになると思います。基本的には東さんの記事通りなのですが、 OS X 10.4 Tiger上ではインストラクション通りに進めてもうまくいきません。それの対処方法。

ColdFusionをOS X上で使おうと思った場合、DevNetの東さんの記事を参考にJRun for Mac OS X上にColdFusion J2EE Editionをデプロイすることになると思います。基本的には東さんの記事通りなのですが、 OS X 10.4 Tiger上ではインストラクション通りに進めてもうまくいきません。それの対処方法。

Continue reading “ColdFusion MX 7 を OS X 10.4 Tiger で使う”