2008年3月31日月曜日

Enjoying seeing cherry blossom weather

入院3日目.熱が37度ちょっとまで下がり,痛みが大分治まってきた.良い感じ.もうお腹が痛くて眠れなくなることもとりあえずなくなった(同部屋の人のいびきで目を覚ますことはあるけどね^^;)あと,なぜか昨日主治医が内科の先生から外科の先生に変わった.年度の変わり目で人の異動でもあったんだろうか?いずれにしろ,今度の外科の先生,切る気満々の目つきがランランしているようにぼくには思えた.ま,入院した日 29mg/dl だったCRP が下がったけど,まだ 20mg/dl ある.これが早いうちにもっと下がんないと切られちゃうな,たぶん.はは^^;

昨夜は雨と風の音が近くに聞こえていた.今日のお空は曇り模様.もしかしたら雨が降っているのかもしれない.風はどんな感じなんだろう?
ぼくのベッドからは外の様子を目で確認することができない.でも,たくさん桜の花が散っちゃたんだろーなー.って,実は密かに今年はお花見でもしてみようかな?って考えてはいたんだけど.なんてこたーない.このザマだもんなT_T 急性虫垂炎で緊急入院.ま,別に出来なくても良いかな?(と強がってみる) “どうしてもやりたい!”って拘りのある人が周りにいるわけじゃないし.よく考えてみれば,酒飲みにしてみたら,酔っ払ってる場所に桜の花があるかないかだけの違いしかないのかもしんないしね^^; まあね,ぼく自身は桜の木って嫌いじゃないし,静かに飲めるんだったらお花見をしたいなー,って思ってるんだけれども.

そういや,もう10日くらいまともにご飯を食べてないや.最後にちゃんと食べたのは,庄やのミックスフライ定食だったかな?実は,これがあまり良くなかったらしく,ヨレヨレの腸にトドメを決めちゃったみたい.スナイパーーー!!!

ん?あらん?ぼくって,禁酒してんじゃなかったっけ??

2008年3月30日日曜日

Appendicitis

数日前から体がおかしい.よく右下腹部が痛むんだけど,まともに歩けないし,椅子にもきちんと座れない.それに一睡もしていない日がここ1週間ほど続いている.それにしても,こんなに寝てないのに,あんま眠くならないのはなんでだべ?朝,目が痛くて熱い感じだった.計ってないけど,熱があるんだろうな.そう思いながら,早い時間に近所の病院寄ってから仕事に行こうと家を出た.昨日のことだ.今日もまともに真っ直ぐ歩けない.つーか,だんだん悪化してるかもしんない.

近所の医大付属病院に到着.病院寄ってから職場に行く予定だ,と山下へ電話.良い天気の土曜日の朝.病院の敷地内にある桜の花が咲いている.今日はお花見する人たちがいっぱいいるんだろうなー.なーんてことを考えながら,診察室で担当医にお腹を診てもらう.お腹全体が張った感じで,右下腹部を押してから離した瞬間が一番痛む.“ここ痛いですか?”って聞かれて“我慢できます”って担当の中山先生に言ったらガッツリ睨まれた.相変わらず怖い^^;でも,ヤバい.離した瞬間に痛むってことは,腹膜が炎症を起こしている可能性が高い.そのあと,いろんな検査を受けることになった.採血,採尿,レントゲン,造影剤導入CT.点滴を打ちながら処置室のベッドで待っていると,ぼくのことを数人の医者が話しているみたい.それからちょっとすると内科の先生と一緒に外科の先生と合わせて5人で診察にきた.あ,外科の先生.つーことは切られるのね@@代わる代わるぼくのお腹をまさぐってから皆でエコー室へ移動.透明なジェルを塗った機械でお腹をグリグリ.みんながエコーで映し出される映像を見ながら,あーだこーだ.ぼくもその映像を見てたけど,さっぱりわかんないや^^;いろいろな検査の結果,急性虫垂炎という病名が付けられた.ぼくの場合,虫垂の根元のほうは大丈夫で,先っぽの方に炎症が見られたため,判断するのが難しかったらしい.そして,通常炎症の部分が10mm以上なら手術するんだけど,9mmだったので,土日の薬物(点滴)療法で軽快しない場合は手術を検討させていただきます,ということになった.ちょっと病院に寄って,痛み止め貰って仕事するべーか,って軽い気持ちだったんだけど,結局入院することになっちゃった.

あ,このブログは入院している病院のベッドで書いてます.
こそこそ隠れながら^^;

2008年3月23日日曜日

Stomachache

お腹が痛くて体をまっすぐにできない+_+今日は何にも食べてないや.

寝よう.

2008年3月22日土曜日

bowstring cut

ブルーくんを弄ってたら弦がプッツン.左手から血が出ちゃった.経験上,季節の変わりめって弦が切れやすいみたい.ま,ぼくの弾き方に問題があるかもしれないけれどね^^;しっかし,座って弾くのと,立って弾くのとではやっぱ全然違うな.座ってると,意識が内になる.そして冷静に考えられる.立ってると意識は外に向く.細かいことに気が回らなくなるけど,勢いを出せる.どっちも大事なことだなー.ん?昔はそんなこと考えたことなかったかもしんない.いっつも爆音全快.え?そんなこと当たり前だろ,って?そうなの?

やいや,楽器演奏って奥が深いもんなんだねー.キャプー!

2008年3月21日金曜日

Family

最近家に帰ってくるのが遅い.夜9時くらいまで仕事した後,職場の横浜から帰路.近所のスーパーに寄ってからまっすぐ家に帰ってしまうときもあるけれど,寄り道してかえるときもある.フレンズさんきち,南蛮カレー,ちりめん亭,居酒屋一輝,中華の久松,洋食のサボイ,そしてまる八さん.どれも蒲田西口と大城通りにあるお店.たぶん前に書いたけど,今日寄ったまる八さんに初めて伺ったのは20年前だ.さんきちで働いていた友達から料理がおいしいよ,って教えてもらって行ってみたんだったな.卵焼きが旨かったことを今でも覚えてる.8人座れば一杯になるカウンターと四畳半くらいのお座敷.このお座敷にはまるちゃん(マルチーズ:女子)とちまき(チワワ:男子)がいることが多い.食いしん坊のまるちゃんは,お客さんに食べ物を強請ることが多い.鶏肉が好物みたいで,鶏肉食べてると,ちょっと頂戴,ってな感じでバシバシ食べてる人の体を自分の腕で叩いてくる.そのたんびにお母さんに怒られてるね^^;ちまきくんは人見知りしない大人しい性格みたい.2人ともお店の人気者.看板犬だ.この2人,時々ケンカしてるときもあるけど,お母さんにオネダリするときはジッとお母さんの方を見ることがある.まるで親分の顔色を伺うかのようにね.

写真撮ろうとしたらがっつり吠えられた.そんな怒んなくてもいいのに.はは^^;

2008年3月20日木曜日

Graduation

3月半ば.卒業シーズン.袴姿の女性を見かける今日この頃.会社では人事異動で部課長クラスに昇進される方もいるかもしんない.経営する側としての考え方,何かを残さなければならない責務.そうなんだよな.何かを残さないといけない.でも,何にもしないで時間だけが過ぎていく場合もある.たまたま出来る部下に恵まれていれば,そういうこともあるんだろう.現状維持しているように見える環境.どう評価すればいいんだろう?誰がどんな評価をするんだ,ってこともあるけれど.よく言われることだけど,維持と改革はそのバランスが重要なんだと思う.ぼくはどうなんだろう?うーん,ダメダメだ.人に対して配慮が足りてない.技術的なことを教えられる知識も持ち合わせていない.それ以前に,業績に貢献するような行動を起こせてない.なぜなんだろう?

ぼくは,圧倒的に知識が足りないことは認める.それに勢いがない.リスクを認めて果敢に挑む力に欠けてる.こんなんじゃダメだ.じゃ,どうすればいいんだ?おし,考えよう.

2008年3月19日水曜日

Every day when it passed away

最近たまーに考えることがある.ぼくは人の目をじっと見る癖があるけれど,この頃してない.目が怖い,って言われることがたまにあるから,ちらっと見るくらいでやめてるのもあるけれどね.最後にじっと目を見たのは,何年か前にぼくのプロジェクトにいた女の子.ぼくは意味も無く人の目を見てないつもりだ.でも,その子の目はなんにも考えないで一瞬かもしれないけど見ることが出来た(ような気がする).不思議な感覚.人の目をじっと見れるっていう感覚.

いま思うと,その子にとってはエライ迷惑だったのかも知れない.だとしたら,申し訳ないことしちゃったな.あーあ,精進が足りないや.

毎日後悔してばっかり.人生の後半ってこんなもんなのか?

2008年3月18日火曜日

Reappearance

ふぉ?ここはどこでしょう?あらー,昨日に続いてまた一駅乗り過ごしちゃったみたい.なんでだべ?よっぽど気持ちが落ち着いてるか,そうじゃないのかもしんない.たぶん,あれだな,最近は考えることが多すぎたのかもしんない.

いろいろ考えてみる.でも,たいして良さそうなことが浮かばないなー.だったら,考えないでいるのと変わんない.そしてまた考える.なんか,あんま意味ねーな.ま,いいや.

競艇かー.ボートって片手で担げるもんなのか?ギモーン!

2008年3月17日月曜日

Whisky coke

仕事帰り,本を読んでたら一駅降り損ねちゃった.何気なく窓を見ると見慣れない風景.“つぎは大森~”.車内のアナウンスも聞きなれない駅名.あらん?降りる駅過ぎてる^^;こんなの久しぶり.以前は,勤めていた会社の社内システムで動かすプログラムを考えてたときによく乗り過ごしてた.あの時は,どうにかしなきゃいけない.って切羽詰ってて余裕が無かったのかもしんない.ん?今はどうなんだろ?

うーん,こんな日は真っ直ぐ家に帰るのはもったいないかもしんない.いや,帰っちゃいけない.ちゅーわけで一輝さんにIN(思い込みが激しいな^^;) がっつり男山を飲酒.くあー,男山,辛いよー.でも,うんまいねぃ♪

もうどうでもいいや,はは.ハラホレヒー!

2008年3月16日日曜日

Glove of baseball

こないだ素振りしようとバットを押入れから出したとき,もう何年も使ってないバッグの中にグローブが入っていることを思い出した.そういや,ここ2,3年会社の野球部の活動に参加してなかった.最後に試合をした記憶があるのは,二子多摩川のグランド(渋谷区管轄)でバル研究所のスピリッツとだったかな?すごく暑い日だった.ポジションはファーストだったけど,なまら疲れたことだけはよく覚えてる.野球の守備では,ピッチャーとキャッチャーのつぎにファーストが忙しい.それに,アウトをとるためにファーストへ送球されたら,確実に捕球しないとならない.プレッシャーのかかるポジションだ.フルで出場したんだけど,試合が終わって自転車で家に帰える途中,何度も足がつった.小室,じゃないや,こむら返り連発.そのたんびにふくらはぎをモミモミ.両足同時にこむら返りになると結構キツイ.あんまり疲れたんで,田園調布(環八沿)で,でっかい犬が入り口で出迎えてくれた小さなパブでギネスビール飲んじゃったなー.お店のマスターさんから“よく日焼けしてますね”なんて言われながら.そりゃそうだ,試合した河川敷にあるグランドには日よけになるような場所がなかったからね.なんて名前のお店だったっけ?たしか,隣は動物病院だったよな?

もうすぐ桜の花が咲く.ん?バスルームにはカビ.モルドー!

2008年3月15日土曜日

Ajax - Active X

Internet ExplorerではActive Xを利用しますので,XMLHttpRequestの代わりにActiveX Object("Microsoft.XMLHTTP")を指定します.このオブジェクトにはデータの読み込みが完了した際に発生するonloadイベントがありませんので onloadイベントでなく onreadystatechangeイベント(状態が変化した時に発生)を利用します.状態が変化するイベントは, readyStateプロパティの値が, 0, 1, 2の場合はリクエスト, 3と4の場合はサーバーからの応答です.サーバーからの応答があるとActive XオブジェクトのreadyStateプロパティとstatusプロパティに,読み込み状態とサーバーからのステータスが入ります.サーバーのステータスコード(HTTPレスポンスコード)が 200 の場合には要求されたデータがあり,データを送ったことになります.しかし,データが送られたから読み込みが完了した,ということにはなりません.このためデータの読み込みが完了したかどうかを示すreadyStateプロパティの値も調べる必要があります.データの読み込みが完了した場合,readyStateプロパティの値は 4 になります.つまりreadyStateプロパティの値が 4 で, statusプロパティの値が 200 の場合,データの読み込みが完了したことになります.プログラムはつぎのようになります.

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>XMLHttpRequest()の基本(Win IEの場合)</title>
<script type="text/javascript"><!--
function loadTextFile()
{
httpObj = new ActiveXObject("Msxml2.XMLHTTP;);
httpObj.onreadystatechange = statusCheck;
httpObj.open("GET","data.txt",true);
httpObj.send(null);
}
function statusCheck()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
displayData();
}
}
function displayData()
{
document.ajaxForm.result.value = httpObj.responseText;
}
// --></script>
</head>
<body>
<h1>XMLHttpRequest()の基本 (Win IEの場合)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="40" rows="5"></textarea>
</form>
</body>
</html>

このプログラムは,Microsoft.XMLHTTP よりパフォーマンスのよい Msxml2.XMLHTTP を利用しています(Internet Explorer 6以降)
次回は,楽をするために共通の関数を作成してみましょう.バサラ!

しっかし,雨が上がって晴れた今日はクシャミがひどかったっすよ+_+#

2008年3月14日金曜日

about Ajax

Ajax(エージャックス:Asynchronous JavaScript + XML)は,JavaScriptを利用して非同期通信を行い,XMLデータでサーバーとのやりとりを行うものです.※Adaptive Path社のJesse James Garrett氏が自身のコラムでAjaxという名前を冠したことで急速に認知されました.
よく知られているところでは,Googleが公開しているGoogle MapsやGmailなどがAjaxを利用しています.このAjaxは,急速に広がるにつれてRIA(Rich Internet Application)として捉えられることが一般的になりましたね.

AjaxはJavaやFlashなどと異なり,新しいアプリケーションやプラグインなどを利用したものではなく,HTML,CSS(スタイルシート),JavaScriptなどの既存技術を組み合わせたものです.これらを組み合わせ,さらにHTTP通信を行っているのがAjaxを利用したページになります.既存技術を利用したものですが,その実現には超えるべき障害が多く,上級者でも苦労します.
それにしても,なぜ既存技術を組み合わせただけの技術が急速に広まったのでしょうか?それにはいろいろな理由がありますが,致命的なデメリット(ブラウザによって動作が不統一,デザイナーとプログラマの棲み分けの不透明さ)により使い物にならないと思われていた既存技術が実用レベルにまで引き上げられたからです.その代表格がGoogle Mapsです.
今までアプリケーションは,パッケージやダウンロードして購入するものでしたが,Google MapsのようなAjaxを利用したアプリケーションでは,APIが公開され自分の好きなようにカスタマイズすることが可能です.欲しい機能を選択し,不足分はどこかの誰かが用意したものを読み込んで利用するか,無ければ自分で追加すれば良いのです.

一般的なレベルでAjaxを扱う場合,つぎの知識や技術が必要になります.

- HTML
- スタイルシート
- JavaScript
- XML
- サーバー側のプログラム (CGIやデータベースなど)

Ajaxはいろいろな知識と技術が必要です.多くの環境でテストするためにWindowsだけでなくMacintoshやUNIX(Linuxなどの互換OS含)の環境も揃えるほうが無難でしょう.動作対象となるブラウザもInternet Explorer,Firefox,Safari (WebKitを利用したブラウザ含),Operaなどが挙げられます.さらに,クライアント側の環境だけではなく,サーバー側の環境も重要です.従来のCGIと全く同じ手法が利用でき,全く手を加えずに済む事もありますが,複雑なものであればサーバー側のプログラムとクライアント側のプログラムで調整を行う必要がでてきます.特に他のサイトの情報を取得し利用する場合など,他のサーバーから自前のサーバーにデータを持ってきて,クライアント側に渡す必要がある場合,うまく連携させ少ないコストでサイトを構築することが肝心です.
※上級者でも苦労する,といったのはこういった理由からです.

Ajaxではデータのやり取りはJavaScriptが行います.ソケット通信を行うオブジェクトなどは用意されていません(ちなみにAdobe AfterEffectsにはソケット通信を行うオブジェクトが用意されておりメール送受信や簡易サーバーを作ることが可能).その代わりにJavaScriptでは,HTTPサーバーとやりとりするためのオブジェクトが用意されています.そのオブジェクトが Internet Explorerとそれ以外のブラウザで異なっており,Internet ExplorerではActive X(2種類のXMLHTTPオブジェクト)を使って行い,他のブラウザではXMLHttpRequestオブジェクトを使って通信を行っています.

では,実際に動かしてみましょう.つぎのプログラム(HTML)の“読み込み”ボタンをクリックすると,サーバのdata.txtを読み込み,その内容をテキストエリアに表示します.

<html>
<head>
<title>XMLHttpRequest()の動作</title>
<script type="text/javascript"><!--
function loadTextFile()
{
httpObj = new XMLHttpRequest();
httpObj.onload = displayData;
httpObj.open("GET","data.txt",true);
httpObj.send(null);
}
function displayData()
{
document.ajaxForm.result.value = httpObj.responseText;
}
// --></script>
</head>
<body>
<h1>XMLHttpRequest()の動作 (IE以外)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="50" rows="10"></textarea>
</form>
</body>
</html>

以降,少しずつAjaxプログラムを紹介していこうと思います.

あ,酒瓶あるけど飲んでないよ^^;

2008年3月13日木曜日

Sneeze

うー,目が痒くて鼻水がダーっと垂れてくる.クシャミが止まらない@@常にクシャミが出そうな状態なんで,お店でご飯を食べる気がしない.食べてる途中でクシャミして,口の中のものを吐き出しちゃったら,周囲に迷惑かけちゃうからね.エクソシストみたい,って思われちゃう.あと,シッコしてる最中にクシャミするとすんごくデンジャラスだ.気をつけないとズボンや靴がびしょびしょになる.もしそうなったら,その日はグレるしかない.もうやってらんねーよ,ってね.やいや,まいった.いつまでこんな状態が続くんだろ?

鼻詰まりでズビズバーなんで,晩飯はあったかいうどんを作った.具はネギと玉子とからあげ君のレッド.結構気に入っている組み合わせだ.よく行く立ち食いそばやさんには唐揚げが置いてない.天婦羅があるんだから唐揚げがあってもいいと思うんだけどな.それと魚肉ソーセージの天婦羅も.おでんの具で一番好きなのが魚肉ソーセージ.北海道の田舎ではポピュラーなんだけど,内地ではお目にかかったことがない.はんぺんみたいな食感でおいしいんだけどなー.ちょっと貧乏臭いかもしんないけど.ちなみに,ぼくはカレーに魚肉ソーセージを入れることがある.するってーと,ソーセージが膨張して全部上に浮いてきて鍋いっぱいになる.わーい♪って,すっごい得した気分になるよ!

2008年3月12日水曜日

Breath stop

午前中新宿へ向かう.気が重い.なんでかって?いつもは横浜方面の下りだけど,新宿に行くためには品川方面の上がり電車に乗らないとならないから.朝(8時過ぎ)の京浜東北線の上り電車はなまら混む.蒲田駅で駅員さんに押されて無理やり乗った電車.具合が悪くなってきたのでつぎの大森駅で降りた.なんでこんな辛いことを我慢しないとならないのか理解できないもの.なんで周りの人達は平気な顔してるんだろ?
ぼくは閉所恐怖症.おまけに対人恐怖症.こんな混んでる電車に乗るのは拷問以外のなにものでもない.あーあ,電車に乗らなくてもいい方法はないもんかな?大体,自分でコントロールできない乗り物ってあんまり好きじゃない.自転車乗ってるほうが楽チンチンだ.仕事場がもうちょっと近くにあれば自転車で通勤するんだけどなー.ん?引越し?うーん,ちょっと考えよう.

目が痒い.ブルーベリーで乗りきるべ.アントシアニーーーーン!

2008年3月11日火曜日

Tune making

雑誌を見てたら.Rolandの“EDIROL”っていうコンパクトな24ビットのオーディオ・キャプチャーの広告が載っていた.パソコンとUSB接続できて電源がいらないのかー.なんかスマートでおしゃれ.昔,曲作りしてたときはアンプとマイクを(近所迷惑にならないように)風呂場やトイレにセットしてTASCAMの4chミキサー(カセットテープで録音できるタイプ)で録音したりしてたけど,これならギターをインターフェースに直結してもゲインが落ちたりしないみたいだから,そんな苦労はいらないのね.ふーん.実物を触ってないんで,どんなもんかわかんないけれど,面白そうだな.ちょっとした曲作りとかに便利そうだし.今度アキバに行った帰りに御茶ノ水に寄って見てこようかな?

でも,ギターはスタジオででっかい音出すのがイチバン.爆音サイコー!!!

2008年3月10日月曜日

fell down

出勤途中,蒲田駅の階段で滑って怪我してしまった.この季節,外に出ると涙が止まらなくて,ハンカチで目を押さえて階段を降りてる最中に踏み外してしまったのさ-_-# まるで,階段で滑り込みをするような体勢で右足をグリっとこすり付けちゃった.朝から雨が降っていて階段が濡れてたせいもあったけど,階段でこけるなんて生まれてはじめて@@.うーん,足腰が弱くなってるんだろうか? ま,最近サイクリングもご無沙汰だったから,ちょっと体が鈍ってるのかもしんない.あ,それと最近ご飯を朝昼晩しっかり食べて,チョコレートや煎餅を間食してるから,ちょっとメタボ体形になってきてるなー.ズボンがきつくなってきてるもんね^^;ちょっと運動したほうがいいみたい.うし,たまにはバットで素振りでもするべ.

家の中で素振り.気を抜けない.ブンブン,キャッホーーー!

2008年3月9日日曜日

Please take care

改修工事中の蒲田駅.工事のためJRと東急の連絡通路が狭くなって,普段の混雑がより一層はげしくなってる.以前は,この通路にあった“KIWAMI”っていうラーメン屋さんで出勤前によくラーメンを食べてた.あっさりした東京風の醤油ラーメンが290円.多いときは週に4回くらい食べてた^^;夏は冷やしが多かったけど,あえて汗をダラダラ垂らしながら食べる熱いラーメンがこれまた美味しい(ん?お前はMか?って.はい,たぶんMです^^;).お酒を飲んだ後にラーメンが無性に食べたくなることがあるけれど,朝一で食べるラーメンもなかなかうんまい.二日酔いの朝にラーメンを食べると,なぜかその日は回復が早い.気のせいかもしんないけど.そういえば,20年前東横線の学芸大駅のしなそば屋さんのラーメンをよく食べてたなー(お店の名前は忘れた).あっさり醤油に細めの麺.ちょっとニンニクが効いててうんまかった♪今でもあるんだべか?

ラーメンとカレーがあれば,あとはなんにもいらない.庶民サイコーーー!

2008年3月8日土曜日

Object-oriented

オブジェクト指向,モデルとモデリングの考え方についてちょっと考察してみるべか.






ソフトウェア開発において,オブジェクト指向“OO”といえば,

- オブジェクト指向言語
- オブジェクト指向プログラミング
- オブジェクト指向データベース
- オブジェクト指向分析
- オブジェクト指向設計

など,いろんな言葉で表現されるものがありますが,その明確な定義は存在しないと言われています.
ソフトウェアに求められる要件としては,

- 正確さ:正しく作業を実行すること
- 頑丈さ:異常な条件のもとで適切に対応できること
- 拡張性:仕様の変更にソフトウェアが対応しやすいこと
- 再利用性:多様なアプリケーションでソフトウェアが利用できること

などが挙げられます.構造化プログラミングは,プログラミングの機能を幾つかの単位に分ける(サブルーチンによって詳細な記述を行う)C言語が代表ですが,オブジェクト指向プログラミングは,基本的には構造化プログラミングの発展形であり,関連性の強い“データ”と“機能”をひとまとめにするものです.ここでのオブジェクトとは,単にロジックとデータを1つにまとめたものではなく,オブジェクトの共同体の責任あるメンバーとなります.オブジェクト指向プログラミングのアイディアとしては,カプセル化(オブジェクト内のデータや機能を外から見えなくし,外部に公開された機能を通じてオブジェクトにアクセスできる),継承,ポリモフィズム(オブジェクトへの操作が呼び出し側ではなく受け手によって決定される)があります.つぎにクラスとインスタンスですが,クラスは抽象的なもの(例えば銀行口座),インスタンスはクラスから生成される具体的なもの(例えばteruの銀行口座)であらわされます.

オブジェクトの要件としては,つぎの3つがあります.

- 状態(state)
オブジェクトが内部で保持している値.Javaではフィールド(インスタンス変数)に対応
- 振る舞い(behavior)
オブジェクトが何らかの処理をすること.Javaではメソッドに対応.
- アイデンティティ(identity)
あるオブジェクトとほかのオブジェクトを区別できるようにすること.オブジェクトはIDを持つ.JavaではIDを直接的に触れることはできない.

ソフトウェア開発の基本的な流れは,実現したい目的があり,その目的を実現するためにどのようなソフトウェアを作成すべきか検討し,最終的にはプログラムが作成され,目的が実現されることになります.ここで,ある問題が発生します.それは実現したい目的をいきなりプログラムに変換することが大変だというギャップの存在です.
ここで現実世界の事象をソフトウェアで表現できるように抽象化していくモデルとモデリングという手法を経てからプログラミングを行うという方法が考え出されました.
モデルは,大きくつぎのように分類されます.

・問題領域モデル
- やりたいこと
- ドメイン分析モデル
- 要求分析モデル

・解決領域モデル
- やりかた
- システム分析モデル
- 設計モデル
- 実装モデル

ソフトウェア開発では,設計モデルと実装モデルをプログラミングすることになり,つぎのようなフェーズがあります.

・要求分析
- どのようなソフトウェアを作るのかはっきりさせる
・設計
- 要求分析の結果を実現するためにソフトウェアを設計する
・実装
- 設計に従ってプログラムを作成する
・テスト
- プログラムがうまく動いているかチェックする

開発プロセスでは,こうした各フェーズを組み合わせて,繰り返しながら開発を進めていくことになります.開発プロセスは大まかにつぎのように分類されます.

・ウォーターフォール型
システム全体の要求分析・設計・実装・テストを順番にこなしていく.ソフトウェアがきちんと動いているかどうか,最終段階までよくわからないということで批判されることがありますが,見積もりをとりやすいこと,フェーズごとに担当を変える事が可能であることから,現在最も使われることの多い開発プロセスです.

・反復型
機能ごとに要求分析・設計・実装・テストを順番にこなしていく.
- 段階的リリース:できたものから順にリリースしていく
- タイムボックス:設定された各反復期間内で開発できるものをこなす.

1990年代前半,Boochの“Booch法”やRambaughの“OMT法”,Jacobsonの“Objectory法”といったさまざまなオブジェクト指向開発方法論が提案・利用されていて,これらをまとめたものは統一プロセス:Unified Processと呼ばれています(この3人は“スリーアミーゴ”と呼ばれています).統一プロセスの商用版としては,Rational社(現IBM)のRUP(Rational Unified Process),サブセットとしてIBMからEclipse Foundationに寄贈されたオープンソースのOpenUP/Basicがあります.また,最近は“アジャイル(agile)”という俊敏な反復型開発プロセスのジャンルが注目されています.アジャイル開発プロセスの特徴はつぎのとおりです.

・個人や相互作用(プロセスやツールよりも)
- Individuals and interactions over processes and tools
・動くソフトウェア(包括的なドキュメントよりも)
- Working software over comprehensive documentation
・顧客との強調(契約交渉よりも)
- Customer collaboration over contract negotiation
・変化への対応(契約に従うよりも)
- Responding to change over following a plan
アジャイル宣言より

ここでUML(Unified Modeling Language(統一モデリング言語)の登場です.UMLとは,モデリングを表現するためのグラフィカルな言語で,さまざまな図でモデリングに関するの一側面を表現するものです.UMLの歴史は,1996年 UML 1.0,2003年 UML 1.5,2005年 UML 2.0というバージョンを経ています.UML 2.0ではつぎの図(ダイヤグラム)が用いられます.

・アクティビティ図
・オブジェクト図
・クラス図
・コミュニケーション図
・コンポーネント図
・コンポジット図
・シーケンス図
・ステートマシン図
・相互作用概要図
・タイミング図
・配置図
・パッケージ図
・ユースケース図

ずいぶん沢山の図がありますが,UMLはずべての図を記述しなければならないわけではなく,基本的には必要なものだけ使えばよいことになっています.通常は“クラス図”,“シーケンス図”,“ユースケース図”の3つが中心になります.UMLは主に,スケッチ(ささっと書く),設計図(設計の意図を文書化),プログラミング言語(UMLの図がプログラムに変換される)として使われます.


しっかし,オブジェクト指向ってピンとこないな^^;

2008年3月7日金曜日

Starting MySQL

いきなりですが,今日はWindows XPのパソコンにRDBMSを管理,運用するための実装のひとつであるMySQL(マイエスキューエル)をインストールしてみようと思います.※MySQLはスウェーデンの“MySQL AB”が保持していたオープンソースプロジェクトでしたが,2008年2月26日にサン・マイクロシステムズに買収されました.

★MySQLのインストールとサービス起動
MySQLのサイトでユーザ登録をしてダウンロードしたファイルをダブルクリック.

“MySQL Server Instance Configuration Wizard”では,つぎの項目にチェックを付けます(root password は忘れないように)

- Developer Machine
- Multifunctional Database
- Decision Support(DSS)/OLAP
- Enable TCP/IP Networking(Port Number:3306)
- Enable Strict Mode
- Best Support Multilingualism

つぎにMySQLをインストールしたフォルダにあるmy.iniのdefault-character-set の設定をつぎの値に編集します.

[client]
default-character-set=sjis
[mysqld]
default-character-set=utf8

サービスを起動するには,コマンドプロンプトから net start コマンドを実行します.

C:> net start MySQL

※上記はサービス名を“MySQL”でインストールした場合.

★MySQL用のJDBCドライバのインストール
MySQLのサイトからJDBCドライバをダウンロードして適切なフォルダ(“lib”や“common”)へコピーします.最新版ならmysql-connector-java-5.1.5.zip中のmysql-connector-java-5.1.5-bin.jarになります.

★データベースとユーザーの作成
まず,コマンドプロンプトからrootでmysqlコマンドラインクライアントを起動します.

c:\> mysql -u root -p******

※-pのすぐ後にパスワードを入力します.

データベース:eadb を作成.

mysql> CREATE DATABASE eadb;

作成したデータベース:eadb にユーザー名:teru が操作できるように設定.

mysql> GRANT ALL PRIVILEGES
-> ON eadb.*
-> TO teru@localhost
-> IDENTIFIED BY '******';

teru@localhostがユーザー名+アクセスするホスト名
IDENTIFIED BY '******'がパスワード

★データベース:eadb にテーブル:gakuseki_name を作成,データを挿入

mysql> use eadb;
mysql> DROP TABLE gakuseki_name;
mysql> CREATE TABLE gakuseki_name
-> (
-> id INTEGER AUTO_INCREMENT PRIMARY KEY,
-> gakuseki VARCHAR(10) UNIQUE,
-> name TEXT
-> );
-> INSERT INTO gakuseki_name (gakuseki,name) VALUES ('0001','teru');

★MySQLの操作

さっきのテーブル作成,データ挿入という一連の操作は,ファイルからインポートすることができます.

imp.sqlというファイルにつぎの操作を保存.
---
use eadb;
DROP TABLE gakuseki_name;
CREATE TABLE gakuseki_name
(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
gakuseki VARCHAR(10) UNIQUE,
name TEXT
);
INSERT INTO gakuseki_name (gakuseki,name) VALUES ('0001','teru');
-----

つぎのコマンドを実行することでインポートされます.

mysql> \. imp.sql


以降は,MySQLを操作するためによく使用されるコマンドを紹介します.

まず,テーブルを表示してみましょう.

mysql> select * from gakuseki_name;

つぎにデータベースを表示してみましょう.

mysql> show databases;

カレントデータベースの変更はつぎのとおり.

mysql> use eadb;

カレントデータベースのテーブルを表示.

mysql> show tables;

mysqlコマンドのヘルプ表示.

mysql> help

SQLコマンドのヘルプ表示(select や create など入力).

mysql> help SQLのコマンドを入力

mysqlクライアントの終了.

mysql> \q


mysqlコマンドは,PostgreSQLのコマンドと非常によく似ています.

あ,せっかくJDBCインストールしたんで,次回は javaプログラムでデータベースにあくせく,じゃなくて,アクセスしてみましょう.ちょっとサンプルを書いときますね(2行にまたがってるステートメントに注意!).

ViewTableJDBCTest.java
----

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/*
* ViewTableJDBCTest.java
*/

/**
* @author : teru
*
MySQLのデータベース(eadb)にテーブルを作成
use eadb;
DROP TABLE gakuseki_name;
CREATE TABLE gakuseki_name
(
id INTEGER AUTO_INCREMENT PRIMARY KEY,
gakuseki VARCHAR(10) UNIQUE,
name TEXT
);
INSERT INTO gakuseki_name (gakuseki,name)
VALUES ('0001','teru');

JDBCで必要なパラメータ
drv: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/eadb
usr: teru
pwd: ******

コンパイル
javac -classpath mysql-connector-java-5.1.5-bin.jar
ViewTableJDBCTest.java
実行
java -classpath mysql-connector-java-5.1.5-bin.jar;.
ViewTableJDBCTest

*/
public class ViewTableJDBCTest
{

public static void main(String args[])
{
Connection con = null;
PreparedStatement prepStmt = null;
try
{
// (1) データベースとの接続の確立
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/" +
"eadb?characterEncoding=UTF-8";
con = DriverManager.getConnection
(url, "teru", "******");

// (2) SQLの実行
String selectStatement =
"SELECT * " +
"FROM gakuseki_name";
prepStmt = con.prepareStatement(selectStatement);
ResultSet rs = prepStmt.executeQuery();

// (3) SQLの実行結果の処理
while (rs.next())
{
System.out.print(rs.getString
("gakuseki") + "\t");
System.out.print(rs.getString("name") );
}

// (4) 後始末
rs.close();
rs = null;
prepStmt.close();
prepStmt = null;
con.close();
con = null;

}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
if (prepStmt != null)
prepStmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}

try
{
if (con != null)
con.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}

2008年3月6日木曜日

Caramel pudding

お昼.おにぎりで済ませることが多いんだけど,ちょっと趣向を変えてみた.コンビニでたまごロールとプリンを購入.学校給食みたい.そういえば,プリンなんて学校給食の時ぐらいしか口にしなかったな.田舎の実家は自営業(漁業)で,家は海の目の前(波打ち際まで100mくらいの場所)に建ってた.近所には小さな食料品店が1軒だけ.自動販売機はない.お金を持って外出するのは年に一回のお祭りのときだけだったと思う.駄菓子やみたいなお店が近所にあったら,たぶん通ったりしてたんだろうな.でもなかった.あと,家の食事の献立は和風がメインで,ハンバーグやオムライスなんて出てこなかった.焼き魚や煮付け,刺身ばっか.冬になると工場で加工しているウニをよく食べてたっけ.あ,たまにジンギスカンとかも.カレーもたまに出てきたけど,具はサバやほっき貝が入ってたな.おやつは蒸かしただけの芋が多かった.今思うと田舎でジンギスカン以外の肉を食べた記憶がほとんどない.ステーキやしゃぶしゃぶ食べたのって,上京してからだし.ハンバーガーもだ.初めてマック入ったときは緊張したなー.って今でも緊張してるな^^;

プリン,茶碗蒸しみたいでうんまい♪ズビズバー,パパパヤー!

2008年3月5日水曜日

Return of cold

ちょっと寒さが和らいだかな?と思ったのに,なんか戻っちゃったみたい.乾燥肌もぶり返して体が痒いや.とくに臀部がカイカイ.家に帰ってTVをめくると,妙な人が写ってる.ロングレッグハンターだって.ハンターから逃げ切れればを賞金をゲットできるという内容の番組みたい.お金が貰える鬼ごっこ.ふーん.しっかし,あんなに足が長いと歩きづらいだろうに.高所恐怖症のぼくには絶対マネできないな.ん?この足の長いハンター,様子が変だぞ?腰が引けていて,ときどき泣きそうな顔してる.これ演技か?いや,マジで泣きそうになってる.はは.おもしれーや.

今月中に取んなきゃなんない単位が6つ.笑ってる場合じゃない.グワシ!

2008年3月4日火曜日

tepid

夕方,ある拠点に設置してあるサーバに故障箇所が見つかり,すぐに部品を交換することに.いつもより帰る時間は遅くなりそうだ.おし,腹ごしらえするべ.つーことで,先月オープンしたランドマークプラザのらーめんやさん“空海”へGO!
お店に到着.お昼の時間帯はいっつも行列なんだけど,今は誰も並んでない.よかった.入り口から店内を覗くとカウンター席が1つだけ空いてる.すぐに席に案内され,オーダー,味玉醤油らーめん.店内を見回してみると,そんなに広くない.20人も入れば満席だ.壁にはレシピに関するこだわりが書かさってる.フランス料理のフォンと同じ製法のスープかー.なんだかよくわかんないけど,すんごそう.そうこうしているうちに料理が運ばれてきた.ちょっと小さめの器には,味玉,メンマ,揚げニンニク,青梗菜みたいな野菜に大きなチャーシューが1枚入ってる.スープは澄んでいて,ほんのり魚系(カツオかな?)のダシの香がする.黒こしょうを振って実食.麺は中太で少し固め.うん,スープの味はすっきりしてるんだけどダシが効いていて悪くない.麺のほうも歯ごたえが適度にあり面白い感じ.味玉は黄身が程よい半熟で,甘めの味付けがスープに合ってるな.チャーシューはしっかり歯ごたえがあって,味玉と同じような味付けだけど香ばしい.噛めば噛むほど味が出てくるタイプだ.これはこれで凝ってて楽しいかもしんない.ふーん,なかなかうんまい♪しかし,however,決定的にスープがぬるい.猫舌の人にはちょうどいいのかもしんないけど,ぼくはぬるいらーめんが好きじゃない.うーん,もったいないなー.これだけ味がいいのに.ま,いいや.次はつけ麺頼んでみるべ.
ランドマークプラザ 空海


ん?そういや昼もらーめん(タンタン麺)食ったんだった.らーめんサイコー!!!

2008年3月3日月曜日

Retirement

ドラッグストアを通り過ぎようとしたら,ぼくを呼ぶ声がかすかに聞える.だーれ?振り返って見たら近所の居酒屋で働いてる女の子.“最近全然来てないですよね?”だって.たしかに.今年になってから行ってないや.っていうか行かないようにしてた.アル中,じゃないや,禁酒プレイ中だからね.一人で居酒屋なんて入ったら,間違いなく飲んじゃう.なんとなく気まずくて,おかげさまでちょっと最近忙しいんですよ,なーんて誤魔化してやり過そうとしたら,今月中にお店を辞める,と彼女がぽつり.一瞬会話が途切れる.あいやー,ますます気まずいぞ@@近いうちに顔を出しますから,とロクに目を合わさず逃げるようにその場から離れちゃったけど,今思うと悪いことしちゃったかな.反省.今度ちゃんと挨拶に行こう.彼女には随分とお世話になったし.ま,ビール一杯くらいなら飲んでも大丈夫だろう.

ん?ビール一杯で済むんだべか?無理だな^^;エイドリアーーーン!!!

2008年3月2日日曜日

Asian racoon of Shigaraki grilling

近所の蕎麦やの巴さんとこの入り口に置いてある狸.ときどき他のお店の前にも置かれてるのを見かけることがあるれけど,なんの意味があるんだろ?招き猫なら“お客さんいらっしゃーい”ってことなんだろうけど(中華の久松さんとこは料理のサンプルケースの中に招き猫がいたな)気になったのでちょっと調べてみたら,たぬき(他抜き)っていう語呂あわせで,他を抜きん出るという意味があって,商売繁盛や勝負に勝つとか言われてるみたい.んで,この狸は信楽焼きの狸らしく,その姿のひとつひとつには八相縁喜(笠は身を守り,愛想よく,目をしっかり見開いて,腹を据えて落ち着いて,とかっていうやつ)っていう意味があるんだって.ふーん,招き猫と似た感じなんだなー.不二家のぺこちゃんやKFCのヒゲのカーネルおじいちゃんも似たような意味なんだろうな.たぶん.おし,今度お店の人に聞いてみるべ.

JR田町駅のホームの小便小僧.ありゃなんの意味があんだろ?

2008年3月1日土曜日

Fresca

今日のランチは,秋葉原駅の電気街口に程近いGIGO地下1Fにあるイタリアン料理屋のフレスカでパスタ.このお店,ぼくが秋葉原に初めて来たときには既にあったから,老舗なんだと思う.チーズフォンデュやピッツァが旨いらしい.店内は控えめな灯りで照らされていて,椅子やテーブルがアンティークっぽい.ふーん,アダルトな雰囲気だ.授業中じゃなきゃ,ビールかワインを頼んじゃいそうだな^^;ちょっと日本語のイントネーションが変わってる?店員さんに日替わりパスタのランチセットをオーダーしてタバコを一服.吸い終わるタイミングでパスタが出てきた.早いのね.運ばれてきたのはペペロンチーノ風のパスタ.アスパラみたいな野菜とソーセージが入ってる.ちょっと薄味だったんで塩を振りかけて食べたけど,味はまーまー普通かな?最初に出てきたスープが中途半端に冷めてたのが気になったけど.値段は900円.高くないけど安くもない.コーヒーが結構おいしかったんで,秋葉原の喧騒を離れてちょっとタバコを一服したりするのには良い場所だ.それにしても,今日もアキバは人がいっぱい@@

さて,卒論のテーマなんにするべか?