タグ

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

  • DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS

    こんな名前のAPIがありますね。主にXMLの読み込みを行う為のAPI群であります。SAX以外は、書き出しもできますね。そう、SAXは書き出しできないのですね、基的に。 <foo> <bar>baz</bar> </foo> っていうもの凄い単純なXMLを、これらのAPIでどのように扱うのか。比較なエントリ。 まずはDOM DOMは、パース時にXMLの内容を全てメモリ上に保持し、パース後にどの要素にもいつでもアクセスできるような環境を作り出す。 import java.io.ByteArrayInputStream; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.t

    DOMとSAXとStAXと。 - 都元ダイスケ IT-PRESS
  • 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
    learn
    learn 2011/04/25
  • Javaのcloneは悪者か? - 都元ダイスケ IT-PRESS

    Effective Java 第2版 (The Java Series) 作者: Joshua Bloch,柴田芳樹出版社/メーカー: ピアソンエデュケーション発売日: 2008/11/27メディア: 単行(ソフトカバー)購入: 77人 クリック: 936回この商品を含むブログ (264件) を見る Java: The Good Partsが(賛否両論の)話題を呼んでいるが、それ以前にEffective Javaは皆さん、読んだだろうか? このの項目11に、「cloneを注意してオーバーライドする」というセクションがある。そのほかにも、Javaのcloneメソッドは各所で嫌われているようだ。 そのような論調において、clone代替案としては、コピーコンストラクタと、staticなファクトリメソッドがしばしば挙げられる*1。 うん、確かにJavaのcloneメソッドはイケてない。俺もそう

    Javaのcloneは悪者か? - 都元ダイスケ IT-PRESS
  • Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS

    1st Seasonはこちら。Throwableについて気出して考えてみた - 都元ダイスケ IT-PRESS 以前は、何かをスローする状況を3つに分けてそれに合った設計をした例外を投げましょう、という考え方を示しました。 callerのバグ: RTE calleeのバグ: Error どちらでもない: Exception (非RTE) まぁ詳しくはSeason1の方で。 Seasar2はRuntimeExceptionですね。2004年ぐらいからのフレームワークはRTEをスローしていると思いますよって、ひがさんから情報。 チェックされる例外とチェックされない例外について - じゅんいち☆かとうの技術日誌 ただ、上記のような考え方もあるのも事実。実際.NETRuby, Python, 新鋭のScala等もcatchを強制する例外というものが言語仕様的に存在しません*1。逆に、チェック例

    Throwableについて本気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS
  • 非チェック例外多用作戦のトレードオフ認識 - 都元ダイスケ IT-PRESS

    まず、以下に持論を展開するにあたって、自分の立ち位置を明確にしよう。自分は「Webアプリケーション開発者」としてではなく「JavaによるWebアプリではない(デスクトップアプリ,コマンドラインアプリ,ライブラリ)アプリの開発者」として語る。まぁ、自分に一番馴染みの深いプロダクトとしてJiemamyが挙げられるわけだが、こいつはWebアプリじゃない。Eclipse上で動くアプリケーションであり、そしてMaven2によって呼ばれるCLIアプリでもあり、また、クラスライブラリである。 この視点からJavaにおけるチェック例外と非チェック例外の話を再び。 Javaにおけるthrows句は、メソッドシグネチャの一部であり、インターフェイスにも現れる情報である。今まで「Javadocは仕様だ」と言い続けて来たが、正確にはインターフェイス(シグネチャ+Javadoc)が仕様だ。*1 検査例外が使いにくい

    非チェック例外多用作戦のトレードオフ認識 - 都元ダイスケ IT-PRESS
  • エンジニアとしての歩き方 - 都元ダイスケ IT-PRESS

    これから書くことは決して「これをしなければいけない」とか「他に手段はない」なんてコトを主張したいのではない。色んな道があるはずだぁ。その中の一つの事例として、自分がやってきたことをフレームワーク化し、色々挙げてみようと思う。 当然、俺の主観が入りまくっているので、突っ込みどころは満載だろうなw そもそも「エンジニア」って何?w その辺り、はてブ界隈のミナサマにおかれましてはお手柔らかに願いたいww さて、いきなりどこかの技術系カンファレンスで1時間喋っちゃえ、とか突然は無理なのは分かる。何を話せばいいのやら、どこに喋るチャンスがあるのやらだ。しかし、そういう所で喋るような自分を将来のビジョンとして持っている人は、以下に挙げることを小さなことからコツコツと実践してみるといいかもしれない。という意図で書いていく。 何事にも興味を持とう 興味は勉強の原動力。興味のない勉強は苦痛でしかない。ここが

    エンジニアとしての歩き方 - 都元ダイスケ IT-PRESS
  • 1