2006 年の記事

年の瀬にEclipseは笑顔をくれた

· Eclipse

![content-assist-face.jpg](http://www.eisbahn.jp/yoichiro/images/content-assist-face.jpg) ま,結局冬休みもプログラミングをしているわけだが,Eclipse(Mac版のみ?)には癒し効果もある。…

Read more →

Wicket Communicationを統合

· Wicket

POHPのソリューションの一つであるWicket。これの技術的な記事を「 [Wiclet Communication](http://www.eisbahn.jp/wicket/)」というブログで行おうと思っていたが,別ブログだとどうも更新する気が起きない。 なので,このブログに統合することにしようと思う。Wicket Communicationの全エントリを,このブログに移行を開始する。 また最近Wicketを触りだした。携帯サイトを作ろうと思っているのだが,JSFの標準コンポーネントでは携帯…

Read more →

MacBookProのACアダプタのゴムが溶けて配線が見える状態になった

· MacBook Pro

今年の3月から使い続けているMacBook ProのACアダプタと本体の接合部分が大変なことになった。 ![200612271313000.jpg](http://www.eisbahn.jp/yoichiro/images/200612271313000.jpg) 通電せずにLEDが点灯しない状態があるなぁって思いはじめたときには,既にゴムが溶けて中の配線が見える状態になっていた。しかも,すごい熱を持っていて,患部は触れない状態。 萌燃えやすいものを近づければ,発火するだろう。 さっそくAp…

Read more →

JSFアプリケーションの単体テスト with Shale Test Framework (4)

· Shale

Shale Test Framework(STF)を紹介しているエントリも,早くも3回目になってしまった。 [前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfwithshaletestframework2.html)では,テストメソッドの説明の途中で強引に終わらせてしまった。今回はその続きを見ていこう。 まず,テストメソッドのソースコードを再び示しておこう。 [前回のエントリ](http://www.eisbahn.jp/yoichiro/…

Read more →

JSFアプリケーションの単体テスト with Shale Test Framework

· Shale

JSFの実行時の環境をシミュレートした状態で単体テストを可能にしてくれるShale Test Frameworkについて,全4回のエントリで紹介した。 「 [JSFアプリケーションの単体テスト with Shale Test Framework (1)](http://www.eisbahn.jp/yoichiro/2006/12/jsfwithshaletestframework.html)」  [全般] Shale Test Frameworkの紹介。 「 [JSFアプリケーショ…

Read more →

聖なる夜にソフトウェア開発を料理に見る

· Java

昨日のクリスマスイブの日は,やはり「ものづくり」をしていた。しかし,いつものプログラムや文章ではなく,料理である。 作ったものは3つ。 ピラフ ポトフ ケーキ ポトフは何となく「コンソメ入れて煮込めばいい」と想像できていたが,他の2品は完全に初体験。どうしていいかわからない。 優秀な先生の指導の元,3品をほぼ同時に作業開始。ケーキはしっかりとスポンジから焼くことにしていたので,まずは卵をクリーム状になるまで撹拌しないといけない。レシピはどっかのHPを印刷してあるが,全行程を頭に入れて…

Read more →

JSFアプリケーションの単体テスト with Shale Test Framework (3)

· Shale

[前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfwithshaletestframework1.html)では,Shale Test Framework(STF)を試すための題材を紹介した。さらに,STFを試すためのtest-stfプロジェクトも提供を行った。入手していない方は,是非 [ここからダウンロード](http://www.eisbahn.jp/yoichiro/test-stf.tar.gz)して欲しい。test-stfプロジェク…

Read more →

現在の業界の牽引者とは

· Other

「コンピュータの資源は有限である」ということを身をもって知っているマイコン世代だ。 「 [どの言語が好きか](http://d.hatena.ne.jp/nowokay/200612211166714826)」- きしだのはてな MacとかX68000だと難しいことやらないといけない気がするので、 制約が多いファミコンがいい。 このエントリを読んで,再確認した今日この頃である。 そしてふと,前のエントリ「 [マイコン世代がふんばってるんだ!](http://www.eisbahn.jp/yo…

Read more →

JSFアプリケーションの単体テスト with Shale Test Framework (2)

· Shale

[前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfwithshaletestframework.html)で予告した通り,今回はShale Test Framework(以下STFと略す)を試すための題材を紹介することにしよう。 STFの対象問題領域は,JSF APIやServlet APIに依存したコードを持つManagedBeanクラスが主な領域となる。「 [JSF+AjaxでUIコンポーネント開発 with Shale Remotin…

Read more →

495日ぶりの事件

· Other

~ある青年の物語~ 「よういちろうは,最寄り駅から家まで車で送ってもらった」 「よういちろうは,家の前で車を降りた」 「 よういちろうは,犬のウンチを踏んでしまった!」 「痛恨の一撃!!」(巨大なウンチだったため) 「よういちろうの靴が,汚れてしまった!」 「よういちろうは,婚約者に笑われてしまった!」 「よういちろうのHPが,5減った!」 「よういちろうの運が,5あがった!」 ウンチを踏むのは [昨年の8月](http://www.eisbahn.jp/yoichiro/2005/08/16.…

Read more →

JSFアプリケーションの単体テスト with Shale Test Framework (1)

· Shale

JSFの機能を補完することで,より生産性の高さを求めることができる [Apache Shale](http://shale.apache.org/)。もちろんJSFのテストの領域にも足を踏み入れている。今回から数回,JSFの単体テストを楽にしてくれる「Shale Test Framework」について紹介してみようと思う。 JSFの大きな特徴として「ManagedBeanをPOJOで作ることができる」ということが真っ先にあげられる。Strutsやその他の普及したWebアプリケーションフレームワー…

Read more →

嫌われOfficeの一生(但しMacの場合)

· My PC environment

Microsoft Office 2007試用版のPower Pointを使用中に,ふと気がついた。 ![pp2007.jpg](http://www.eisbahn.jp/yoichiro/images/pp2007.jpg) 「PowerPoint 97-2003」だって!?Mac版Officeをお忘れじゃ〜あ〜りませんか? ![pp2004.jpg](http://www.eisbahn.jp/yoichiro/images/pp2004.jpg) Mac版Officeは互換性テストの…

Read more →

あれ?ノードを追加できない。

· MacBook Pro

Change-Visionの [Jude Professional](http://jude.change-vision.com/jude-web/index.html)をMac上で使用していたとき,ふと気がついた。 ![mac-insert-key.jpg](http://www.eisbahn.jp/yoichiro/images/mac-insert-key.jpg) 「え?Insertキーなんてないぞ。どうやってノード追加すればいいんだ?」 実は,以下のキーバインドでOKだった。ついで…

Read more →

日本代表も舌を巻きました

· Java

とあるJIRAでの風景。自分の目を疑った。 ![jira-pass.jpg](http://www.eisbahn.jp/yoichiro/images/jira-pass.jpg) ボール(不具合修正タスク)回しの全てがワンタッチパス。 Aさん→Bさん ノールックパス Bさん→Cさん ノールックパス Cさん→Dさん スルーパス(辛うじて敵の存在を確認) Dさん→Eさん ノールックパス どんな大企業やねん。。。orz ちなみにEさんはエースストライカー。 [宇宙開発](http…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting

· Shale

Ajax対応JSFコンポーネントをApache Shale Remotingを使って作成する方法を,全15回に渡ってエントリした。 「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting.html)」  [全般] やってみようと思った理由と,Shale Remotingの紹介。 「 [JSF+AjaxでUIコンポ…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (15)

· Shale

Shale Remotingを使ったJSFコンポーネントの作成について長らくエントリしてきたが,今回でtest-dsプロジェクトも完成し,実行ができるようになる。残りの3つ( [前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfajaxuiwithshaleremoting13.html)で2つと紹介したが1つ忘れてた)をサクッとやっつけることにしよう。 まずは,double-selectコンポーネントが使用する2つのManagedBeanを…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (14)

· Shale

double-selectコンポーネントの動作確認を行うためのtest-dsプロジェクト作りも2回目となった。 [前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfajaxuiwithshaleremoting12.html)では,double-selectコンポーネントをページに配置するためのJSPファイルを作成し,double-selectタグの属性値としていくつかManagedBeanとの連携を記述した。今回は,連携するManagedBe…

Read more →

もう「6」かぃ。。。

· Java

気がつくと,Java2SEの6がリリースされていた。 「 [Java Platform, Standard Edition 6 Release](http://java.sun.com/javase/6/)」- java.sun.com 今回の目玉は,何といってもやっぱりスクリプトエンジンの搭載。時代は「強制と自由のマッシュアップ」に突入したということか。 APIだけどんどん先行してて,完全にAPサーバベンダーが乗り遅れている気がする(特にInternational Business Machi…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (13)

· Shale

Shale Remotingを使ったAjax対応JSFコンポーネントの作成も,今回で13回目を迎えた。かなり気合いが入ったエントリが続いているが,前回までの1〜12回で,double-selectコンポーネントができ上がった。今回からは,double-selectコンポーネントを利用するためのtest-dsプロジェクトを解説していこうと思う。 まずは,test-dsプロジェクトをどんなアプリケーションにするかだが,単純に1つのページにdouble-selectコンポーネントを配置して,左右のコ…

Read more →

師走だというのに

· Other

![google-search-history-20061207.jpg](http://www.eisbahn.jp/yoichiro/images/google-search-history-20061207.jpg) 昨日の俺は何を必死に求めていたのだろうか。。。orz…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (12)

· Shale

今回はdouble-selectコンポーネントの残り一つのファイルである,faces-config.xmlファイルを紹介する。このファイルをもって,double-selectコンポーネントは完成となる。加えて,maven2でのパッケージング&ローカルリポジトリへのインストールまで行うことにしよう。残念ながら,今回もAjaxやShale Remotingは関係しない。 まず,カスタムタグ,UIコンポーネント,そしてレンダラがどのように関連しているかを示そう。 ![jsf-comp-relati…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (11)

· Shale

今回は,JSFコンポーネント,特に値の入力が可能なコンポーネントを作る際の基礎知識と,実装方法について紹介していこうと思う。Shale Remotingを使用したAjax対応コンポーネントの開発がメインテーマだが,今回はAjaxもShaleも関係なく,JSFのみの話になる。実は, [前回のエントリ](http://www.eisbahn.jp/yoichiro/2006/12/jsfajaxuiwithshaleremoting9.html)でdouble-selectコンポーネントのAjax関…

Read more →

プログラマ度診断

· Other

職場の方からこんなサイトを教えてもらう。 「プログラマ度診断」 - [http://www7.plala.or.jp/keny01/consult/exam.html](http://www7.plala.or.jp/keny01/consult/exam.html) 僕の結果: あなたのプログラマ度は75%です。 あなたのプログラマ適正は RANK B で現在の適正としては  やや適正あり となります。 あなたは「できるプログラマレベル」です。現段階で適性は十分あります。普通にプ…

Read more →

interface命名にも発想の逆転を

· Java

例えば,何らかの値をセットすることができる,という性格を表現するinterfaceを考えてみる。セットすることができるんだから, public interface SomethingSettable { public void setSomething(int value); } というように,〜Settableという名前にすることが多かった。 「何かをセットできる」というのは,対象クラスを外から見たときの観点と言える。なので,「何かをセットできる性質」というのは,そのクラスの性質の説明と…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (10)

· Shale

[前回](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting8.html)までの説明で,double-selectコンポーネントのサーバでのレンダリング処理が行われるようになった。DoubleSelectRendererクラスのencodeBegin()メソッドによって,左右2つのselectタグがレンダリングされる。しかし,レンダリングされる内容の中で,いくつかJavaScript関数が登場したが,どれもdoubl…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (9)

· Shale

[前回](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting7.html)はdouble-selectコンポーネントのレンダリング結果を説明して終わってしまった。今回という今回は,レンダラクラスの説明を行おうと思う。前回紹介したレンダリング結果と対応させながら以降の説明を見ていって欲しい。 JSFコンポーネントをレンダリングする機能を持つクラスは,Rendererクラスを継承して作成する。double-selectコ…

Read more →

JavaScript流オブジェクト指向プログラミング - ITpro

· Java

JavaやCなどのオブジェクト指向言語とは異なるアプローチでオブジェクト指向を実現できるJavaScript。なかなか丁寧な解説が見つからないのだが, 「 [JavaScript流オブジェクト指向プログラミング](http://itpro.nikkeibp.co.jp/article/lecture/20061114/253669/)」 - ITpro は非常にわかりやすかった。プロトタイプ型のオブジェクト指向言語は,スクリプト言語という特性(=サクサク感&柔軟性)にぴったりだ。 ただし, そ…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (8)

· Shale

今回は,double-selectコンポーネントをレンダリングするDoubleSelectRendererクラスの解説を行おうと思う。その中で,Shale RemotingのAPIを使用してみる。 [前回紹介したDoubleSelectTagクラス](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting6.html)のsetProperties()メソッドによって,JSPに記述されたカスタムタグの属性値がUIコンポー…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (7)

· Shale

JSF+Ajax with Shale Remotingと題したエントリだが,やっとJavaコードの紹介を始めるときが来た。今回は,double-selectコンポーネントを構成する2つのクラスの一つ目,カスタムタグハンドラクラスについて解説しようと思う。 JSP実装のJSFコンポーネントを作成する際,それはカスタムタグの形態となるために,タグハンドラクラスを作成する必要がある。JSFでは,以下のどちらかのクラスを継承して作成する。 UIComponentTag - 本体部を持たない場合に使…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (6)

· Shale

「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting3.html)」で予告した内容を今回紹介しようと思ったが,あまり概論ばかりでも退屈なので,実際のコードを今回から解説していこうと思う。その中で処理の流れを見ていけばいいかな,と。 JSFコンポーネントのJSP実装はカスタムタグの形態をとるため,まずはタグライブラリディスク…

Read more →

デフォルトエンコーディングは廃止すべき!?

· Java

Javaでの開発が当たり前になり,Javaプログラマの数も豊富になってきた。しかし,それもここ2,3年のこと。つまり,大多数のJavaプログラマのJava経験年数も2,3年,長くても5,6年といったところだろう。このことは,多くのJavaプログラマがWebアプリケーションしか書いたことがないことも表している。 JDK1.0.2やJDK1.1を身をもって体験している「ベテラン(僕を含む)」が常識と思うことも,現在の多くのJavaプログラマは持ち合わせていない。「全く今の若者は・・・」とつい言ってし…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (5)

· Shale

「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting3.html)」で予告した内容を今回は置いておいて,大事なことを書くのを忘れていたので,今回はそれを先に取り上げる。 double-selectコンポーネントのJAR内の構成など,突然実装寄りな話に前回は終始してしまったが,肝心のdouble-selectコンポーネントを…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)

· Shale

「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (3)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting2.html)」で予告した通り,今回はdouble-selectコンポーネントの構成について紹介する。それを通じて,Shale Remotingが便利だと思う根本理由を説明したいと思う。 JSFは,コンポーネント指向であることは何度も本ブログで述べていることだが,ではJS…

Read more →

OL化

· Other

男がひざ掛け使ったっていいじゃないか!? ![200611200923000.jpg](http://www.eisbahn.jp/yoichiro/images/200611200923000.jpg) だって寒いんだもん。…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (3)

· Shale

「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (2)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting1.html)」で予告した通り,カスタムコンポーネントを開発するための開発環境の構築について紹介する。NetBeansを使えば簡単にJSFを使った開発をすることができるが,Maven2との連携がとれないことや,やっぱりEclipseは多数派だろうと思うので,ここではEcl…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (2)

· Shale

「 [JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)](http://www.eisbahn.jp/yoichiro/2006/11/jsfajaxuiwithshaleremoting.html)」で予告した通り,さっそく作成するコンポーネントはどういったものかを紹介しよう。コンポーネントの内部動作を把握できれば目的達成なので,最低限かつ再利用可能な機能とする。 題して「DoubleSelectコンポーネント」。 DoubleSelectコンポーネント…

Read more →

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)

· Shale

最近のWebアプリケーションの開発(特にスクラッチから作れる案件)では,AjaxによるWeb2.0的なユーザインタフェースを採用することがほとんどではないだろうか。HTMLの標準フォーム部品に加えて,JavaScriptと非同期通信を使ったWebブラウザ上でのインタラクティブな動作が好まれるようになった。逆に言うと,実装者にとっては,例えばJSPを使ってHTMLを組み立てるだけではなく,JavaScriptまで面倒をみないといけなくなる。必要とする知識やコーディングの量が増えてしまうわけで,シス…

Read more →

錆びないもの

· Other

久々に突然,THE YELLOW MONKEYの「JAM」が聴きたくなって,プロモ流しながら自分の部屋で思わず熱唱。 いい曲だ。初めて聴いたときの印象と変わらずにいつも聴くことができる,数少ない曲の一つである。…

Read more →

Children = Kids?

· Java

コンポジットなオブジェクトの構造を辿るときに必ずと言っていいほど見られるメソッド,getChildren()。これを変数で受けるとき,あなたなら変数名をどう命名するだろうか? Hoge hoge = ...; Collection children = hoge.getChildren(); まぁこれが多数派だろう。僕も今までこうしてた。しかし,JavaServer FacesのSun RIは違った。 Hoge hoge = ...; Collection kids = hoge.get…

Read more →

GlassFishがちょっぴり身近になるらしい

· Java

Redhat Linuxの牙城を崩すつもりでいる(だろうと思われる)Canonicalが,Ubuntu(うぶんちゅ?)ディストリビューションにGlassFishをバンドルすることを決定した。 「 [Ubuntu maker to distribute Sun's Java](http://news.com.com/Ubuntu+maker+to+distribute+Suns+Java/2110-73443-6133411.html?tag=html.alert)」 - CNET News.co…

Read more →

全ジョブへの共通情報の渡し方

· Quartz

[Quartz](http://www.opensymphony.com/quartz/)によってジョブ(Jobインタフェースの実装オブジェクト)が実行される場合,JobオブジェクトにJobExecutionContextオブジェクトが渡される。これは,サーブレットのServletContextオブジェクトと同様に,実行対象のJobオブジェクトの状況(まさにコンテキスト)の情報が保持されている。 各ジョブのSchedulerへの登録は,Jobクラス(のサブクラス)のクラスオブジェクト(HogeJ…

Read more →

ついにモバイル環境を我が手に取り戻せるのか!?

· MacBook Pro

「 [MacBook Proのモバイル通信に救いの手が](http://kazu-style.com/blog/2006/10/24/1161686340000.html)」- :::kazu-style.com::: やったぁ!久しく1パケットも通信せずに料金だけしっかり払い続けてきたモバイル環境が,僕の手に戻ってきそうだ。Macbook Proを買ってから半年以上,いやぁ,長かった。 でも,もう長期出張,終わっちゃったんだよなぁ。。。orz…

Read more →

実装者を職人にするために

· Java

COBOL全盛の時代は,1つのメーカによる統一的な「閉じた」アーキテクチャだったために,ロックされたベンダーが提供する技術情報を身に付けるだけで,多くの案件をこなすことができた。それに,COBOLをやったことのある人ならわかると思うが,OSやデータベースなどによって提供されるサービス(トランザクションモニタやロギングなど)は非常に手厚く,しかも個々のプログラムで全く意識する必要はなかった。1プログラマから考えたら,COBOL全盛時代の方が現在よりも,よっぽどEoDの恩恵に預かることができていたと…

Read more →

Quartzでのジョブ重複起動の抑止方法

· Quartz

バッチ処理に欠かすことのできないジョブスケジューラ。特にJavaの場合は,JavaVMというプロセス自体が重厚なために,個々のバッチプログラムをそれぞれJavaVMプロセス起動で実行することは,バッチプログラムの本数が多くなればなるほど非現実的になる。そのために,一つのJavaVM上でのジョブスケジューリングが基本となり,つまり各バッチ処理をプロセスとしてではなく,スレッドとして実行する基盤が欲しくなってくる。 スレッドを使用したことのある開発者であれば,必要最低限なジョブスケジューリングの基盤…

Read more →

Teeda - 日本発JSF実装

· Java

「 [今の最適解とは何だろう?](http://www.eisbahn.jp/yoichiro/2006/11/post106.html)」というエントリにコメントを寄せて頂いた中で,「Teedaは近いんじゃん?」という意見を頂いた。存在は知っていたけど,単なるJSFの1実装に過ぎないという軽い認識しか持ってなかったので,改めてSeasar FoundationのページでTeedaとは何かを見てみた。 「 [Teeda - JSF meets DI and AOP -](http://teeda…

Read more →

メインがこれじゃあオマケじゃん

· Other

名古屋でオーダーした「ネギトロ丼定食」。 ![200610271257000.jpg](http://www.eisbahn.jp/yoichiro/images/200610271257000.jpg) まるで「スタミナランチBでライスはミニネギトロ丼に変更でお願い」である。恐るべし。…

Read more →

今の最適解とは何だろう?

· Java

POHPが使えて,Ajaxなリクエストを素直に受け付けられて,DIコンテナとの連携ができて,コンポーネント指向&イベント指向で,ほとんどPOJOでJavaコードが構成されて,サーバサイドでスクリプトも駆動させられて,設定ファイルが少なく,AOPも噛ませられて,プログラマにとって敷居が低く,ユニットテストもしやすくて,運用に耐えられて,JavaEEにできるだけ準拠していて,将来的に安心なもの。 ・・・誰か助けてくださぁぁぁぃ! orz…

Read more →

shale-usecasesでのAjaxリクエストの処理過程

· Shale

JSFを利用したアプリケーションを作るための一つの現実解として,Shaleが挙げられる。Shaleにはshale-usecasesと呼ばれる簡単かつ要点を非常に良く突いたサンプルアプリケーションが公開されているが,Ajaxによる要求に対してShaleがどのように対処しているのかを追ってみた。 [郵便番号から町&州を取得する] zipCode.jsp内のHTMLのコンボボックス(h:selectOneMenu)の選択状態がユーザの操作により変化する。 onchange属性にて指定されたzi…

Read more →

復活の日

· Other

来月から東京に戻ることに決定。 1〜2月: 野田(大阪) 3〜9月: 飯塚(福岡) 10月: 名古屋(愛知) 実は,土日は必ず埼玉で過ごしていた。つまり,単純計算として, 新幹線: 20回以上 飛行機: 50回以上 という回数だけ交通機関を使ったことになる。すっげー。 思ったよりもタフな自分に気がついた10ヶ月間だった。…

Read more →

TDDの守備範囲

· Java

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

Read more →

TranslationView再公開のお知らせ

· Eclipse

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

Read more →

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

· Java

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

Read more →

Java Persistence API時代到来!

· Java

Javaの世界の中で老舗かつ最も使われているであろうO/Rマッピングライブラリの [Hibernate](http://www.hibernate.org/)が,3.2にバージョンアップした。 [Red HatのJBoss,Java Persistenceに対応したORMソフトの新版「Hibernate 3.2」](http://itpro.nikkeibp.co.jp/article/USNEWS/20061017/250798/) - ITpro このリリースにより,HibernateをJ…

Read more →

java -versionの出力先って

· Java

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

Read more →

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

· Java

Apacheのサイトはプロダクトがよくまとめられて掲載されているが, [Strutsをはじめとするオープンソースプロダクト情報](http://www.arksystems.co.jp/closeupit/struts/article00103.htm) といったサイトは何気に重宝する。 [3](http://www.arksystems.co.jp/closeupit/struts/article00103.htm), [4](http://www.arksystems.co.jp/clos…

Read more →

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

· Java

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

Read more →

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

· Java

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

Read more →

福岡勤務終了!

· Other

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

Read more →

撃ち込め!

· Other

USB制御可能なミサイルランチャー発売。 「 [実弾発射と姿勢制御可能なUSB接続ミサイルランチャー発売](http://www.watch.impress.co.jp/akiba/hotline/20060715/etcusbmissile.html)」 - AKIBA PC Hotline! 各プロジェクトメンバーの座席に到達させるための角度および方向をDB化し,コンパイルエラーなコードをCVSにコミットかけた不届き者をCruiseControlで自動検知,その直後に「lock-on & f…

Read more →

飛行機の離陸を延滞させる乗客

· Other

今日も福岡行きの飛行機の搭乗口の前で,のんびりとパソコン三昧。一本前のリムジンバスに乗ってきたので,登場まであと1時間30分以上もある。 ふと隣の搭乗口を見ると,なにやら乗客(スキンヘッドのいかにも厄介そうな人)が航空会社の職員に詰め寄っている。聞こえてくる言葉は, 「間に合う時間に来てんだろーが」 「なんだぁ?その口の聞き方は」 というもの。搭乗の時間に現れなかった人がいた場合,個人名で呼び出しをして早く搭乗するように促すのだが,確かに1人呼び出しをしていたので,その人だったのだろう。原因はよ…

Read more →

カタログページにDojoあり

· dojo

「 [カタログページに関するサーバ側の風景](http://www.eisbahn.jp/yoichiro/2006/08/post98.html)」のエントリで説明したカタログページの表示のためのサーバ側の処理は,サーブレットとJPA(Java Persistence API)の組み合わせによって実装されていた。CatalogServletサーブレットでは,Webブラウザからの要求情報に含まれるcommandパラメータの内容によって処理分岐し,CatalogFacadeインスタンスの所定の処理…

Read more →

vs. Fly

· Other

一気に暑くなったせいか,プロジェクトルームに小ハエが大量発生。いくら撃墜しても,まさに「ハエのように」次から次へと飛来してくる。何かを食べ始めたときには,2,3匹は飛んできて,自分の回りを高速で旋回する。 あまりの数の多さに,業務に支障をきたしている状態だ。 そこで対策を始めた。誰しもが「おばあちゃんち」で見たことがある伝統の兵器「ハエ取り紙」。 ![fly2.jpg](http://www.eisbahn.jp/yoichiro/images/fly2.jpg) あまりひっかけられるところが…

Read more →

飯塚の暑さって

· Other

羽田→福岡までスカイマークでひとっ飛び。さらに地下鉄で博多まで移動。博多駅のホームで20分ほど待つが,ほどよく風が気持ちよく,冷たい缶コーヒーを飲みながら「あぁ,また来てしまった,九州に」と心の中でつぶやく。 そして新飯塚に電車が到着。扉が開いた瞬間に・・・。 熱風。マジで溶鉱炉に飛び込んだのかと思った。噂には聞いていたが,ここまでとは。サウナの中で,うちわで常に扇がれている気分である。びっくりした。ホントにびっくり。 熊谷と変わらないかなぁ,と思っていたが。。。甘かった。…

Read more →

カタログページに関するサーバ側の風景

· PetStore

PetStoreのトップページからペットの種類を選んだ後は,ペットのカタログページが表示される。このカタログページは,Webブラウザに対する操作に反応して実行される処理のほとんどが,ページ遷移を伴わない非同期通信で実現されている。ここでは,Webブラウザからの処理要求を受けとるところから結果を返却するまでのサーバ側の処理について見ていく。 カタログページからの処理要求は,CatalogServletクラス,つまり自作のサーブレットによって受け取っている。特別なフレームワークや機構などを使っている…

Read more →

ん?POJOじゃないの?

· PetStore

PetStore 2.0 ea1内で使われているCategoryクラスのコードの冒頭は,以下のような感じ。 package com.sun.javaee.blueprints.petstore.model; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Category implements java.io.Serializable {      private S…

Read more →

Eclipseパーフェクトマニュアルに寄稿しました

· Other

今月発売の「 [Eclipseパーフェクトマニュアル Vol.6](http://www.gihyo.co.jp/magazines/eclipse)」に, [ハウインターナショナル(株)](http://www.haw.co.jp/)の高橋氏と私で執筆した記事が掲載されている。Javaの発表当時からWeb2.0に至るまでのJava技術動向の変化と,それに追随してきたJavaIDEの歴史,そして現在のEclipseプラグイン群の紹介と将来の展望について,2章に渡って解説をしている。 ここで,まず…

Read more →

PetStoreで使われている「FisheyeList」Dojoウィジェット

· dojo

Java PetStoreのトップページは,ペットの種類を選択する画面となっている。この画面では,中央に鳥のイメージとその周囲に各ペットの種類を表すイメージが配置されている。そして何よりも目を引くのが,左側にあるペットの種類のイメージリストだ。この中にマウスカーソルを合わせると,マウスカーソルの下にあるイメージが盛り上がるようにズームアップされる。更にマウスカーソルを上下に移動させると,その盛り上がりがマウスカーソルに追随されるような効果を見ることができる。まるで,Mac OS XのDockのよ…

Read more →

PetStoreはDojoでいっぱい

· dojo

「 [Java PetStore 2.0ea1のインストール](http://www.eisbahn.jp/yoichiro/2006/07/javapetstore20ea1.html)」によって動作を開始したJava PetStore。画像のエフェクトの種類が多く,触っていてなかなか面白い。どこでAjaxが使われているのか,さくっと触っただけではよくわからないが,Webブラウザ上でスクリプトが盛り沢山なのだけは明確にわかる。あまりスクリプトを書いたことのない僕としては,なかなか手ごわそうだ。…

Read more →

Java PetStore 2.0ea1のインストール

· PetStore

前回の「 [Java PetStore 2.0ea1のための環境準備](http://www.eisbahn.jp/yoichiro/2006/07/javapetstore20ea11.html)」エントリの内容で,NetBeansとGlassFishの準備は整っている。さて,いよいよJava PetStoreのインストールを行う。Java PetStoreは,NetBeansのプロジェクトとして作成されているので,子の環境であれば簡単に動作確認までもっていくことができる。 まずはJava P…

Read more →

Java PetStore 2.0ea1のための環境準備

· PetStore

最近Java PetStoreの2.0ea1を探り始めている。これはSunの今後のアプリケーション構築方針の具体例であり,J2EEアプリケーション開発従事者であれば,抑えておかなければならないコードだろう。完全に時代の最先端に乗り遅れている感が否めないので,その近道としてWeb2.0対応PetStoreをしばらくは見ていく。 ここでは,PetStoreを追っていくための環境の構築について,手順を示してみようと思う。ちなみに,Mac前提だ。 PetStoreはSun純正なので,やっぱりNetBea…

Read more →

迷いに迷う「次の一手」

· Java

最近,ソフトウェア開発の難しさを特に感じている。本当にソフトウェア開発は難しく,そして複雑だ。ことJavaに関しては,年々その複雑さが増すばかりで,EoDなど遠くの彼方な気がしてならない。それなのに,どこもJavaを選択した案件ばかりである。 しかも,技術的に複雑になってきているのに,プログラマのレベルは年々下がってきている気がする。最新技術の複雑さに追随できているプログラマなど,ほんの一握りである。多くのプログラマは,自ら技術の習得に励むような姿勢を見ることはできず,目の前の案件の仕様を何とな…

Read more →

自動生成に対する姿勢がスキルレベルを表現する

· Java

自動生成ツールに悪い印象を持っている人間は,現状把握や問題の詳細を聞くことなく,ちょっとした自動生成に関するトラブルが起きたということを聞いただけで全否定を試みる。問題の発生はどんな開発手法をとってもあり得ることであり,問題に対する解決策とその効果の蓄積が今日のIT業界では重要視されるべきなのに,それすら行おうとせずに拒否反応を示す。 相手のスキルや性格,開発に対する正しい姿勢を持っているかどうかが,自動生成に対する姿勢としてはっきりと現れる。自動生成は,開発プロセス,実装技術,保守,運用,品質…

Read more →

実装リーダーという存在

· Java

ソフトウェア開発という作業は,(ウォーターフォールやイテレーションなどの単位は抜きにして)設計から実装という流れに沿って行われる。業務的な設計から,最終的にはコンピュータ語に翻訳し,ソフトウェアという成果物を作り出すための「プログラミング」という作業が必ず存在する。 近年,プログラミングを軽視している組織やプロジェクトが非常に目に付くようになった。 プログラミングという作業は,日々の経験と,それによって蓄積されるパターンをどれだけ多く持っているか,が鍵だ。「○○ということをしたければ,△△という…

Read more →

癒し系プログラミング

· Java

高いモチベーションを維持していくための工夫。 ![font.gif](http://www.eisbahn.jp/yoichiro/images/font.gif) たまにはいいもんですよー。…

Read more →

Eclipseプロジェクトのインポート

· Java

EclipseからNetBeansに乗り換えようと考えている今日この頃。Eclipseで作ってきたプロジェクトを,NetBeansに簡単に移行できると嬉しいが,NetBeans初心者にとっては右も左もわからない。さっそくGoogle先生に問い合わせる。 なんとも戦略的な感じを受けるが,EclipseのプロジェクトをNetBeansにインポートするためのモジュールが提供されているのを見つけた。その名も「Eclipse Project Importer」。 インストール手順は以下のような感じ。 1.…

Read more →

スカイマーク最悪!

· Complaining

価格の低さから,羽田と福岡の往復にスカイマークエアラインズを使用している。しかし,今月に入ってから, 出発2時間前に機材点検のため欠航決定 出発30分前に機材変更で1時間出発遅延決定 と,立て続けに予定変更を食らっている。直前になってそんなこと言われても,どう対処しろと言うのか。 機内サービスがないことや,欠航時の対応などについても,安いという理由で何とか納得できる。しかし,予定変更が直前過ぎることは,納得ができない。安全を第一に考えているのなら,より前々から点検をしておくべきではないの…

Read more →

自動生成という言葉を聞いてどう思いますか?

· Java

「自動生成」という言葉を聞いて,これをお読みのあなたなら,どんな印象を持つだろうか? 最近本職で僕は「自動生成」という言葉をよく口にするし,積極的に自動生成を行うようにしている。ロジックを自動生成することも極々たまにあるが,ほとんどの場合はXMLファイルやクラスの雛形を設計書から生成してあげるだけである。自動生成しすぎは良くない。設計書の体形とアーキテクチャを合わせて,それに機械的な規律を持たせ,更にXML地獄から救ってあげる,これが今考えている自動生成の醍醐味である。 しかし,「自動生成」とい…

Read more →

ウ○トラマン? in 1989

· Gymnastic

![ultra-man.jpg](http://www.eisbahn.jp/yoichiro/images/ultra-man.jpg) 1989年の中学生時代の風景。もちろん空を飛んでいるのが僕。 これは運動会での一コマ。久しぶりに昔のビデオを見る機会があって,キャプチャしてみた。左下にミニトランポリンが見えるが,僕に課せられた使命は「3段ピラミッドを美しく飛び越えろ!」。足も伸びていて,なかなか姿勢が良い。 前の日のリハーサルで,トランポリンの編み目の部分に足を突っ込んでしまい(まるでコン…

Read more →

ドキュメントを読んでもらうためには

· Java

ソフトウェア開発とは,非常に難しい作業である。しかも,一人で行うことは稀であり,ほとんどの場合は複数人での作業となる。ただでさえ難しい作業なのに,チーム開発というハードルが加わることによって,その難易度は計り知れないものになる。そして,失敗したときのダメージも・・・考えただけで恐ろしい。 そこで,開発作業を滞りなく進めるために,多くの工夫が行われる。標準化であったり,規約の策定であったり,チームの細分化であったり,更にはアジャイルや統一プロセスなどの適用といった何らかの開発プロセスの採用など,あ…

Read more →

浮気しようかなぁ

· Java

新しい恋人候補が非常に気になる今日この頃。「とってもいいらしいよ」という評判しか聞こえてこない。僕のパートナーとなり得るのかどうか,試してみたくなった。 ![netbeans-exception.gif](http://www.eisbahn.jp/yoichiro/images/netbeans-exception.gif) さっそく嫌われたっぽい。。。orz これは,NetBeans5.5のβ版をMacOS Xにインストールして,新規プロジェクトの作成をしようとしたときの現象だ。MacOS…

Read more →

モッククラスにおける匿名クラスの利用

· Java

「 [最近の開発者は匿名クラスを知らない](http://www.eisbahn.jp/yoichiro/2006/05/post87.html)」のエントリで,以下のように書いた。 単体テストのコードを書く際には,匿名クラスを使ったテクニックが非常に有効だったりする 特にモッククラスを作るときに,僕は匿名クラスを良く使う。 最近のSSH(Struts+SpringFramework+Hibernate)などでは,3層構造(Web+Service+Dao)における中間のService層の単体…

Read more →

最近の開発者は匿名クラスを知らない

· Java

最近の開発者は,内部クラスは使ったことがあっても,匿名クラスを使ったことがない(あるいは知らない)らしい。 匿名クラスは,JDK1.1から採用された文法である。簡単な例は,下記のような感じ。 JButton btnOk = ...;btnOk.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent event) {    // イベント処理  }}); このように記述することによって,…

Read more →

僕が目指す開発者像

· Other

今月号のan・anは,毎年一番売れるという今ではお決まりの特集が掲載されている。そんな特集の初回がどんな内容だったのか,以下のエントリで紹介されている。 [[雑記]うわさのananセックスとくしゅう](http://d.hatena.ne.jp/mellowmymind/20060530/p1) - Mellow My Mind 有名人のインタビュー,何言ってるか確かにわからない。けれど,有名人になるには,あれくらい言ってのけないとダメなのかも。 では,僕も。 「確かにStrutsは人間の本…

Read more →

EclipseベースなJBuilder開発進行中!

· Eclipse

今日の@ITでこんなニュースが。 「 [EclipseベースのJBuilder、2006年第4四半期に登場予定](http://www.atmarkit.co.jp/news/200605/26/borland.html)」 - @IT 来たぁぁ!って感じ。遂にEclipseはここまで来たか,と。Borlandは一般市民(=普通の開発者)を見捨てていなかった。 記事の内容を見ると,次のように書かれている。 Pelotonの大きな特徴は、Eclipse上でJBulderが得意としてきた大規模な分…

Read more →

見える化の第一歩

· Java

![200605240906000.jpg](http://www.eisbahn.jp/yoichiro/images/200605240906000.jpg) ホントは文字を誰かに手書きしてもらおうかと思ったが,今回は断念。まだ全タスクを貼り付けていないので,ちょっと寂しいが,本当の量はこんなもんじゃないはず。 黄色の付箋紙でタスクを表しているが,問題発生時は脇に水色の付箋紙を貼るとか,いろいろと見える化ができそうな予感がする。ずっとこのままだと意味がないけど。。。 2週間後どうなっているの…

Read more →

寿命が伸びた?

· Other

火曜日: 埼玉→飯塚(福岡県) 飛行機 水曜日: 飯塚→大阪 新幹線 木曜日: 大阪→埼玉 新幹線 移動ばっかり(w 相対性理論によれば,みんなから見れば僕は寿命が伸びているはず。 ちょっと嬉しいかも。…

Read more →

Ajaxを使うとOracleがいらなくなる?

· Java

「 [ヤマトリース、Ajax使いコスト5分の1で中古車売買サイトを構築](http://itpro.nikkeibp.co.jp/article/NEWS/20060516/238016/)」 - IT pro Enterprise Ajaxには、Webブラウザとサーバーの間でXML形式のデータをやり取りすることで、Oracleなどのデータベース管理システムを導入しなくても高度なデータ管理ができるという特徴がある。 そんなバカな(w。 あまりにも説明不足だし,Ajaxとバックボーンにある企…

Read more →

フレッツスポット in 羽田空港

· My PC environment

というわけで,羽田空港からエントリしてみる。速度もかなりいい感じ。200MBのファイルを5分かからずにダウンロードできた。200MBのファイル,別に如何わしいものではなく,Java Studio Creator2のMacOS版。上空でインストールにチャレンジの予定。 早く記事仕上げなくちゃ。がんばれ,おいら!…

Read more →

集中できる場所

· Other

それは,宇都宮線のグリーン車の中。しかも酔っ払いがいない空いているときの車内。あとは,羽田と福岡の間の飛行機の中。しかも何故かスカイマークエアラインズの機内。 自分の部屋とか,会社とか,ゆっくりと仕事に打ち込めるはずの部屋の中では,何故か気が散るし,集中力は低下傾向。それよりも,高速で移動しているときの方が,かなりの集中力を発揮する。そのため,僕の感覚では,いつも羽田から福岡までの所要時間は,30分以内(離陸→水平飛行,水平飛行→着陸のPCを使えない時間)だ。宇都宮線の蓮田→上野なんて,「あれ?…

Read more →

Strutsの次にくるもの

· Java

最近の仕事の中で,何らかのシステムを作るときには,問答無用でWebアプリケーション,そしてStruts採用,という感じがほとんどを占めている。これは,多くのSIerがきっとそうだと思う。とりあえずStrutsを選んでおけば安心だ,と言った感じだろうか。開発者も集めやすいし,事例や自分自身の経験もたっぷりだ。中,大規模案件でも,それに対応できるだけの問題対処パターンは豊富だし,別段ネットで調べなくとも,だいたい自分の経験値の中で解決できている。 しかし,そろそろ次のステップに行かなければならないな…

Read more →

Googleサイトのリンク反応

· My PC environment

昔から思っていたことだが・・・。 Googleの検索や検索結果のリンク押下って,80%くらいの高確率で,3回連続して要求を出さないと応答が返ってこない。検索窓にキーワードを入れて[ENTER]キーを押しても,1回ではほぼ応答はなく,2回目の押下時も同じ。3回目に[ENTER]キーを押すことで,やっとレスポンスが返ってくる。 検索結果の各サイトのリンク押下や,ナビリンク(「次へ」とか)についても,1回でちゃんと反応してくれることはまずない。3回押して初めて応答してくれる。もう完全に自分の癖になって…

Read more →

「基礎から作るMovable Typeブログデザイン」

· Other

このブログのデザインは,「基礎から作るMovable Typeブログデザイン」という書籍を参考にして作成した。 amazonリンク ここから [![基礎から作るMovable Typeブログデザイン―オリジナルBlogをデザインすることからはじめよう](http://images.amazon.com/images/P/4883374505.01.SCMZZZZZZZ.jpg)](http://www.amazon.co.jp/exec/obidos/ASIN/4883374505/ecli…

Read more →

オフィスソフトのファイル形式ODFがISO標準に

· Java

OpenOffice.orgから誕生したOpenDocument Format(ODF)が,このほどISO標準となった。 [オフィス・ソフトのファイル形式ODF(OpenDocument Format)がISO標準に](http://itpro.nikkeibp.co.jp/article/NEWS/20060504/236970/) - ITproより 記事によると,既に幾つかの標準規格として採用されていたようだ。 XML関連の標準化団体OASIS(Organization for the…

Read more →

オブジェクト指向が表に出るべきではない?

· Java

オブジェクト指向全盛時代,これはソフトウェア開発者であれば当たり前の言葉であり,その恩恵を受けている人が大半である。しかし,一般人にとってもオブジェクト指向は身近な存在であり,けれどそれはマイナスな効果を生んでいると思う。 オブジェクト指向は,情報とそれに対する操作をセットにすることが基本である。つまり,何かをしたいときは,対象のオブジェクトを探すことから始めるのである。行いたいこと,つまり関数にその対象物を渡すことから,対象物に対して関数を呼び出すという発想の転換は,今日のコンピュータの環境(…

Read more →

ITシステム開発プロジェクトはもっとオープンになるべき?

· Java

arclamp.jp「 [SpringFramework利用実績公開](http://www.arclamp.jp/blog/archives/000818.html)」より: 今後の課題は、DIコンテナを前提としたアーキテクチャ設計のノウハウを集積することでしょう。DIコンテナは紹介期が終わり、普及に向けて"正しい使い方"に注目をしていくフェーズになっています。 DIコンテナ,実際の開発の現場では,まだまだ誤解というか,うまく使えない(使い方がわからない)人で溢れていると思う。「明示的にg…

Read more →

ロバストネス駆動開発?

· Java

過去に「 [ロバストネス図113枚!!](http://www.eisbahn.jp/yoichiro/2005/05/113.html)」でも取り上げたが,最近ロバストネス分析を設計の入り口にすることが多くなった。バウンダリ,コントローラ,エンティティという3つのステレオタイプは,今日のWebアプリケーションのアーキテクチャにかなりしっくりとくる。統一プロセスでも,ユースケースからクラスの発見をするために,ロバストネス分析をすることが推奨されている。 ロバストネス分析の結果のロバストネス図は,…

Read more →

すべてのブログ読者に誓う

· Other

もう無駄使いはしない!!まともな大人になる!! 毎日皆さんで僕を監視し,ちょっとでも隙があれば突っ込んでください。   「無駄使いをするなっ!いつまで遊んでるんだっ!?」 と。…

Read more →

Struts1.3.1変わりすぎ!

· Java

各所でStruts1.3.1のリリースを告げる記事がこの前から掲載されている。Javadocでも見てやろうと,Apacheのサイトに覗きに行って みた。 Struts1.2.8 org.apache.struts   org.apache.struts.action   org.apache.struts.actions   org.apache.struts.config     org.apache.struts.config.impl   org.apache.struts.plugin…

Read more →

~Util?~Utils?

· Java

気がつくとポコポコ作られているユーティリティクラス。staticなメソッドの集合という傾向が強いが,このクラスの命名にいつも悩んでしまう。 ~Util?それとも,~Util s? ユーティリティメソッドの集合という点では,「s」を付けた方が正しいのかも。最近のオープンソースな感じだと,「s」が付いている場合が多い気がする。 うーん。。。…

Read more →

「それもいいねぇ♪」by Vodafone

· Java

最近流れているVodafoneのCMから:   [「それもいいねぇ♪」](http://www.vodafone.jp/japanese/cm/asx/jikkan15300k.asx) かなりこれっていい言葉である。携帯で話している二人は,きっとそれぞれの希望を言っているんだろう。しかし,相手の希望に対して「私の希望もあるけど,あなたの希望も激しく同意」って心底思っての「それもいいねぇ」なんだと思う。とても「それはいやだなぁ」なんて雰囲気は,CMからは感じられない。かなりのポジティブ会話のよう…

Read more →

SynergyでWindowsからIntelMacを操作!

· MacBook Pro

仕事上,2台のPCを一つの机の上で操るのが,僕の普通である。デスクトップとノートの組み合わせになるので,「 [どこドア2](http://quickware.a-quest.com/dkdr2/about.htm)」というソフトを使って,デスクトップのキーボードとマウスを使って,となりのノートPC(Windows)を今までは操作していた。 しかし,先月から僕のパートナーは,MacBook Proに変わった。そうなると,「どこドア2」は当然使えない。しかし,デスクトップからノートを操作する快適さは…

Read more →

成分解析結果

· Other

田中 洋一郎の [成分解析結果](http://tekipaki.jp/~clock/software/index.html) : 田中 洋一郎の27%は下心で出来ています。 田中 洋一郎の22%は税金で出来ています。 田中 洋一郎の19%は鉛で出来ています。 田中 洋一郎の17%は株で出来ています。 田中 洋一郎の11%は知識で出来ています。 田中 洋一郎の2%はむなしさで出来ています。 田中 洋一郎の1%は希望で出来ています。 田中 洋一郎の1%は果物で出来ています。 --- 下半身とお金で…

Read more →

Fedora Core 5導入!

· My PC environment

自宅のサーバを,Fedora Core 4からFedora Core 5に移行した。アップグレードではなく,クリーンインストールを敢行。全部で6時間くらいかかってしまったが, MovableType DNS VNC Postfix+Dovecot という最低限の環境を復活させた。 これが,ログイン画面。 ![fedora5-1.gif](http://www.eisbahn.jp/yoichiro/images/fedora5-1.gif) これが,GNOMEの画面。 ![f…

Read more →

専門用語

· Gymnastic

・ガンバ!   応援の言葉(同級生以下に対して) ・ガンバイス!   応援の言葉(先輩以上に対して) ・セィ!   演技のタイミングに合わせて叫ぶかけ声 ・ショー!   演技の終わりのかけ声(同時に拍手) ・タンマ   炭酸マグネシウム(白い粉)のこと ・レントゲン   跳馬(跳び箱)に全速力で正面衝突した様を表現した言葉 ・スワン   伸身(体を反った)状態 ・ドッペル   2回宙返り(ドイツ語) ・サルト   ムーンサルト(2回宙返り1回ひねり)の略 ・腰バキ   着地時などに腰をあり得ない…

Read more →

NiftyServeが終わっちゃう

· My PC environment

僕の最初のコンピュータでの通信の相手は,Nifty-Serveだった。忘れもしない大学2年のとき(1994年),当時福島県の大学に行っていた僕は,「いっちょんちょん」のモデムを電話回線につないで,Nifty-Serveのアクセスポイントに接続した。今では考えられない完全なキャラクタベース。ホストにつないでも,殺風景なNifty-ServeのWelcomeメッセージが表示されるだけだ。しかし,その奥には自分の知らない無限のデータベースがあって,いろんな人が実名で思い思いのことを書いているその場は,…

Read more →

クラス図は何も語らない

· Java

UMLはすっかりオブジェクト指向プログラミングの構造を図示するためのスタンダードとなった。その中でも,特にクラス図とシーケンス図に関しては,書く機会が多いのではないだろうか。しかし,だからといって,それがプログラマに伝える情報の量は微々たるものである。 ソフトウェア開発プロジェクトにおいて,近年では「基本設計=外部設計」「詳細設計=内部設計」というパターンが多い。ここでいう外部設計とは,システムを外から見たときの振る舞いの定義を指し,内部設計とは,システムの内部の振る舞いの定義を指す。つまり,こ…

Read more →

自動生成すりゃいいじゃん

· Java

「自動生成」という言葉を聞くだけで,過剰反応する開発者がとても多い。反対する人のほとんどは,「自動生成の有効性が明確ではない」という理由である。なぜそう考えてしまうのか,ちょっと考えてみた。 ソフトウェア開発は,設計から実装,つまり設計書からソースコードへの変換作業であることは,改めて言うまでもないことだ。ただし,多くの現場で,それは成り立たない。設計書が正しく記述され,メンテナンスが継続的に行われることは少なく,納品時に残っているものは実装だけ,なんて状況も少なくない。 この状況が発生するのは…

Read more →

enum型のコメント

· Java

JDK5.0から新しく加わったenum型。例えば,Webアプリケーションでよく出てくるスコープの種別について,以下のように定義したとする。 / スコープの種別を持つ列挙型クラスです。 @author yoichiro / public enum Scope {   CONTEXT,   SESSION,   REQUEST,   PAGE } このコードでは,この列挙型自体のJavadocコメントを記述している。この状態でJavadocを出力しても,各識別子のコメントは出力されない。あれ…

Read more →

JAVA PRESS Vol.47に寄稿しました

· Java

JAVA PRESS Vol.47の巻頭特集「みんなのためのJavaルールブック 初心者もそうじゃない人も全員集合!」に寄稿た。この中の「第6章:基本パッケージを使いこなせ!」が,僕が書いた記事だ。 JAVA PRESSは,この号を持って隔月での出版が最後となる。今後は,不定期出版となるため,この号は特別な意味を持っている。完全に市民権を得たJavaについて,最後に言語としてのJavaをまとめてみよう,というのが主旨である。 そのため,僕も日頃思っていること,特に多くのJavaプログラマに対して…

Read more →

IntelMacでWindows XPをブート成功!?

· MacBook Pro

前のエントリ「 [Windows2000 on QEMU in IntelMac](http://www.eisbahn.jp/yoichiro/2006/03/windows2000onqemuinintelmac.html)」にて,エミュレータを使ったWindowsの動作が可能なことを紹介した。しかし,IntelMacに直接Windowsをブートさせるのは,非常に困難だと言われていた。 しかし,ついにそれが可能になった模様だ。 [Windows XP on an Intel Mac](ht…

Read more →

カットオーバーという瞬間

· Java

長年ソフトウェア業界で仕事をしているが,自分が携わった案件がカットオーバーとなり,一般に利用される瞬間に立ち会ったという経験は,実はあまり多くない。社内の業務システムについては納品&稼働開始の現場にいた経験はあるが,それも数えるほど。パッケージの開発の方が多かったこともあり,実際に自分が作ったものを使ってもらえているという実感を直接体感したことは,皆無に等しい。 昨年に関わった某顧客のシステム開発でも,結局途中で他の案件に移動となり,最後まで携わることができなかった。風の噂で,そのシステム開発が…

Read more →

Eclipse on IntelMacにWTPインストール

· MacBook Pro

「 [IntelMacでEclipse](http://www.eisbahn.jp/yoichiro/2006/03/intelmaceclipse1.html)」でインストールしたEclipseだが,Webアプリケーション開発がほとんどを占める最近では,WTP(Web Tools Platform)が欠かせない。ただし,All-in-oneなWTPは,WindowsとLinuxしか提供されていないため,MacOS XではEclipseを入れた後で別途WTPを入れなければならない。 幸い,WT…

Read more →

IntelMacでEclipse

· MacBook Pro

Javaの開発に欠かせないEclipse。もちろん昔からMac版は提供されてきたが,ネイティブバイナリのSWTがPowerPC向けのものなために,そのままではIntelMacでは動作しない。 そこで,SWTをユニバーサリーバイナリとしてリコンパイルしたものが,EclipseのBugデータベースで提供されている。 [Bugzilla Bug 98889 Add support for Mac OSX (X86/Intel)](https://bugs.eclipse.org/bugs/showb…

Read more →

IntelMacでJudeを動かす

· MacBook Pro

Eclipseと並んで,僕のJava開発で欠かせないモデリングツールであるJude。 [Judeのホームページ](http://jude.change-vision.com/jude-web/support/faq.htmlq5)では,保証外とはいえ,MacOS Xでの動作について記述がされている。もともとJavaで記述されているので,基本的には問題ないはずだ。 まずは実際にやってみた人がいるかどうか調査。以下のページに,JudeのインストールとJude.appファイルの作り方まで記述があった。…

Read more →

JDKの標準バージョンの変更

· MacBook Pro

MacBook Proでは,JDKが標準でインストールされている。WindowsやLinuxなどのOSと違って,Java環境が統合されているっていう印象だ。インストールされているバージョンは,1.3,1.4,そして1.5であり,1.4が標準になっている。つまり,ターミナルで「java -version」と打ち込んだときに起動するJavaVMは,購入直後では1.4.2と表示されている。 最近では仕事でも1.5を使うことが多くなってきたので,標準のバージョンを1.4から1.5に変更したいところだ。変…

Read more →

Windows2000 on QEMU in IntelMac

· MacBook Pro

「 [IntelMac/QEMU](http://eggplant.ddo.jp/www/pukiwiki/index.php?Intel%20Mac%2FQEMU)」にて,Windows2000がIntelMac上のQEMUでの稼働が報告されていた。早速僕のIntelMacで試してみた。 結果は大成功! ![imacwin1.gif](http://www.eisbahn.jp/yoichiro/images/imacwin1.gif) ![imacwin2.gif](http://www…

Read more →

MacBook Proゲット!

· MacBook Pro

銀座のApple Storeで予約していたMacBook Pro,一昨日(3月11日)に入荷の連絡が届き,思っていたよりもずっと早く手にすることができた。1ヶ月待ちを覚悟していたので,あまりの早さにびっくりである。ただ,当初予定していた1.83GHzモデルは入荷が少なかったらしく,残念ながら他の人に割り当てられてしまった。迷ったのだが,結局比較的多く入荷があった2.0GHzモデルを購入。31歳になって初めてMacユーザとなった。 今まで愛用していたTOSHIBAのDynaBook(もちろんWin…

Read more →

MS-Office on IntelMac

· MacBook Pro

購入したMacBook Proだが,やはりOffice文書を扱うことができないと不便でならない。そこで,Office文書の読み書きを行うべく,いろいろと調査を始めた。 そもそも,Apple Storeで本体購入と一緒にMS-Office for Macも買っちゃおうと考えていたが,金額も結構高く,フリーのものも使えるかもしれないと店員さんも話していたため,購入は見送っていた。 そのフリーのアプリケーションこそが,Open Officeだ。しかし,そもそもOpenOfficeをMacで動作させるに…

Read more →

MacBook Pro

· MacBook Pro

そういえば,先週の日曜日,銀座のApple Storeに初めて足を踏み入れた。その勢いで, [MacBook Pro](http://www.apple.com/jp/macbookpro/)を予約。 大人気なのか,そもそも生産量が極端に少ないのか。。。手にするのは3月末から4月頭になってしまうっぽい。 早くこないかな。…

Read more →

全体感の把握を行うために

· Java

アーキテクトとしてソフトウェア開発プロジェクトに関わっていると,各人の作業が本格的になるに従って,成果物のレビューを行う機会が増えてくる。今までの経験上,設計を行う実際の作業者や,実際にプログラムを行うプログラマの成果物は,洞察力が足りないために,多くの状況に対応できない内容であることが多い。本当は設計やおよびプログラマを信用したいところだが,どうしても「成果物にはミスがあって当然だ」という基本概念の下にこっちも考えざるを得ない。 多くの場合,各担当者はリーダークラスの役割を持つ人間にタスクを振…

Read more →

日本上空通過中

· Other

いま富士山上空のあたりを通過中。今日から,埼玉と福岡を往復する日々が始まった。窓の外を見ながら「おぉ,Googleサテライトだ」とか思ってしまう僕は,なかなかの田舎者。 今年に入って,すでに新幹線は14回も乗った。生まれてから乗った総回数を軽く超えている。福岡は半年以上になる予定だから,飛行機は飽きるほど乗ることになりそうだ。いや,飽きることはないかな。いつ乗っても,飛行機はワクワクドキドキだし。 上空7900mに行ったら,コーヒーでも飲もうと思ってたけど,そっか,スカイマークエララインは機…

Read more →

IEはずるくなかった!

· Java

「 [IEってずるい!けどすごい!](http://www.eisbahn.jp/yoichiro/2006/01/ie.html)」というエントリをしたが,同等のことがFireFoxでもできると,masaさんからコメントを頂いた。以下,masaさん作のJavaScriptである。 document.onkeydown = new Function("e","r eturn keycheck(e,e.target)"); function keycheck(e,tgt) {   var ex…

Read more →

UI設計は専門デザイナの領域

· Java

コンピュータシステムは,利用者が操作を行うためのユーザインタフェースが必ずと言っていいほど備わることになる。これは別に特別なことじゃない。自動販売機にも,買いたい缶を選ぶためのボタンが並んでるし,車を操作するために,ハンドルやアクセルが付いている。要は,機械を人間が操作するためには,何らかのUIが必要だということだ。コンピュータをハードウェアでみた場合は,キーボードや電源ボタンなどがそれに該当する。ソフトウェアにおいても,それを人間が操作するためにはUIが必要になる。 さて,ソフトウェア開発に…

Read more →

ダウン中・・・

· Other

久々の38度以上の発熱。現在,完全にダウン中。病院に行って,インフルエンザの検査をしてもらうも,結果は陰性。それはそれで良かったんだけど,ちょっと微妙な気分。 検査の前に医者から言われた言葉が, 「インフルエンザだったら,タミフルって薬があって,飲むと次の日の朝には熱が下がってるだろうから,心配しなくていいよ」 おぉ,特効薬じゃん。熱が出て48時間以内だし,これは期待できるじゃん。 しかし,結果は陰性。 「寝てれば治るけど,何の薬飲んでも治る時間は変わらないよ。薬どうする?」って感じ…

Read more →

俺が買いたいっ!

· Java

俺にとって,かなりのビックニュースが飛び込んできた。 [米BorlandがDelphiなどIDE事業を売却、アプリライフサイクル管理分野に注力](http://enterprise.watch.impress.co.jp/cda/foreign/2006/02/09/7187.html?ref=rss) - Enterprise Watch ま,ま,まじっすか。今までM$と唯一同等に対抗して頑張ってきたのに,そりゃないぜBorland。Ajaxのおかげで今後IDEが再注目されるだろうに。。。…

Read more →

FireFoxでよさそうなIE7

· My PC environment

先週, [IE7のβ2 Preview](http://www.microsoft.com/windows/IE/ie7/default.mspx)が一般公開された。怖いもの知らずな僕は,早速自分のノートPCにインストール(会社PCはさすがにIE6を残したかったため)。 [![](http://www.eisbahn.jp/yoichiro/images/2490373.gif)](http://www.eisbahn.jp/yoichiro/images/2490370.gif) 見た目は…

Read more →

強い・・・

· Other

ヒンギス強すぎ。 東レパンパシフィックテニス準決勝のヒンギスvsシャラポワ戦。解説者も言ってたけど,こんな困った顔したシャラポワは初めてだ。最終ゲームは完全にシャラポワの自滅。 テニス見て,久々に鳥肌が立った。…

Read more →

俺としたことが・・・

· Java

つい先日,あるところで僕が作ったソフトウェアが稼動を開始した。SSH(Struts+SpringFramework+Hibernate)の組み合わせを使って,生産性抜群な感じで32画面&13DB表数のWebアプリを2週間弱で若干の焦り気味で作りきった。機能的にはかなり喜んでもらえたのだが,一ヶ月間稼動させてみたところ,問題発生の知らせを受けた。 「検索すると,長いときは1分間以上返ってこないんですけど。。」 なんでそんなに検索かかるんだろう。。。情報量は2000件ほどみたいだし,いくらPos…

Read more →

波が届かない場所

· Other

昨日の夜は,関東首都圏は地震で大パニック(?)だったらしい。 [JR東海道線など、地震の影響で3時間以上運転見合わせ](http://www.nikkei.co.jp/news/main/20060201NTE2INK0601022006.html) - NIKKEI-NET [2006年2月1日 20時36分ごろ](http://typhoon.yahoo.co.jp/weather/jp/earthquake/2006-02-01-20-36.html) - Yahoo 地震情報 今ま…

Read more →

Fedora Core 4 on VMware 5.5

· My PC environment

手近にLinuxがほしかったので,VMware 5.5にFedora Core 4をインストールしてみた。 [![](http://www.eisbahn.jp/yoichiro/images/2430350.gif)](http://www.eisbahn.jp/yoichiro/images/2430349.gif) サポートされていないディストリビューションだが,結果は何の問題もなく,あっさりとインストールできてしまった。しかも,動作は思ってたよりも結構機敏だ。yum updateは一…

Read more →

MonoがFedoraにやってくる

· My PC environment

現在βリリースが進んでいるFedora Core 5の次期バージョンに,.Net FrameworkのLinux実装であるMonoが搭載されるらしい。 [Fedora Core 5にMonoを搭載(ITmedia エンタープライズ)](http://www.itmedia.co.jp/enterprise/articles/0601/11/news024.html) Javaの世界で言うなれば,JBossとかが標準搭載されるということだ。しかも,Monoの場合はCの処理系も搭載されるっぽいの…

Read more →

手離れの良い設計とは

· Java

個人的に何らかのシステム開発を請けたとき,数年前までは本職のときとほぼ同じような設計を行ってきた。依頼主の業務を把握し,システムの管理下におかれる情報の洗い出しと整理を行う。そしてデータベースの構築と画面の設計を行って,依頼主と合意し,プログラミングに入るという流れだ。しかし,実際には「個人的に」請けたときには,同じような設計をしてしまってはうまく行かないということがわかってきた。 「システムの僕からの手離れを第一に考えること」が重要だということだ。 本職の立場で,つまり企業として仕事を請け…

Read more →

Sun Java Studio Creator 2が登場!

· Java

NetBeansをベースに開発されたSun Java Studio CreatorのVersion 2がリリースされた。 [Sun Java Studio Creator - Overview](http://developers.sun.com/prodtech/javatools/jscreator/index.jsp) [See Java Studio Creator 2 in Action](http://developers.sun.com/prodtech/javatools/j…

Read more →

ページングに対応した表形式での複数モデルの表示

· Wicket

[前回のエントリ](http://www.eisbahn.jp/yoichiro/2005/12/post126.html)で,複数のモデルの内容を表形式で表示するためのListViewコンポーネントを紹介した。ListViewによって手軽に表を作成することができるのだが,実際にはListViewでは物足りない状況も存在する。例えば,何らかの検索結果の一覧を表示したい場合,その件数が数百件とか数千件になってしまうと,1ページで全ての一覧を表示することはあり得ないだろう。その場合,一定件数で一覧の…

Read more →

IEってずるい!けどすごい!

· Java

Webアプリだと,とかく[戻る]ボタンや[再読込]ボタンが押されたときの考慮をしないといけない。最も簡単な方法は「ツールバーを消しちゃうこと」だが,大抵のWebブラウザはキーボードの操作も可能であり,[BackSpace]キーや[F5]キーで同様のことができてしまう。 しかし,IEの場合に限り,上記の操作を無効にできるようだ。              ・・・ なんと,DocumentオブジェクトにKeyDownのイベントハンドラを追加することで,そのページ内のキー操作を丸ごとハックで…

Read more →

旅立ちの前夜

· Complaining

いよいよ明日,関東を離れる。大阪に行くのは何年ぶりだろうか。地方で暮らしたことは大学時代の4年間の経験があるのだが,社会人になってからは初めてのことだ。 荷造りも終えたし,新幹線のチケットも購入した。あとは行くだけ。 しかし,体調が優れない。喉が痛いのなんのって。。。扁桃腺を取ってから高熱が出なくなったけど,関節の節々が痛むってことは,結構熱あるんだろうな。怖くて体温計で計ってないけど。。。orz とにかく,早く寝て明日に備えよう。これから数ヶ月間,慣れない場所で仕事をしなければならないの…

Read more →

Desktop Sidebar

· My PC environment

最近回りでは,Google Desktopが流行っているが,同じものを使いたくない僕は,Desktop Sidebarを使っている。 [![](http://www.eisbahn.jp/yoichiro/images/2226177.gif)](http://www.eisbahn.jp/yoichiro/images/2226175.gif) [次世代OS“Longhorn”のSidebar機能を先取りできる「Desktop Sidebar」](http://www.forest.imp…

Read more →

プログラマが年越しを感じる瞬間

· Java

ソフトウェアに付きものの著作権表記に新年を追加した瞬間,毎年僕は「新しい年が来たんだなぁ」と実感する。 つまり, ![](http://www.eisbahn.jp/yoichiro/images/2181322.gif) を, ![](http://www.eisbahn.jp/yoichiro/images/2181325.gif) とした時だ。…

Read more →

今年の初夢は・・・

· Ski

スキー場でカービングロングターン! 試行錯誤しながらも,気持ちよくゲレンデをカービングで滑っている夢だった。これは幸先いいぞっ!(^^/…

Read more →