タグ

ブックマーク / daisuke-m.hatenablog.com (8)

  • Apache commonsが便利な件(commons-collections編-2) - 都元ダイスケ IT-PRESS

    http://d.hatena.ne.jp/daisuke-m/20080702/1214982943 前回に引き続きcommons-collections。 Java Collection Framework(JCF)では、大きく分けてCollectionとMapの2系統の概念が定義されています。そして、前回はこれらに加えて Bag, Buffer などの追加された概念を説明しました。それぞれの代表的なタイプを整理したものが以下*1。 Collection List ArrayList ArrayStack (*) 実装はArrayStack。特筆事項なし。 LinkedList Stack Set EnumSet HashSet TreeSet Queue PriorityQueue Bag (*) 実装はHashBag, TreeBag。特筆事項なし。 Buffer (*) 実装はA

    Apache commonsが便利な件(commons-collections編-2) - 都元ダイスケ IT-PRESS
  • 細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS

    日のエントリーはJava Advent Calendarの25日目です。昨日は @mike_neck さんのmike、mikeなるままに…: hamcrestを拡張してmoreThanとか作ってみたでした。日はクリスマスですが、Advent Calendarはまだまだ続きます。明日はt.ogisawaさんのhttp://webinter.sakura.ne.jp/pbd/210です。 さて、今年はJava7がリリースされましたね。try-with-resources、diamond operator、invoke dynamic、Folk/Join framework…魅力的な新機能の数々が、多くの人によって紹介されています。が、Java7の変更はそれだけじゃないはず。小粒だが、キラリと光る変更がきっとあるはず。ということで、Java6とJava7のsrc.zipを比較してみました。小

    細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS
    takkecy
    takkecy 2011/12/26
  • Baseunits Library - 都元ダイスケ IT-PRESS

    さて、Java Advent Calendar -ja 2010 : ATND 10日目。昨日は、id:yuroyoro でした。二日連続で真っ黒な魔術が紹介されたので、ここは真っ白で実用的な奴をひとつ。 最近Domain Driven Design(DDD)っていう設計手法が、自分の周辺一部で話題になっている。当然、賛否両論なんだけども*1、個人的には好きな考え方でして。ま、詳細は色々な方がブログに書いているので割愛します。興味あれば読んでみましょう。洋書*2だけどw Domain-Driven Design: Tackling Complexity in the Heart of Software 作者: Eric Evans出版社/メーカー: Addison-Wesley Professional発売日: 2003/08/22メディア: ハードカバー購入: 4人 クリック: 113

    Baseunits Library - 都元ダイスケ IT-PRESS
  • 自分用Maven Archetype - 都元ダイスケ IT-PRESS

    さて、Javaで「何か作ろう」って思った時、みなさんどうします? 書き捨てならば、どうでもいいと思うんですが、少々真面目に作っていこうかな、と思ったら、色々な開発環境整備が大変です。 Eclipse+Maven環境で開発をするのが好きな人は、とりあえず mvn archetype:generate でプロジェクトを作り、mvn eclipse:eclipse でEclipse用の基メタデータを生成し、そしてEclipseにインポートする、なんてことをしているかもしれません。 Mavenプロジェクトとして生成 Eclipseの基メタデータを生成 Eclipseにimport 自分用のEclipse,Checkstyle,FindBugs設定を生成 自分用好みのOSSライブラリをpomのdependencyに追加… なんていうステップが基的な手順かな、と思ってます。ただ、これが意外とめん

    自分用Maven Archetype - 都元ダイスケ IT-PRESS
  • hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS

    技術ネタじゃないところで盛り上げてしまった。技術ネタいこう、技術ネタ。 さて、JUnitを使う際、hamcrestライブラリを使って、英語として読めるようなassertionを書く、なんてのは流行ってたり流行っていなかったり? JUnit4限定だけれど、assertionの際、assertEqualsとか色々assertionのメソッドはあるけど、全てassertThatで書くことができるはず。assertThatメソッドの第一引数にテスト対象、第二引数にhamcrestのMatcherインターフェイスの実装を与えます。なんのこっちゃですが。 Jiemamyでは、なるべくassertThat以外のassertionメソッドを使わないようにテストを書いています。(もしかしたらもう一つも残ってないかも。) まぁ、以下のように書くと、英語っぽいのが書けますよ、と。 assertThat(aaaa

    hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS
  • ボク、if文。わるいモンスターじゃないよ! - 都元ダイスケ IT-PRESS

    id:aroundthedistance に召還されたぜ。 http://d.hatena.ne.jp/aroundthedistance/20100727/1280227851 …その昔なー。Seasar Conferenceで「あなたのコードからnewとifが消えます、魔法のDI」みたいなセッションをした。今思い出して「釣りすぎたぜサーセン」という気分になったことをまず懺悔しておく。 この doBusinessん中のif〜else ifをなんとかしたい。 …(中略)… ちょっとすっきりした。けどまだifが残ってるよね。 ポリモーフィズムの例をもうちっと実用的に書いてみた。 - 都元ダイスケ IT-PRESS どんだけif文悪者なんだ。そこまで嫌ならば、一度もif文を書かずにコードを書けばいい。無理だがなw と自嘲。 if文に限らず、問題になるのは濫用なのだ。"ある知識"がトッ散らかって

    ボク、if文。わるいモンスターじゃないよ! - 都元ダイスケ IT-PRESS
  • インスタンスを抽象的に扱う - 都元ダイスケ IT-PRESS

    まず「抽象的」という言葉が難しいのかな。俺も最初の頃、一体何なのかわからなかった。プログラムに全く縁もゆかりも無い相方に、オブジェクト指向の話をすこしだけ聞かせたことがあって、「抽象的って、要は大ざっぱってこと?」と問われた。なるほど、良い表現だ。 「Android携帯HT-03A」というオブジェクトがあったとする。それを大ざっぱに扱う(いや、別に物理的に雑に扱う訳ではなく)とはどういうことか。結論を言えば、「文脈上、細かい事を気にしなくて良い場合は、細かい事を記述しないこと」だ。 Android携帯として扱う → HT-03Aではなく、DesireやNexusOneで良い場合は、HT-03Aである、という限定をしない 携帯電話として扱う → Android携帯ではなく、ガラケーでも良い場合は、そういう限定をしない 電子機器として扱う → そもそも携帯の話じゃなくて、電子機器の話という文脈

    インスタンスを抽象的に扱う - 都元ダイスケ IT-PRESS
  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
  • 1