WEB+DB PRESS vol.42の特集「アルゴリズム&データ構造」でもとりあげられていたTrie(とらい; p34-37)について調べてみたので、忘れないようにメモです。 Trie(s)というのは単語を辞書のなかから見つけ出すときに人がふつうに行っている探し方のアルゴリズムです。例えば、poolならまず、pのところに行って、次にoのところに行って、、、つまり、p -> o -> o -> lと探していきます。続いてprizeを見つけるとしたら、p -> r -> i -> z -> eですが、先頭の文字が同じpなので、pの付近からはずれたところから始めたりはしません。この二つの単語の場合pをprefixと見なすのがTrieです。poolとpoleだったらprefixはpoにのびていきます。prefixがのびていけばいくほど候補は減っていきます。ちょうどIDEのメソッド補完機能のように
Prof. Alan Kaminsky Rochester Institute of Technology -- Department of Computer Science Overview Books and Publications Preinstalled Version Download Version System Requirements Installation Usage License Documentation (Javadoc) Overview Parallel Java (PJ) is an API and middleware for parallel programming in 100% Java on shared memory multiprocessor (SMP) parallel computers, cluster parallel compu
Javaに対する静的解析ツールには、以下のようなものがあります。 FindBugs PMD Jlint Lint4j Jtest(有償) 近頃の動向を見ていると、OSSのツールでは、FindBugsがデファクトスタンダードになりつつあるように思います。FindBugsは、2007/11/08にリリースされた1.3.0以降、1〜2ヶ月に一度の頻度でリリースされており、チェックルールも充実してきています。最近、FindBugsのチェックルールを調べる機会があったので、どんなルールがあるのかをまとめてみました。 FindBugsが検出するバグパターンは、次のような括り方となります。 バグカテゴリ > バグコード > バグタイプ 左側がより大きい括りになっており、バグタイプが1つの検出ルールに対応付きます。 FindBugsは、1.3.4時点で、8個のカテゴリと354個のチェックルールから成り立ち
どうも、Java勉強中の西尾です。 Javaって難しいですね…。 今日はようやくリストを作る方法を理解したので、 自分の勉強のためにまとめてみたいと思います。 普段Pythonの記事ばっかりなのでたまには気分を変えて。 Pythonでは「複数のオブジェクトが入った配列のようなオブジェクト」を下のような記法で作成できます。 >>> xs = [1, 2, 3.14, "Hello!"] JavaScriptやRubyでも同じで、Perlだと@xs = (1, 2, 3.14, "Hello")になるようです。 また、このオブジェクトの中身を順に表示するにはfor文を使います。 >>> for x in xs: print x 1 2 3.14 Hello! これと同じことをJavaではどう書けばいいのか、 今日やっと理解しました。 Javaでは下のようになります。 Object[] xs =
Java が使いにくいのは静的だからではない という記事を見かけたので思うところを書いておきます 該当記事での論点 論点は大きく二つ。前半の主張の public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; } まあなんといいますか。Map や List を表すリテラルがないせいで、記述が冗長になってしかたない。どうせ List と Map の 99 パーセントは
A Firefox 0.9 or 1.x extension that demonstrates how you can use Java inside a Firefox extension. We have used this technique in our Piggy Bank extension. This extension distills the technique to a skeleton so that you can more easily comprehend. This is intended for Firefox 0.9 or 1.x extension developers only. Get the Code and Build It You can browse the code online or you can follow these steps
GridGain is a Unified Real-Time Data Platform by the original creators of Apache Ignite. It enables a simplified and optimized data architecture for enterprises that require extreme speed, massive scale, and high availability from their data ecosystem. Flexible memory-first / disk-second architecture minimizes disk I/O to provide ultra-low latencies across transactional, streaming and analytical p
Enterprise Strategy Group: Go-to-market Expertise to Help You Win
TOPICS Programming , Java , Ruby 発行年月日 2007年04月 PRINT LENGTH 216 ISBN 978-4-87311-320-3 原書 From Java to Ruby FORMAT 本書は「JavaからRubyへ」の移行を実践するためのガイドです。現在Javaでソフトウェアを開発している組織、すなわちメインストリームのソフトウェア開発組織が、Ruby導入のリスクとメリットについて検討するための材料をビジネスの視点から幅広く提供する「実用書」です。 情報の収集や分析でのポイントの押さえ方、パイロットプロジェクトの作戦、Javaで構築された既存システムとの統合戦略、Ruby開発要員の採用や育成など、Rubyに限らず、組織レベルでの新興テクノロジ導入にあたって考慮すべき事項をひと通りカバーしています。あわせて具体的な事例や実践者へのインタビューも
Logback Project Logback is intended as a successor to the popular log4j project, picking up where log4j 1.x leaves off. Logback's architecture is quite generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access. The logback-core module lays the groundwork for the other two modules. The logback-class
Enterprise Strategy Group: Go-to-market Expertise to Help You Win
笑えるくらい簡単になった public class Ploblem { static public void process(){ boolean brk = true;//順番を逆にすると再現しない intでも再現 boolean pre = false; System.out.println("---start---"); for(int i = 0; i < 1; ++i){ pre = brk; brk = false; System.out.println("if :" + pre); } System.out.println("end:" + pre); for(int i = 0; i < 10000; ++i);//数値を短くすると最適化までの時間が延びる? } public static void main(String args[]){ for(int i = 0; i
minghaiさんのブログで、Oracle JDBC DriverのBugの話題が出ていたので、少し整理を。 JavaLobbyにて以下の組み合わせでJDBCを利用すると、BigDecimalの値が変わってしまうという致命的なバグが報告されている。 ..... 問題はOracleが対処として、11gの修正を待つか、JDK1.4を利用せよといっているらしい。投稿者は当然猛反発している。 ..... まだ落とせませんが、近いうちにOTNに投稿されるであろう、ドライバ10.2.0.4にて修正されるそうです。 Oracleの場合、バグが登録されると、まず現在開発中の (ソース・コード管理システムにおける) trunk/メイン・ラインで、そのバグ修正が行われます。メイン・ラインは、いずれ次期リリースのブランチとなるので、まず次期リリースで修正されると考えても問題ありません。Oracle Databa
02/22 まだこの記事を見に来る人が多いので1つ追加。 パッチのリリース予定日は2007年8月とのこと。 What effect does Oracle/Java5 bug have for comp... | Oracle Community Support just got back to me and told me: that a fix for this issue will be available in 10.2.0.4.0 JDBC Driver which is scheduled for august 2007. 01/12 修正情報が投稿されました。 http://forums.oracle.com/forums/thread.jspa?forumID=99&threadID=461701 まだ落とせませんが、近いうちにOTNに投稿されるであろう、ドライバ10.2.
結城浩です。みなさんいつもありがとうございます。 さて、2007年1月下旬に、結城浩の最新刊『Java言語で学ぶリファクタリング入門』が刊行されます。 恒例(?)になりましたが、結城の活動を日ごろから応援してくださっているみなさんへの感謝を込めて、『Java言語で学ぶリファクタリング入門』を無料プレゼントいたします。送料も無料です。 当選人数:7人 → 8人(応募多数のため1人ふやしました) 応募期間:2007年1月10日(水)〜1月16日(火) 応募条件:以下の(A)(B)(C)のうち少なくともいずれか1つを実行してください。 (A) あなたのWebサイト(mixi可)に「結城浩」という文字列を含むエントリを書く。内容は何でもよいです。 (B) あなたの知人に「もうすぐ出版される、結城浩の本って知ってる?」と言う。 (C) http://www.hyuki.com/ref/ のページを、
You are here: Home » blog » stuff » Open Source Web Crawlers Written in Java I was recently quite pleased to learn that the Internet Archive's new crawler is written in Java. Coincindentally, I had in addition to put together a list of open source projects for full-text search engines, I put together a list of crawlers written in Java to complement that list. Here's the list: Heritrix - Heritr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く