java
10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。
より正しい正規表現を別なエントリとして記述しました。 IPv6アドレスをより妥当な正規表現でマッチする。 以下の内容は、僕が自力で頑張った為、正規表現として不適切な部分があります。
DIコンテナやらOSGiやら使う程でもないけど、最低限の拡張性はとりあえず担保しておきたいので使う感じなのだけど、コアAPIに含まれているjava.util.ServiceLoaderは本当に使い辛い。 というか、そのままでは使えないのでユーティリティ的でいつも似てるけど…
噂のLucandraをビルドしたよ。 slf4j使ってる風味なivy.xmlだけど実際に使ってるのは、 log4jなので、それっぽいdependencyを追加しないとコケる。 ナニソレ?って感じだけどもさ。 <ivy-module version="2.0"> <info organisation="lucandra" module="lucandra"/> <dependencies> <dependency org="log4j" name="log4j" rev="1.2.15" conf="* -> *,!sources,!javadoc"> </dependency></dependencies></info></ivy-module>
ivyっぽい感じで仕上げてみた。 しかし、publicなリポジトリに無いものが相応にあるので、マジ痺れる。 Jarvanaさんが便利すぎるマジオススメ。 Jarvana - Maven Repository Search Engine
LoggingAPIを使っている皆様におかれましては、ガード節をキチンと記述しておりますでしょうか? こういうやつですね。 if(LOG.isDebugEnabled()) { LOG.debug("hogehoge"); } 毎回記述するのが面倒な上に、コードの見栄えがあまりよろしくありません。 ガー…
こんなクラスを用意しるます。 public class Hoge { public void fuga(String s) { assert s != null : "s must not be null"; System.out.println(s); } } ポイントは、全く同じクラスを、二つのパッケージに配置する事。 aaa.bbb.ccc SystemClassLoaderで…
もう少し簡単なコードで、検証でけた。
謎のメソッドがコンパイラによって生成されているのだけど、 何故そのメソッドが作られるのか、どの様な役割を持っているのか、 全く持って意味が分からないので、誰か教えてクダサシ。 解決しるました。 [Java]謎のaccess$100メソッドの話続き。
これが、一体なんなのかとか、細かい手順については、特に説明しません。 http://dl.google.com/eclipse/plugin/3.4/site.xml http://dl.google.com/eclipse/plugin/3.4/features/com.google.gdt.eclipse.suite.e34.feature_1.0.0.v200904062334.jar http://…
吉岡さんが釣り糸を垂れているので、釣られてみるよ。 デバッグ方法論 と言っても、多分、僕の気力が続くのは、こんなトピックがあるよ、って事までかな。 細かい話が気になるって人達は、スターとか、ブクマとかで催促すると、 書く気になるかもしれないし…
実装方法をすぐ忘れるので、メモ書き。 Map<String, String> m = new HashMap<String, String>(); m.put("aaa", "bbb"); m.put("aaa1", "bbb"); m.put("aaa2", "bbb"); m.put("aaa3", "bbb"); for (Iterator<String> i = m.keySet().iterator(); i.hasNext();) { if (i.next().endsWith("2")) { i.rem</string></string,></string,>…
日本企業の皆様におかれましては、エクセルが大好きかと、存じます。 いや、僕も大好きなのだけどもさ、表計算かわいいよ、表計算。 ウルトラハイパフォーマンスで、データストアとしても超一流。 コードの自動生成してもいいし、まかり間違ったりすると、方…
昨日は、どうも古いlogbackを使っていたお陰で、 現状のマニュアルどうりにlogbackが動いてくれなかった訳で。 今度は最新版使うよ。 slf4j-api-1.5.6.jar logback-core-0.9.15.jar logback-classic-0.9.15.jar 随分バージョンアップしてるね。 昨日と全く同…
slf4j可愛いよ、SLF4J。と言う訳で、logbackを使う訳だ。 でも、何かようワカランけど、ちゃんとログが出ない事があったりなかったり。 と言うか、出ない事は少ないんだけど、出過ぎる事がある。 使ってるのは、 slf4j-api-1.4.2.jar logback-classic-0.9.9.jar …
id:Yoshioriが何か変な事してたんで、考えてみた。ぱっと思いついた問題点。 cleanメソッドがヒドイ。 あらゆるMapオペレーションの度に、値を全走査するとか、無いんじゃね? TimeAndValueがヒドイ。 Dateじゃなくて、long持てば良くね? 非同期処理中に使…
MacでオフィシャルサポートなJRE6は、64bit版しかないので、 来年の夏までは、Mac使いで、eclipse使いなプログラマの皆様におかれましては、 Java6以降対応なeclipseプラグインを使えない…と言う事になるます。 しかしながら、それだとアンマリだ…と言う訳で…
public enum Hoge { Moge("aaa", 0), Piro("bbb", 1); private String s; private int i; private Hoge(String s, int i) { this.s = s; this.i = i; } public String s() { return s; } public String mugya() { return s + i; } public static String ugog…
何かそれなりに重い処理が色々あったとする。バッチ的なアレとか。 で、処理は大体がアトミックで、スレッドプールを使って、それぞれを処理する事で、処理効率を稼ぎたい時に使うAPI。 Javadocを見てても良く分からんくて、ハマったので、実装例をばメモ。
自分が、作った画面がどれだけ派手なのか確認する為に、 エラー画面がリッチっぽいフレームワークを集めてスクリーンショットを撮ってみたり。
id:ashigeruさんからツッコミを貰いましてん。つまり、こういう事らしい。 public interface A<L, R> { B<L, R> b(); List> nestedb(); } public interface NumberedA extends A<Integer, Long> { NumberedB b(); List<NumberedB> nestedb(); } そう、このNumberedAがやりたかった。で、呼び出す側</numberedb></integer,></l,></l,>…
こんなinterfaceを宣言してみた。 public interface A<L, R> { B<L, R> b(); List<B<L, R>> nestedb(); } public interface B<L, R> {} で、更にこいつらを使って、こんな型を宣言しる。 public interface NumberedA extends A<Integer, Long> { NumberedB b(); List<B<Integer, Long>> nestedb(); } public interface N</b<integer,></integer,></l,></b<l,></l,></l,>…
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>…
loop: for (int i = 0; i < 10; i++) { switch (i) { case 5: { break loop; } default: { System.out.println(i); break; } } } さて、このコードを動かすとどうなるのでしょうか? オソロシヤオソロシヤ… フォースを信じられなくなった者は、暗黒面に落ちるであろう。
コードが公開されているます。 Spring Batch - Source Repository /spring-batch/trunk
ひっくり返すアレ。 public class ReverseComparator implements Comparator { private Comparator comparator; public ReverseComparator(Comparator comparator) { this.comparator = comparator; } @SuppressWarnings("unchecked") public int compare(Ob…
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…
負荷テストフレームワーク。 What's new in The Grinder 3? テストスクリプトはJython。 Pythonの構文で、Javaで出来る事は何でも出来るし。 CookieやSSLもイイ感じにハンドリングしてくれる。 何せテストスクリプトを生成してくれるHttpProxyがついてるんだ…
久しぶりにすんごいの見つけた。 public class Hoge extends MIDlet implements CommandListener, Runnable { private Command exitCommand = new Command("Exit", Command.EXIT, 2); private Command getCommand = new Command("Get", Command.SCREEN, 1); …