TDDの守備範囲

JUnitの登場によって,Javaの世界にTDD(Test Driven Development)の強風が吹き荒れた。その風は「テスト主導と言ったらJUnit」と言っても言い過ぎではないくらいの印象を多くの開発者に与えた。その結果,TDDを取り上げる記事の内容は,「TDDとは,実装コードよりも先にユニットテストをJUnitテストケースとして作成することですよ」というメッセージばかりが目立っている。 ユニットテストは確かに重要である。やるに越したことはないし,テストファーストはプログラマにと...

TranslationView再公開のお知らせ

昨年まで公開していた翻訳プラグイン for Eclipse(TranslationViewプラグイン)の更新サイトを再設置した。ちょっと訳あって長らく公開を控えていたので,今まで利用したいと思って頂いた方々には非常に申し訳なく思っている。 http://www.eisbahn.jp/update-site/ Java開発に日本語⇔英語の翻訳は欠かせない。ぜひ役立てて欲しい。

libディレクトリ内の全jarファイルをクラスパスに

バッチプログラムやスタンドアローンなGUIアプリケーションでは,プログラムを起動するためのスクリプトを準備することがほとんどである。最近のJavaプログラムでは,数多くのOSSを使用して作成するために,クラスパスに通さなくてはいけないjarファイルの数は,それはそれは多くなる。シェルスクリプトやバッチプログラム内で,jarファイルを個々に記述してクラスパス文字列を構築するのは,非常にうっとおしく,美しくない。 せっかくのスクリプトなので,libディレクトリ内にあるjaファイル全てのパスを連...

java -versionの出力先って

標準エラー出力だったのか!?知らなかった。。。 java.exeの「-version」や「-showversion」オプションによって表示される, java version “1.5.0_08” Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03) Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing) ってメッ...

Java Persistence API時代到来!

Javaの世界の中で老舗かつ最も使われているであろうO/Rマッピングライブラリの Hibernateが,3.2にバージョンアップした。 Red HatのJBoss,Java Persistenceに対応したORMソフトの新版「Hibernate 3.2」 - ITpro このリリースにより,HibernateをJava Persistence APIに従って使用することが可能となる。これは,今までHibernateやiBATIS,Toplinkなどのどれを採用するか悩み,どのライブラリの...

Apacheプロジェクトのまとめサイト

Apacheのサイトはプロダクトがよくまとめられて掲載されているが, Strutsをはじめとするオープンソースプロダクト情報 といったサイトは何気に重宝する。 3, 4ページの内容はもちろんのこと, 5ページに書かれている「Apacheが考える開発環境」の図は非常にわかりやすい。 ホントはこういったページを作る側にならないといけないのだが。。。orz

例外機構を台無しにする巷の実装者たち

Javaには,異常系の処理を正常系の処理から明確に分離し,異常系の対処を実装者に強制することでコードの質を半強制的に高めるための「例外機構」が備わっている。例外は,チェックされるべき例外(Exceptionの直系)と,チェックしなくてもいい例外(RuntimeExceptionの系列)の2種類があり,「実装者に例外発生時の対処をさせるかどうか」でどちらを使うかを判断する。 多くの場合,業務的な例外はチェックされる例外,環境的な異常などの状況にはチェックされない例外が使われる。環境系の異常(...

福岡勤務終了!

半年続いた福岡勤務,やっと昨日で終了!長かった,ホント長かった。。。 福岡と言っても,有名な博多ではなく,飯塚というところ。ATMでお金を下ろすのにも苦労する場所だった。飲食店も会社の回りは皆無に等しく,完全な車社会。いやぁ,きつかった。結局土日に飯塚にいたことは一度もなかった。毎週飛行機で往復した自分にあっぱれ。 大阪,飯塚,さぁ次は埼玉に戻るぞ,とはいかず,今度は名古屋。まぁ大分(not「おおいた」)近づいたけど,遠いことに違いはない。 下の写真は,新飯塚駅のホテルの1Fのパン屋に売っ...

不安を認識することの重要性

久々のエントリなので,ちょっと長文。 ソフトウェア開発のゴール,それは当然「仕様通り正しく動くこと」である。これは,簡単なようで非常に難しい。どんな工夫をしたとしても,完璧な結果を残すことは困難である。まだまだ職人技の集合なソフトウェア開発について,ゴールをめでたく迎えるためには,常に「不安」と「安心」がコントロールされた状態になければならない。 プロジェクトに参加した大多数の人間は,「漠然」とした不安と安心を持っているだろう。全く何も感じない人間はいないはずである。しかし,各個人の性格的...

撃ち込め!

USB制御可能なミサイルランチャー発売。 「 実弾発射と姿勢制御可能なUSB接続ミサイルランチャー発売」 - AKIBA PC Hotline! 各プロジェクトメンバーの座席に到達させるための角度および方向をDB化し,コンパイルエラーなコードをCVSにコミットかけた不届き者をCruiseControlで自動検知,その直後に「lock-on & fire!」。 ・・・誰もコミットしなくなるだろうな。 ちなみに,上記URLから辿れるムービーを見ると,結構な発射能力を備えている模様。誰が...