らどくら通信 |
Web開発ツールその他について、あるいは無関係でも、たうら+うらのの興味がある話題、
あるいは興味がない話題(ないのか!!)、
開発現場の生の声、カスタマーの不倫事件等(ありません)などなどを載せていきます。
あと、文書の更新履歴もこちらです。
|
● 2005/07/30 (sat)
自宅のWindows PCにJDK 5.0をインストールし、Eclipse 3.1を本格的に使い始めました。
そして、Eclipse 3.1の新規プロジェクトとして、放置していたJSFを再度やり始めました。
JSFをやるのにJDK 5.0は必須ではありませんが、
J2SE 5.0でJDBC RowSetの実装が本体に取り込まれることになったので、
RowSetの使用に配慮があるJSFを使うので一緒に勉強しようと思ったのです。
また、Eclipse 3.1ではJ2SE 5.0の文法をサポートしているということなので、
これも一緒ということで。
しかし、なかなか流行らないですねーJSF。2002年頃から、来年こそ流行る、流行るといわれているにも関わらず、
一向にその気配がありません。
職場のSI企業の方も、かなりの大手なんですけどまだ実績は1件もない、ということで…
Struts 2.0の話題もあることだし、もう少し様子見、ということなんでしょうか。
● 2005/07/24 (sun)
PHPの関数名を決めるとき、「getUserName」のような規則にするか、
「get_user_name」のような規則にするか、いつも悩みます。
PHPでは関数名の大文字・小文字は区別されないので、後者の方がよいのですが、
クラスのメソッドの場合は、前者でないとどうしても違和感があります。
しかもPHPの標準関数の名前も、
バージョン4から5になって単語間に下線をつけるものとつけないものが共存していたりしてわけわかりません。
現在、お手製の関数ライブラリの中にも両規則の関数が混在していて、
とても見にくいです。どうしたものやら(悩)
● 2005/07/07 (thu)
旅行会社などのWebサイトに不正アクセスした疑いで中国人留学生が逮捕されたというニュースを見ました。
最近の一連のニュースで、「SQLインジェクション」による不正アクセスがにわかに注目されてきています。
私の会社ではまだ「SQLインジェクションの危険のあるWebシステムはないか調べて報告せよ」
というトップ命令は出ていませんが、もしかしたらそういう職場もあるかもしれませんね。
そのせいか、インターネットの掲示板などでも、
SQLインジェクションの防ぎ方、などの題で議論が行われていますが、
パラメータクエリ(MS SQL Serverの用語なんでしょうか?
Oracle式に言うとバインド変数)にすれば格段に安全性が上がるのに、という意見に、
「パラメータクエリだと開発が難しい。短納期のときはどうしてもSQL直埋め込みで書いてしまう」
という意見がどうも多くて驚きました。
私の意見ではどう考えてもバインド変数を使う方が楽で安全だしいいんではないかと思うのですが…
そういう意味では、私自身決してバインド変数だから安心だと過信しているわけではありませんが、
SQL直埋め込みで開発されているサイトがそんなに多いのか!と驚いたことでした。
● 2005/06/24 (fri)
よく知られていることに、MSIEでHTMLのINPUTタグのmaxlength属性の値は、
バイト数ではなく文字数でカウントされます。
例えばmaxlength="10"とやると最大10バイトではなく最大10文字なので、
全部全角文字を使うと最大20バイトになる可能性があります。
RDBMSとの接続の際にこの実バイト数を考慮していないと、
カラムに比べて入力文字数が多すぎます、というエラーになります。
それでStrutsにはmaxlengthというバリデータがあるのですが、
このmaxlengthバリデータもまた、長さをバイト数ではなく文字数でカウントするので、
全角文字を使われた場合に総計何バイトまでOKなのかという制限には使えません。
つまり入力画面としてWebブラウザしか想定しないのなら、
このmaxlengthバリデータは意味ないやんということなんですが…
そこでいろいろ調べて、
「長さを文字数ではなくバイト数で制限するバリデータ」と
「全角文字を使うとNGになるバリデータ」を作ってみました。
Struts 1.1と1.2ではバリデータの引数が一部異なる(ActionErrors⇒ActionMessages)
など混乱して時間がかかりましたが、何とか作れました。
次回の開発から利用できないか検討しています。
● 2005/06/17 (fri)
巷で人気のWebブラウザ「FireFox」を先日ダウンロードして使ってみましたが、
第一印象は「Operaによく似てるなあ」(こらー!)。
広告のないOperaという感じで、すぐに通常ブラウザをOperaに戻してしまいました。
すると今度はOpera 8.0.1日本語版が公開されたのでOperaを早速バージョンアップ。
ちょっとまだ慣れないので一部使いにくいですが、当面Opera通常で使っていこうかと思います。
● 2005/05/21 (sat)
EclipseのCVS機能では、WinCVSみたいにローカルリポジトリを操作することはできない、
という基本的な知識が欠けていました。
現在自宅の2台のPCにLinuxとWindowsXPを入れ、Linuxの方をCVSサーバ、
Windowsの方を開発機として設定をしています。
職場にCVSサーバを立てたいという計画は全く進んでいませんが…
今度はSubversionもダウンロードしてきました。
(←いろいろ手を出しては挫折する人)
● 2005/05/01 (sun)
只今連休中ですが、勉強を兼ねて、家で職場の小さな業務システムを1つ開発しています。
それで、JavaScriptのいろいろ小技を勉強しています。
例えば、「複数のチェックボックスがあって、
どれか1つ以上チェックされると、ボタンが押せるようになり、
チェックが全て外されると、ボタンが押せなくなる」
とか、「日付の入力欄の妥当性検証をする。空欄は不可、日付として読めない値も不可、
過去の日付は不可、未来過ぎる日付も不可」などなど。
JavaScriptはPerl、Tcl、Pythonやなんかに比べるとまだまだ組み込み(ビルトイン)関数のラインアップがたいそう貧弱で、
日付チェックとか変わったことをしようとするとかなり苦しみます。
「PHPなら簡単にできるのに…」みたいな悔しい場面も沢山あります。
しかもJavaScriptのプログラミングはデバッグが難しいので、正直あまり好きではありません。
しかし、悪戦苦闘するうちに何とか望む動作をするようになり、
それはそれで嬉しいものです。
● 2005/04/16 (sat)
Eclipseの便利なプラグインとして、Properties Editorプラグイン、
HTMLEditorプラグインが紹介されているサイトを見て興味がわき、早速インストールしてみました。
これは便利に使えそうです。
● 2005/04/14 (thu)
昨年12月頃から開発していたWebの業務システムが完成し、順調に稼動しています。
そこですぐに次の業務システムの開発に入らなければいけないのですが、
前のシステムと同様Struts 1.1でいくか、Struts 1.2.4に乗り換えるか迷っています。
今回の開発は超短納期なので、両方が混ざってまごまごしていると最悪なので、
とりあえず1.1で立ち上げ、その次から1.2.4かなあ?と考えています。
● 2005/04/09 (sat)
今さらですが、Servlet 2.4/JSP 2.0に上げると、HTMLに直接ELが書けるのは大変便利ですね。
今までのJSTLだと、変数のスコープ(session,request)を意識して書かないといけなかったのですが、
StrutsとBeanタグと同様、このELでは変数のスコープ指定を省略することができ、
注意を払うことが少なくて済みます。
● 2005/04/07 (thu)
3月19日に書いた"include-prelude"をさっそく活用しようと、
web.xmlをServlet 2.3対応の書き方から、2.4対応の書き方に変えてみました。
最初、何事もなくすんなりアプリケーションを起動することが出来たので、
よしよし、2.4は2.3の上位互換だな!と悦に入っていましたが突然変なエラーメッセージが!?
どうもJakarta TaglibsのJSTL Standard(よく接頭辞が「c」と書かれるやつ)
のバージョンが、1.0ではなく1.1にしないと、
c:ifなど幾つかのカスタムタグが動かなくなるようです。
つまり2.4に上げるとJakarta Taglibsのバージョンも一緒に上げる必要があるということですね。
● 2005/03/26 (sat)
今までJSPのpageディレクティブのlanguage属性は「language="Java"」だと思い込んでいました。
正しくは「language="java"」なんですね。
先日気づいたinclude-preludeタグに他の開発者の方が書いたJSPを適用してみると、
「language属性が異なる値で二重に宣言されている」
というJSPエラーになったことが原因で、初めて気づきました。
● 2005/03/19 (sat)
Strutsを使ってWebアプリケーションを開発していると、
全てのJSPの冒頭に、同じtaglib宣言などが必要になります。
これが邪魔だなー、一箇所で定義して全ての文書で共通に参照できれば便利なのに…
とずっと思っていましたが、偉い人は既にいた、
なんとServlet 2.4/JSP 2.0では、web.xmlの中にjsp-configタグというものができて、
その中にinclude-preludeというタグが書けてここに、
各JSPに共通に現れる宣言を書いておくファイルを指定できるということを、
初めて知りました。
既に職場サーバではServlet 2.3以前の環境に戻ることはまずないと思われるので、
早速これを使おうと思います。いつも嘆くのは無知の愚かしさよ…
● 2005/02/19 (sat)
私は今までJavaのクラスライブラリのログ機構にjava.util.loggingパッケージを使って書いていました。
今さら(loggingパッケージがサポートされた)J2SE 1.4以前のプラットフォームで使うことはないだろう、
という思い込みで今まではやってきましたが、
なんとこのたび職場のセンターサーバでJ2SE 1.2しか入っていない環境で使う羽目に…
結局、システム管理者の人にJ2SE 1.4をインストールするように頼むくらいならと、
ライブラリの方をApache Log4JとJakarta Commons Loggingを使うように書き換えました。
● 2005/02/04 (fri)
今まで職場で自分用のFAQのためにApache Cocoonを使ってXML文書の配信をしていました。
この仕組自体はまずまず安定して2年近くの間動いていたのですが、
それを動かしていたWindowsNT 4.0が、
マイクロソフトのサポートが切れたというのでWindows2000または2003 Server
に移行するという話で現在作業中です。
それで、Cocoonを運用していて、それを知らない人に対して一番説明に窮するのは、
Cocoonのフォルダの異常な大きさです。
なぜ175MBも必要なのか?
勿論今ではHDDは安いものですが、バックアップの自動運用においては、
当然ディスクを食っているものはバックアップするのに当然時間がかかるわけで…
一方同じような処理ができるBSBの昨日バージョン1.3.4が公開されたということで、
今後はWeb開発用のUNIXサーバに引越して、BSBに乗り換えようと思います。
ちなみにBSBのファイルサイズは580KB。これでは比較になりません。
● 2005/01/22 (sat)
1月19日にPostgreSQL 8.0が公開されました。
注目はWindowsのネイティブサポートということで、
早速自宅PCにインストールしようとダウンロードしてきました。
しかしインストーラを起動したところ、
CygwinのディレクトリにPATHが通っていると、それを外した方がよいと強く警告されました。
うーん、というわけでとりあえずやめました。
情報が増え始めてから、Linux機にインストールして試してみようと思います。
最新 2004年8月〜12月 2004年1月〜7月 2003年8月〜12月 2003年4月〜7月 2003年1月〜3月
Designed and Written by (C) 2002-2004 URANO398.
|