実装

これは…

public Void [][]d_0()[][] { for(int i=0,a[]= {1,2,3};i

例外とか投げて貰ってもねぇ…

java.lang.Class#cast public T cast(Object obj) { if (obj != null && !isInstance(obj)) throw new ClassCastException(); return (T) obj; } こんなん書いてみた。 public static <T> T as(Class<T> clazz, Object obj) { if (obj != null && clazz.isInstance</t></t>…

switchがbreakでlabelは悪魔の囁き。

loop: for (int i = 0; i < 10; i++) { switch (i) { case 5: { break loop; } default: { System.out.println(i); break; } } } さて、このコードを動かすとどうなるのでしょうか? オソロシヤオソロシヤ… フォースを信じられなくなった者は、暗黒面に落ちるであろう。

Tomcat の脆弱性?

Accept-Language ヘッダの処理…ねぇ…。 JVN#16535199 「Apache Tomcat」の Accept-Language ヘッダの処理に関するクロスサイト・スクリプティングの脆弱性 org.apache.catalina.connector.Requestのコードを修正してるみたいデスナァ…。 ちょ…これは…… prote…

eclipseプラグインのビルドと戦いたいアナタ向け。

org.eclipse.pde.build と言うプラグインの中に、antのビルドスクリプトとカスタムタスクが入っているますので、 しやわせになれるかもしれません。

ビルドは、誰もが一度は嵌る楽しい罠。

http://d.hatena.ne.jp/t-katochin/20070621/1182406692を、読んでありゃりん…と思ったので、 こんな対処の方法もあるますって、感じでDoltengがどんな風にビルドしてるか、紹介するます。 まず、pluginマニュフェストエディタの「Build」タブで、こんな風に…

eclipse自動ビルド出来るらし。

スバラシ。Doltengはテストねぇけど…orz pluginbuilderでEclipseプラグインのビルドを自動化しよう

自動生成とpartialクラス

多重継承はイカン。ひし形継承のリスクが高すぎる。とかナントカ。 じゃあ、interfaceを継承しませう。Compositeしませう、となる。 C++のテンプレートは超強力だけんども、JavaのGenericsはショボショボ。 仕様的には、C#でも大して変わらん様な感があるけ…

Google Gears

これはまたスゲェもんが出てしまいましたなぁ。 Google Gears: Enabling Offline Web ApplicationsGoogle Gears is an open source browser extension that lets developers create web applications that can run offline. これはつまり、HttpSessionイラネ…

ANTLR v3 でた。

http://www.antlr.org/ んで、Doltengをよく見てみると、気付いてなかったのだけど、 コード生成の為のテンプレートエンジンが2つ入ってる。 StringTemplateとFreeMarker。 後者は、意図して使ってるけども、前者はナンデ入ってるのかなぁ…と思ったら、metaa…

Script?Script?Script?

Apollo Silverlight Reference The JavaFX Script Programming Language んごげ。JavaFXで、SWTも気楽にコーディング出来る様になるのかしらん…。 一応、eclipse3.2用のプラグインもあるけど。 でも、イマイチUIを作る為の専用の構文がある様には見えないな…

投入した順序を維持したまま、取れるMap。

使い所が謎だけども。稀に欲しくなるので。 TreeMap<String, String> m = new TreeMap<String, String>( new Comparator<String>() { public int compare(String s1, String s2) { return 1; } }); 検索コストが高くなりがちなので、パフォーマンス的には最悪の部類に入るます。 そもそも、これだと、</string></string,></string,>…

コンパレータ

ひっくり返すアレ。 public class ReverseComparator implements Comparator { private Comparator comparator; public ReverseComparator(Comparator comparator) { this.comparator = comparator; } @SuppressWarnings("unchecked") public int compare(Ob…

JavaWebStartに挑む。

以前に、断念したJavaWebStartからのWebアプリケーション起動が、Winstoneを使う事によって、 超簡単に実現できる事が判明したので、久しぶりに頑張ってみる。

RandomAccessFileのらっぱ

中々面白いクラスをめっけたので、メモ。TailInputStream 要は、Fileの読み込み中に追記があっても、オケー的なInputStream。 使い道があるのかと言われれば、ログのハンドリング位しか無い様な気しないでもない。 こんなのもめっけた。 BufferedRandomInput…

プラグインがインストールされているディレクトリを取る。

めっけたので、コピペ。 protected static File getPlugin() { try { URL installURL = getInstance().getBundle().getEntry("/"); URL localURL = FileLocator.toFileURL(installURL); return new File(localURL.getFile()); } catch (IOException ioe) { r…

直接呼出しとリフレクション。

ふと思い立って、コードを書いてみたり。 結局どれだけ差があるのさ?

妄想の世界の話。

テンプレートエンジンは、幾つかの方法で、パフォーマンスアップ出来ると考えるます。 デプロイ前のコンパイルプロセスを置く JSPは記法が余りにアレなのだけど、動作モデルは、今でも優れていると思うなり。 テンプレートに対応するモデルオブジェクトを、…

SourcepathClassloader

何かにつけて思い出すのに、プロダクトの名前が思い出せず挫折するので、発掘しておく。 Janino is a compiler that reads a JavaTM expression, block, class body, source file or a set of source files, and generates JavaTM bytecode that is loaded a…

例のアレ。

Exception in thread "Seasar2-TimeoutManager" java.lang.NullPointerException at org.seasar.extension.timer.TimeoutManager.getExpiredTask(TimeoutManager.java:96) at org.seasar.extension.timer.TimeoutManager.run(TimeoutManager.java:76) at jav…

今日のおかず。

public static void assertNoNulls(Object[] objects) { // TODO(kevinb): gee, ya think we might want to remove this? if (("I'm a bad hack".equals( System.getProperty("guice.allow.nulls.bad.bad.bad")))) { return; } if (objects != null) { // hm…

JavaでLisp的なと言うか、S式モドキ的な記述をしてみた。

id:koichikさんが、LispやSmalltalkでは、まぁ、ああいう感じになるのは、 ごく自然だよねぇ…と、言うので、Javaでも出来るんじゃねぇかと考えてみたり。 まぁ、出来るには、出来た様な気がするけど、かなり気持ち悪いアレ的な感じに。

ドン引き勉強会。

Djangoを見て、パラっと思いついた事。 URL主体に処理を直線的に結びつけるのはいい感じ。 ServletAPIはやっぱりその点が弱すぎる感がある。 テンプレート言語と言うか、怪しげな括弧の類が、ゴテゴテと混ざるのは、イマイチ美しくない感じ プレビューできる…

リファクタリング機能を実現する為のフレームワーク的なアレ。

The Language Toolkit: An API for Automated Refactorings in Eclipse-based IDEs うまく使うと、プログラミング言語を越えてリファクタリング出来るらし。 サンプルでは、propertiesファイルのキー名を変更するのに併せてJavaのメンバ変数名を変更してる。…

Eclipseプラグイン開発 徹底攻略 Eclipse 3.2対応

欲しい、欲しい。konozamaには入荷してない…。 久しぶりにガチで欲しい技術書であるます。 EMFとGEFの為だけに一章割かれているのが、スバラシイ。 只、気になるのはコレを欲しがる人はどれだけいるのか……。

ヤリ過ぎた。しかし、反省はしていない。

TypeUtil.modifyType(unit, monitor, new TypeUtil.ModifyTypeHandler() { public void modify(final ASTNode node, final ASTRewrite rewrite, final ImportsStructure imports) { node.accept(new ASTVisitor() { @Override public void endVisit(TypeDecl…

Webフォームでダイナミックな繰返し。

repetitionmodel WHATWG Web Forms 2.0 (HTML5) Repetition Model Cross-browser Implementation 動いている様は、ここで見る事が出来るですよ。 <form> <table> <thead> <tr> <th>Product</th> <th>Quantity</th> </tr> </thead> </tbody> <tr id="order" repeat="template" repeat-start="3"> <td></td></tr>

小さく、小さく、そして過不足無く?

CNETにある中島さんの記事経由で、アラン・ケイの話。 根底にあるのは「新しい機能を追加してこそ自分の存在意義を主張できるエンジニアたち」の存在であり、「豊富な機能=良いもの」というほとんどのソフトウェア・プロジェクトに暗黙の了解のように付随し…

今更人に聞けないシリーズ。

プログラミング言語の「醜いアヒルの子」を探る 「醜いアヒルの子」て…。 高階関数を見ても違和感を感じなければ、まぁ、アレな方面に居るって事で。 prototype.jsの1.5もリリースされた事だし、 くにゃくにゃとした世界に立ち入って見るのも悪くないカモ…と…

DIのビジュアル化。

Dolteng 0.16.1 をリリースしました。 以下の Update サイトからインストールすることができます. http://eclipse.seasar.org/updates/3.1/ 今回のリリースでは、先週辺りに話題になっていたDIのビジュアル化を僕なりに実装してみたですよ。 [Seasar]DI情報…