2006年もよろしく!
2005年の自分は・・・ 韓○人との敵対 怪我(骨折,椎間板ヘルニア) 信頼してた人物からの裏切り 顧客との対立 JavaOneへの参加失敗 親の入院 地方への長期出張の決定 30年の中で最悪な1年だった。ホントに,きつい一年だった。 振り返ると,まぁそれだけいろいろと何かをやってた一年だったんだろうな。でも,結果は残念ながらどれも裏目に出たものばかり。自分が直接原因ではないことも起きたり,自分の価値観に全く合わないことを目の前でやられたりして,人間関係的にも,今…
2005年の自分は・・・ 韓○人との敵対 怪我(骨折,椎間板ヘルニア) 信頼してた人物からの裏切り 顧客との対立 JavaOneへの参加失敗 親の入院 地方への長期出張の決定 30年の中で最悪な1年だった。ホントに,きつい一年だった。 振り返ると,まぁそれだけいろいろと何かをやってた一年だったんだろうな。でも,結果は残念ながらどれも裏目に出たものばかり。自分が直接原因ではないことも起きたり,自分の価値観に全く合わないことを目の前でやられたりして,人間関係的にも,今…
Bフレッツの支払をまた忘れてしまった・・・。 orz…
先日のクリスマスイブの夜,同級生の結婚披露宴&2次会に行ってきた。 同級生は中学時代の器械体操部の選手メンバーの一人。当時の団体メンバー4人(もち僕も入っている)が揃うのは久々だ。プラス,一つ上の先輩(全国跳馬2位!)や,当時一緒に練習していたクラブの同級生も集まり,気持ちはすっかり体操現役時代に戻っていた。 今ではとても考えられない,即PTAや親からストップがかかるであろう無茶苦茶な練習を共にやってきたメンバーだ。話しても話しきれない思い出が,そこには溢れている。ただ練習が厳しいわけじゃな…
クリスマスイブの今日は,複数のモデルを表で表示するための方法を紹介する。Webアプリケーションのほとんどで必要となる情報の表示方式だ。 StrutsとJSPの組み合わせでWebアプリケーションを作る場合,複数のモデルを表形式で表示するには, タグなどを使って,JSPにループの構文を記述しなければならない。よって,JSPにどうしてもロジック的な要素が含まれるために, MVCを完全に行うことができなかった。 Wicketであれば,このような場合もPOHPで記述できる。まずは,POHPから見ていこ…
「 [CraigはDCさくらユーザだった!?](http://www.eisbahn.jp/yoichiro/2005/12/craigdc.html)」で,AntでMavenちっくなことをStruts 1.2.8のソースパッケージでやってると書いたが,実際にはStrutsをビルドするために必要な依存ライブラリを,AntのGetタスクでダウンロードしているに過ぎない。 例えば,こんな感じ。 usetimestamp="true" ignoreerrors="true"…
ふと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)をダウンロード。速やかに展開し,エクスプローラで展開先を開いた。すると・・・ ( [技術評論社](http://www.gihyo.co.jp/magazines/wdpress))の巻頭特集に記事を寄稿した。前回と同様に, [アークランプ鈴木氏](http://www.arclamp.jp/)との共著である。 今回は,「DI時代のアーキテクチャ設計」という特集の第1章と第2章を担当。第1章では,アーキテクトとはどのよ…
J2EEというエディションが登場する直前,JSPというものが登場することを知ったとき,僕はかなりウキウキしたものだ。当時僕は仕事でアプレットかサーバプログラム(その間はソケット通信!)ばかり書いていて,サーブレットは勉強中。サーブレット内でHTMLを文字列連結を頑張るのに「まじっすか」と思っていたときに耳にしたJSP。HTML内にJavaプログラムが書けて,動的コンテンツを埋め込める。そしてコンパイルは勝手にやってくれる。そんな便利なものが登場したら,世の中JSPさえあれば何でもできるじゃん,と…
Webアプリケーションは,GUIアプリケーションと違って,ページ遷移が基本である。最近はAjaxが登場してきて状況が変わってきているが,基本的にはアプリケーションはページ全体の更新がかかる。つまり,Webアプリケーションはページの集合体だ。今回は,ページ遷移の方法について紹介する。 フォームのサブミット時に何らかの処理を行い,その後次のページに遷移するには,Componentクラスが持つsetResponsePageメソッドを使用する。FormコンポーネントのonSubmitメソッドや,But…
今日,マクドナルドに行った。ドライブスルーで渡されたメニューがこれ。  あれ?サンドイッチ?  マクドナルド的には,ハンバーガーってカテゴリじゃなくて,サンドイッチって扱いなのね。 今度,「ベーコンレタスサンド,チーズ抜き」って頼んでみようかな。。。…
社会人になってすぐに作成して,今まで設置してきた自分のホームページを削除した。全然更新してなかったし,このブログの方が有名(?)になってしまったので,更新しないコンテンツを置いておくのも資源の無駄ということもあり,廃止することにしたというわけである。 なので, [ここ](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/grp1811476) そこには,こう書かれている。 …
Web技術の進化は止まらない。HTML,Java Applet,Flash,Java Web Start,Active Xなど,多くのWeb技術が登場しては消えていった・・・わけではないが,Ajaxの登場により,Webブラウザ上でのユーザインタフェースは,Office製品をデスクトップアプリケーションと遜色ないレベルまで実現可能になった。 [Writely](http://www.writely.com/) - Ajax技術を使って作られたワードプロセッサ イメージはこんな感じだ。 [」のエントリを書いていて,ふと気になった。wicket:id属性の値が同じタグが複数あった時,どういう動作をするのだろうか? 早速試してみる。 ここに名前が入る ここも名前が入る とPOHPを書いて,WebPageのサブクラス内で, add(new Label("name", "よういちろう")); としてみた。結果のHTMLは, よ…
Wicketが持つコンポーネントの中で,最もシンプルなのはLabelコンポーネントだろう。Labelコンポーネントは,HTMLにシンプルな文字列を動的に埋め込みたい時に使用する。 Labelコンポーネントは,実は既に「 [超基本構成](http://www.eisbahn.jp/yoichiro/2005/12/post122.html)」のエントリで使用している。ここでは,Labelコンポーネントに関するコードのみを取り上げてみよう。 まず,Labelコンポーネントに対応するPOHPの部分…
今回は,Wicketを実際に試すための環境を構築してみる。いろんな方法があるが,ここでは,Tomcat5.0とWTP(eclipse Web Tools Platform)を使ってみる。ちなみに,Windows XPを対象とする。 まず,Tomcat5.0をインストールする。ダウンロードは [Jakartaのサイト](http://tomcat.apache.org/download-55.cgi)から行える。ここでは,5.0.28を採用しよう。Tomcatのインストールについては,ここでは割…
さて,最初のWicketアプリケーションを作成してみる。最初なので,1ページのみの超基本構成のWebアプリケーションにしよう。表示のみの機能だが,動的な項目を一つ準備する。WTPでwicket-testプロジェクトをまだ作っていない方は,「 [開発の準備をしよう](http://www.eisbahn.jp/yoichiro/2005/12/post121.html)」を読んで作成して欲しい。 まずは,POHPなHTMLファイルを作成する。名前は「FirstPage.html」とし,作成先は「…
すっかり気に入ってしまったWicket。Eclipseプラグインの時と同じように,自分にプレッシャーをかける意味もこめて,ブログを立ち上げてみた。 [Wicket Communication](http://www.eisbahn.jp/wicket/) このブログは,自ドメインでのMovableType運用開始の意味も含んでいる。何とかWicketをメジャーにすべく,ちょっと頑張ってみようと思う。 Check it now!…
Wicketを試すには,Eclipse上で作業するのが手っ取り早いだろう。ここでは,EclipseでWicketのサンプルを動かすまでの手順を紹介する。 まず,「 [Wicketの基本パッケージ](http://www.eisbahn.jp/yoichiro/2005/12/wicket2.html)」で取り上げた3つのパッケージをそれぞれダウンロードして,任意の場所に展開する。 各パッケージには, [Maven](http://maven.apache.org/)のプロジェクトファイルが含まれ…
最近のWebアプリケーション構築では,SpringFrameworkやSeasar2などのDIコンテナを利用する機会が増えてきている。Wicketについても,主要なコンポーネントとの連携のためのパッケージが提供されている。 [Home - Wicket Stuff](http://wicket-stuff.sourceforge.net/) Wicket Stuffプロジェクトでは,以下の他コンポーネントとの連携機能を提供している。 [Dojo Toolkit](http://www.do…
一般にGUIアプリケーションのプロダクトは,どっちかっていうと付属されてくる例を見れば,「あ,こんなことできるんだぁ」って思うものである。Wicketについても,そんな素敵な題材がプロジェクトから提供されている。今回はWicketプロジェクトが提供している基本的なパッケージを紹介する。 まずは,Wicketの下記のダウンロードページに行ってみよう。 [Download Page](http://wicket.sourceforge.net/Download.html) このページには,Wick…
会社で使っているPCからOracleをアンインストールする際に,インスタンスとリスナーのサービスを停止するのを忘れてしまったため,サービスが残った状態になってしまった。 昔,レジストリの奥底まで必死に検索して地道に削除したことがあるが,今ではそんなことをしなくてもサクッと登録抹消する手段がある。 [アンインストールに失敗して残ったサービスのエントリを消去したい](http://www.monyo.com/technical/windows/31.html) sc.exeコマンドがサービスを…
Wicketとは,POHP(Plain Old HTML Page)のソリューションの一つだ。Wicketを使用することにより,ロジック的な要素が多く含まれがちなJSPではなく,全くシンプルなHTMLでViewを作成していくことができる。そして,ページの中で動的な部分を構築するためのJavaコードは,GUIアプリケーション,特にSwingを使ったことのある人なら「お,似てるな」と思ってしまうようなコードで記述できる。 例えば,POHPとして, ここが入れ替わる とHTMLに記述する。wi…
Wicketは,SourceForge.netでプロジェクト管理されている。 プロジェクトホームページ - [http://wicket.sourceforge.net/SourceForge.html](http://wicket.sourceforge.net/SourceForge.html) SourceForgeサマリーページ - [http://sourceforge.net/projects/wicket](http://sourceforge.net/projects…
最近では,POJO(Plain Old Java Object)と同じように,POHP(Plain Old HTML Page)というキーワードが言われるようになった。これは,ASPやJSPなどの,独自タグやスクリプトレットの記述による複雑怪奇になりやすいViewコンポーネントを見直し,普通のHTMLで作ればいいじゃん,という考えから出てきた言葉である。 現在のPOHP対応のソリューションのほとんどは,通常のHTMLの各要素が持つid属性を利用したものだ。HTMLの要素を動的に解析し,特定のi…
世界選手権個人総合男子,金銀独占! [第38回世界体操競技選手権大会レポート](http://www.jpn-gym.or.jp/artistic/2005/report/data/05wch14.html) すごい,すごすぎます。完全なアテネの再現。またまた泣いてしまいました。 種目別に絞って練習している外国勢が多いけど,体操は6種目やってナンボの世界。脚力が強いから跳馬だけ,とか,手足が長いからあん馬だけ,とか,そんな競技じゃないはず。6種目バランスよくレベルを上げてこそ,体操というも…
現在,体操の世界選手権が行われている。予選で富田選手,水鳥選手の日本人勢1,2位独占状態に興奮しているが,それよりも気になるのがこのニュース。 [消え行く体操の10点満点 歴史的なルール改正の訳](http://sportsnavi.yahoo.co.jp/other/column/200510/at00006336.html) そう,今回の世界選手権で,10点満点ルールでの採点は最後なのだ。確かフィギアスケートの採点ルールと同じような感じで,今後は満点を決めずに点数を付けることになる。 …
11月8日~10日に行われたJavaOne Toyko 2005。そのイベントへの参加の仕方は,たぶん誰よりも違った形だったに違いない。 今年のJavaOneの特徴は,何と言っても一般からセッションを公募したことだろう。より現場に近い声が聞けるし,単にAPIの紹介にとらわれない,現実的な解をいろいろと聞けたはずだ。 もちろん,知り合いと共に僕も一般公募セッションに応募した。しかし,残念ながら落選。「 [規約をプラグインに - Eclipseで自作する現場本位の開発フレームワーク](http:…
現在,11月9日,23時10分。上野駅で宇都宮線の出発を待っていると,山手線の東京・品川行きの電車のホームで,必ず外人の3,4人の集団がホームで電車を待っているのに気がつく。 これもJavaOne効果?…
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の館 [http://mlv.lolipop.jp/mascots/duke/](http://mlv.lolipop.jp/mascots/duke/) Dukeの様々な姿を見ることができる。というか,Javaの歴史がDukeの姿によく表れている。 Dukeを見ると,なぜかワクワクするのは,やっぱり根っからのJava好きなんだろうな,僕は。…
オープンソースが当たり前になった現在では,ユーザの人気というか,採用されるオープンソースプロダクトの取捨選択が,すごい極端な結果として現れるようになった。つまり,多くの場合,良いオープンソースプロダクトは見通しの良いコードであり,良いコードには多くの人が集まってくるっていう構図である。当たり前の話だけど。 でも,良いコードに集まってくるのは,どうやら何も人間だけではないっぽい。例えば,これ。 IBM、エクリプス財団に「Rational Unified Process」のコードを提供 by Z…
IP Messenger for Eclipseの開発には,複数台のマシンが必要となる。とはいえ,1台でも何とか動作確認とかしたかったので,久々にVMWareなんぞを使ってみようかなと思い,挑戦を開始した。 VMWareは早くもバージョン5まで到達していた模様(前に使っていたときは3だった)。早速 [VMWareのWebサイト](http://www.vmware.com/jp/products/desktop/wsfeatures.html)からブツを購入。雑誌の付録についてきたIntel版…
次案件では,後ろに構えるシステムとのやり取りにJMS(Java Messaging Service)を使用する予定だ。もちろんそこにはトランザクションも挟める必要がある。つまり,あるデータベースへのアクセスと,MOM(Message Oriented Middleware)との通信を,一つのトランザクションとして束ねなくちゃいけなくて,抽象化したり,AOPでトランザクションをかけたり,といったことをしたくなってくる。 そこでやっぱり有効なのはDIコンテナだ。DAOだろうがMOMだろうが,とにか…
開発を進めているIP Messengerプラグインだが,sourceforge.jpにてオープンにすることにした。 [ipmsg4e : sourceforge.jp] [https://sourceforge.jp/projects/ipmsg4e/](https://sourceforge.jp/projects/ipmsg4e/) オレンジレンジの「キズナ」をもう6時間延々とリピートしながら,今日はプログラムをしていた。CVSにソースをコミットするたびに,「あぁ,また誰かに変なコ…
まだ完全に離れるわけじゃないけど,やっぱり自分の周りからの使われ方は,1つのプロジェクトの初めから終わりまでベッタリというわけじゃないようになってきている。それはそれで「飽きっぽい」僕としては喜ばしいことなんだけど,同時に「責任を全うできてないのでは?」と感じてしまうのも事実だ。でも,仕方がない。仕事とは,そういうものだ。 というわけで,僕がいま携わっているプロジェクトはまだまだ終わらないけど,僕としての区切りがきたっぽいので,反省文でも書いてみようと思う。 まず,最初にプロジェクトに配属さ…
十数年前までは,プログラマに全てのコードを記載することが当たり前だった。数年前までは,何らかのフレームワークを独自に(クラスの継承を使って)拡張することで,プログラマの作業の負担を軽減することが当たり前だった。そして最近は,オープンソースプロダクトを複数束ねて使用することによって,プログラマの作業の負担を軽減することが当たり前になった。 ちょっと視点を変えて,開発環境はどうだろうと振り返ってみると,「テキストエディタ&コンパイラのみで頑張った時代」から,「統合開発環境の登場」,「CASEツール…
プロジェクトを共有するための場所をどこにするか悩む。 [java.net](http://java.net)は海外サイトなので,英語?日本語?って感じだし, [sourceforge](http://sourceforge.jp/)は何かありきたりで嫌。かといって,自分のPCで環境作るのはかったるい。。。 どうしようかなー。…
ついに,IPMsgプラグインを公開開始!以下のエントリを参考にして欲しい。 「 [IPMessengerプラグイン公開開始しました](http://yoichiro.cocolog-nifty.com/eclipse/2005/09/ipmessenger0045.html)」 by [Eclipseプラグイン開発Blog](http://yoichiro.cocolog-nifty.com/eclipse/)…
着々と開発を進めているIP Messenger for Eclipse,やっとネットワークへの参加と脱退,メッセージの送受信と開封関連の処理が実装できた。コマンドのマスク系がまだ不十分だし,不在通知系の機能と暗号化もまだなので,ちょっと公開しちゃうのは早いかなぁ・・・というのが正直な気持ちだ。 とりあえず,開発中の画面は以下のような感じだ。  非常に微妙なUIに仕上がってしまった。V…
仕事サボって,ちょっと現実逃避エントリしてみる。 今,完全な趣味として, [IP MessengerをEclipseのプラグインとして開発している](http://yoichiro.cocolog-nifty.com/eclipse/2005/09/ipmessengerb0d8.html)。かなりいろいろな思惑があって,仕事よりもこっちを考えちゃってるほうが多いことに自己嫌悪。でも,(ビジネスじゃなくて)いろんな展開が考えられることは,とっても面白いし,刺激的だったりする。そもそも,( [翻…
Eclipseの [翻訳プラグイン](http://yoichiro.cocolog-nifty.com/eclipse/2005/07/ver11109c1.html)を自前のサーバで公開している。もちろんUpdate-Siteを立てて,自動インストールができるようにしている。Update-Siteは普通のWebサーバに所定のファイルを置いておくだけの話だが,そこにアクセスしてくるのは,Webブラウザではなく,Eclipse(というかJavaVM)なところが,ちょっと面白い。 Webサーバは…
JavaでExcelファイルを動的に作成する機能を持つ [JExcelApi](http://jexcelapi.sourceforge.net/)。これのVersion 2.5.7がリリースされた。変更内容は,以下のページで見ることができる。 [JExcelApi Change History](http://www.andykhan.com/jexcelapi/changehistory.html) 前に使った2.5.3から比べて,日付型のセルをちゃんと連続して作成できるようになっている…
昼ごろに起きた強い地震。その影響を発生から12時間後に受けるとは,思っていなかった。 いつもの通りに(?)上野から宇都宮線の終電に乗った。大宮に0時7,8分ごろに到着。普通はそのままさくっと出発して,30分前には最寄り駅に到着するはずだった。 しかし,地震の影響で大宮への到着が遅れている東北新幹線を待ってから出発とのアナウンス。しかも,到着予定時刻は,なんと0時40分!30分以上も待つことになってしまった。 大宮からタクれば,約20分ほどで家まで到着できる(もちろんタク代はJR持ち前提)。…
~ある青年の物語~ 「よういちろうは,飲み会に誘われた」 「よういちろうは,コンビニの前を通過した」 「 よういちろうは,犬のウンチを踏んでしまった!」 「よういちろうの靴が,汚れてしまった!」 「よういちろうは,仲間に笑われてしまった!」 「よういちろうのHPが,5減った!」 「よういちろうの運が,5あがった!」 ウンチを踏むのは中学2年の社会科見学以来。日本橋でまさかウンチが落ちているとは。。。 でも,何かいいことが起きるはずだ。だって,ウン(運)がついたもん。…
前のエントリで疑問に思った,nullに対するUn-boxingをした場合にどうなるのかを試してみた。 public class Test { public static void main(String[] args) { Integer obj = null; int i = obj; System.out.println(i); } } 実行結果は以下のとおり。 Exception in thread "main" java.l…
プライベートなプログラミングでは,すっかりJDK5.0+Eclipse3.1な環境に移行してしまった。EoDが特徴(?)なJDK5.0では,さまざまな言語あるいはコンパイラの拡張が行われたが,その全貌はまだ把握できていない。 最近ちょっとかじったアノテーションを使うときは,もちろん明確に「@hogehoge」というように書くので,注釈つけちゃいましたっ!,と言わんばかりの自覚がある。Genericsについても,文法が拡張されているから,使用したことに対する自覚は明確だろう。 さっきまで宇都宮…
部屋の電気を消して,ベットに横になると,僕の部屋では緑の星が綺麗に光る夜景を毎日見ることができる。  なかなか綺麗なんだけど,実はみんなPC関連のLED。うちにはノートPCしかないので,外付けHDDのアクセスランプがいっぱいある。  マークがないのは,机に反射している光だ。部…
発注元だからといって,何を言っても良いわけではない。ましてや,個人を誹謗することなど,完全に許されない。 僕らはシステム開発のプロフェッショナルだ。顧客の利益になるための,常に最適な判断を行おうとしながら,開発を進めたいと思っている。もちろん,納期や仕様変更などの顧客の希望を最大限実現したいと思っているし,そのためには自分の時間を削ることも仕方ないと考えている(少なくとも僕は)。 ただし,上記は前提がある。それは,「顧客が僕らを信頼すること」だ。最初はもちろん不安だろうけど,実績を確実に見せ…
外付けのHDDのフォーマットをFAT32でしようと思い,気軽にWindows XPからやろうとした。 NTFSしかないじゃん・・・。 最近買ったI-O DATAのLAN接続HDDには,USBのポートが4つ付いていて,HDDを増設することができる。でも,NTFSでフォーマットされたパーティションは,なんと参照のみっていう仕様。仕方ない,FAT32にするかと思ってWindows XPを使ってやろうとしても,NTFSしか選択肢がない。 そこでピーンとひらめいた。Linuxを使えばFAT32でフォ…
昨日公開した新しいバージョンの「 [翻訳ビュープラグイン](http://yoichiro.cocolog-nifty.com/eclipse/2005/07/ver11109c1.html)」。自ドメインを取得したおかげで,自分のサーバでアップデートサイトを立てることができ,しかもアクセス解析までできるようになった。 早速昨日のダウンロード数を見てみると,新バージョンのjarファイルへのアクセス数は,54という結果だった。まぁまぁな数字である。少なくとも,日本で50人は使ってもらえているとい…
今日,翻訳ビュープラグインの新しいバージョンを公開した。それと同時に,自ドメインでのアップデートサイトの運用を開始した。これで,アクセス数とかも細かい数字がわかるし,結構楽しみだ。 Eclipse3.1で翻訳ビュープラグインの動作確認をしたのだが,久しぶりだったので,すっかりコードを忘れていた。「あれ?リソースってどう取得するんだっけ?」という至極簡単なことですらやばい状態だ。これではいけない。 というわけで,新しいプラグインの作成を始める。どんなプラグインなのかは,まだ秘密。思い出せばすぐ…
ふと会社でこの前盛り上がった「 [ガンダム占い](http://fortune.yahoo.co.jp/fortune/special/gundam/)」を思い出して,再度自分は何になるのか占ってみた。  グラブロかぃ。。。グラブロなんて,相当ガンダムマニアじゃないとわからないキャラだぞ。 グラブロ君の特徴をまとめると,「包容力No.1」「協調性No.1」,そして「あきらめ早しNo.…
今週の初めから「なんか変だなー」と思っていたが,徐々に症状がきつくなり,ついに今日は階段を下りるのも辛くなった。立ってられない腰痛。まったく集中できないし,じっとしていられない。 というわけで,今日は仕事を休んで,家で絶対安静。とはいえ,寝たきりも辛い。今年俺,厄年だったっけ・・・。…
1989年に埼玉県学徒総合体育大会で発表された新しい鉄棒の終末技。 [後方伸身失神2回宙返り下り(タナカ)](http://www.eisbahn.jp/gym/mov00055.mpg)(もちろん嘘) [本番での演技](http://www.eisbahn.jp/gym/mov00054.mpg) まさに「失神」である。練習でできないことは本番でもできない,という良い見本だ。 着地の先取りが全くできてなくて,回るだけで必死っていう状態である。どちらかというと屈伸姿勢で回っているので,2…
JDK5.0から搭載されたMetadataだが,やっぱり注釈を自分で定義したくなる。そこで,早速自分で注釈を定義してみた。もちろん,Eclipse3.1を使用する。 まずは,Eclipseで「New - Annotation」を選んで,新規作成ウィザードを起動する。  案外シンプルなダイアログだ。ここに名前を入れて,注釈を生成させる。  何本かゲーム買ったけど,ファミリーベーシックを買ってからは,ゲームを買って遊ぶよりも,ベーマガ(雑誌)に掲載されたプログラムを打ち込んでは,それを無敵にしたりして改造して遊んでいた。今でも「PRINT命令は?で代用してメモリを稼ぐ」といったテクニックは覚えているし,基本的な制御構文の知識はこの時期(小学校5年生!)に確…
すでにリリースされてから結構時間が経っているJDK5.0。まだ必要になる気配がないので触らずにいたのだが,Eclipse3.1がリリースされたので,JDK5.0とEclipse3.1の組み合わせを試してみた。  起動時の第一印象としては,若干動作が速くなったかなという感じ。でも,全体的には3.0のときとさほど変わった印象は受けなかった。 しかし,使い始めてみると,細かな工夫がいくつも…
人間の行動の全ては,理由がある。その理由とは,つまり何かの目標を達成するということだ。もう30歳だが,「やらされている」ことと「自発的にやっている」ことが,ようやく自分で自覚できるようになった気がする。少なくとも20代までは,あまり何も考えずに行動してきた。 下の写真は,小学校5年のときの自分だ(中央)。  普段の練習のときは,オーソドックスな紺の袴なのだが,剣友会の団体メンバーに入…
わからない未来を必死に予想し,計画に基づいて限られた人間に頑張ってもらい,取りこぼしや不具合の修正も何とか予定内に潰してもらい,やっと計画通りに進めたのに,報われない。 今後控えているリスクに対して真っ向から立ち向かう覚悟をして,必死にタスクの組み換えと実施をイメージし,今までの不具合の出方とメンバーの生産性や試験チームとの関わりを考えて,最善と思われるタスク分割とチームへの割り振りを考えたのに,報われない。 顧客に僕らの開発の仕方を必死に伝えて,納得してもらい,さらに実施の状況についても正…
[動く!改造アホ一台 第15回 歩く玄箱 ~ 進化したネットワークストレージ ~](http://xe.bz/aho/15/) HDDが歩く必要性は? 火星探査機の製作とNASAへの売り込みのため。 P2Pで手に入れた大切な○○動画を警察に没収されないように。 HDDもたまには外に出たいだろうから。 やっぱり 2. かな。…
プロジェクトが進むにつれて,顧客やメンバーの興味は「テスト」に移ってくる。そして,事前に「テスト」についてちゃんと考えられていなかったとき,それは後から巨大な壁として認識される。 近年のド短期なプロジェクトでは,リスク管理のもとに,また顧客の信頼を得るために,アジャイルな開発手法を採用することが多くなった。これは,XPやスクラム,広げればUnified Processなども含まれるだろう。タイムボックスを基本として,プログラマに常に見積もりをコミットさせながら,目に見える成果をGetし続ける。…
システム開発に必要な大事な要素,それは「実装」と「試験」だ。どっちかが良くても片方がダメダメなら全体が失敗する。この2つは言葉こそ違えど,「良いシステムを開発する」という目的は同じだ。しかし,特にPM(プロジェクトマネージャ)の志向によって,どうしても片方に傾いてしまう。かなりこの2つを綺麗に回すのは難しいだろう。 そこで,僕の思い描いている実装と試験の関係を,とりあえず気ままに書いてみる。 プロジェクトの中で,開発されたシステムを最も利用するのは,やはり試験を実施する人々だ。彼らは,目の前…
VAIOで運用してきたFedora Core 3だが、インストール時のパッケージの選択に失敗したらしく、POPサーバのdevocotがどうしてもインストールできなかった。うーん、どうしたものかと悩んだ末、せっかくなのでFedora Core 4にアップグレードすることにした。 Fedora Core 4のCDイメージをGetし、さくっとまずはインストール開始。インストーラの画面や操作は、Fedora Core 3と全く一緒だった。面白いのは、Java関連のパッケージ(EclipseとかTomc…
以前「 [DNSに挑戦!](http://blog.so-net.ne.jp/yoichiro/2005-06-26)」で書いたことだが,ついに固定IP&自ドメイン環境を手に入れた。それに伴って,DNSとかメールとか,いろいろと運用できるようになった。 さて,そのドメイン名は・・・ eisbahn.jp だ。これはドイツ語(ほとんど英語になってるけど)で,「アイスバーン」と読む。雪の表面が一旦溶けて,その後気温が下がって凍った状態のことである。スキー好きならではのネーミングだと,自己満足…
ある日,So-netから「 [固定IPサービス](http://www.so-net.ne.jp/staticip/)」開始のメールが僕のところに届いた。グローバルIPアドレスの取得は,以前は金額的にも何か手が届かないなぁと思っていたが,最近では極々普通のサービスになったようだ。 「何か楽しそうなことないかなぁ」と思っていたので,早速固定IPアドレスをGet!した。これにより,PPPoE認証後に必ず同じIPアドレスが割り当てられるようになった。これで前からやってみたかったことが実現できる。それ…
最近毎日終電で帰る日々が続いている。仕事以外にもいくつか抱えているものがあるので,行き帰りの車内でもPCを使いたい。それと寝不足で,満員電車の中を立っている気力もなかったりするので,ついグリーン券を買ってしまう。 上野に向かうグリーン車内は非常に快適だ。うるさい客もいないし,皆マナーも良い。僕もPCのキータッチの音をできるだけさせないように気にするようにしている。 しかし,終電のグリーン車は最悪だ。ホントに最悪だ。快適なことは,まずない。ひどい有様だ。 まず言えることは,酔っ払いの中年が多…
やっぱりこれ!  学生の頃から世話になってます。足裏が特に気持ちいぃ!…
[第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機能くらいと予想)を行い,優先順位をつけて実装順序をコントロールしている。そして,機能単位でリリースし,それに対して試験を行っていく,かなりアジャイルな展開で開発をし…
誰しも設計者は,業務がどのようにソフトウェアに落ちるのかについて,イメージを持っていると思う。そのイメージは,必ず何らかの「軸」と「箱」で整理されたものであるはずだ。しかし,「軸」と「箱」が何なのか?というと,それはドメイン依存なものなので,形式的に語れないところが,もどかしい。しかし,パターンは何らかあるはず。例えば,今後の拡張性を第一に考え,しかも何らかのルールの組み合わせで全体の流れが構成できるのであれば,(Eclipse Platformのような)コア+プラグインというソフトウェアアーキ…
僕ももう30歳になり,自らアプリケーションのコーディングを仕事で行うことは,めっきり少なくなった。設計やベース部分,開発ツールなどを手がけることが多くなり,もしかしたらMicrosoft Office製品を触っている時間の方が多いかもしれない(いや,確実に多い)。プロジェクトに参加する数多くのプログラマを面倒見つつ,いろんな雑務をこなしながら,システムの実装作業を指揮する。はっきり言って,自分が何人いても足りない。 実装作業に秀でたデベロッパを数人知っている。彼らが描くプログラムは,合理的であ…
顧客のシステム開発を行うこととは,どういうことなのだろうか? ADSLも飽和状態となりかけている今日では,昔とは比べ物にならないほど,インターネットの世界は一般に浸透している。インターネットの世界「だけ」でも,立派に市場が成り立つようになった。店舗や何らかの媒体,そして人間を使わなくても,インターネットというバーチャルな世界を使えば,そこで商売ができる。 当然,インターネットユーザ「のみ」をターゲットとした商売を始める企業も増えてきた。インターネット上に何らかのシステムを配置し,そのシステム…
お風呂で考えたことを書いてみる。 最近,EoDについて考える機会があった。「Ease Of Development」,つまり「開発を簡単に」という言葉だ。とかく世の中では,EJB3.0や,J2SE5.0に搭載されたAuto-Boxingやannotation,JSFなどがEoDとして取り上げられているが,システム開発の工程で考えると,それらのEoDは「微々たるもの」と思えてならない。EoDは局所的なものではなく,工程全体で考える必要がある。 EoDは,整理すると,3段階のEoDがあると,最近…
チーム開発では,チームの船頭的なポジションにつく人間によって,プロジェクトの成否が決定するといっても言い過ぎではない。かく言う自分も,年々まとめていくチームの人数が増えてきている。その分だけ,仕事の難易度は上がっていくし,責任も大きなものになる。チーム開発を成功に導くためには何が必要か,それは「イメージすること」を忘れないことだ。 僕はスキーヤーだ。冬は(昨シーズンは不本意だったが)ほぼ毎週スキーに行く。1級を取得したあとは,なかなか目に見えるだけのはっきりした技術の向上は難しくなる。外面的な…
先週から挑戦していた [Roller Weblogger](http://www.rollerweblogger.org/wiki/)だが,やっと動き出した。「 [インストールガイド](http://www.rollerweblogger.org/wiki/Wiki.jsp?page=UserGuideJP)」を読みながら,手順に従って作業を進めたつもりだったが,以下のようにNullPointerExceptionが発生してしまい,絶妙なところで足止めを食らってしまった。  5月18日 AM7:50家発-AM0:40家着 5月19日 AM7:50家発-AM0:40家着 5月20日 AM7:50家発-AM0:40家着 結局毎日終電。そして今日も終電。 いくら仕事だとしても,こんな状態でどうやってモチベーションをあげればいいんだろうか。。。人間らしい生活がしたい。…
昨日「後輩の超実装クン」と久々に会って飲んだ。そこで出た話題はこんな感じ。 「単体テストの標準化」という仕事は,ドキュメントの整備ばかりで大変だ。 入力値のバリデーションをどのようにとらえるのかは難しい? 複数画面の遷移の制御をしてくれるフレームワークが増えている。今後はやはりそれが主流になる? 何だかんだ言って,JSFはこれから必須だ。 「月の雫」のテーブルに端末があり,タッチパネルで注文ができるが,きっとFlashだ。レスポンスの良さを考えると,画像は各端末にキャッシュさ…
プロジェクトにはプロジェクトマネージャ(PM)が必ずいる。直訳すると「プロジェクト管理者」,つまり現場監督,実行責任者だ。では一体PMの仕事って何なんだろう? 僕が例えばPMに期待することは,誰が何をやっていて,どこでどんな議論が行われていて,それが全体の工程の入力なのか出力なのかの整理が常についていて,課題などを解決作業を適切なメンバーにふることができて欲しい,ってことだ。その行動は,もれなく顧客の利益(=プロジェクトの問題が常に把握されて解決に導かれている状態)を目指したものであるべきだし…
午前10時30分~12時会議 午後2時~3時会議 午後4時~10時会議 午前0時30分帰宅 帰宅後知人の会社のDB表追加&新版WARファイル更新 只今1時20分。 さすがに疲れた・・・。…
日々進化しているJava。AWT時代は何かと大変だった(というか何もできなかった)画像関連のAPIを久々に使ってみた。いつの間にかImage I/O APIが搭載されていて,画像の読み書きが簡単になっている。 例えば,画像を読み込むには以下の行のみでOKだ。 BufferedImage image = ImageIO.read(InputStream); BufferedImageクラスには,getWidth()やgetHeight()が搭載されていて,幅や高さを簡単に取得できる。AW…
いつも購読させてもらっている「 [ひがやすを(さん) blog](http://d.hatena.ne.jp/higayasuo/)」にこんなエントリがあった。 愚痴を言っているだけでは、何も変わりません。常にあきらめずに行動し、正しいことを「あたりまえ」にしたいですね。 「正しいと思うこと」を広めること,これはとても難しい。「何が正しいことなのか」ということは,その時の状況(コンテキスト)に左右されるし,常に客観的な視点を自分が持ち続けることができない限り,「正しいこと」なのかどうかもわ…
次期StrutsのShaleだが,今まではuse-casesというサンプルしかなく,これは非常に簡単なものだった。use-casesからShaleの本質はもちろん見えてきたが,実際にShaleの利用シーンは自分である程度想像するしかなかった。 しかし,というか,やっぱりというか,今日Struts Shaleの開発が行われているSVN Repository( [http://svn.apache.org/repos/asf/struts/shale/trunk](http://svn.apach…
真面目に細かく勉強してこなかった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.net/header) なるほど,リンク元URIのことか。…
スキーブーツの手入れをしていた際のぎっくり腰,結局椎間板ヘルニアとの診断だった。神経を圧迫して,右足の裏の筋に激痛が走る状態。痛み止めはほぼ効かず,我慢しきれずに汗までかいてしまう日々が続いた。 まだ骨折の方が楽だ。使えないだけで,痛くないし。 とはいえ,今日は比較的痛みを感じずに過ごせた。痛みが引いてきたのもあるが,痛くない姿勢を無意識に作れるようになってきたということだろう。そのおかげで,一日終わってベッドに横になると,背筋がものすごい酷使されていることに気がつく。 痛みを感じることな…
明日に延期にしていたスキーも,腰痛がひかないために中止とした。悲しすぎる。世の中は20℃を越える日々が続いたりしているし,シーズンはすっかり終わっている。自分の中でのシーズンは終わっていないつもりだったが,すっかりなまりきった体は,すでにシーズンの終了を告げている。 なんか日々腰痛が強くなっている気がするので,中学のときに通っていた接骨院に1○年ぶりに行ってきた。整形外科とか普通の接骨院は,たいていすぐに患部を固めてしまったり,動かさないように指示するのだが,そこは正反対。もちろん固めるときも…
VAIO Z1/PにインストールしたFedora Core 3。無線LANも開通したので,モバイル的に使用してみようと思い,電源ケーブルをはずし,PCMCIAカードもはずし,有線LANケーブルもはずした状態で使用してみた。 バッテリーが30分ももたないじゃん。。。 どうやら,CPUも液晶もHDDも,フル稼働状態のようだ。特にCentrino MOBILE TECHNOLOGYなんだから,CPUの周波数制御を有効にしておきたい。そのためには,カーネルの再構築が必要である。 以下のサイトの内容…
明日スキー行こうと思って,日中車に道具一式を積んだ。ブーツのインナーを乾燥のために出してあったので,中腰になってシェルにインナーを入れていた。 入れ終わって,さぁ持って行こうかと立ち上がろうと思った,まさにその時! キーーーーーーーーーーーーーーン! やっちまった。腰に痛みが走る。ぎっくり腰だ。。。 年に2,3回はおきてるこの痛み。2,3日も経たないうちに普段は治ってしまう。でも,明日スキーだというのに,タイミング悪すぎるよ,俺の腰よ。 ・・・というわけで,スキーは土曜まで延期とし…
VAIO Z1/Pで稼動を開始しているFedore Core 3だが,インストールしてから一度も使っていないハードウェアがあった。それがWireless LANだ。ざっとググってみても,何もせずに使えるようにはならなそうなので,ずっとOFFにしておいたのだ。 せっかくのWireless LANだし,ぜひ使えるようにしてみたい。早速挑戦を開始したが,意外とあっさり使えるようになってしまった。 まず最初にやったことは,Wireless LANのスイッチをONにしてVAIOを起動してみた。いろんな…
システム開発プロジェクトでは,一般的に「設計チーム」と「実装チーム」に分かれて作業を進めることが多い。この「設計」と「実装」の切り分け,これが非常に難しく,けれどプロジェクトの生死を決める最も重要な要素だ。 設計チームはどこまで設計とするのか? 実装チームはどこまで実装とするのか? この線引きは,人によって様々である。全く同じ線引きをする人を見つけることは困難を極める。というか,「境界線はここだよね?」「俺もそう思う,全く一緒だよ」なんて会話を,少なくとも僕は今まで聞いたことがない。 た…
苦戦しながらもようやく動き出したMovable Type。触りだすと,「抱いていたイメージと違うなぁ」と思い知らされた。 僕が最初に触りだしたのは,Niftyの [ココログ](http://www.cocolog-nifty.com/)である。ココログはTypePad,すなわちMovable Typeを基礎とするブログだ。もちろんユーザビリティを向上させるためにいろいろと改良が加えられていることは知っていたけど,基本的にはMovable Typeと同じだろうと思ってた。 でも,やはり「なぜ改…
一般的なアプリで必ず必要となるデータベースへの検索機能。特にユーザが自由に検索条件を変えることができるような場合,検索条件を動的に組み立てる必要が出てくる。つまり,SQL文のWHERE句の条件式をプログラムで組み立てなければならないのだ。 条件式はよほど特殊なアプリでない限り,決まりきったものだ。等号,否定,論理積,論理和,くらいだろうか。文字列的には大したことないものなのに,プログラムで作るとなると,なぜかうまくいかない。しかも,オブジェクト的に条件文を表すことを,アプリを作るたびに毎度毎度…
今日はめっちゃ収穫の多い一日だった。その項目はというと・・・ Struts Shaleの把握 Movable Typeのインストール という2大目標だ。 Struts Shaleの方はというと,JSFの拡張機能と言ってしまえばそれまでだが,実際には, 「画面遷移&業務処理実行に対する高い管理能力」 「ポータルサイトの構築を見据えた画面構成能力」 を備えた非常に魅力的なフレームワークだということがわかった。もちろん品質面や実装具合はまだまだ怪しい感じなのだが,それはオープンソ…
無償版もあることがわかったMovable Type。ココログでやっている「Eclipseプラグイン開発Blog」を移行するために,さっそくダウンロードしてインストールを始めた。しかし,さっそく挫折。 この難しさは一体なに? mt-check.cgiを実行してみると,HTML:Templateが古いとか,Image:Sizeが見つからないとか表示された。 [インストールマニュアル](http://www.movabletype.jp/manual/mtinstall.html)を見ても,こいつ…
愛機 VAIO Z1/P への Fedora Core 3 インストールも完了し,最低限整えようと思っていた機能(Samba,VNC,CVS,SSH)も動き出した。Fedora Core 3 の起動画面やGNOMEデスクトップは超かっこよく,非常に満足である。 さて,せっかくLinuxを入れたので,Windowsではできない or 大変なことをやってみたい。とりあえず思いつくのは, 自前Weblogサーバ構築 である。WeblogのサーバはどれもUNIX環境をターゲットにしていて,Win…
 順調だぜ♪…
昨日からチャレンジしてきたSolarisインストール on VAIO Z1/P。懸念のネットワークカードの認識も何もせずにちゃんと認識されて,インストール自体は全く苦労せずに終わってしまった。画面の解像度も,以下のサイトを参考にして,1400x1050でいい感じに表示されるようになった。 [Vaio PPCG-Z1R/Pで解像度1400x1050表示(Vesaドライバ)](http://park15.wakwak.com/~unixlife/solaris/x-vesa1400.html) …
Windowsだけの生活は退屈だ。というわけで,Solaris10をVAIO Z1/Pにインストール・チャレンジ!!  ちょっと調べたところ,インストール直後はネットワークカードが認識されないらしい(Solaris9の場合みたいだけど)。 [Sony Vaio PCG-Z1R/PへのSolaris9インストール](http://park15.wakwak.com/~unixlife/…
Strutsのバージョン2は当然Struts2かと思いきや,「そりゃ2じゃないだろ」と猛反発を食らったために「 [Struts Shale](http://wiki.apache.org/struts/StrutsShale)」となったらしい。このStruts Shale,JSFとの結びつきの強いものになるそうだ。 [JSF(JavaServer Faces)【.NET死亡?!!!】](http://pc8.2ch.net/test/read.cgi/tech/1059208396/286) b…
読者から [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)に行って,早速ダウンロードしようとしたが・・・ Tomcat 4.X が落とせ…
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) Tomcat 5.0.X用のサーバ定義ファイルに書いてある,「…
最近はあちこちで「プロジェクトでEclipse作ってるよ」という話を聞くようになった。汎用的なプラグインではなく,あくまで特定のプロジェクトの開発で使えるものを作っていることが多いようだ。つまり,潜在的なプラグイン開発者は着々と増えつつあるということだ。「 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/)」ブログのアクセス数も着々である。 知り合いのNetPenguinクンも,悩めるプラグイン開発者になっているようだ。 …
「AndroMDA&JUDEはダメっぽい・・・」で取り上げたUMLモデリングツール「Poseidon for UML」をインストールしてみた。起動イメージはこんな感じだ。  これは,AndroMDAのEJBカートリッジを使って吐いたEJBの雛形モデルである。Business Delegateパターンに対応するServiceステレオタイプと,EJBのEntityBeanに対応するEnt…
次のWindows(Longhorn)では,奥行きのあるデスクトップ(3D Desktop)が売りになるらしい。確かに,せっかくウィンドウのZオーダーがあるんだから,遠近法とか使って,遠くにウィンドウとか置けるようになれば嬉しいかもしれない(そんなフリーソフトもいくつかある)。もちろん2D向けデバイスのマウスだと,遠くにあるウィンドウを引っ張ってくる操作を直感的に行えないが,そんなことは度外視しても,3Dデスクトップは考えただけで楽しくなる。 さて,今ではLonghornを待つことなしに,3D…
次のおもちゃとして注目しているMDAを実践するための [AndroMDA](http://www.andromda.org/)。これと何かしらのUMLモデリングツールを組み合わせてMDAを実践しようと思っている。個人的に [JUDE/Professional](http://www.esm.jp/jude-web/product/professional.html)を買っているので,これを使おうと思って試してみた。 結果から言うと,残念ながらNGだ。 AndroMDAのサンプルで付いてくるe…
今日は4月1日,明日は4月2日。ついに復活の日である。1ヶ月半ぶりのスキーing。めちゃくちゃ楽しみだ!! 花粉症の影響か,のどが痛いけど,雪山に行けば花粉ともおさらば。滑りのイメージは大体できている。今シーズン前半とは明らかに違う体の使い方だ。早く試したいっ!! 雪質良ければいいなぁ・・・。…
最近よく目にする「SOA」や「MDA」という言葉が非常に気になる。 「SOA」つまりサービス指向アーキテクチャは, [Java WSDP](http://java.sun.com/webservices/downloads/webservicespack.html)をかじったこともあり( [JAVA PRESS Vol.27 「特別企画 大長編! JWSDPによるWebサービス開発」](http://www.gihyo.co.jp/magazines/javapress/archive/Vol…
ITシステム,特にWebアプリケーションの領域では,そのユーザにとって「これは役立つ!」と思う機能はさまざまだ。そして,開発する側と使う側で,便利に思う機能にすんごい差がある。 どうしても僕は開発者だから,開発する側の視点で機能を考えてしまいがちだ。 例えば僕は,どうせシステムを作るんだったら,そのシステムだけでやりたいこと全てができるべきだと思っている。情報のエントリから検索,帳票出力にいたるまで,使う人が行いたいこと全てがそこにある状態が理想だと考えている。 だから,データベース内の情…
今週末,今シーズン初滑りだ!! 世間はすっかり春めいてきている。もうすぐ桜が咲くというのに,初滑りとは何事だ!と思うかもしれないが,今シーズンは僕にとって今がスタートなのだ。 忘れもしない2月11日。宝台樹スキー場での最後の滑りで,僕の右手親指は粉砕した。その結果は「 [記念すべき第一投は・・・](http://blog.so-net.ne.jp/yoichiro/archive/20050309)」のとおりだ。それから約2ヶ月,やっと腫れもほとんどひいて痛みもおさまってきた。 1月,2月…
Velocityを初体験してみた。SQLのCREATE TABLE文を出力するためのテンプレートを書いてみたのだが,これがなかなかうまく書けない。 テンプレート内の記述は,基本的にそのまま結果となる。もちろん,改行もそのまま反映される。単純な文字列置換なら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回:汎用テンプレートエンジンVelocity](http://…
「 [Excelファイル生成ライブラリ調査!](http://blog.so-net.ne.jp/yoichiro/2005-03-26)」で取り上げたJExcelApi,さっそく実際に使ってみた。なかなかいい感じなので,基本的な使い方をここに残しておこう。 まずは, [JExcelApiのプロジェクトページ](http://jexcelapi.sourceforge.net/)から, [jexcelapi253.zip](http://prdownloads.sourceforge.net/…
Webアプリでは,Webブラウザにダウンロードさせたい情報を,一旦サーバ内でファイルとして作成し,それをWebブラウザに対して送信したりする。この場合,セッションが無効になるタイミングなどで,不要になったサーバ内のファイルを削除しなければならない。完全にファイルを削除することはできないため,ごみファイルが残ってしまうこともしばしばだ。さて,あるWebアプリにおいて,Excelファイルを自動生成してWebブラウザに返却する処理が存在すると仮定する。この場合,まず思いつくことは,POIやJExcel…
仕事で,何かとJavaプログラムからExcelファイルを読んだり吐かなければならないことが今まで数多くあった。Excelで書かれた設計書からコードを自動生成したり,帳票としてExcelファイルを作成したりといった感じだ。 しかし,自分ではやったことがない。「JakartaのPOIを使えばできる」くらいしか思ってなかった。副業で作っているシステムで,帳票をExcelファイルで作ることになったので,やっと自分もJavaからExcelファイル生成に挑戦してみる。そこで,まずは調査。 もちろん最初は…
Dr.コトー診療所のビデオみて,泣きました。…
Webアプリケーションは,時にHTMLではない処理結果をWebブラウザに返却する。返却するものがHTMLの場合は,JSPや何らかのテンプレートエンジンを使用するが,バイナリデータをWebブラウザに返却する場合は,HttpServletResponseオブジェクトから出力ストリームを取得し,情報を送信する。 一般的なWebアプリケーションであれば,以下の手法のどちらかを採用するだろう。 サーブレットクラスの中に,情報を送信する処理を記述する。 JSPの中に,情報を送信する処理を記述する。 …
[JAVA PRESS Vol.41](http://www.gihyo.co.jp/magazines/javapress/contents)に記事を書いたのだが,最初のページにいつも自分のメールアドレスを書いている。他の著者もみんなそうしているので自分も書いているのだが,載せるのやめようかな・・・と考えている。 読者が記事を読んで,その内容に関する問い合わせが来るのは一向に構わないし,むしろ大歓迎である。もしかしたらダウンロードできる題材に不備があるかもしれないし,本文の内容が嘘を書いてい…
今週に入り,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してログを注入する方法を探しています。いろいろためしてみたのですが、うまくできませんでしたので、もし参考になるサイトをご…
先日新バージョンを公開したTranslation Viewプラグイン,なんと早速動作不良が報告されてしまった。 [TranslationViewプラグイン - Eclipse](http://www.eclipsewiki.net/eclipse/?TranslationView%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3) どうやら,Linuxだと翻訳結果が「???」になってしまうらしい。 このコメントを見ただけで,すぐにその原因は思いついた。Exciteの翻訳サイトか…
最近関わっている仕事のほとんどは,設計書からソースコードを自動生成するようにしている。僕が考えるに,XMLなどの設定ファイルだったら自動生成してくれるのは嬉しいと感じるのだが,やっぱりJavaのソースコードもある程度は定型的になってほしいので,自動生成の対象とすることが多い。 自動生成で問題になるのは,開発者が手を入れた後に設計書が変更になった,というケースだ。もちろん手を入れたコードと設計書にギャップが生じるので,多くの場合自動生成しなおすと,手で加えた部分が消えちゃったり,矛盾が起きてコン…
俺のJava歴はかなり古い。HotJava1.0αを使ったことがあるくらいだ。大学時代の恩師に進められて始めたJava。正直,こんなに使われるようになるとは,当時は全く思わなかった。 昔からやってるだけあって,JavaでのGUIアプリ開発もお手のモノだ。AWTからやってるし,自作のLight Weight Component(死語?)を作ったりもしてた。もちろんSwingも一通り使いこなせるので,付き合いの長い某企業内でも,Swingを使ったプロジェクトに必ずお呼びがかかるようになっている。 …
昨日書いた「 [しばらく見ないうちにSwingが成長してた!](http://blog.so-net.ne.jp/yoichiro/2005-03-23)」で登場した「Synth」。 これの読み方って,「シンセ」ですよね?…
いまTVのCMで,こんなことを言っていた。 「仕事の中で自分の時間を多く持てる人ほど,リッチマンかもしれない」 なるほど,確かにその通りである。自分の時間=自分のやりたいことができる時間,と考えると,そんな時間を作れる人って日本に数%しかいないのではないか,と思ってしまう。 興味のあること,好きなことをやっているときが,人は一番生産性があがるものだ。もちろんそれだけで決めてはいけないのだが,誰かに指示を出すときも,もちろん自分が仕事をするときも,最も生産性があがると思われる作業は何かと…
固定が外れて早2日。動かすようになって,痛みもそれなりに出てきている。お風呂で曲げ伸ばしをやってる効果が出たのか,ずいぶんと曲がるようになってきた。  固定が外れた直後の写真と比べると,曲がるようになったし,腫れもちょっとずつだけど,ひいてきている気がする。指を最大に曲げたときに骨折した部分がひどく痛んだけど,今は若干だけど痛みも和らいできている。 ただ,昼間に無理して爪切りを右手で使…
「 [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)」にて記事を書いてあるので,読んでほしい。 プロキシの設定については…
「 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/)」で公開している「 [TranslationView Plug-in](http://yoichiro.cocolog-nifty.com/eclipse/2004/11/post.html)」。最初に公開した直後にいくつか改善や機能追加の要望をもらっていた。しかし,約3ヶ月ちょい放置状態。せっかくBlogにコメントもらったし,バージョンアップしましょうということで,先週,…
なんか捨てられない。病院に置いてくるんだった・・・。 …
やっと固定してたプレートがとれた!!いやぁ,長かった・・・。 プレートも,包帯も,テーピングも,何もないのはホントに気持ちがいい!!病院から出た瞬間に,手に風を感じたときは「おぉぉ!」って感じ。骨折した直後は,ものすごい色だった指も,いまは大分普通の肌色になっていた。  しかし!関節が曲がらない・・・。上の写真でちょっと指が曲がっているけど,これで最高の曲がり具合。力を徐々に強めて曲げ…
ちょっとしたことでも「便利だなぁ」と思うことは多々ある。決まりきったコーディングはホントに面倒だ。このようなときに, [JakartaのCommonsシリーズ](http://jakarta.apache.org/commons/index.html)はとっても役に立つ。 自作したクラスのインスタンスをコレクション,例えばSetコレクションに格納したいとき,内容が同じものが既に登録されているかどうかを判断するために,equalsメソッドをオーバーライドする。この中で,2つのインスタンスが持つ値…
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/annotations.html) JavaBeansの…
最近は,現行のシステムの継続保守や機能追加に行き詰って「システムを作りかえてよ」という仕事が多い。昔の汎用機からだったり,ASPとかだったり,VBだったりするのを,Java化するっていう感じだ。 お客さんからの要望のほとんどの関心は,「プログラムを機能拡張しやすいようにして!」というものだ。しかし,その土台となるデータベースに関して,95%くらいの確率で,問題意識を全く持っていない。ホントにびっくりしてしまうことが多すぎる。 「助けてくだしぁい」と世界の中心で叫びたくなるほど,各企業が持って…
StrutsとSpring Frameworkでシステムを開発する場合,その動作を決定する設定ファイル群をどう作っていくかがポイントとなる。具体的には,struts-config.xmlと[Webアプリ名]-servlet.xmlの2ファイルだが,とにかくこれらのファイル,大きくなってしまうのだ。 チーム開発では,成果物が細かければ細かいほど,並行作業がし易くなる。ただし,その分上記のような設定ファイルにしわ寄せがいってしまう。大きな設定ファイルを複数人でメンテしていく作業が難しいことは,改め…
昨年の一年間は,Eclipseプラグインの開発に熱中した一年だった。雑誌への投稿や書籍化もにらんで(実現しなかったけど),いろいろと勉強した。その成果が,このブログ。 [Eclipseプラグイン開発](http://yoichiro.cocolog-nifty.com/eclipse/) いろいろと作り方を記事化してきたけど,何か作らないといかんなぁと思って,「 [TranslationView Plug-in](http://yoichiro.cocolog-nifty.com/ecli…
IT技術で絶対に避けられない課題。それはセキュリティである。一言でセキュリティといっても,連想することは人それぞれだろう。暗号化,認証,PKI,などがサクッと出てくるキーワードだろう。 さて,システムのアーキテクチャを語る上で,セキュリティは欠かせない事項である。でも,いざ書くとなると,大抵は偏った方向に走りがちになる。多くの人は,セキュリティという範疇を,本来の3分の2しか考えていないだろう。 セキュリティとは何か?これは厳格にISOで定義されている。 [情報セキュリティのC.I.A.…
この前書いた以下の記事で, [NetPenguin](http://d.hatena.ne.jp/NetPenguin/)クンからコメントをもらった。 [XDocletはモノによってはマズいんじゃないの?](http://blog.so-net.ne.jp/yoichiro/2005-03-11) よくエンティティを表すモデルクラスのソースコードに注釈を記述して,Hibernateのマッピングファイルを自動生成する例を見かける。でも良く考えて欲しい。本来POJOなはずのモデルのソースコードが,…
Strutsの各アクションを実行する権限がログインユーザにあるのかどうかを検証する仕組みを調査してみた(仕事で使うから)。 struts-config.xmlのactionタグにroles属性が存在 (struts-configのDTDから発見) Struts1.2から,roles属性にワイルドカードが使える。 (「 [Strutsユーザのための、Struts1.2ことはじめ](http://www.mamezou.com/tec/equip015.htm)」 by 豆蔵) Se…
Java2 5.0が登場して,JavaプログラミングがMicrosoft Visual Studioにどんどん近づいてきている。その中でも特徴的なのが,アノテーションだろう。そしてJava2 5.0が登場する前から,ソースコードに注釈を入れて,それから定義ファイルなどを自動生成することができるXDocletが多くのプロジェクトで使われてきた。 確かに定義ファイルのメンテナンスは難しい。特にStrutsの設定ファイルであるstruts-config.xmlや,Spring Frameworkのa…
So-netブログ,重すぎ!!!昨日の夜0時ごろ,記事書こうとしても全く応答なし!!So-netブログは後発なんだから,まともにちゃんと運用面考えてからサービス開始しろっつーの。 ココログの初期のころよりも酷い。「~.do」ってURLが見えたから,もしかしたらStrutsで動いてるのかな。うーん,いまStruts案件やってる僕にとっては,ちょっと怖くなりました。…
IT業界でふつーに使われている「アーキテクチャ」という言葉。すっごいいろんな意味で使われていると思うけど,ではあなたが「システムのアーキテクチャを説明しなければならない」となったら,一体何を説明しますか? 「アーキテクチャ説明書」でググってみても,そのままズバリの文書はほぼヒットしない。これだっていうサンプルがあればパクっちゃうんだけど,世の中そんなに甘くない。それにしても「何で何書いていいかわからないんだろう・・・」と改めて考えた結果,「アーキテクチャって何?」とことがモヤモヤな状態だったと気…
さて,俺の今の右手はこんな感じ。  骨折3週間経過。完治の気配なし。 いい加減いやな臭いを発してきたこの手を,今は何とかしたい。。。…
小学校の頃から何かしら運動をやっているスポーツマン。その反面幼い頃からコンピュータに触れる機会が多かったせいか、ゲームで遊んだり作ったりというパソコン少年でもあった。 剣道、器械体操、ソフトテニス、スキーと学生時代は幅広くスポーツを経験。特に器械体操においては想像を絶する練習量と恵まれた環境によって東部地区や埼玉県で成績を残す。高3から始めたスキーはSAJ1級。大学時代はインストラクターを経験する。 昔からのコンピュータを触ってきた経験が功を奏し、今ではITアーキテクトとして活躍中。特にJa…
1981年4月: 蓮田市立黒浜小学校入学。 1986年8月: 第十回東京近県小学生剣道練成城北大会 第3位。 1987年3月: 蓮田市立黒浜小学校卒業。 1987年4月: 蓮田市立黒浜中学校入学。 1988年6月: 埼玉県学徒総合体育大会(体操) 団体優勝。 1988年8月: 第19回関東中学校体操競技選手権大会 男子団体6位。 1988年9月: 埼玉県東部地区体操競技会 個人総合2位 鉄棒2位 跳馬優勝。 1988年10月: 新人戦三支部大会(体操) 鉄棒3位 跳馬3位。 19…