2006-01-01から1年間の記事一覧

WEB+DB PRESS Vol.36

Seasar2のスーパーアジャイルの記事は、とても興味そそられました。 Teeda自体もすごいいいなぁと思いましたが、特に実際コーディングする上でいいなぁと思ったのが、、 HTMLとPageクラスのフィールドのマッピングがグラフィカルにわかる(マーカーで表示) Ct…

リフレクションAPI

リフレクションAPIを使うと、硬かったJavaを少しだけ軟らかく出来るような感覚がします。

指定した文字を使って、ランダムな文字列を作成する

function random(len, source) { var result = ''; var sourceLen = source.length; for (var i = 0; i < len; i++) { result += source.charAt(Math.floor(Math.random() * sourceLen)); } return result; } // 0-9a-fの範囲の文字を使ってランダム組み合わ…

LimeCaht Version 2.13 で追加されたバルーンヘルプ表示

メインで使っているIRCクライアントのLimeChatを、久しぶりに更新したら、非アクティブの際の受信メッセージがバルーンヘルプとして表示されるようになりました。 LimeChat 非アクティブのときでも、じゃまにならない程度に会話の流れが見えるので、とても便…

del.icio.us APIでのエラー発生率が高い。

del.icio.us/help/api del.icio.usのAPI使って、はてなブックマークからデータをインポートしているのですが、どうもdel.icio.usのAPI(https://api.del.icio.us/v1/posts/add)でエラーが多発します。 エラーが出ると、連続して10回とかでてて、結局4000件中5…

del.icio.usをインクリメンタルサーチ(Greasemonkey版)で、データが取得出来ないという件を調査しました

http://d.hatena.ne.jp/onozaty/20060524/p1#c1165854238 ftさんからのコメントで、「4100件超えたあたりから取得ができなくなってしまいました」とのことで、試しに6000件くらいブックマークを入れて調査してみたところ、、 確かにdel.icio.usの全ブックマ…

glayer.jsでフォームの二重送信を防止

CodeZine:JavaScriptを利用してフォームの二重送信を防止する 「フォームの送信時にページを「フリーズ」させる」のとこは、glayer.jsを使うとかなり簡単に出来ると思いました。 glayer.js - グレーアウト表示ライブラリ

S2StrutsのPOJO Form

ドキュメントとサンプル眺めただけなのですが、、 POJOをActionFormとして使えるみたいで、かつバリデーションも出来たりする模様。 なんか、これだとFormとDtoでクラスわけるってのは必要なさそう。(そういうものなのかなぁ…) サンプル動かそうと思ったけど…

glayer.jsリファレンス

古籏さんのところのリファレンスに追加されていて、ちょっとびっくりしました。 glayer.jsリファレンス 自分が書いている説明(glayer.js - グレーアウト表示ライブラリ)より、古籏さんのリファレンスの方が参考になると思います! 古籏さんの「改訂第3版 Jav…

S2RMIをTomcat上で動かしてみる(クライアント編)

Tomcat起動時に下記のように下記のような警告が出てるけど、うまく動いている模様です。 WARN 2006-12-01 01:50:59,985 [main] URLStreamHandlerRegistryを登録できませんでした java.lang.Error: factory already defined at java.net.URL.setURLStreamHand…

S2RMIをTomcat上で動かしてみる(サーバ編)

S2RMIを使って、RMIサーバをTomcat上で動かしてみたところ、ちゃんと動きましたが、TomcatをshutdownしてもTomcatのプロセスが落ちなくなってしまいました。 もうちょい… 動作環境 JRE 1.4.2 Tomcat 5.0.28 Seasar2.3.11 S2Remoting 1.0.2 S2RMI 1.0.2 - 追…

S2RMIのいいところ

> "> S2RMIはS2RemotingのRMIによる実装です。 S2RMIを使うと、異なるJavaVM上のS2Containerに定義されているコンポーネント(POJO)を簡単に呼び出すことができます。

S2RMI 1.0.2で、サーバ側で発生した例外が全てExceptionでラップされる。

RMIとしては、そのままの例外(Throwableは不可)を返せたと思うので、S2RMIでもサーバ側で発生した例外をそのまま返ってくるとうれしいです。org.seasar.remoting.rmi.adaptor.RMIAdaptorImpl#invoke(String, String, Object[])で、ThrowableをcatchしてExcep…

incsearch.jsのv1.1.1をリリースしました。

incsearch.js - インクリメンタルサーチライブラリ 他との兼ね合いで、ちょっとしたリファクタリング(メソッドの分割)を行いました。

del.icio.us、はてなブックマークをインクリメンタルサーチ(Greasemonkey版)を更新しました。(version 1.1)

del.icio.usをインクリメンタルサーチ(Greasemonkey版) はてなブックマークをインクリメンタルサーチ(Greasemonkey版) 変更内容は下記の通りです。 タグを括弧で囲んで表示するようにしました。(少しはタグで絞りやすくなったかと…) del.icio.usの方では、編…

RMIが使用可能ならば、Axis(SOAP)よりRMI

高いパフォーマンスを求められるようなシステムの場合、SOAP(Axis1.xを使用)だと、全体の処理時間に対してSOAP通信でのオーバヘッドがどうしても大きくなりがちです。(Axis2は何かと改善されて、Axis1系に比べて速くはなっているらしい) 特に、送受信するデ…

rmiregistyコマンドを使わなくてもRMIレジストリが起動できる。

メモ。 Hello hello = new HelloImpl(); Registry registry = LocateRegistry.createRegistry(Registry.REGISTRY_PORT); registry.rebind("Hello", hello);RMIの説明を書いたサイトの多く(自分が見た限り)で、rmiregistyコマンドを実行するような内容ばっか…

Bloglines→Livedoor Reader

Bloglinesが昨晩から長時間にわたって不調なので、Livedoor Readerに(こんどこそ本当に)乗り換えようと思った。 というか、以前からLivedoor Readerに乗り換えようと思っていて、今日までずっと放置していたので、Bloglinesの不調はちょうどいいタイミングだ…

HttpUnitをちょっと使ってみました

HttpUnit Home HTMLを構造的にチェックできて(NekoHTML使ってるみたい)すばらしそうだけれども、Selenium使えるならばそっちの方が直感的にわかりやすいし、簡単そう。 HttpUnitだと、ブラウザ使わずにテストできるけれども、、逆にブラウザ使った方が安心な…

org.seasar.framework.util.SPrintWriterのclose()後のtoString()

SPrintWriterが継承しているPrintWriterは、close()で自身が持つwriterにnullを設定しているので、下記のような使い方をするとjava.lang.NullPointerExceptionが発生します。 PrintWriter writer = new SPrintWriter(); writer.write('a'); writer.close(); …

サーブレットの単体テスト

サーブレットの単体テストを書くのに、試しにCactusを使ってみようと、とりあえず必要そうなもの入れて、テストケース書いて実行してみたら、設定ファイルがどーとかっていうエラーが出ました。 よくよくしらべたら、サーバ側とクライアント側で設定ファイル…

OperaでTABキーの入力をキャンセルする方法

リターンキーの際には、keypressイベントの、、 event.returnValue=false event.preventDefault() で入力をキャンセルできましたが、Operaのタブ入力は、上記方法ではキャンセル出来ません。いろいろ調べましたが、結局キャンセルする方法は見つからなかった…

position:absoluteとwidth:100%の組み合わせでの注意事項

なんか、同じ事を調べたような気がするので、メモ。 position:absoluteでwidth:100%を指定する場合、ブラウザによってmarginとborderが含まれるかどうかが違ってくるので注意が必要です。(100%に限定せず、%指定時の問題)例えば、下記のようなHTMLの場合、 <html> <head> </head></html>…

Tomcatにてルートコンテキストにアプリケーションをデプロイする方法

ROOTというアプリケーション名でデプロイすればよいとのこと。 webapps配下にROOTというディレクトリで配置。(もしくはROOT.warとして)

suggest.jsでメールアドレスの@以降を補完する。

超メモ帳(Web式)suggest.js激闘篇 試しに書いてみました。 suggest.jsでメールアドレスの@以降を補完 ソースの説明を書いている時間がなかったので、その辺は後ほど書きたいと思います。

incsearch.jsのv1.1をリリースしました。

incsearch.js - インクリメンタルサーチライブラリ ブックマークに付与したTagを括弧で囲むかどうか(ex.[JavaScript]JavaScript)をオプションで指定できるようにしました。 del.icio.usをインクリメンタルサーチ(Greasemonkey版)なんかも、Tagは括弧で囲む形…

Quick JUnit Plugin for EclipseでJUnitの効率アップ。

Quick JUnit Plugin for Eclipse WEB+DB PRESS Vol.35 の「実演!テスト駆動開発」の記事で紹介されていたQuick JUnit Plugin for Eclipseですが、これのおかげでJUnitの効率がアップしたような気がします。 なんといっても、下記のショートカットがすばらし…

はてなブックマークのAtomフィードでページングの情報がおかしい

はてなブックマークをインクリメンタルサーチ(Greasemonkey版)でブックマークを更新しようとしたところ、エラーが出るなと思ってFeedの情報を確認すると、どうもページングの情報がおかしいようです。 フィードのページングを、クエリパラメータにより可能と…

Seasar2のdiconファイル配置場所

app.diocnはclasspathが通ったディレクトリの直下に配置するとして、他のdiconファイルはどこに置くのが通例なのかなぁ。

実行ホスト名の取得方法

Javaが実行されているホスト名を取得するのに、環境変数(LinuxだとHOST) から取得すればよかろうと思ってましたが、環境変数の取得APIである System#getenv(String) は J2SE1.4ではdeprecatedとなっており、しかも実際使ってみると例外が発生して環境変数が…