2009年3月20日金曜日

技術士第二次試験「口頭試験」受験必修ガイド


★★★★
これから技術士を受験する人の参考になるように、僕のやった対策を時間のあるときに紹介しておきたいと思います。
平成19年度の試験制度の変更から、口頭試験の合格率が下がっていて、僕の受けた情報工学部門だと、70%位の合格率なんですね。 それ以前は二次を通れば口答試験で落とされることはレアケースだったわけですから、口答試験対策の比重が上がったわけです。 ですが、二次試験の合格通知を受け取った後、結構のんびりしていたので、巷の口答試験対策講座とかは殆ど締め切っちゃっていて、打てる対策はこの本しかありませんでした。 とは言え、大分助けられました。 口答試験対策講座とかって結構高いから、コストパフォーマンスはある意味最高でした。 特に、口答試験での試験管からの質問例は結構参考になりました。 全部で100問弱くらいですが、それぞれに自分なりに回答を用意して、本番に臨みました。 口答試験は質問に対して考える間もなく反応しなくてはならないので、本質的に技術士としての適正があったとしても、練習しておかないと難しいですね。 ホントたすかりました。
あと、口答試験では、事前提出する技術的体験論文の出来も重要なのですが、論文に関しては、この本は提出後だったので、参考にすることは出来ませんでしたが、こちらの「若くして合格!技術士受験指導」にお願いしました。 こちらも低料金で添削お願いできたので、助かりました。

2009年3月16日月曜日

祝!!技術士二次試験合格


前回のアップデートから大分ご無沙汰してしまいました。
どうも最近忙しくて...

ところで、3月6日に技術士口頭試験の結果が出ました。
結果は見事合格!!

未だ、登録していないので、技術士を名乗るわけには行かないのですが、登録したらこのページも技術士のページって事にさせて頂きます。 今後、技術士試験向けにここに論述を載せるって事は無いですが、気の向くままに情報工学関連のトピックに関して論述を載せて行きたいと思います。

また、技術士試験対策に関しても、要望が多ければ載せてきますんで、興味のある方は書き込み下さい。

2009年2月8日日曜日

図解でわかる 半導体製造装置


★★★
図解でわかる 半導体製造装置 (単行本(ソフトカバー))
菊地 正典 (監修)

渋い本を読んでしまいました。
なんか、どうしても半導体ってどうやって作っているのか知りたくなってしまってですね。 この「図解でわかる」シリーズは、こういう用途には最適です。

だけど、半導体製造装置って、渋いですねぇ... 磨く・洗う...といった地味な工程の繰り返し... でも、ITってのもこういう技術に支えられているわけですね。 ムーアの法則とか言っても、こういうのを読んでおくと、イメージが沸くようになるので、まあ、読む価値はあります。

2009年1月25日日曜日

GARA yokohama


先日は、家の奥さんの誕生日でした。
なので、どこかに食事に行きたかったわけですが、子供がまだ小さいので、洒落たフレンチやイタリアンという訳にもいかず、ワールドポーターズに行くことにしました。
誕生日、ワールドポーターズはお奨めです。 )“ハッピー・エブリ・バースデー”と言うサービスで、2Fの受付に、その日が誕生日(前後1日まで可)だと言うことを証明するもの(免許証とか)を提示すると、駐車料金が終日無料+記念品(マグカップだった)+“バースデーパスポート”を貰えます。 この“バースデーパスポート”をショップorレストランで提示すると、色々なサービスが受けられます。
コールド・ストーン・クリマリーとか、トッピングのサービス+αで店員がスペシャルな歌を歌ってくれるらしい。 でも、ちょっとそれもねぇ... 周りの客に注目されて、恥ずかしいし、ケーキぐらいサービスって感で良いんですよ。と、このGARA yokohamaに入りました。 (家の奥さん、インド料理好きだしね)
コースを頼んで、大体出切ったところで、なかなかサービスのケーキが来ないなぁ...と、店員に催促すると、「今お持ちしますっ」、と、感じの良い店員。 しばらくすると、シフォンケーキを誕生日風にアレンジされたケーキをもった先ほどの店員を先頭に、後ろにインド人の店員が5人列を成して... 「お誕生日おめでとうございマース」 お、恐れていたことが...
 店員:「お名前はなんでしょうか?」
 奥さん:「結構です...」
 店員:「大丈夫です、ばっちり盛り上げますので」
 奥さん:「...XXXです。」
 店員:「みんな、しっかり盛り上げていけよ!! Happy birth day to you. Happy birth day....」
 (しかも、インドっぽく銅鑼を鳴らしてくれる。)
僕も、ここで恥ずかしがってもしょうがないので、一緒に盛り上げちゃいました。
変な汗、かいちゃいました。 :)
とても、雰囲気の良い親切なお店でした。
誕生日にはお試しあれ。

2009年1月21日水曜日

五輪書 (講談社学術文庫)


★★★

五輪書 (講談社学術文庫) (文庫)
宮本 武蔵 (著), 鎌田 茂雄

...と、なぜ突然こんな本を読もうと思ったかと言うと、剣法を極めた宮本武蔵の書いた本で、400年以上も読まれていると言うので、もしかしたら日本人として一生の内に一度は読んでおくべき本なんじゃないかと...

いや、まあ、本当に剣法の本でした。
ですが、この本から得られたことは。
- 形式にとらわれても、剣の道は究められない
- 訓練と実戦の積み重ねによってのみ臨機応変に対応する力を養える
- 目先の動きにとらわれず全体を見る

と、いうところなのでしょう。 こういう本を読みなれた人は、もっと別な得るものがあるのかも知れませんが...

流石に、完全に剣法の本ですので、どうなのかなぁ...

2009年1月19日月曜日

プロフェッショナルの条件


★★★★★

プロフェッショナルの条件―いかに成果をあげ、成長するか (はじめて読むドラッカー (自己実現編))

P・F. ドラッカー (著), Peter F. Drucker (著), 上田 惇生 (著)

久しぶりのブログです。
技術士口頭試験も終わり、ちょっと前に日経に広告の載っていたこの本を読んでみました。 とは言え、2000年のものですから、そう新しいものではありません。

かなりの高評価ですが、内容は題名からイメージするものとはちょっと違います。 歴史とここ最近の社会の状況から、これからの社会がどの様になっていくのか、また、個人はどういった生き方をすべきなのか、という事を述べた本ですが、何しろ説得力があります。 それは、2000年に書かれた本であるにも関わらず、ポスト資本主義社会としての知識社会を予言する内容で、起こりつつあった変化を適切に分析している点です。

ドラッガー、今後も数冊手に取ってみようと思います。

2009年1月8日木曜日

オブジェクト指向を家の奥さんに説明する

技術士口答試験、想定問題

「オブジェクト指向を一般の人でも分かるように説明してください」

まあ、ありえる質問ですよね。 Object Maniaを自称する身としては、これは綺麗に回答したい。
(ちなみに、まだ家の奥さんには説明してないです。)

こういうの、割と好きです。
自分の思考パターンとしても、物事を厳密に説明するのには向いていない構造をしている気がする。 なので、厳密性を排除して、分かりやすさを追求して良い説明は楽しい。

オブジェクト指向というのは、プログラミングやデータの表現の方式の一種で、クラスとインスタンス、カプセル化、継承、ポリモルフィズムといった代表的な概念をもっています。 これは、後の文章を読めば分かるように書いたつもりなので、あまり気にしないで読みすすめてください。

最近のソフトウェアは非常に複雑なので、このような考え方が必要になってきたわけですが、どのような場面で使われているか、Excelを例に説明してみます。
(始めに断っておきますが、本当にExcelがこういう実装になっているかは別です。 違うだろうなぁ、と思いつつも概念を理解するためにはこの説明がよいかな?と思いながら書いているところもあります。)

Excelでセルを右クリックしてプロパティを見ると、背景色を変えることができます。 この背景色を赤にすれば画面上でセルは当然赤くなります。 これがプログラムでどのように処理されているのか考える際に、オブジェクト指向でない場合、今選択されたセルの左上と右下の座標をなんらかの形で入手して、その範囲を赤く四角で塗りつぶし、その上にセルに記入されていたテキストを乗せるといったような処理になります。 ただし、実際には罫線であったりテキストのフォントは何か?大きさは?等考えなくてはいけないことは非常に多くなります。 ここで、セルの座標やフォントといった情報をどうやって管理するのか考える必要があるわけですが、配列のようなテーブルを用意してそこに格納しておくといったやり方でも出来るかもしれませんが、非常に複雑です。 オブジェクト指向のプログラムでは、セルに対する処理や処理に必要な情報は、セルと言うプログラムの塊の中に全て隠蔽してしまいます。 どういうことかというと、一つのプログラムの塊の中に、セルの背景色と一緒にセルの座標、フォント、フォントタイプ、フォントの大きさといった情報を全て入れ込んだ状態にしておき、そのプログラムの塊はそのセル以外のことは基本的に考えない形にしておきます。 そして、外部からセルの背景色を変えるよう指示があった場合、その処理はそのプログラムの中で行い、必要な情報もそのプログラムの中から集めて画面上でセルの背景色を変える一連の処理を行います。 このような考え方をカプセル化と言いますが、前の例と比較すると必要な情報の入手は格段に楽になります。

ところが、Excelのセルの場合であれば、セルは大量にあります。 それぞれのセルは背景色もフォントも異なります。 これをどう処理するかといえば、100個セルがあれば、100個似たようなプログラムの塊を作るのです。 しかし、Excelの場合どの程度のセルがあるかはじめから分かっているわけではありません(実際には分かっているのかも知れないけど、まあ突っ込まずに...)から、元となるプログラムの塊があって、それをコピーして100個のセルをつくります。 セルの追加削除があれば元となるプログラムからコピーして、新しいセルのプログラムを作ります。 この時に元となっているプログラムをクラス、100個のコピーで作られたプログラムをオブジェクトと読んでいます。

継承というのはこのクラスを定義する際のテクニックの一つです。 例えばセルで右クリックをすると、そこにはカット、コピー、ペーストといったようなコマンドが並んでいますが、これはテキストボックスでも同じで、行や列を選択しても同じです。 これらのコマンドはオブジェクト指向ではメソッドと呼ばれていますが、この様なExcel上の全ての選択可能な要素のクラス一つ一つにそれぞれメソッドを定義をしていくのは面倒です。 そこで、そういった様々なクラスで共通するメソッドはある抽象的なクラスで定義してしまい、セルやテキストボックスといったそれぞれのクラスはその抽象的なクラスを親としてその定義をコピーし、それぞれのクラスに特化したメソッドだけを差分として定義しようという考え方が継承です。

このようにオブジェクト指向ではプログラム上必要となる様々な要素をクラスとして定義し、それをオブジェクトとしてコピーする(これをインスタンス化するとも言う)ことによってプログラムを成り立たせているわけですが、クラスの種類が多くなってくると、不便なことも起こります。 例えば先の継承の例で、カット、コピー、ペーストは親のクラスで定義したメソッドを子で再利用できるという前提で話をしましたが、もしかするとセルとテキストボックスでは微妙に違った操作が必要になるかもしれません。 カット、コピー、ペーストだと分かりづらいので、削除で考えてみると、セルで削除とすれば上にシフトさせるか左にシフトさせるかといったことを聞いてきますが、テキストボックスで削除すればそんなことはお構い無しに削除です。 つまり同じ様に見えるメソッドでもプログラムとしては全く別物なわけです。 セルとテキストボックスの場合Excelで同時に選択することは出来ませんが、仮に可能だったとしたら、一気に削除!!と、したときにどのように動いて欲しいか...当然、テキストボックスは無条件に削除、セルはシフト方向をユーザーに聞く、という具合にそれぞれ別なプログラムを呼んで欲しいわけです。 プログラマーも同じで「このオブジェクトはクラスが××だから、このメソッド、このオブジェクトはクラスが△△だからこのメソッド...」なんてやっていられない訳です。 この様に、異なるクラスにおいて同じ様に見えて、実際には異なるメソッドを持っていたとしても、同じ様に見えるんだからとにかく実行してしまう。と、いうやり方がポリモルフィズムです。


と...どうでしょう?

正直、Excelの実装とはかなりかけ離れたものになってると思うのですが、一般的なオブジェクト指向の説明だと、車がスポーツカーとSRVに特化されて云々...車も飛行機も右に曲がりたいときは云々...と概念的な話から入って、そこからどうしてプログラムがオブジェクト指向なのかにたどり着く前に飽きちゃうと思うので、こんな説明を考えてみました。