2008-01-01から1年間の記事一覧
本日のSeasar Conference 2008のタイミングに合わせる形で、昨日ymir-0.9.6を公開しました。実に1年近くぶりのリリースです。でもここから1.0.0リリースまでは1ヶ月くらいの予定です。頑張ります。http://ymir.sandbox.seasar.org/news/20080905ところで0.9.…
T2はビューテンプレートエンジンを選ばないため、もちろんZPTとも利用可能です。ZPTはすばらしいテンプレート言語なのですが、どうもJavaの世界ではイマイチ普及しない(って当たり前か)。ということでみなさんにぜひZPTを使ってもらおうと、T2とZPTの連携…
部品化指向のWebフレームワーク「T2」の初期バージョンであるバージョン0.3がリリースされました。http://d.hatena.ne.jp/shot6/20080902#1220349253私も微力ながら開発に協力しています。みなさんぜひ使ってみてフィードバックをいただければと思います。T2…
HudsonのWARはサーブレットコンテナに配備して動作するが、次のようにすることで単体で動作させることも可能になっている。 java -jar hudson.war 一体どういう風にしてこのようなことを実現しているのだろうと思い調べてみた。結果: 軽量サーブレットコン…
Eclipseを使っているとQuick Fixの候補としてよく登場する@SuppressWarningsアノテーション。このアノテーションのvalueプロパティには"unchecked"等が指定できるが、指定できる文字列としては他に何があるのだろうか。というわけで調べてみた。試しにEclips…
Tomcat6ではレスポンスとして「Transfer-Encoding: chunked」なレスポンスを返すことができるが、この制御がどう行なわれているか分かっていなかったので調べてみた。具体的にはTomcat6の今日の時点でのtrunkのHttp11Processorクラスの実装を見てみた。http:…
今日はあるアプリを試しにT2で作ってみた。やりたいことは割とサクサクできる感じ。もちろん完成度はまだまだだが、そんなのは強力なコミッタ達と将来使ってくださるであろう大勢のユーザによってあっという間に解消されるだろう。今はサンプルを作ってみて…
JavaBeansのプロパティ名とGetter/Setter名の対応について、何となくは知っていたがきちんと調べてたことがなかったので調べてみた。The JavaBeans 1.01 specificationまずプロパティ名からGetter/Setter名を生成する際のルールについて。これは「8.3 Design…
ちょっと昔の記事だがメモとして貼っておく。ログイン成功時のリダイレクト先として任意サイトの指定が可能であってはいけないログイン成功時のリダイレクト先として任意サイトの指定が可能であってはいけないというのは覚えているんだけど、いつもその具体…
ぶり1.0.0はSeasar2.4との組み合わせで動作するが、Seasar2.3ベースのフレームワーク上でぶりを使いたいという話を受け、ぶりがSeasar2.3との組み合わせで動作するかを調査した。動くらしいとは聞いていたので多分動くかなと思い調査。ぶり1.0.0をsvnからチ…
9月6日開催のSeasar Conference 2008 AutumnでYmirについて話すことになりました。http://event.seasarfoundation.org/sc2008autumn/Session#f4内容としては、おさらいとして簡単にYmirの特徴と、前回発表時からの新機能の紹介、そして今後のロードマップ等…
「Google ストリートビューは新しくない」という記事を読んだ。はっきり言って負け惜しみにしか聞こえなかった。この手のサービスは新しいか新しくないかではなく、実際にやったかやらなかったか、である。もちろん全く意味もなく採算も見込めずサービスを提…
YmirではS2のHOT Deploy機能を使ってアプリケーションの再配備なしにコードの変更を動作中のアプリケーションにリアルタイムに反映させることで、開発のテンポアップを図っている。HOT Deploy機能はYmirの自動生成機構のようなリクエストドリブンの自動生成…
m2eclipseプラグインの0.9.5系(sonatype.org開発版)にはWorkspace Resolution機能というのがあって、これを有効にすると、依存しているJARのプロジェクトがワークスペースに存在する場合、JARを暮らすパスに通す代わりにワークスペースをプロジェクト参照…
ソースコードが見づらいというご指摘を受けたので、デザインを変えてみました。どうでしょう?
アノテーションはAnnotatedElementに付与するものであって、それを取得するにはAnnotatedElement#getAnnotation()などを使うのが通常である。次のように、直接アノテーションを変数に代入したりはできない。 Anno anno = @Anno("hoehoe"); // ... NG ところ…
Javadocによると、HttpServletRequest#getRequestURL()は クライアントが要求を作成するために使用した URL を再構築します。- JavaTM 2 Platform, Enterprise Edition, v 1.3.1 API 仕様 となっているので、常にリクエストURLを返すのかと思いきや、forward…
拡張for文でできそうでできないこと。 List<String> list = ...; String str = null; for (str: list) { ... } これができないので、for中でなんらかの条件を満たす値をlistから見つける処理を書く場合等は、見つけた値を格納する別の変数を定義する必要がある。以下</string>…
ちょっと誤解していたので書いておく。 ArrayList<String> list = new ArrayList<String>(); で、list.getClass()が返すClassオブジェクトは型パラメータ(String)の情報を持たないが、 public void hoe(List<String> list) { } のhoeメソッドに対応するMethodオブジェクトは、型パ</string></string></string>…
Freemarkerでnullチェックをするための「??」演算子はfreemarker-2.3.6では使えなかった。2.3.9にバージョンアップしたところ使えた。
プリミティブ型に対応するラッパ型が持つ「TYPE」という定数はプリミティブ型のクラスを表す。 例えばBeoolean.TYPEはbooleanのクラス型を表すが、これはboolean.classと同じ。 System.out.println(boolean.class == Boolean.TYPE); → trueところで次のよう…
アノテーションAnnoのオブジェクトは@Annoが付与されているクラスやメソッドに対応するClassやMethodオブジェクトについてAnnotatedElement#getAnnotation(Anno.class)を呼び出すことで取得できるが、新たに生成したいことがある(かもしれない)。そこでい…
なんとなく気になったので試してみた。 public void test() { RuntimeException ex = null; throw ex; } 実行すると「throw ex」のところでNPE。当たり前と言えば当たり前か。
友人に聞かれたので、ちょっとあいまいになっていた記憶を呼び覚ますためにdouble-checked lockingについて調査。以下のページにまとめられていた。 http://blogs.wankuma.com/nagise/archive/2007/08/24/91598.aspx 要約: JDK1.5からはメモリモデルが変更…
いわゆるm2eclipseプラグイン。久々に見てみたら状況がいろいろ変わっていた。まずEclipseのUpdate SiteのURLが変わっていた。 (旧)http://m2eclipse.codehaus.org/update/ (新)http://m2eclipse.sonatype.org/update/ バージョンも、春くらいの時点では…
Tomcat(5.5。6も多分そう)の自動デプロイ機構は、 Tomcatの稼働中にWARが更新されると、WARに対応するディレクトリが存在してもそれを自動的に削除し、WARを再展開する。 Tomcatを停止した状態でWARを更新してTomcatを起動した場合は、WARに対応するディレ…
Tomcatのデフォルトのエラー画面を差し替えるには、TOMCAT_HOME/conf/web.xmlにタグを書くのが簡単。 <error-page> <error-code>404</error-code> <location>/error/404.html</location> </error-page> ここで注意すべきは、locationの値は存在するコンテキストについてはそのコンテキスト相対パス、存在しないコンテキストについては…
Tomcat5.5のserver.xmlのセクションに例えば以下のように書いたの値をWebアプリケーションから参照する方法。 <Environment name="simpleValue" type="java.lang.Integer" value="30" /> Webアプリケーションのweb.xmlに <resource-env-ref> <resource-env-ref-name>simpleValue</resource-env-ref-name> <resource-env-ref-type>java.lang.Integer</resource-env-ref-type> </resource-env-ref></environment>
PRGパターンを使ったWebアプリケーションを実装するに当たって、最後のGetの際に最新のページではなく、以前のキャッシュされたページが表示されてしまうことがあるのではないかと思い調査している。例えばform.jspに以下のようなフォームとリンクを設置する…
Struts1.3.8のタグの話。DBに入っているURLをタグで出力しようとして、href属性を使えばいいのかなーと思ったのだが、href属性の値はHTMLエンコードされずに出力されてしまう。JSP: <% String url = "http://www.example.co.jp\" onclick=\"alert('hello!')…