10/10(Thu)
/** 隠れた名店? */ 関内の開港記念会館向かい(?)、大さん橋手前の通りにある、 ポモドーロという西洋料理(らしい)な店は、なかなかイケてます(^^) 入り口は、ドア二枚分程度の幅しかないのですが、 階段で降りてみると、ちゃんとしたお店になっていて、 こじんまりとしていて、家庭的な雰囲気を漂わせてたりします。 「チキンときのこのドリア」とかいうのを頼んだんですが、 秋を感じさせるきのこと、良い感じの柔らかさになってるチキンに加え、 濃厚ソースが絡まって、めちゃくちゃうまかったです(*^-^*) これにサラダ、スープ、ケーキ(のどが渇く系(^^;)、ドリンクが付いて1,000円は、 その価値があると言えるでしょう。 /** 既存資産の解析 */ 既存資産のパフォーマンス改善を担当しているのですが、 今日辺りから、ソースコードの2次元化作業を進めてたりします。 が、なかなか今回は手ごわそうです(T_T) SQLで、GROUP BYしてAVG関数で平均を求めればいいのに、 わざわざ全レコード取得して、ループでまわして合計し、レコード数で割って平均求めてたり、 式を文字列で構築して、('1 + 2 + 3'みたいな式) select 式 from dual into :結果 で、式の結果を取得してみたり。 要は、SQL使うべきところで使ってなくて、 SQL使わなくてもいいところで、使ってみたりと、 かなぁりはちゃめちゃっぽいです(T_T) やる前は、DBのチューニングになるかと思ったんですが、 どうやら、コードに問題がいっぱいありそうです...10/9(Wed)
/** スケジュールを書いてみる */ 書いてみて思ったんですが、予想通り、積んだ工数の根拠を考える作業、 つまり、見積もり作業が難しいです。 多分、きちんと根拠を持ったスケジュールでないと、 レビューで突っ込まれるのは必至でしょう。 あと、タスク間の依存関係を考慮するという意味では、 かなり意味のある作業なのではないかと思いました。 つまり、あるタスクが完了しないと実行できないタスクとか、 あるタスクと並行して実行できるタスクとかをビジュアライズすることで、 自分にとっても、チームメンバに対しても、 分かりやすく、意味のあるスケジュールになると思います。 でも、この依存関係を考えつつ線を引いてみると、 「う〜ん。このタスクは、この程度の時間で本当に終わるのかなぁ?」 と、考え込みまくり(T_T) 見積もりに根拠が無いので、自信が無く、深みにハマってる感じです... これからどうなることやら!?10/8(Tue)
/** ぼげぼげ */ 親子丼食べようと思って、鶏肉と卵買ったところまでは良かったんですが、 気づいたら、なぜかしらたき買ってました(T_T) しらたきは親子丼にいらねぇよなぁ... まあ、賞味期限が来月なので、来週にでも使えばいいけどね。 /** リーダーって何? */ 表面上、リーダとかいうのをやらされてるんですが、 正直、何していいんだか、さっぱり分かってません(T_T) とりあえず、スケジュールを書かなきゃならないらしいんですが、 今までやってきたプロジェクトで、最初に書いたスケジュール通りに行ったことなんて、 全くないので、 「はっきり言って、意味無いのでは?」 と、疑念を抱く日々です。 ただ、本とかを読むと、 「スケジュールは生き物で、常に更新していかないと意味が無い。」 もので、予定通り行くことを想定していないようです。 参考) アンチパターン: 計画倒れ こうして考えてみると、 「スケジュール = 単なる計画」 ではなく、 「スケジュール = 予定/実績管理表」 という考えであれば、成り立つのではないかと思います。 まあ、ガントチャートを書くところまでは、なんとなく想像できます。 そういえば、タスク間の依存関係を表すときは、PERT図を使いますね。 だとしても、予定を示すには、なんらかの根拠が必要で、 そこには、見積もり能力が問われると思います。 (保守案件で、一つ一つの機能が小さいので、FPは使えないでしょうが。) 正直、まだまだプログラマ寄りの考えでいるためか、 「スケジュールとか考えるよりも、とりあえず作ってみた方が早いんじゃないの?」 とか思ったりするんですが、どうもその考えは、上には通用しないようです(T_T) つーか、試されてるのかも? とりあえず、ハテナだらけのリーダじゃあ頼りないし、苦労するだろうけど、 まあ、これも一つの修行ってことで、がんばるしかないでしょう。 (結局、気合論かよ...)10/6(Sun)
/** ある意味スゴい店発見! */ まず、店に入ってみると、誰もいない... カウンター席とテーブル席があるのだが、 カウンター席は、荷物で埋まってて、座れそうにないし、 なんかのノボリが邪魔だったりで、テーブル席に座ることに。 30秒ぐらいして、店のおばちゃんらしき人が出現しました。 つーか、12時ちょうどぐらいで、お昼時なのに、 誰もお客さんこないと思ってたのか!? とりあえず、焼肉定食(680円)を頼んでみると、 「たけのこご飯だけどいい?」 とか聞かれてるし(^^; ダメだったらどうだろうとか思いつつ、まあ、秋らしくていいかと思ったり。 でもって、十数分後出てきたのは、 おこさまランチ風の、しきりがついた丸いお皿に、 大量のたけのこご飯と、味噌汁、焼肉、つけもの、マヨネーズたっぷりレタスと、トマト2個(←すっげえ余計(>_<;) たけのこご飯は、さすがにおばちゃんが得意そうなので、おいしかったのですが、 肝心の焼肉は、ぶよぶよしてたり、急に固かったりで、あんまり... その他の野菜類も、やっぱりイマイチでした(T_T) ちなみに、この店のメニューは、焼肉定食以外にもあって、 ・おにぎり定食(300円) → どんなんだ!? ・納豆定食(380円) → 安いけどね... などなど、個性派ぞろいっぽいです(^^; あと、肉まんの販売もしているらしいのですが、 1個190円、3個570円、5個950円で、 全然割引してません(T_T) なんとも... しっかし... うちの近所の店は、味がどうこう言う前に、 店の中が汚いとかっていうのが多いね。 最低限そこはクリアしてくれないと、二度と行く気はしないでしょう。 (よっぽどおいしいんだったら別だけど。) /** JSTLいい感じかも。 */ タグライブラリを自分で作るのは、非常にめんどくさいですが、 JSTLは、Sunが仕様を策定し、Apache Jakarta Projectが実装を提供しているみたいなので、 これを利用しない手は無いでしょう。 ちなみに、現在までのところ、 リファレンスマニュアルがpdfのみの提供となっているようです。 これが使いづらいんだわ(T_T) でもって、使用前と使用後の比較が↓
使用前 | 使用後 |
---|---|
<%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import = "hogepkg.*" %> <% Account[] accountList = (Account[])request.getAttribute("accountList"); %> <table border = "1"> <tr> <th>支店コード</th> <th>口座番号</th> <th>顧客名</th> </tr> <% for(int i=0; i<accountList.length; i++) { Account anAccount = accountList[i]; %> <tr> <td><%= anAccount.getShitenCode() %></td> <td><%= anAccount.getKozaNo() %></td> <td><%= anAccount.getName() %></td> </tr> <% } %> </table> |
<%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import = "hogepkg.*" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <table border = "1"> <tr> <th>支店コード</th> <th>口座番号</th> <th>顧客名</th> </tr> <c:forEach items="${accountList}" var="anAccount"> <tr> <td><c:out value = "${anAccount.shitenCode}"/></td> <td><c:out value = "${anAccount.kozaNo}"/></td> <td><c:out value = "${anAccount.name}"/></td> </tr> </c:forEach> </table> |
<% 〜 %>が無くなっただけで、こんなに見やすくなるとは思いませんでした(^^; 醜いキャストも消え去っちゃってますし。 もう、すっかりJSTL信者と化してます(^^;; ちなみに、よく知らなかったんですが、<jsp:useBean>を使えば、 上の使用前と、使用後の中間ぐらいの見やすさのJSPを書けるようです。 (めんどくさくて、結局覚えてませんでした(>_<;) core以外使ってない上に、coreも大して使ってないんですが、 forEachタグで、itemに指定する識別子に、試しにrequestとsession両方同じ名前のものを入れてみたら、 requestの方が有効になったっぽいです。 多分、狭いスコープの方が優先されるようになっていると思われます。 (違ってたら、つっこみお願いします(^^;) あと、coreのimportは、jsp:importよりも優れてるみたいな記述がどっかにあったので、 Composite Viewパターンを使う時は、使えるかも知れません。10/5(Sat)
/** Jakarta POI */ 9/26にリリースされた、Jakarta POIの1.8-devリリース版で、 日本語のシート名が通るようになったっぽいです(^^) http://jakarta.apache.org/site/news.html#0926.1 /** 蒲田を攻める */ ラーメン激戦区とのウワサを聞いて、自転車で行ってみました。 とりあえず、東京たぬきラーメンの通りを探してみようと思ったんですが、 全然場所を確認せずに、適当に行けば見つかるだろうとタカをくくったせいか、 これが、全く見つかりませんでした(T_T) つーか、意外と蒲田は広い街でした... 歩くこと十数分。いい加減お腹も減ったなぁとか思ったので、 どこか適当に店を決めて入ることに。 で、ふと目に止まったのが、つけ麺大王でした。 これって、戸越銀座にもあったよなぁ。とか思いつつ入り、 「大王つけ麺」なる、いかにも当店ご自慢のメニューです! 的なものを頼んでみました。 そういえば、つけ麺ってバーミヤンでした食べたことなかったかも(>_<; でもって、でっかい丼になみなみ入った、とろとろのつけ(?)と、 ちっちゃい深皿に入った麺が出てきました。 う〜ん。アンバラ〜ンス(T_T) つーわけで、替え玉とか頼んじゃいました(^^; → 食べすぎ... まあ、味は悪くはないのですが、 替え玉代込みで、1,200円はちょっと高いでしょう... ちなみに、周りのお客さん、誰もつけ麺頼んでなかったのは、ちょっと気になります。 帰って地図を調べたところ、西口から、右の方に歩いていけば、 東京たぬきラーメンとか、ラーメン次郎とか、青葉とかがある通りに出られるらしいので、 また今度行ってみようと思います。。10/4(Fri)
/** MMXは遅くないと思ったのに */ 結局、速いマシンに替えてもらいました。 だって、仕事にならないんだもん(>_<; /** アジャイルプロジェクト管理 */ 最近本読んでないなぁと思い、イキオイだけで買ってみた本です(^^; その中で、RDBとオブジェクトのインピーダンスミスマッチに関する問題が記述されていました。 1レコード1インスタンスで管理した場合、 1) 結合処理の最適化問題 2) トランザクション問題 3) データのチェックポイントとデータ転送の最適化問題 という問題にあたると書かれていました。 3)はよく分かりませんが、 (オブジェクトとRDBの同期タイミングのことを言っている?) 1)と2)の問題には、僕も直面したので、思わず、 「う〜ん。そうだよなぁ。」 とか考えてしまいました。 EJB2.0仕様では、元々解決していた2)の問題に加え、 1)の問題も解決していることになっていますが、 Deployment Descriptorも複雑で、元々deploy手順が複雑なため、 とても現実解であるとは思えません。 かと言って、単なるJDBCプログラミングで解決するのも難しそうです。 参照系に限れば、1レコード1インスタンスの管理ではなく、 1結合結果レコード1インスタンスで管理すれば、うまくいくような気がします。 (昔、その考え方で、BMP Entity Bean作ったことありますし。) でも、オブジェクトデータベースを使うのが、一番現実的かも知れません。 /** ただ作れるは使えない */ 今年の1月におさらばした人が、その後に書いたJavaのコードを、 なぜか今見るハメになってます(T_T) 確か、半年近くJavaを触ってたはずなんですが、 はっきり言って、しょぼしょぼです... つーか、Javaで作れるんだったら、1から作り直すところです。 試しに、シーケンス図をコードから起こしてみましたが、 メッセージ関係が複雑で、書き終わってようやく理解できました(^^; しっかし、あれだけパターンで盛り上がった時期もあったのに、 設計ができないエンジニアってのは、やっぱり多いんでしょうかねぇ。 元のコード作成者は、C言語が得意だったはずなので、 何もオブジェクト指向的に解決しようとしなくても、 機能設計をして作れば、それなりに良いコードを書けそうなんですが。 なんにしても、そういう人と関わって仕事をしたくないわけで、 もっと、やる気系の人と組んで仕事してみたいものです。 まあ、最近の傾向として、現場での学習/調査期間は削られ、 ある程度即戦力的/将来性ありなチームが組まれることが多くなってきてそうなので、 悩むことも少なくなるかも知れませんが。10/3(Thu)
/** なんで電車の中は暑かったり寒かったり? */ 同じく、建物の中も暑かったり寒かったりします。 まったく、どっちかにして欲しいですね... /** MMXは遅くないと思ったのに */ 今、ワケあって、Pentium MMX 266MHzで、メモリ64MBのマシンを使ってたりするんですが、 なんだか、めちゃめちゃ遅いです(>_<; 起動してメーラ立ち上げて、ブラウザを立ち上げるまで5分ぐらいとか(^^; 下手すると、javacコマンドを1ソースに対してのみ投入してるのに、返ってくるまで2分とか(^^; なんとなく、MMXの266MHzって、速いような気がしてしまうのですが、 それって単なる妄想なんでしょうか(^^; やっぱり、Windows9x系じゃなくて、NTだから重いのかなぁ... まあ、今まで使ってたのが、Celeron 1GHzとかだったし、 そのマシンは、今まで色んな人が使って、ゴミが溜まってるってのもあるんでしょうが。 なんにしても、仕事しづら〜い(T_T) /** 目指せ! こりずにテクニカルエンジニア(ネットワーク)!! */ あと2週間ちょいになりました。 ようやく、今月のNetwork Worldと、Network Magazineが買えたので、 これから読むところです... 午前対策は、iStudyを去年と一昨年分やって、大体よさそうなんですが、 午後対策は、事例解析をも一回ぐらいやりたいと思いつつ、結局やってません(T_T) 今週、来週の連休は、死ぬ気でやらないと... 今こそ、記憶力だけで試験をくぐり抜けてきた実力を出さないとね(^^;10/2(Wed)
/** 台風一過 */ さすがにもう暑くはならないだろうと思ったけど、やっぱり暑かったです(T_T) /** 既存資産の解析 */ って、避けて通れないのかしら(T_T) まったくの新規プロジェクトって、やっぱり少ないのかなぁ... でもって、まだ片足突っ込んだぐらいしか解析してないのですが、 なかなかやってくれてるっぽいです。 なんせ、HTML組み立てるのに、JSPみたいな埋め込み式じゃなくて、 一所懸命文字列連結で組み立ててるし(>_<; で、なんかOracleとつながってるらしいのですが、 SQLがめちゃめちゃ複雑で、サブクエリーの、サブクエリーの、サブクエリーの、サブクエリー とかあるし(*_*; FROM句までサブクエリー使ったりして、はちゃめちゃ度合い高いです。 つーかこれ、読み切るだけの自信無いよ...10/1(Tue)
/** ショック! */ カジキマグロって、マグロの仲間じゃないんだって(T_T) /** 雨戸 */ いちいち開け閉めするの面倒で、しばらく開けっ放しだったんですが、 さすがに台風が来るんじゃあ、閉めてみるしかないよね? /** YeLLOW Generation 3rd Single */ 最終回を向かえた、TV LOST Generationで、 「CARPE DIEM」と、カップリングの「裸の王様」を公開しちゃって、 3トラック目に、未公開の朗読は入ってるみたいだけど、それで売れるか?