ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Java

Restlet1.0 beta 10が出てた

5/2にリリースされたらしい。 なんだか1.0 beta 9の頃に書いたサンプルがコンパイルすら通らなくなっていたので、なんじゃいと思ってChangeLog (http://www.restlet.org/docs/changes)みてみたら、 Fully refactored the org.restlet.data package to ... と…

DOM(org.w3c.dom.Document)をXMLテキストに変換する

これもまたRestletのソースを読んでて気づいたのですが、javax.xml.transform.*系のAPIは、XSLTでXML文書を変換するためのものとばかり思っていたのですが、実はそのままXMLのテキストとして得ることも可能だということが分かりました。 というわけで、サン…

System.getProperty("file.separator") = java.io.File.separator

なんとはなしにRestletのソース読んでたら、java.io.File.separatorなる定数があることに気づきました。 これ、java.lang.System#getPropertyで取得できるシステムプロパティのfile.separatorと等価なのですが、毎回getPropertyするよりは、定数を参照した方…

Restlet-1.0b9の初歩を試す(XML編)。

http://d.hatena.ne.jp/taka_2/20060424#p2の続き。 特にハマるようなところもなく、ごく普通。つか、久々にJavaのDOM API使ったよ。。 サンプルコードは↓のURL(で見られるハズ) http://proxy.f2.ymdb.yahoofs.jp/bc/5e69f8d4/bc/public/RestletSample.zip?b…

Restlet-1.0b9の初歩を試す。

JavaでRESTなサービスにアクセスしたり、逆にRESTなサービスを提供したりするためのライブラリです。 http://www.restlet.org/ 今回は、チュートリアル(http://www.restlet.org/tutorial)中の「3. Listening to Web browsers」を参考にRESTサービスをつくり…

HTA + wsh + Antで色々やる

HTA + wshでAntコマンドを起動する際、オプションとして「-Dname=value」という形式で渡してあげると、Antタスク中で「${name}」でvalue値が参照できるので、これを利用してHTAで作成したGUIから指定したモジュールだけCVSからチェックアウトするというよう…

Eclipse3.1.2を使ってみる。

とある保守しているJavaソースがあるのですが、いままでエディタ+Antでやっていたところを、いい加減grepとかするのが面倒になってきたので、Eclipseでやることにしました。 そういえば、WSSDとかWSADをずっと使ってきたので、純粋なEclipseを使うのは久し…

Antでファイルやディレクトリのありなしを判断して処理を分ける

これは標準タスクだけで出来ます。こんな感じ。 <project name = "test" default = "main"> <target name = "main"> <available property = "file.exists" file = "C:\hoge.txt"/> <echo message = "${file.exists}"/> </target> </project>もしC:\hoge.txtが存在していれば、file.existsという変数の中にtrueがセットされ、存在していなければ何もセットされません。 こ…

Antでコンパイルエラーをハンドリングする

なんだか標準のタスクだけだと出来ないっぽいんですが、なにかやり方があるのでしょうか? ちなみに、スクリプトタグを使って、try〜catchを使ってみたところ、それっぽいことは出来ました。 <project name="squares" default="main" basedir="."> <target name="main" depends = "compile"> <antcall target = "test"/> </target> <target name="compile"> <script language="beanshell"> </target></project>

WASどうでもよいが

ワズって呼んだり、ワスって呼んだり、色々。ウェブスフィアって呼ぶ人はあんまり見かけないなぁ。ちなみに僕はワズ派。

WASが起動しない。。

前の現場でWASが起動しないというトラブルが発生したらしい。ということはメールで知っていたのですが、まあ、なんとかするだろうと思って結構放置していたら、結局今日呼ばれることになってしまいました(T_T) 府中→池袋の小移動。つか、めんどくせー! WAS…

JSTLで文字化け

文字化けっていうほど大げさなものではないですが、c:outタグでescapeXml属性がデフォルトtrueなので、「」「&」「'」「"」がエスケープされて、むにゃむにゃっていう文字列に変わってしまうという問題のようです。まあ、ダブルクォートをそのまま出してしま…

ZipInputStreamで圧縮したファイルがLhacaで開かない

なんだか、ZipEntryを構築する際、hoge\mogeみたいなパス付きのファイル名を使っていたのが原因らしい。ちなみにhoge/mogeならOK。どうりでWindows環境では動作しなくて、UNIX環境では問題なく動作するわけだ。ZIPフォーマットの仕様なのかも知れないが、微…

Exchangeサーバに名前解決出来ないドメインのメールアドレスを送信すると例外が発生する

To/Cc/Bccにかかわらず、hoge@aaa.comとか適当なドメインのメールアドレスを指定すると、javax.mail.SendFailedExceptionが発生するようです。で、送信出来なかったメールアドレスは、このSendFailedExceptionのgetInvalidAddressesで取得できます。このメソ…

classファイル単位のリリースは厳しい

多くのJavaに携わる人が知っているように、final定数が参照元に埋め込まれてしまうという最適化(?)のために、ソースは修正していなくても、フルコンパイルするとclassファイルが変わってしまうということがあります。 そんなわけで、素直にJarに固めてリリー…

例外ってまとめて処理できるから嬉しいのでは?

例えば、A→B→Cって処理を順番にやる場合は、 try { A(); B(); C(); } catch(HogeException e) { ... } catch(Exception e) { ... } finally { ... }みたいに書いたりすると思うのですが、仕様書が、 Aをやる。こんなエラーだったらXX、それ以外のエラーだっ…

NetBeansでデバッグ時に変数書き換え出来るみたいです。

strって変数に"Hello, World!!"を入れているけど、rを削ってみましたという画面。 ウォッチリストに変数を設定して、ウォッチポイントの画面で書き換えが出来るっていうところらしい。 まあ、これぐらいは出来て当たり前なのでしょうかね。jdbで同じこと出来…

他の現場は学ぶこと多し

Eclipseでデバッグ中に変数書き換え出来るとは知らなかったなぁ。ホットコード置換とかいう機能を使えば、ソースもデバッグ中に書き換えできるらしいけど、いつも出来ませんって怒られるんだよなぁ。そういやNetBeansは出来るのかしら?試してみようっと。 …

JamesでIMAPサポートしてなかったらしい (ver3でサポート予定)

大分前に触った時は、IMAP4サポートしていたような気がするのだが、現行バージョンの2.2ではサポートしていないとFAQに書いてある。 http://james.apache.org/FAQ.html#6 James3ではサポートされるようですね。リポジトリには実験コードもあるみたいなので、…

メールのテストにはJamesがおすすめ

昨日メール送信のプログラムを任されて書き始めたのですが、つらつらと書き始めてとりあえずメール送信できるところまで出来ました。でもってテストはどうすんのってことになったわけですが、 担当者が来ないとメールサーバの設定が出来ない などという閉塞…

検証環境で開発をするもんじゃない。

まあ、HP-UXでzipライブラリの不具合っぽいのが原因で、JRunのホットデプロイがうまく動かないってのが、そもそもダメなのですが。 開発環境とか、検証環境とかをどう定義するかってのもあるのですが、僕の中では、 検証環境 ... 本番と同じ構成、性能は劣る…

native2asciiの逆変換

-reverseなんていうオプションがあるなんて知らなかった。。 C:\work\test>more test.properties key1=あああ key2=いいい C:\work\test>native2ascii test.properties test_ja.properties C:\work\test>more test_ja.properties key1=\u3042\u3042\u3042 ke…

社内勉強会無事終了

マニアック言語祭と称して行われた中、あんまりRubyについて語らずRailsについて語ってきたわけですが、設定ファイルが少ないことや、ActiveRecordの素晴らしさが伝わったようで、なかなか良かったのではないかと思います。Webアプリケーションのとっかかり…

土曜日は社内勉強会

ようやくパワポが書けた。。あとはRailsのデモをどういう手順でやるかだけ決めとこう。

DIxAOPセミナー行ってきました

パソナテック社主宰のはぶさんのセミナー「はじめてのDIxAOP Seasar2を使って」を受講してきました。Goyaの考え方から一番強く感じたことは、S2 on Railsとか出来そうってことです。まあ、既にやっている人もいると思いますけど。 シンプルな設計→高いテスタ…

blancoDbの素朴な疑問

TableGatewayとして、 SimpleXXXSelectIterator SimpleXXXSelectAllIterator が両方生成されるのは理解出来るのですが、 SimpleXXXSelectRow SimpleXXXSelectAllRow が両方生成されるのはちょっと納得いきません。元はといえば同じモデルだったわけですから…

JSF難解だ。。

どうも今までの感覚でやってるからいけないのか?一応動いてはいるけど、なんかしっくりこない感じ。 ManagedBeanから他のsessionスコープにいるManagedBeanを参照するのに、 FacesContext ctx = FacesContext.getCurrentInstance (); LoginBean bean = (Log…

MySQL&Javaの文字化け問題

とても参考になりました。 http://www.mysql.gr.jp/mysqlml/mysql/msg/10274 Railsで登録した日本語データはどうやらUTF-8になるらしく、characterEncoding=UTF-8としてやることで、JSFから文字化けせずに表示できました。 しかし、mysqlのコマンドラインで…

Railsをどう伝えるか

どう伝えるもなにも、まだほんの触り始めなのですが、来週の勉強会のネタなので、なんとかしようと画策中です。ありきたりでは面白くないので、Railsの生産性の良さをテーマに伝えられたらいいなぁと思ってます。 というわけで、考えた企画がECサイトminiをJ…

blancoDb Enterprise Edition 1.3.3 (Beta版)

性能問題は15日のエントリにも追記しましたが、AutoCommitのOffし忘れで、毎行コミットしたために性能劣化したようです。blancoDbの問題ではないことを確認しました。以下にいがぴょんさん(id:igapyon)自身による検証結果が載せられており、これが正しいです…