2005 年の記事

2006年もよろしく!

2005年の自分は・・・ 韓○人との敵対 怪我(骨折,椎間板ヘルニア) 信頼してた人物からの裏切り 顧客との対立 JavaOneへの参加失敗 親の入院 地方への長期出張の決定 30年の中で最悪な1年だった。ホントに,きつい一年だった。 振り返ると,まぁそれだけいろいろと何かをやってた一年だったんだろうな。でも,結果は残念ながらどれも裏目に出たものばかり。自分が直接原因ではないことも起きたり,自分の価値観に…

続きを読む →

披露宴だよ!全員集合!

先日のクリスマスイブの夜,同級生の結婚披露宴&2次会に行ってきた。 同級生は中学時代の器械体操部の選手メンバーの一人。当時の団体メンバー4人(もち僕も入っている)が揃うのは久々だ。プラス,一つ上の先輩(全国跳馬2位!)や,当時一緒に練習していたクラブの同級生も集まり,気持ちはすっかり体操現役時代に戻っていた。 今ではとても考えられない,即PTAや親からストップがかかるであろう無茶苦茶な練習を共にやってきたメンバーだ。話しても話しきれ…

続きを読む →

表形式での複数のモデルの表示

クリスマスイブの今日は,複数のモデルを表で表示するための方法を紹介する。Webアプリケーションのほとんどで必要となる情報の表示方式だ。 StrutsとJSPの組み合わせでWebアプリケーションを作る場合,複数のモデルを表形式で表示するには, タグなどを使って,JSPにループの構文を記述しなければならない。よって,JSPにどうしてもロジック的な要素が含まれるために, MVCを完全に行うことができなかった。 Wicketであれば,このよ…

続きを読む →

Maven?Ant?

「 [CraigはDCさくらユーザだった!?](http://www.eisbahn.jp/yoichiro/2005/12/craigdc.html)」で,AntでMavenちっくなことをStruts 1.2.8のソースパッケージでやってると書いたが,実際にはStrutsをビルドするために必要な依存ライブラリを,AntのGetタスクでダウンロードしているに過ぎない。 例えば,こんな感じ。           usetimest…

続きを読む →

CraigはDCさくらユーザだった!?

ふとApache-Struts 1.2.8のソースコードが読みたくなって(?), [Apache Software Foundation](http://www.apache.org)のサイトから [ZIP版](http://sunsite.tus.ac.jp/pub/apache/struts/binaries/struts-1.2.8-bin.zip)をダウンロード。速やかに展開し,エクスプローラで展開先を開いた。すると・・・ !…

続きを読む →

WEB-DB PRESS Vol.30に寄稿しました

[WEB-DB PRESS Vol.30](http://www.gihyo.co.jp/magazines/wdpress/archive/Vol30)( [技術評論社](http://www.gihyo.co.jp/magazines/wdpress))の巻頭特集に記事を寄稿した。前回と同様に, [アークランプ鈴木氏](http://www.arclamp.jp/)との共著である。 今回は,「DI時代のアーキテクチャ設計」という特…

続きを読む →

JSPはもうこりごり・・・

J2EEというエディションが登場する直前,JSPというものが登場することを知ったとき,僕はかなりウキウキしたものだ。当時僕は仕事でアプレットかサーバプログラム(その間はソケット通信!)ばかり書いていて,サーブレットは勉強中。サーブレット内でHTMLを文字列連結を頑張るのに「まじっすか」と思っていたときに耳にしたJSP。HTML内にJavaプログラムが書けて,動的コンテンツを埋め込める。そしてコンパイルは勝手にやってくれる。そんな便利なも…

続きを読む →

ページ遷移の方法

Webアプリケーションは,GUIアプリケーションと違って,ページ遷移が基本である。最近はAjaxが登場してきて状況が変わってきているが,基本的にはアプリケーションはページ全体の更新がかかる。つまり,Webアプリケーションはページの集合体だ。今回は,ページ遷移の方法について紹介する。 フォームのサブミット時に何らかの処理を行い,その後次のページに遷移するには,Componentクラスが持つsetResponsePageメソッドを使用する…

続きを読む →

ハンバーガーはサンドイッチ?

今日,マクドナルドに行った。ドライブスルーで渡されたメニューがこれ。 ![](http://www.eisbahn.jp/yoichiro/images/2071362.jpg) あれ?サンドイッチ? ![](http://www.eisbahn.jp/yoichiro/images/2071374.jpg) マクドナルド的には,ハンバーガーってカテゴリじゃなくて,サンドイッチって扱いなのね。 今度,「ベーコンレタスサンド,チ…

続きを読む →

ホームページ廃止しました

社会人になってすぐに作成して,今まで設置してきた自分のホームページを削除した。全然更新してなかったし,このブログの方が有名(?)になってしまったので,更新しないコンテンツを置いておくのも資源の無駄ということもあり,廃止することにしたというわけである。 なので, [ここ](http://www02.so-net.ne.jp/~yoichiro/)に行っても,もちろん404である,,,と思ったら,ディレクトリページが出てきた。そっか,スキ…

続きを読む →

ボタンの扱い方

「 [フォームの扱い方](http://www.eisbahn.jp/yoichiro/2005/12/post123.html)」のエントリでは,フォームがサブミットされたときの処理の記述方法について紹介した。ただ,多くのWebアプリケーションでは,フォーム内に複数のボタンを配置して,それぞれ違った処理を行わせたいことがあると思う。今回は,そんな場合に使用するボタンコンポーネントについて取り上げる。 まずPOHPから考えよう。複数の…

続きを読む →

いくらなんでも,そりゃないでしょ!

Skypeを普段使用しているが,接続のたびにNorton AntiVirusのインターネットワーム防止機能が働いて,警告ダイアログが表示される。これを表示させないようにするための推奨設定の方法がどこかにないかなぁと探していたら,とんでもないページを見つけた。 [livedoor - Skype (TM) for Windows を使って困ったら?](http://helpguide.livedoor.com/help/skype/qa…

続きを読む →

Web技術はここまで来た!

Web技術の進化は止まらない。HTML,Java Applet,Flash,Java Web Start,Active Xなど,多くのWeb技術が登場しては消えていった・・・わけではないが,Ajaxの登場により,Webブラウザ上でのユーザインタフェースは,Office製品をデスクトップアプリケーションと遜色ないレベルまで実現可能になった。 [Writely](http://www.writely.com/) - Ajax技術を使って作…

続きを読む →

フォームの扱い

Webアプリケーションに欠かせないHTMLのフォーム。Wicketでフォームを扱うための方法を今回は紹介する。 フォームは,inputタグなどのいくつかの入力要素から構成される。GUIアプリで言えば,フォームはコンポーネントが登録されるコンテナだ。Wicketでは,フォームを扱うために,Formクラスが提供されている,Formクラスは,Wicketコンポーネントのコンテナとして機能する。 HTMLのフォームは,formタグで表される…

続きを読む →

改ざんできないシステムなんて少数派

建築業界の設計偽装問題。今テレビを見ていたら,「改ざんをできてしまうソフトウェアになっていた」なんてことを言っていた。お役所と検査会社は,ソフトウェアの処理結果に対する編集ができてしまうことに驚愕し,みんな「まじっすか」っていう雰囲気になった,と言っていた。しかも,ソフトハウスの企業名すら堂々と出して,「改ざん可能なシステムを作ったのは,ここだよ」と,全国ネットで言っている。 おぃおぃ,ソフトハウスは少なくとも依頼主の言うとおりに作っ…

続きを読む →

IT業界は鉄筋削減は当たり前

世間は建築業界の設計偽装問題で持ちきりだ。何でも,建物の耐震強度が低いらしい。組織的な偽装体質もあったみたいだし,ひどい話である。 ただ,不謹慎な言い方をあえてするならば,この問題においては一応震度5弱までは耐えられる。しかし,IT業界の問題は,ほとんどのシステムが,震度2なんてとても耐えられる代物ではない。鉄筋なんてないものだっていっぱいある。 「自分たちのシステムって,耐震強度はどうなんだろう?」と思った人は,ベンダーから提供さ…

続きを読む →

POJOのプロパティをコンポーネントに表示する

最近では,何らかのフレームワークにアプリケーションコードが依存しないように,POJO(Plain Old Java Object)なアプリケーションコードを開発することが当たり前になりつつある。Wicketにおいても,アプリケーションコードはPOJOで書かれることが想定された作りになっている。 具体的には,WicketのコンポーネントとPOJOとの連携を,IModelインタフェースを使って行う。IModelインタフェースの実装クラスが…

続きを読む →

EclipseでのSSH越しpserver接続

Eclispeを入れ直す度に調べ直しているのもいい加減いやになったので,このエントリに記しておく。 Eclipseにおいて,SSH越しにCVSのpserverを叩くには,「org.eclipse.team.cvs.ssh2」プラグインのplugin.xmlファイルに,以下の内容を追記する。               その後,-noregistrycacheオプション付きでEclipseを起動すると,PServerSSH2を…

続きを読む →

同じIDのタグが複数あったときは?

「 [Labelを使った動的な文字列の表示](http://www.eisbahn.jp/yoichiro/2005/12/label.html)」のエントリを書いていて,ふと気になった。wicket:id属性の値が同じタグが複数あった時,どういう動作をするのだろうか? 早速試してみる。 ここに名前が入る ここも名前が入る とPOHPを書いて,WebPageのサブクラス内で, add(new Label("name", "よ…

続きを読む →

Labelを使った動的な文字列の表示

Wicketが持つコンポーネントの中で,最もシンプルなのはLabelコンポーネントだろう。Labelコンポーネントは,HTMLにシンプルな文字列を動的に埋め込みたい時に使用する。 Labelコンポーネントは,実は既に「 [超基本構成](http://www.eisbahn.jp/yoichiro/2005/12/post122.html)」のエントリで使用している。ここでは,Labelコンポーネントに関するコードのみを取り上げてみよう…

続きを読む →

開発の準備をしよう

今回は,Wicketを実際に試すための環境を構築してみる。いろんな方法があるが,ここでは,Tomcat5.0とWTP(eclipse Web Tools Platform)を使ってみる。ちなみに,Windows XPを対象とする。 まず,Tomcat5.0をインストールする。ダウンロードは [Jakartaのサイト](http://tomcat.apache.org/download-55.cgi)から行える。ここでは,5.0.28を…

続きを読む →

超基本構成

さて,最初のWicketアプリケーションを作成してみる。最初なので,1ページのみの超基本構成のWebアプリケーションにしよう。表示のみの機能だが,動的な項目を一つ準備する。WTPでwicket-testプロジェクトをまだ作っていない方は,「 [開発の準備をしよう](http://www.eisbahn.jp/yoichiro/2005/12/post121.html)」を読んで作成して欲しい。 まずは,POHPなHTMLファイルを作成…

続きを読む →

Wicketブログ始めました

すっかり気に入ってしまったWicket。Eclipseプラグインの時と同じように,自分にプレッシャーをかける意味もこめて,ブログを立ち上げてみた。 [Wicket Communication](http://www.eisbahn.jp/wicket/) このブログは,自ドメインでのMovableType運用開始の意味も含んでいる。何とかWicketをメジャーにすべく,ちょっと頑張ってみようと思う。 Check it now!…

続きを読む →

Wicketを試してみよう

Wicketを試すには,Eclipse上で作業するのが手っ取り早いだろう。ここでは,EclipseでWicketのサンプルを動かすまでの手順を紹介する。 まず,「 [Wicketの基本パッケージ](http://www.eisbahn.jp/yoichiro/2005/12/wicket2.html)」で取り上げた3つのパッケージをそれぞれダウンロードして,任意の場所に展開する。 各パッケージには, [Maven](http://mav…

続きを読む →

他コンポーネントとの連携パッケージ

最近のWebアプリケーション構築では,SpringFrameworkやSeasar2などのDIコンテナを利用する機会が増えてきている。Wicketについても,主要なコンポーネントとの連携のためのパッケージが提供されている。 [Home - Wicket Stuff](http://wicket-stuff.sourceforge.net/) Wicket Stuffプロジェクトでは,以下の他コンポーネントとの連携機能を提供している。 …

続きを読む →

Wicketの基本パッケージ

一般にGUIアプリケーションのプロダクトは,どっちかっていうと付属されてくる例を見れば,「あ,こんなことできるんだぁ」って思うものである。Wicketについても,そんな素敵な題材がプロジェクトから提供されている。今回はWicketプロジェクトが提供している基本的なパッケージを紹介する。 まずは,Wicketの下記のダウンロードページに行ってみよう。 [Download Page](http://wicket.sourceforge.n…

続きを読む →

サービスの登録を強制抹消する方法

会社で使っているPCからOracleをアンインストールする際に,インスタンスとリスナーのサービスを停止するのを忘れてしまったため,サービスが残った状態になってしまった。 昔,レジストリの奥底まで必死に検索して地道に削除したことがあるが,今ではそんなことをしなくてもサクッと登録抹消する手段がある。 [アンインストールに失敗して残ったサービスのエントリを消去したい](http://www.monyo.com/technical/wind…

続きを読む →

Wicketとは?

Wicketとは,POHP(Plain Old HTML Page)のソリューションの一つだ。Wicketを使用することにより,ロジック的な要素が多く含まれがちなJSPではなく,全くシンプルなHTMLでViewを作成していくことができる。そして,ページの中で動的な部分を構築するためのJavaコードは,GUIアプリケーション,特にSwingを使ったことのある人なら「お,似てるな」と思ってしまうようなコードで記述できる。 例えば,POHP…

続きを読む →

WicketのWebページ

Wicketは,SourceForge.netでプロジェクト管理されている。 プロジェクトホームページ - [http://wicket.sourceforge.net/SourceForge.html](http://wicket.sourceforge.net/SourceForge.html) SourceForgeサマリーページ - [http://sourceforge.net/projects/wicket](h…

続きを読む →

POHP戦国時代到来!?

最近では,POJO(Plain Old Java Object)と同じように,POHP(Plain Old HTML Page)というキーワードが言われるようになった。これは,ASPやJSPなどの,独自タグやスクリプトレットの記述による複雑怪奇になりやすいViewコンポーネントを見直し,普通のHTMLで作ればいいじゃん,という考えから出てきた言葉である。 現在のPOHP対応のソリューションのほとんどは,通常のHTMLの各要素が持つid…

続きを読む →

体操ニッポン復活!

世界選手権個人総合男子,金銀独占! [第38回世界体操競技選手権大会レポート](http://www.jpn-gym.or.jp/artistic/2005/report/data/05wch14.html) すごい,すごすぎます。完全なアテネの再現。またまた泣いてしまいました。 種目別に絞って練習している外国勢が多いけど,体操は6種目やってナンボの世界。脚力が強いから跳馬だけ,とか,手足が長いからあん馬だけ,とか,そんな競技じゃ…

続きを読む →

10点満点廃止!?

現在,体操の世界選手権が行われている。予選で富田選手,水鳥選手の日本人勢1,2位独占状態に興奮しているが,それよりも気になるのがこのニュース。 [消え行く体操の10点満点 歴史的なルール改正の訳](http://sportsnavi.yahoo.co.jp/other/column/200510/at00006336.html) そう,今回の世界選手権で,10点満点ルールでの採点は最後なのだ。確かフィギアスケートの採点ルールと同じよ…

続きを読む →

僕のJavaOne Tokyo 2005

11月8日~10日に行われたJavaOne Toyko 2005。そのイベントへの参加の仕方は,たぶん誰よりも違った形だったに違いない。 今年のJavaOneの特徴は,何と言っても一般からセッションを公募したことだろう。より現場に近い声が聞けるし,単にAPIの紹介にとらわれない,現実的な解をいろいろと聞けたはずだ。 もちろん,知り合いと共に僕も一般公募セッションに応募した。しかし,残念ながら落選。「 [規約をプラグインに - Ecl…

続きを読む →

JavaOne効果?

現在,11月9日,23時10分。上野駅で宇都宮線の出発を待っていると,山手線の東京・品川行きの電車のホームで,必ず外人の3,4人の集団がホームで電車を待っているのに気がつく。 これもJavaOne効果?…

続きを読む →

リダイレクトとmethodの微妙な関係

Webアプリにおいて,データベースへの更新処理の後に一覧表示画面に戻る,という画面遷移はほとんどのアプリケーションで見受けられる基本的なものだ。この画面遷移,何も考えずにStrutsなどで作ってしまうと,後で問題が発生する。 その問題とは,「F5問題」だ。更新処理後に表示される一覧表示画面で,Webブラウザのページ再更新機能([更新]ボタン押下やF5キー押下など)を実行すると・・・という場面の話である。通常,Strutsなどでは,「更…

続きを読む →

スキー場オープン!

10月22日に,狭山スキー場がオープンしていた! [狭山スキー場ホームページ](http://www.seibu-group.co.jp/rec/sayama/) 来週,初滑り行ってこようっと。誰に何言われようとも,行ってやるっ!…

続きを読む →

恥ずかしながら・・・

so-net blogでも,やっとサイドバーに自作のコンテンツを置けるようになった。早速,恥ずかしながら「 [バイオグラフィー(生い立ち)](http://www.eisbahn.jp/yoichiro/2005/03/post11.html)」「 [ポートフォリオ(というか年表)](http://www.eisbahn.jp/yoichiro/2005/03/post12.html)」のリンクを作ってみた。 このポートフォリオ,何気…

続きを読む →

開幕!

日本はやっと涼しくなってきたレベルなのに,世界はもうシーズン到来である。 マイヤー逆転Vで単独2位/W杯大回転 [http://www.nikkansports.com/ns/sports/f-sp-tp0-051023-0034.html](http://www.nikkansports.com/ns/sports/f-sp-tp0-051023-0034.html) 昨シーズンはかなり不本意だっただけに,今シーズンはそーと…

続きを読む →

Dukeがいっぱい!

会社の知り合いから,とても素敵なサイトを教えてもらった。 Dukeの館 [http://mlv.lolipop.jp/mascots/duke/](http://mlv.lolipop.jp/mascots/duke/) Dukeの様々な姿を見ることができる。というか,Javaの歴史がDukeの姿によく表れている。 Dukeを見ると,なぜかワクワクするのは,やっぱり根っからのJava好きなんだろうな,僕は。…

続きを読む →

良いコードには,いろんなコードが集まってくる

オープンソースが当たり前になった現在では,ユーザの人気というか,採用されるオープンソースプロダクトの取捨選択が,すごい極端な結果として現れるようになった。つまり,多くの場合,良いオープンソースプロダクトは見通しの良いコードであり,良いコードには多くの人が集まってくるっていう構図である。当たり前の話だけど。 でも,良いコードに集まってくるのは,どうやら何も人間だけではないっぽい。例えば,これ。 IBM、エクリプス財団に「Rationa…

続きを読む →

Eclipse on Solaris10(x86) on VMWare夢かなわず

IP Messenger for Eclipseの開発には,複数台のマシンが必要となる。とはいえ,1台でも何とか動作確認とかしたかったので,久々にVMWareなんぞを使ってみようかなと思い,挑戦を開始した。 VMWareは早くもバージョン5まで到達していた模様(前に使っていたときは3だった)。早速 [VMWareのWebサイト](http://www.vmware.com/jp/products/desktop/wsfeatures.…

続きを読む →

SpringFrameworkあーんどJMS

次案件では,後ろに構えるシステムとのやり取りにJMS(Java Messaging Service)を使用する予定だ。もちろんそこにはトランザクションも挟める必要がある。つまり,あるデータベースへのアクセスと,MOM(Message Oriented Middleware)との通信を,一つのトランザクションとして束ねなくちゃいけなくて,抽象化したり,AOPでトランザクションをかけたり,といったことをしたくなってくる。 そこでやっぱり有…

続きを読む →

ipmsgプラグインはオープンに

開発を進めているIP Messengerプラグインだが,sourceforge.jpにてオープンにすることにした。 [ipmsg4e : sourceforge.jp] [https://sourceforge.jp/projects/ipmsg4e/](https://sourceforge.jp/projects/ipmsg4e/) オレンジレンジの「キズナ」をもう6時間延々とリピートしながら,今日はプログラムをしていた。…

続きを読む →

プロジェクト反省文

まだ完全に離れるわけじゃないけど,やっぱり自分の周りからの使われ方は,1つのプロジェクトの初めから終わりまでベッタリというわけじゃないようになってきている。それはそれで「飽きっぽい」僕としては喜ばしいことなんだけど,同時に「責任を全うできてないのでは?」と感じてしまうのも事実だ。でも,仕方がない。仕事とは,そういうものだ。 というわけで,僕がいま携わっているプロジェクトはまだまだ終わらないけど,僕としての区切りがきたっぽいので,反省文…

続きを読む →

開発フレームワークはEoTをも推進できる

十数年前までは,プログラマに全てのコードを記載することが当たり前だった。数年前までは,何らかのフレームワークを独自に(クラスの継承を使って)拡張することで,プログラマの作業の負担を軽減することが当たり前だった。そして最近は,オープンソースプロダクトを複数束ねて使用することによって,プログラマの作業の負担を軽減することが当たり前になった。 ちょっと視点を変えて,開発環境はどうだろうと振り返ってみると,「テキストエディタ&コンパイラのみで…

続きを読む →

IPMsgプラグイン公開開始!

ついに,IPMsgプラグインを公開開始!以下のエントリを参考にして欲しい。 「 [IPMessengerプラグイン公開開始しました](http://yoichiro.cocolog-nifty.com/eclipse/2005/09/ipmessenger0045.html)」 by [Eclipseプラグイン開発Blog](http://yoichiro.cocolog-nifty.com/eclipse/)…

続きを読む →

IPMsgプラグインの公開

着々と開発を進めているIP Messenger for Eclipse,やっとネットワークへの参加と脱退,メッセージの送受信と開封関連の処理が実装できた。コマンドのマスク系がまだ不十分だし,不在通知系の機能と暗号化もまだなので,ちょっと公開しちゃうのは早いかなぁ・・・というのが正直な気持ちだ。 とりあえず,開発中の画面は以下のような感じだ。 ![](http://www.eisbahn.jp/yoichiro/images/1346…

続きを読む →

やっぱりGUIは面白い!

仕事サボって,ちょっと現実逃避エントリしてみる。 今,完全な趣味として, [IP MessengerをEclipseのプラグインとして開発している](http://yoichiro.cocolog-nifty.com/eclipse/2005/09/ipmessengerb0d8.html)。かなりいろいろな思惑があって,仕事よりもこっちを考えちゃってるほうが多いことに自己嫌悪。でも,(ビジネスじゃなくて)いろんな展開が考えられること…

続きを読む →

Update-Siteから見えるJava5.0の利用状況

Eclipseの [翻訳プラグイン](http://yoichiro.cocolog-nifty.com/eclipse/2005/07/ver11109c1.html)を自前のサーバで公開している。もちろんUpdate-Siteを立てて,自動インストールができるようにしている。Update-Siteは普通のWebサーバに所定のファイルを置いておくだけの話だが,そこにアクセスしてくるのは,Webブラウザではなく,Eclipse(というか…

続きを読む →

JExcelApi Ver.2.5.7リリース!

JavaでExcelファイルを動的に作成する機能を持つ [JExcelApi](http://jexcelapi.sourceforge.net/)。これのVersion 2.5.7がリリースされた。変更内容は,以下のページで見ることができる。 [JExcelApi Change History](http://www.andykhan.com/jexcelapi/changehistory.html) 前に使った2.5.3から比べ…

続きを読む →

JR東日本のあきれた連絡

昼ごろに起きた強い地震。その影響を発生から12時間後に受けるとは,思っていなかった。 いつもの通りに(?)上野から宇都宮線の終電に乗った。大宮に0時7,8分ごろに到着。普通はそのままさくっと出発して,30分前には最寄り駅に到着するはずだった。 しかし,地震の影響で大宮への到着が遅れている東北新幹線を待ってから出発とのアナウンス。しかも,到着予定時刻は,なんと0時40分!30分以上も待つことになってしまった。 大宮からタクれば,約2…

続きを読む →

16年ぶりの事件

~ある青年の物語~ 「よういちろうは,飲み会に誘われた」 「よういちろうは,コンビニの前を通過した」 「 よういちろうは,犬のウンチを踏んでしまった!」 「よういちろうの靴が,汚れてしまった!」 「よういちろうは,仲間に笑われてしまった!」 「よういちろうのHPが,5減った!」 「よういちろうの運が,5あがった!」 ウンチを踏むのは中学2年の社会科見学以来。日本橋でまさかウンチが落ちているとは。。。 でも,何かい…

続きを読む →

nullに対するUn-boxing

前のエントリで疑問に思った,nullに対するUn-boxingをした場合にどうなるのかを試してみた。 public class Test {   public static void main(String[] args) {     Integer obj = null;     int i = obj;     System.out.println(i);   } } 実行結果は以下のとおり。 Exc…

続きを読む →

気が付かないAuto-boxing

プライベートなプログラミングでは,すっかりJDK5.0+Eclipse3.1な環境に移行してしまった。EoDが特徴(?)なJDK5.0では,さまざまな言語あるいはコンパイラの拡張が行われたが,その全貌はまだ把握できていない。 最近ちょっとかじったアノテーションを使うときは,もちろん明確に「@hogehoge」というように書くので,注釈つけちゃいましたっ!,と言わんばかりの自覚がある。Genericsについても,文法が拡張されているから…

続きを読む →

我が家の夜景

部屋の電気を消して,ベットに横になると,僕の部屋では緑の星が綺麗に光る夜景を毎日見ることができる。 ![](http://www.eisbahn.jp/yoichiro/images/1191196.jpg) なかなか綺麗なんだけど,実はみんなPC関連のLED。うちにはノートPCしかないので,外付けHDDのアクセスランプがいっぱいある。 ![](http://www.eisbahn.jp/yoichiro/images/11912…

続きを読む →

暴言を吐く顧客

発注元だからといって,何を言っても良いわけではない。ましてや,個人を誹謗することなど,完全に許されない。 僕らはシステム開発のプロフェッショナルだ。顧客の利益になるための,常に最適な判断を行おうとしながら,開発を進めたいと思っている。もちろん,納期や仕様変更などの顧客の希望を最大限実現したいと思っているし,そのためには自分の時間を削ることも仕方ないと考えている(少なくとも僕は)。 ただし,上記は前提がある。それは,「顧客が僕らを信頼…

続きを読む →

FAT32でのフォーマットはすっげー大変

外付けのHDDのフォーマットをFAT32でしようと思い,気軽にWindows XPからやろうとした。 NTFSしかないじゃん・・・。 最近買ったI-O DATAのLAN接続HDDには,USBのポートが4つ付いていて,HDDを増設することができる。でも,NTFSでフォーマットされたパーティションは,なんと参照のみっていう仕様。仕方ない,FAT32にするかと思ってWindows XPを使ってやろうとしても,NTFSしか選択肢がない。 …

続きを読む →

1日で50人以上のダウンロード!

昨日公開した新しいバージョンの「 [翻訳ビュープラグイン](http://yoichiro.cocolog-nifty.com/eclipse/2005/07/ver11109c1.html)」。自ドメインを取得したおかげで,自分のサーバでアップデートサイトを立てることができ,しかもアクセス解析までできるようになった。 早速昨日のダウンロード数を見てみると,新バージョンのjarファイルへのアクセス数は,54という結果だった。まぁまぁな…

続きを読む →

新しいプラグインを作り始める

今日,翻訳ビュープラグインの新しいバージョンを公開した。それと同時に,自ドメインでのアップデートサイトの運用を開始した。これで,アクセス数とかも細かい数字がわかるし,結構楽しみだ。 Eclipse3.1で翻訳ビュープラグインの動作確認をしたのだが,久しぶりだったので,すっかりコードを忘れていた。「あれ?リソースってどう取得するんだっけ?」という至極簡単なことですらやばい状態だ。これではいけない。 というわけで,新しいプラグインの作成…

続きを読む →

ガンダム占い

ふと会社でこの前盛り上がった「 [ガンダム占い](http://fortune.yahoo.co.jp/fortune/special/gundam/)」を思い出して,再度自分は何になるのか占ってみた。 ![](http://www.eisbahn.jp/yoichiro/images/1151713.gif) グラブロかぃ。。。グラブロなんて,相当ガンダムマニアじゃないとわからないキャラだぞ。 グラブロ君の特徴をまとめると,「包…

続きを読む →

腰痛再発

今週の初めから「なんか変だなー」と思っていたが,徐々に症状がきつくなり,ついに今日は階段を下りるのも辛くなった。立ってられない腰痛。まったく集中できないし,じっとしていられない。 というわけで,今日は仕事を休んで,家で絶対安静。とはいえ,寝たきりも辛い。今年俺,厄年だったっけ・・・。…

続きを読む →

後方伸身"失神"2回宙返り下り(新技)

1989年に埼玉県学徒総合体育大会で発表された新しい鉄棒の終末技。 [後方伸身失神2回宙返り下り(タナカ)](http://www.eisbahn.jp/gym/mov00055.mpg)(もちろん嘘) [本番での演技](http://www.eisbahn.jp/gym/mov00054.mpg) まさに「失神」である。練習でできないことは本番でもできない,という良い見本だ。 着地の先取りが全くできてなくて,回るだけで必死って…

続きを読む →

アノテーションを拾ってみる

JDK5.0から搭載されたMetadataだが,やっぱり注釈を自分で定義したくなる。そこで,早速自分で注釈を定義してみた。もちろん,Eclipse3.1を使用する。 まずは,Eclipseで「New - Annotation」を選んで,新規作成ウィザードを起動する。 ![](http://www.eisbahn.jp/yoichiro/images/1132089.gif) 案外シンプルなダイアログだ。ここに名前を入れて,注釈を生…

続きを読む →

初めてのアノテーション

JDK5.0から搭載されたMetadata。EoDを推進させるための切り札として,JDK5.0で最も重要なものだと思っている。とはいえ,このMetadataやXDocletなどは,実は嫌いだったりする。「そんな注釈入れちゃったら,POJOじゃなくなっちゃうじゃんか!」が僕の主張だ。 しかし,どんなものか知らないのに文句言っていたら,ただの食わず嫌いである。敵を知ってこそ,って言うし,ここらでMetadataについて体験してみようと思う…

続きを読む →

マイコン世代がふんばってるんだ!

僕が最初に触ったコンピュータ,それは「ファミリーベーシック」だ。 ![](http://www.eisbahn.jp/yoichiro/images/1104744.jpg) 何本かゲーム買ったけど,ファミリーベーシックを買ってからは,ゲームを買って遊ぶよりも,ベーマガ(雑誌)に掲載されたプログラムを打ち込んでは,それを無敵にしたりして改造して遊んでいた。今でも「PRINT命令は?で代用してメモリを稼ぐ」といったテクニックは覚えてい…

続きを読む →

Eclipse3.1+JDK5.0を試してみた!

すでにリリースされてから結構時間が経っているJDK5.0。まだ必要になる気配がないので触らずにいたのだが,Eclipse3.1がリリースされたので,JDK5.0とEclipse3.1の組み合わせを試してみた。 ![](http://www.eisbahn.jp/yoichiro/images/1090363.gif) 起動時の第一印象としては,若干動作が速くなったかなという感じ。でも,全体的には3.0のときとさほど変わった印象は受け…

続きを読む →

目標がなくっちゃやる気はおきない

人間の行動の全ては,理由がある。その理由とは,つまり何かの目標を達成するということだ。もう30歳だが,「やらされている」ことと「自発的にやっている」ことが,ようやく自分で自覚できるようになった気がする。少なくとも20代までは,あまり何も考えずに行動してきた。 下の写真は,小学校5年のときの自分だ(中央)。 ![](http://www.eisbahn.jp/yoichiro/images/1091394.jpg) 普段の練習のとき…

続きを読む →

我慢ならない!!

わからない未来を必死に予想し,計画に基づいて限られた人間に頑張ってもらい,取りこぼしや不具合の修正も何とか予定内に潰してもらい,やっと計画通りに進めたのに,報われない。 今後控えているリスクに対して真っ向から立ち向かう覚悟をして,必死にタスクの組み換えと実施をイメージし,今までの不具合の出方とメンバーの生産性や試験チームとの関わりを考えて,最善と思われるタスク分割とチームへの割り振りを考えたのに,報われない。 顧客に僕らの開発の仕方…

続きを読む →

歩くハードディスクドライブ

[動く!改造アホ一台 第15回 歩く玄箱 ~ 進化したネットワークストレージ ~](http://xe.bz/aho/15/) HDDが歩く必要性は? 火星探査機の製作とNASAへの売り込みのため。 P2Pで手に入れた大切な○○動画を警察に没収されないように。 HDDもたまには外に出たいだろうから。 やっぱり 2. かな。…

続きを読む →

アジャイルとテストの関係は?

プロジェクトが進むにつれて,顧客やメンバーの興味は「テスト」に移ってくる。そして,事前に「テスト」についてちゃんと考えられていなかったとき,それは後から巨大な壁として認識される。 近年のド短期なプロジェクトでは,リスク管理のもとに,また顧客の信頼を得るために,アジャイルな開発手法を採用することが多くなった。これは,XPやスクラム,広げればUnified Processなども含まれるだろう。タイムボックスを基本として,プログラマに常に見…

続きを読む →

実装とテストの微妙な関係

システム開発に必要な大事な要素,それは「実装」と「試験」だ。どっちかが良くても片方がダメダメなら全体が失敗する。この2つは言葉こそ違えど,「良いシステムを開発する」という目的は同じだ。しかし,特にPM(プロジェクトマネージャ)の志向によって,どうしても片方に傾いてしまう。かなりこの2つを綺麗に回すのは難しいだろう。 そこで,僕の思い描いている実装と試験の関係を,とりあえず気ままに書いてみる。 プロジェクトの中で,開発されたシステムを…

続きを読む →

Fedora Core 4 導入!

VAIOで運用してきたFedora Core 3だが、インストール時のパッケージの選択に失敗したらしく、POPサーバのdevocotがどうしてもインストールできなかった。うーん、どうしたものかと悩んだ末、せっかくなのでFedora Core 4にアップグレードすることにした。 Fedora Core 4のCDイメージをGetし、さくっとまずはインストール開始。インストーラの画面や操作は、Fedora Core 3と全く一緒だった。面白…

続きを読む →

自ドメイン取得!

以前「 [DNSに挑戦!](http://blog.so-net.ne.jp/yoichiro/2005-06-26)」で書いたことだが,ついに固定IP&自ドメイン環境を手に入れた。それに伴って,DNSとかメールとか,いろいろと運用できるようになった。 さて,そのドメイン名は・・・ eisbahn.jp だ。これはドイツ語(ほとんど英語になってるけど)で,「アイスバーン」と読む。雪の表面が一旦溶けて,その後気温が下がって凍った状…

続きを読む →

DNSに挑戦!

ある日,So-netから「 [固定IPサービス](http://www.so-net.ne.jp/staticip/)」開始のメールが僕のところに届いた。グローバルIPアドレスの取得は,以前は金額的にも何か手が届かないなぁと思っていたが,最近では極々普通のサービスになったようだ。 「何か楽しそうなことないかなぁ」と思っていたので,早速固定IPアドレスをGet!した。これにより,PPPoE認証後に必ず同じIPアドレスが割り当てられるよう…

続きを読む →

終電の宇都宮線のグリーン車は・・・

最近毎日終電で帰る日々が続いている。仕事以外にもいくつか抱えているものがあるので,行き帰りの車内でもPCを使いたい。それと寝不足で,満員電車の中を立っている気力もなかったりするので,ついグリーン券を買ってしまう。 上野に向かうグリーン車内は非常に快適だ。うるさい客もいないし,皆マナーも良い。僕もPCのキータッチの音をできるだけさせないように気にするようにしている。 しかし,終電のグリーン車は最悪だ。ホントに最悪だ。快適なことは,まず…

続きを読む →

第2段階のEoDが失敗すると・・・

[第2段階のEoD](http://blog.so-net.ne.jp/yoichiro/2005-06-05)は,相当な洞察力が必要だということがわかってきた。 [第1段階のEoD](http://blog.so-net.ne.jp/yoichiro/2005-06-12)の後,各仕様はソフトウェアアーキテクチャのさまざまな部位に当てはめられる。第1段階のEoDによって,仕様が「軸」と「箱」により定型的に分類されているはずなので,ソ…

続きを読む →

「遅れ」にこだわってどうする!?

先のことは誰もわからない。であれば,難しいことから片付けていくしかない。 いまやっている仕事は,非常に複雑かつ企業の生命線となる機能と,管理に必要な単純な機能がはっきりと分けられるシステムの構築である。当然前者の方がリスク的に高いものなので,顧客を安心させるために優先的に着手している。その中でも,ある程度の機能分割(全部で約200機能くらいと予想)を行い,優先順位をつけて実装順序をコントロールしている。そして,機能単位でリリースし,そ…

続きを読む →

第1段階のEoDのコツとは

誰しも設計者は,業務がどのようにソフトウェアに落ちるのかについて,イメージを持っていると思う。そのイメージは,必ず何らかの「軸」と「箱」で整理されたものであるはずだ。しかし,「軸」と「箱」が何なのか?というと,それはドメイン依存なものなので,形式的に語れないところが,もどかしい。しかし,パターンは何らかあるはず。例えば,今後の拡張性を第一に考え,しかも何らかのルールの組み合わせで全体の流れが構成できるのであれば,(Eclipse Pla…

続きを読む →

優秀なデベロッパに光を!

僕ももう30歳になり,自らアプリケーションのコーディングを仕事で行うことは,めっきり少なくなった。設計やベース部分,開発ツールなどを手がけることが多くなり,もしかしたらMicrosoft Office製品を触っている時間の方が多いかもしれない(いや,確実に多い)。プロジェクトに参加する数多くのプログラマを面倒見つつ,いろんな雑務をこなしながら,システムの実装作業を指揮する。はっきり言って,自分が何人いても足りない。 実装作業に秀でたデ…

続きを読む →

システム開発の責任感

顧客のシステム開発を行うこととは,どういうことなのだろうか? ADSLも飽和状態となりかけている今日では,昔とは比べ物にならないほど,インターネットの世界は一般に浸透している。インターネットの世界「だけ」でも,立派に市場が成り立つようになった。店舗や何らかの媒体,そして人間を使わなくても,インターネットというバーチャルな世界を使えば,そこで商売ができる。 当然,インターネットユーザ「のみ」をターゲットとした商売を始める企業も増えてき…

続きを読む →

EoDフレームワーク?

お風呂で考えたことを書いてみる。 最近,EoDについて考える機会があった。「Ease Of Development」,つまり「開発を簡単に」という言葉だ。とかく世の中では,EJB3.0や,J2SE5.0に搭載されたAuto-Boxingやannotation,JSFなどがEoDとして取り上げられているが,システム開発の工程で考えると,それらのEoDは「微々たるもの」と思えてならない。EoDは局所的なものではなく,工程全体で考える必要が…

続きを読む →

イメージすること

チーム開発では,チームの船頭的なポジションにつく人間によって,プロジェクトの成否が決定するといっても言い過ぎではない。かく言う自分も,年々まとめていくチームの人数が増えてきている。その分だけ,仕事の難易度は上がっていくし,責任も大きなものになる。チーム開発を成功に導くためには何が必要か,それは「イメージすること」を忘れないことだ。 僕はスキーヤーだ。冬は(昨シーズンは不本意だったが)ほぼ毎週スキーに行く。1級を取得したあとは,なかなか…

続きを読む →

Roller Weblogger始動!

先週から挑戦していた [Roller Weblogger](http://www.rollerweblogger.org/wiki/)だが,やっと動き出した。「 [インストールガイド](http://www.rollerweblogger.org/wiki/Wiki.jsp?page=UserGuideJP)」を読みながら,手順に従って作業を進めたつもりだったが,以下のようにNullPointerExceptionが発生してしまい,絶妙…

続きを読む →

ロバストネス図113枚!!

あるシステムについて,その構造を「バウンダリ」「コントローラ」「エンティティ」の関係で示す表記法が,ロバストネス図だ。オブジェクト指向分析,特にユースケース駆動なプロセスにおいて,分析工程の初期から中期にかけて使われるものだ。ユースケースから導き出された各ユースケースフローからクラスを発見することが,ロバストネス分析の目的であり,その過程はロバストネス図として視覚化される。 今日のWebアプリケーションで採用されるアーキテクチャは,そ…

続きを読む →

カスタムタグハンドラ内でのELの解釈

自作カスタムタグ内の属性の値に,ELを記述したいときがある。普通にカスタムタグのハンドラを作った場合,ELの式の文字列が単にsetterに渡されるだけである。 渡されたELの式を評価し,ELが示しているオブジェクトを得るためには,以下のコードを実行すればよい。 import org.apache.taglibs.standard.lang.support.; Hoge targetObj; String target …

続きを読む →

最近の勤務実態

5月16日 AM7:50家発-AM0:40家着 5月17日 AM9:30家発-AM0:40家着(ヘルニアの治療) 5月18日 AM7:50家発-AM0:40家着 5月19日 AM7:50家発-AM0:40家着 5月20日 AM7:50家発-AM0:40家着 結局毎日終電。そして今日も終電。 いくら仕事だとしても,こんな状態でどうやってモチベーションをあげればいいんだろうか。。。人間らしい生活がしたい。…

続きを読む →

後輩との飲みであがった話題

昨日「後輩の超実装クン」と久々に会って飲んだ。そこで出た話題はこんな感じ。 「単体テストの標準化」という仕事は,ドキュメントの整備ばかりで大変だ。 入力値のバリデーションをどのようにとらえるのかは難しい? 複数画面の遷移の制御をしてくれるフレームワークが増えている。今後はやはりそれが主流になる? 何だかんだ言って,JSFはこれから必須だ。 「月の雫」のテーブルに端末があり,タッチパネルで注文ができるが,きっとFlas…

続きを読む →

PMの仕事って何?

プロジェクトにはプロジェクトマネージャ(PM)が必ずいる。直訳すると「プロジェクト管理者」,つまり現場監督,実行責任者だ。では一体PMの仕事って何なんだろう? 僕が例えばPMに期待することは,誰が何をやっていて,どこでどんな議論が行われていて,それが全体の工程の入力なのか出力なのかの整理が常についていて,課題などを解決作業を適切なメンバーにふることができて欲しい,ってことだ。その行動は,もれなく顧客の利益(=プロジェクトの問題が常に把…

続きを読む →

さすがに疲れた・・・

午前10時30分~12時会議 午後2時~3時会議 午後4時~10時会議 午前0時30分帰宅 帰宅後知人の会社のDB表追加&新版WARファイル更新 只今1時20分。 さすがに疲れた・・・。…

続きを読む →

Image I/O APIを使ったイメージの取り扱い

日々進化しているJava。AWT時代は何かと大変だった(というか何もできなかった)画像関連のAPIを久々に使ってみた。いつの間にかImage I/O APIが搭載されていて,画像の読み書きが簡単になっている。 例えば,画像を読み込むには以下の行のみでOKだ。   BufferedImage image = ImageIO.read(InputStream); BufferedImageクラスには,getWidth()やgetHei…

続きを読む →

「ペイ・フォワード」

いつも購読させてもらっている「 [ひがやすを(さん) blog](http://d.hatena.ne.jp/higayasuo/)」にこんなエントリがあった。 愚痴を言っているだけでは、何も変わりません。常にあきらめずに行動し、正しいことを「あたりまえ」にしたいですね。 「正しいと思うこと」を広めること,これはとても難しい。「何が正しいことなのか」ということは,その時の状況(コンテキスト)に左右されるし,常に客観的な視点を自分が…

続きを読む →

Struts Shaleに新example登場!

次期StrutsのShaleだが,今まではuse-casesというサンプルしかなく,これは非常に簡単なものだった。use-casesからShaleの本質はもちろん見えてきたが,実際にShaleの利用シーンは自分である程度想像するしかなかった。 しかし,というか,やっぱりというか,今日Struts Shaleの開発が行われているSVN Repository( [http://svn.apache.org/repos/asf/struts…

続きを読む →

HTTPのRefererとは?

真面目に細かく勉強してこなかったHTTPのRefererについて調査。 [Referer(リファラー)について](http://www.cdwavmp3.com/dl/download/referer.html) [はてなダイアリー - Refererとは](http://d.hatena.ne.jp/keyword/Referer) [HTTP Header Fields](http://www.studyinghttp.…

続きを読む →

腰痛その後

スキーブーツの手入れをしていた際のぎっくり腰,結局椎間板ヘルニアとの診断だった。神経を圧迫して,右足の裏の筋に激痛が走る状態。痛み止めはほぼ効かず,我慢しきれずに汗までかいてしまう日々が続いた。 まだ骨折の方が楽だ。使えないだけで,痛くないし。 とはいえ,今日は比較的痛みを感じずに過ごせた。痛みが引いてきたのもあるが,痛くない姿勢を無意識に作れるようになってきたということだろう。そのおかげで,一日終わってベッドに横になると,背筋がも…

続きを読む →

腰痛治らず

明日に延期にしていたスキーも,腰痛がひかないために中止とした。悲しすぎる。世の中は20℃を越える日々が続いたりしているし,シーズンはすっかり終わっている。自分の中でのシーズンは終わっていないつもりだったが,すっかりなまりきった体は,すでにシーズンの終了を告げている。 なんか日々腰痛が強くなっている気がするので,中学のときに通っていた接骨院に1○年ぶりに行ってきた。整形外科とか普通の接骨院は,たいていすぐに患部を固めてしまったり,動かさ…

続きを読む →

ぎっくり腰痛~

明日スキー行こうと思って,日中車に道具一式を積んだ。ブーツのインナーを乾燥のために出してあったので,中腰になってシェルにインナーを入れていた。 入れ終わって,さぁ持って行こうかと立ち上がろうと思った,まさにその時!   キーーーーーーーーーーーーーーン! やっちまった。腰に痛みが走る。ぎっくり腰だ。。。 年に2,3回はおきてるこの痛み。2,3日も経たないうちに普段は治ってしまう。でも,明日スキーだというのに,タイミング悪すぎるよ…

続きを読む →

make gconfigできないじゃん!

VAIO Z1/PにインストールしたFedora Core 3。無線LANも開通したので,モバイル的に使用してみようと思い,電源ケーブルをはずし,PCMCIAカードもはずし,有線LANケーブルもはずした状態で使用してみた。 バッテリーが30分ももたないじゃん。。。 どうやら,CPUも液晶もHDDも,フル稼働状態のようだ。特にCentrino MOBILE TECHNOLOGYなんだから,CPUの周波数制御を有効にしておきたい。そのた…

続きを読む →

Fedora Core 3 on VAIO Z1/Pで無線LAN稼動開始!

VAIO Z1/Pで稼動を開始しているFedore Core 3だが,インストールしてから一度も使っていないハードウェアがあった。それがWireless LANだ。ざっとググってみても,何もせずに使えるようにはならなそうなので,ずっとOFFにしておいたのだ。 せっかくのWireless LANだし,ぜひ使えるようにしてみたい。早速挑戦を開始したが,意外とあっさり使えるようになってしまった。 まず最初にやったことは,Wireless …

続きを読む →

設計チームの役割って?

システム開発プロジェクトでは,一般的に「設計チーム」と「実装チーム」に分かれて作業を進めることが多い。この「設計」と「実装」の切り分け,これが非常に難しく,けれどプロジェクトの生死を決める最も重要な要素だ。 設計チームはどこまで設計とするのか? 実装チームはどこまで実装とするのか? この線引きは,人によって様々である。全く同じ線引きをする人を見つけることは困難を極める。というか,「境界線はここだよね?」「俺もそう思う,全く一緒だよ…

続きを読む →

ココログ,So-net blogってすごいのね

苦戦しながらもようやく動き出したMovable Type。触りだすと,「抱いていたイメージと違うなぁ」と思い知らされた。 僕が最初に触りだしたのは,Niftyの [ココログ](http://www.cocolog-nifty.com/)である。ココログはTypePad,すなわちMovable Typeを基礎とするブログだ。もちろんユーザビリティを向上させるためにいろいろと改良が加えられていることは知っていたけど,基本的にはMovabl…

続きを読む →

WHERE句の動的生成の枠組み考え中

一般的なアプリで必ず必要となるデータベースへの検索機能。特にユーザが自由に検索条件を変えることができるような場合,検索条件を動的に組み立てる必要が出てくる。つまり,SQL文のWHERE句の条件式をプログラムで組み立てなければならないのだ。 条件式はよほど特殊なアプリでない限り,決まりきったものだ。等号,否定,論理積,論理和,くらいだろうか。文字列的には大したことないものなのに,プログラムで作るとなると,なぜかうまくいかない。しかも,オ…

続きを読む →

収穫の多かった連休初日

今日はめっちゃ収穫の多い一日だった。その項目はというと・・・ Struts Shaleの把握 Movable Typeのインストール という2大目標だ。 Struts Shaleの方はというと,JSFの拡張機能と言ってしまえばそれまでだが,実際には, 「画面遷移&業務処理実行に対する高い管理能力」 「ポータルサイトの構築を見据えた画面構成能力」 を備えた非常に魅力的なフレームワークだということがわかった。もちろん品…

続きを読む →

Movable Typeの難しさは一体何!?

無償版もあることがわかったMovable Type。ココログでやっている「Eclipseプラグイン開発Blog」を移行するために,さっそくダウンロードしてインストールを始めた。しかし,さっそく挫折。 この難しさは一体なに? mt-check.cgiを実行してみると,HTML:Templateが古いとか,Image:Sizeが見つからないとか表示された。 [インストールマニュアル](http://www.movabletype.jp/…

続きを読む →

LinuxでWeblogサーバ構築しちゃおうかな

愛機 VAIO Z1/P への Fedora Core 3 インストールも完了し,最低限整えようと思っていた機能(Samba,VNC,CVS,SSH)も動き出した。Fedora Core 3 の起動画面やGNOMEデスクトップは超かっこよく,非常に満足である。 さて,せっかくLinuxを入れたので,Windowsではできない or 大変なことをやってみたい。とりあえず思いつくのは, 自前Weblogサーバ構築 である。Weblo…

続きを読む →

さらばSolaris!!

昨日からチャレンジしてきたSolarisインストール on VAIO Z1/P。懸念のネットワークカードの認識も何もせずにちゃんと認識されて,インストール自体は全く苦労せずに終わってしまった。画面の解像度も,以下のサイトを参考にして,1400x1050でいい感じに表示されるようになった。 [Vaio PPCG-Z1R/Pで解像度1400x1050表示(Vesaドライバ)](http://park15.wakwak.com/~unix…

続きを読む →

Solaris10をVAIO Z1/Pにインストール中!

Windowsだけの生活は退屈だ。というわけで,Solaris10をVAIO Z1/Pにインストール・チャレンジ!! ![](http://www.eisbahn.jp/yoichiro/images/271549.jpg) ちょっと調べたところ,インストール直後はネットワークカードが認識されないらしい(Solaris9の場合みたいだけど)。 [Sony Vaio PCG-Z1R/PへのSolaris9インストール](http:…

続きを読む →

Struts Shaleって?

Strutsのバージョン2は当然Struts2かと思いきや,「そりゃ2じゃないだろ」と猛反発を食らったために「 [Struts Shale](http://wiki.apache.org/struts/StrutsShale)」となったらしい。このStruts Shale,JSFとの結びつきの強いものになるそうだ。 [JSF(JavaServer Faces)【.NET死亡?!!!】](http://pc8.2ch.net/test/r…

続きを読む →

Tomcat4.Xにたどり着けない・・・

読者から [JAVA PRESS Vol41](http://www.gihyo.co.jp/magazines/javapress)の僕の記事に対して問い合わせがあり,久々にTomcat 4.X(最近はすっかりTomcat 5.0シリーズを使ってる)をインストールしなければならなくなった。[JakartaのTomcatページ](http://jakarta.apache.org/tomcat/index.html)に行って,早速ダウン…

続きを読む →

Lomboz&Tomcat5.0の組み合わせ

EclipseでJ2EE開発を支援するLombozプラグイン。Tomcat5.0.28との組み合わせの場合,LombozがTomcatをうまく起動してくれない。この問題の解決法が以下のサイトに載っていた。 [How to configure Lomboz 3.0 & Tomcat 5.0](http://forge.objectweb.org/forum/forum.php?threadid=1028&forumid=360) T…

続きを読む →

プロジェクト作成時の自動ビルダー設定ムズっ!

最近はあちこちで「プロジェクトでEclipse作ってるよ」という話を聞くようになった。汎用的なプラグインではなく,あくまで特定のプロジェクトの開発で使えるものを作っていることが多いようだ。つまり,潜在的なプラグイン開発者は着々と増えつつあるということだ。「 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/)」ブログのアクセス数も着々である。 知り合いのNetPeng…

続きを読む →

Poseidon for UMLを入れてみた

「AndroMDA&JUDEはダメっぽい・・・」で取り上げたUMLモデリングツール「Poseidon for UML」をインストールしてみた。起動イメージはこんな感じだ。   ![](http://www.eisbahn.jp/yoichiro/images/213285.gif) これは,AndroMDAのEJBカートリッジを使って吐いたEJBの雛形モデルである。Business Delegateパターンに対応するServiceス…

続きを読む →

Looking GlassってWindowsでも動くのね!

次のWindows(Longhorn)では,奥行きのあるデスクトップ(3D Desktop)が売りになるらしい。確かに,せっかくウィンドウのZオーダーがあるんだから,遠近法とか使って,遠くにウィンドウとか置けるようになれば嬉しいかもしれない(そんなフリーソフトもいくつかある)。もちろん2D向けデバイスのマウスだと,遠くにあるウィンドウを引っ張ってくる操作を直感的に行えないが,そんなことは度外視しても,3Dデスクトップは考えただけで楽しく…

続きを読む →

AndroMDA&JUDEはダメっぽい・・・

次のおもちゃとして注目しているMDAを実践するための [AndroMDA](http://www.andromda.org/)。これと何かしらのUMLモデリングツールを組み合わせてMDAを実践しようと思っている。個人的に [JUDE/Professional](http://www.esm.jp/jude-web/product/professional.html)を買っているので,これを使おうと思って試してみた。 結果から言うと,残…

続きを読む →

ついに明日復活!!

今日は4月1日,明日は4月2日。ついに復活の日である。1ヶ月半ぶりのスキーing。めちゃくちゃ楽しみだ!! 花粉症の影響か,のどが痛いけど,雪山に行けば花粉ともおさらば。滑りのイメージは大体できている。今シーズン前半とは明らかに違う体の使い方だ。早く試したいっ!! 雪質良ければいいなぁ・・・。…

続きを読む →

AndroMDAがいいらしい!?

最近よく目にする「SOA」や「MDA」という言葉が非常に気になる。 「SOA」つまりサービス指向アーキテクチャは, [Java WSDP](http://java.sun.com/webservices/downloads/webservicespack.html)をかじったこともあり( [JAVA PRESS Vol.27 「特別企画 大長編! JWSDPによるWebサービス開発」](http://www.gihyo.co.jp/m…

続きを読む →

本質的じゃないのにウケる機能がある

ITシステム,特にWebアプリケーションの領域では,そのユーザにとって「これは役立つ!」と思う機能はさまざまだ。そして,開発する側と使う側で,便利に思う機能にすんごい差がある。 どうしても僕は開発者だから,開発する側の視点で機能を考えてしまいがちだ。 例えば僕は,どうせシステムを作るんだったら,そのシステムだけでやりたいこと全てができるべきだと思っている。情報のエントリから検索,帳票出力にいたるまで,使う人が行いたいこと全てがそこに…

続きを読む →

今シーズン初滑り!!

今週末,今シーズン初滑りだ!! 世間はすっかり春めいてきている。もうすぐ桜が咲くというのに,初滑りとは何事だ!と思うかもしれないが,今シーズンは僕にとって今がスタートなのだ。 忘れもしない2月11日。宝台樹スキー場での最後の滑りで,僕の右手親指は粉砕した。その結果は「 [記念すべき第一投は・・・](http://blog.so-net.ne.jp/yoichiro/archive/20050309)」のとおりだ。それから約2ヶ月,や…

続きを読む →

Velocity,微妙・・・

Velocityを初体験してみた。SQLのCREATE TABLE文を出力するためのテンプレートを書いてみたのだが,これがなかなかうまく書けない。 テンプレート内の記述は,基本的にそのまま結果となる。もちろん,改行もそのまま反映される。単純な文字列置換ならVelocityは非常に便利だと感じた。でも,条件によって置換する文字列を変更したりしだすと,途端にテンプレートが汚くなる。しかも可読性をあげようと改行を入れたりインデントしたりする…

続きを読む →

Velocityの調査!

仕事で使うので,今まで避けていた(?),Velocityの調査を行う。 Velocityの解説ページ(「Velocityとは」でググった)は以下が見つかった。 [Velocity - Velocity User Guide](http://www.jajakarta.org/velocity/velocity-1.3.1/docs-ja/user-guide.html) (JaJakartaの翻訳) [Velocity:第1回…

続きを読む →

JExcelApiの使い方

「 [Excelファイル生成ライブラリ調査!](http://blog.so-net.ne.jp/yoichiro/2005-03-26)」で取り上げたJExcelApi,さっそく実際に使ってみた。なかなかいい感じなので,基本的な使い方をここに残しておこう。 まずは, [JExcelApiのプロジェクトページ](http://jexcelapi.sourceforge.net/)から, [jexcelapi253.zip](http:…

続きを読む →

JExcelApiとWebアプリの相性は?

Webアプリでは,Webブラウザにダウンロードさせたい情報を,一旦サーバ内でファイルとして作成し,それをWebブラウザに対して送信したりする。この場合,セッションが無効になるタイミングなどで,不要になったサーバ内のファイルを削除しなければならない。完全にファイルを削除することはできないため,ごみファイルが残ってしまうこともしばしばだ。さて,あるWebアプリにおいて,Excelファイルを自動生成してWebブラウザに返却する処理が存在すると…

続きを読む →

Excelファイル生成ライブラリ調査!

仕事で,何かとJavaプログラムからExcelファイルを読んだり吐かなければならないことが今まで数多くあった。Excelで書かれた設計書からコードを自動生成したり,帳票としてExcelファイルを作成したりといった感じだ。 しかし,自分ではやったことがない。「JakartaのPOIを使えばできる」くらいしか思ってなかった。副業で作っているシステムで,帳票をExcelファイルで作ることになったので,やっと自分もJavaからExcelファイ…

続きを読む →

Strutsでのファイルダウンロードの方法

Webアプリケーションは,時にHTMLではない処理結果をWebブラウザに返却する。返却するものがHTMLの場合は,JSPや何らかのテンプレートエンジンを使用するが,バイナリデータをWebブラウザに返却する場合は,HttpServletResponseオブジェクトから出力ストリームを取得し,情報を送信する。 一般的なWebアプリケーションであれば,以下の手法のどちらかを採用するだろう。 サーブレットクラスの中に,情報を送信する処理を…

続きを読む →

困ったものだ・・・

[JAVA PRESS Vol.41](http://www.gihyo.co.jp/magazines/javapress/contents)に記事を書いたのだが,最初のページにいつも自分のメールアドレスを書いている。他の著者もみんなそうしているので自分も書いているのだが,載せるのやめようかな・・・と考えている。 読者が記事を読んで,その内容に関する問い合わせが来るのは一向に構わないし,むしろ大歓迎である。もしかしたらダウンロードで…

続きを読む →

JavaPress Vol.41に記事を書きました!

今週に入り,JavaPress Vol.41が発売になった。この特集2の第4章は,僕が担当した記事である。 [JAVA PRESS Vol.41](http://www.gihyo.co.jp/magazines/javapress/contents) Spring+Struts+Hibernateでシンプル開発 -J2EEの先を行く!- 流行のDIコンテナを使って,シンプルかつ柔軟性の高いWebアプリを手軽に作りましょう,という…

続きを読む →

さっそく質問メールが届いた

[JAVA PRESS Vol.41](http://www.gihyo.co.jp/magazines/javapress/contents)の特集2の第4章を担当したが,さっそく質問メールが届いた。内容は以下の通り。 ActionのexecuteをInterceptorすることはできたのですが、そのAction内で使用している、Bean等のメソッドをInterceptorしてログを注入する方法を探しています。いろいろためしてみたの…

続きを読む →

うぉ!Linuxで動かないの!?

先日新バージョンを公開したTranslation Viewプラグイン,なんと早速動作不良が報告されてしまった。 [TranslationViewプラグイン - Eclipse](http://www.eclipsewiki.net/eclipse/?TranslationView%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3) どうやら,Linuxだと翻訳結果が「???」になってしまうらしい。 このコメントを見ただ…

続きを読む →

ジェネレーションギャップパターンとは

最近関わっている仕事のほとんどは,設計書からソースコードを自動生成するようにしている。僕が考えるに,XMLなどの設定ファイルだったら自動生成してくれるのは嬉しいと感じるのだが,やっぱりJavaのソースコードもある程度は定型的になってほしいので,自動生成の対象とすることが多い。 自動生成で問題になるのは,開発者が手を入れた後に設計書が変更になった,というケースだ。もちろん手を入れたコードと設計書にギャップが生じるので,多くの場合自動生成…

続きを読む →

しばらく見ないうちにSwingが成長してた!

俺のJava歴はかなり古い。HotJava1.0αを使ったことがあるくらいだ。大学時代の恩師に進められて始めたJava。正直,こんなに使われるようになるとは,当時は全く思わなかった。 昔からやってるだけあって,JavaでのGUIアプリ開発もお手のモノだ。AWTからやってるし,自作のLight Weight Component(死語?)を作ったりもしてた。もちろんSwingも一通り使いこなせるので,付き合いの長い某企業内でも,Swing…

続きを読む →

Synthの読み方って・・・

昨日書いた「 [しばらく見ないうちにSwingが成長してた!](http://blog.so-net.ne.jp/yoichiro/2005-03-23)」で登場した「Synth」。 これの読み方って,「シンセ」ですよね?…

続きを読む →

自分の時間・・・

いまTVのCMで,こんなことを言っていた。   「仕事の中で自分の時間を多く持てる人ほど,リッチマンかもしれない」 なるほど,確かにその通りである。自分の時間=自分のやりたいことができる時間,と考えると,そんな時間を作れる人って日本に数%しかいないのではないか,と思ってしまう。 興味のあること,好きなことをやっているときが,人は一番生産性があがるものだ。もちろんそれだけで決めてはいけないのだが,誰かに指示を出すときも,もちろん自分…

続きを読む →

指が曲がるようになってきた

固定が外れて早2日。動かすようになって,痛みもそれなりに出てきている。お風呂で曲げ伸ばしをやってる効果が出たのか,ずいぶんと曲がるようになってきた。 ![](http://www.eisbahn.jp/yoichiro/images/169716.jpg) 固定が外れた直後の写真と比べると,曲がるようになったし,腫れもちょっとずつだけど,ひいてきている気がする。指を最大に曲げたときに骨折した部分がひどく痛んだけど,今は若干だけど痛み…

続きを読む →

TranslationViewプラグイン新バージョン公開開始!

「 [TranslationViewプラグインバージョンアップ間近!](http://blog.so-net.ne.jp/yoichiro/2005-03-20)」で予告したとおり,新バージョン(Version 1.1.0)の公開を開始した。新バージョンについては,「 [Eclipseプラグイン開発Blog](http://yoichiro.cocolog-nifty.com/eclipse/2005/03/post.html)」にて記…

続きを読む →

TranslationViewプラグインバージョンアップ間近!

「 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/)」で公開している「 [TranslationView Plug-in](http://yoichiro.cocolog-nifty.com/eclipse/2004/11/post.html)」。最初に公開した直後にいくつか改善や機能追加の要望をもらっていた。しかし,約3ヶ月ちょい放置状態。せっかくBlogにコメン…

続きを読む →

骨折から5週間

やっと固定してたプレートがとれた!!いやぁ,長かった・・・。 プレートも,包帯も,テーピングも,何もないのはホントに気持ちがいい!!病院から出た瞬間に,手に風を感じたときは「おぉぉ!」って感じ。骨折した直後は,ものすごい色だった指も,いまは大分普通の肌色になっていた。 ![](http://www.eisbahn.jp/yoichiro/images/161998.jpg) しかし!関節が曲がらない・・・。上の写真でちょっと指が曲…

続きを読む →

Commons-Langはオツだねぇ

ちょっとしたことでも「便利だなぁ」と思うことは多々ある。決まりきったコーディングはホントに面倒だ。このようなときに, [JakartaのCommonsシリーズ](http://jakarta.apache.org/commons/index.html)はとっても役に立つ。 自作したクラスのインスタンスをコレクション,例えばSetコレクションに格納したいとき,内容が同じものが既に登録されているかどうかを判断するために,equalsメソッ…

続きを読む →

アノテーションの具体例

java.sun.comのTechnical Articleのコーナーに,Java2SE 5.0から登場したアノテーションの具体的な使用例の記事が掲載されていた。 [Using Annotations to add Validity Constraints to JavaBeans Properties](http://java.sun.com/developer/technicalArticles/J2SE/constraints…

続きを読む →

問題は足元から・・・

最近は,現行のシステムの継続保守や機能追加に行き詰って「システムを作りかえてよ」という仕事が多い。昔の汎用機からだったり,ASPとかだったり,VBだったりするのを,Java化するっていう感じだ。 お客さんからの要望のほとんどの関心は,「プログラムを機能拡張しやすいようにして!」というものだ。しかし,その土台となるデータベースに関して,95%くらいの確率で,問題意識を全く持っていない。ホントにびっくりしてしまうことが多すぎる。 「助け…

続きを読む →

Struts+Springの設定ファイル自動生成

StrutsとSpring Frameworkでシステムを開発する場合,その動作を決定する設定ファイル群をどう作っていくかがポイントとなる。具体的には,struts-config.xmlと[Webアプリ名]-servlet.xmlの2ファイルだが,とにかくこれらのファイル,大きくなってしまうのだ。 チーム開発では,成果物が細かければ細かいほど,並行作業がし易くなる。ただし,その分上記のような設定ファイルにしわ寄せがいってしまう。大きな…

続きを読む →

やっぱりコメントもらうと嬉しい!

昨年の一年間は,Eclipseプラグインの開発に熱中した一年だった。雑誌への投稿や書籍化もにらんで(実現しなかったけど),いろいろと勉強した。その成果が,このブログ。 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/) いろいろと作り方を記事化してきたけど,何か作らないといかんなぁと思って,「 [TranslationView Plug-in](http://y…

続きを読む →

セキュリティとはなんじゃい?

IT技術で絶対に避けられない課題。それはセキュリティである。一言でセキュリティといっても,連想することは人それぞれだろう。暗号化,認証,PKI,などがサクッと出てくるキーワードだろう。 さて,システムのアーキテクチャを語る上で,セキュリティは欠かせない事項である。でも,いざ書くとなると,大抵は偏った方向に走りがちになる。多くの人は,セキュリティという範疇を,本来の3分の2しか考えていないだろう。 セキュリティとは何か?これは厳格にI…

続きを読む →

続:XDocletはモノによってはマズいんじゃないの?

この前書いた以下の記事で, [NetPenguin](http://d.hatena.ne.jp/NetPenguin/)クンからコメントをもらった。 [XDocletはモノによってはマズいんじゃないの?](http://blog.so-net.ne.jp/yoichiro/2005-03-11) よくエンティティを表すモデルクラスのソースコードに注釈を記述して,Hibernateのマッピングファイルを自動生成する例を見かける。でも良…

続きを読む →

Strutsのロール設定

Strutsの各アクションを実行する権限がログインユーザにあるのかどうかを検証する仕組みを調査してみた(仕事で使うから)。 struts-config.xmlのactionタグにroles属性が存在   (struts-configのDTDから発見) Struts1.2から,roles属性にワイルドカードが使える。   (「 [Strutsユーザのための、Struts1.2ことはじめ](http://www.mamezou.co…

続きを読む →

XDocletはモノによってはマズいんじゃないの?

Java2 5.0が登場して,JavaプログラミングがMicrosoft Visual Studioにどんどん近づいてきている。その中でも特徴的なのが,アノテーションだろう。そしてJava2 5.0が登場する前から,ソースコードに注釈を入れて,それから定義ファイルなどを自動生成することができるXDocletが多くのプロジェクトで使われてきた。 確かに定義ファイルのメンテナンスは難しい。特にStrutsの設定ファイルであるstruts-…

続きを読む →

つーか

So-netブログ,重すぎ!!!昨日の夜0時ごろ,記事書こうとしても全く応答なし!!So-netブログは後発なんだから,まともにちゃんと運用面考えてからサービス開始しろっつーの。 ココログの初期のころよりも酷い。「~.do」ってURLが見えたから,もしかしたらStrutsで動いてるのかな。うーん,いまStruts案件やってる僕にとっては,ちょっと怖くなりました。…

続きを読む →

アーキテクチャ説明書って何書けばいいの?

IT業界でふつーに使われている「アーキテクチャ」という言葉。すっごいいろんな意味で使われていると思うけど,ではあなたが「システムのアーキテクチャを説明しなければならない」となったら,一体何を説明しますか? 「アーキテクチャ説明書」でググってみても,そのままズバリの文書はほぼヒットしない。これだっていうサンプルがあればパクっちゃうんだけど,世の中そんなに甘くない。それにしても「何で何書いていいかわからないんだろう・・・」と改めて考えた結果…

続きを読む →

記念すべき第一投は・・・

さて,俺の今の右手はこんな感じ。 ![](http://www.eisbahn.jp/yoichiro/images/136930.jpg) 骨折3週間経過。完治の気配なし。 いい加減いやな臭いを発してきたこの手を,今は何とかしたい。。。…

続きを読む →

バイオグラフィ

小学校の頃から何かしら運動をやっているスポーツマン。その反面幼い頃からコンピュータに触れる機会が多かったせいか、ゲームで遊んだり作ったりというパソコン少年でもあった。 剣道、器械体操、ソフトテニス、スキーと学生時代は幅広くスポーツを経験。特に器械体操においては想像を絶する練習量と恵まれた環境によって東部地区や埼玉県で成績を残す。高3から始めたスキーはSAJ1級。大学時代はインストラクターを経験する。 昔からのコンピュータを触ってきた…

続きを読む →

ポートフォリオ

1981年4月: 蓮田市立黒浜小学校入学。 1986年8月: 第十回東京近県小学生剣道練成城北大会 第3位。 1987年3月: 蓮田市立黒浜小学校卒業。 1987年4月: 蓮田市立黒浜中学校入学。 1988年6月: 埼玉県学徒総合体育大会(体操) 団体優勝。 1988年8月: 第19回関東中学校体操競技選手権大会 男子団体6位。 1988年9月: 埼玉県東部地区体操競技会 個人総合2位 鉄棒2位 跳馬優勝。 1988年10…

続きを読む →