ただいま修行中...

ソフトウェア開発において、勉強中で悪戦苦闘の日々

奥が深い

2009-09-28 23:15:21 | プログラミング
最近、感じることが、プログラミングというかコンピュータの世界は奥が深いというか難しいなと感じます。

なぜ、そのように感じるかというと、通常の業務でプログラミングをするのであれば、ライブラリがあったり、社内のツールがあったりして非常に簡単にプログラミングをすることができます。通常であればそれだけを知っていれば、仕事をすることはできます。

ただ、それだけで満足してはダメです。

なぜそういったアーキテクチャを採用しているのか・技術の本質にある考え方はどうなっているのかを考えなくてはなりません。

現在のプログラミング言語では、非常に多くのことをサポートしてくれているので、それらのことを知らなくても要求を満たすことができるので、効率化は図れていますが、本質をつかみづらくなっているのではないかと考えます。

ただ単純にプログラミングをするのではなく、根本の技術であったりすることを学ぶ必要があります。

これらを学んでいくと、非常に奥が深いなということがわかってきます。

ラーメンフェスティバルに行ってきました

2009-09-27 23:06:17 | 未分類
今日、静岡市で行っているラーメンフェスティバルに行ってきました。

仕組みとしては、当日券500円が1杯分に相当していて、どのお店でも共通で使用することができます。

正直な感想は、お店に行って食べたほうがいいなと思いました。

理由としては、場所が青葉シンボルロードで開催されていたので、日陰がなく、非常に暑い中を役1時間30分ほどラーメンのために並んだからです。

私も今回登場したラーメン店のいくつかに行ったことがありますが、正直ここまで混雑していることはありませんでした

その際に、ラーメンによっては早く食べれるところとそうでないところの差が非常にありました。

よく見ていると、店員さんが常に動いているところと待っているところがありました。この差が待ち時間に影響していました。
基本的な制約条件は湯で時間になっていました。そこから盛り付けと受け渡しになりますが、ここはどこも変化はありませんでした。

スループットが短いところは、過剰人員ではなく、みなが役割に応じていましたが、長いところは普通にたっている人が何人もいました。

ラーメンの注文から提供までとソフトウェアの開発だけではありませんが、ビジネス全般が一緒であるなと感じました。

自分のコードが酷かった

2009-09-26 20:14:58 | プログラミング
自分が担当した部分で5年ほど前のソースコードを修正する必要があり、読んでいると、なんだこれはというものが多数ありました。

典型的な例が、メソッド名と実際に処理している内容が全く異なること・無駄なパラメータがあるなというものでした。

そのときにはテスト駆動開発で進めていなかったので、なんとも怪しいコードがいくつも見つかりました。

最近は、読みやすいコードを書くようにしているので、こういったことは少なくなってきたとは思います。

ただ、同様に数年後に見たときには、なんともおかしなコードを書いているなと思うのかなと感じます。

そうならないようにするためにも今からしっかりとした癖をつけなくてはいけません。

テストケースでわかる思考の中

2009-09-25 21:06:15 | ソフトウェアテスト
テストケースレビューをしていると、大体その人がどのような思考でテストケースを作成しているのかがわかるようになってきます。

例えば、仕様を熟知していないや、テストケースを作成していて、頭が整理できていないなどは特によくわかります。

レビューをするときには、仕様を簡単に説明してもらい、自分の頭の中で、こういった確認内容やテストケースが必要であるというのを判断します。

そこから差異がある部分を確認して、説明をしてもらっていると、なんか矛盾するなということでヒアリングをします。

大体、このような手順を繰り返していると、どこが問題なのかが見えてきます。

マインドマップで一所懸命に思考を整理しようとしていてもメインブランチからブランチの作成が間違っているので、大体は整理できていなかったりします。

ついでにソースコードがある場合にそれを見ると、そのような箇所はソースレビューで引っかかるところになります。

思考を整理することや仕様を熟知をするのは非常に難しいことですが、それがあって初めてテストケースができることなので、重要にしていかなければならないところです。

ITサービスを活用したほうがいいのでは

2009-09-23 23:08:14 | ソフトウェア開発
今日、私の母親が我が家に遊びに来ました。そのときに、ケーキスタンドを売っているお店がないかと尋ねられたので、それがどのようなものかがわからなかったので、ネットで調べました。

調べると、なるほどこのようなものなんだとイメージがわくことができました。

その際に、田舎にこそネットが活用できるサービスが必須であること・ITのサービスが必要であると感じました。

私の実家はいわゆる過疎地域と呼ばれており、個人商店のみになります。人口が少ないので、企業があるわけではないので、私の世代は違う街に住むか・あるいは通うことになります。

若者がいないから企業が来ないし、企業がこないから若者が離れていくと負のスパイラルになっております。

ただ、そうはいってもすぐには解決できる問題ではないと思いますので、まずはそこに住んでいる人たちにITサービスを利用できる環境を構築する必要があります。

今の時代、ほしいものがあれば、ネットで大体売っています。本なんかも特にそうで、近くの本屋で、注文する必要はなく、それよりも短い時間で届くこともあります。また、WEBカメラを利用しながらSkypeで遠くに住んでいる家族とも簡単に連絡が取れるようになり、元気な姿を見せることができるのです。

このようにいいことばかりを書いていますが、やはりそれなりに努力も必要であるし、個人商店にとっては消費が減少するという問題があります。

それ以外も地域のものとITとコラボして地域が活性化するのが非常に重要であると思います。具体的な策はありませんが、活性化して少しでもその地域に住んでいる人が幸せになればいいなと感じました。

私の力ではどうにもならない問題であることはわかっておりますが、少しでも役に立てたらいいなと感じた日でした。

ちなみに母親のケーキスタンドは私が住んでいるところでも売っていないので、ネットで注文してあげました。

修善寺「虹の郷」について

2009-09-22 23:46:12 | 未分類
先日、修善寺にあります「虹の郷」に初めて行ってきました。

場所的には、修善寺温泉街を通り、その山頂?にあります。

最初に入ると、イギリス風の建物や電車があり、非常にいい印象を受けました。非常にレトロな感じがしました。今回は、ホームズ暗号解読ウォークラリーというものを参加費200円で行うことができます。

新聞を貰い、その記事のヒントに沿って、スタンプを押していくというものですが、子供と一緒(?)に楽しむことができました。

それ以外にもカナダ園や日本庭園などがあり非常に見るところがたくさんあるなと感じました。

ただ、残念なのが、9月だったので、5月くらいに行くと、花が非常に綺麗に咲いているだろうなと思います。お勧めの時期は5月になります。

熱川バナナワニ園について

2009-09-19 21:35:50 | 未分類
今日、熱川バナナワニ園に行ってきました。

下田側から国道135号線を熱川方面に進んでいました。しかし、看板が出ていなかったので、途中場所を過ぎてしまいました。これが、伊東側から来ると、看板が出ているので、曲がる場所がよくわかります。

実際に場所に言ってみると、駐車場料金は無料ですが、入場料が、本園と分園と植物園の3つをあわせて、大人が一人1300円になります。

実際に、ワニ園内を歩くと、たくさんのワニがいて、子供もそうですが、親も非常に楽しむことができます。ただし、難点は、施設の最後に売店があるので、子供が必ず足止めをされることになります。

本園にはワニが、分園にはレッサーパンダとバナナ園などがあります。本園と分園は距離がありますが、無料のシャトルバスが運行されています。運行時刻が決まっているわけでなく、定員になるとすぐに発車するというようです。待ち時間は非常に短いのが助かります。

こんなたくさんのワニとレッサーパンダは私は見たことがなかったので、非常に楽しかったです。

最後に売店で売っているソフトクリームは、バナナよりもバニラ味のほうがおいしかったです。

息子たち2人とも楽しそうにしていたので、行って良かったなと思います。

業務の課題を明確にすることだ

2009-09-18 23:18:52 | ソフトウェア開発
最近、ある案件のシステム化を検討していて、価値が何であるかを明確になっていなかったので、まずはそこからということではじめました。

大体、自分の中では整理ができてきて、システムの仕様を考えていると、なんか違和感があるなと感じました。

そこで、色々と考えていましたが、どうしても頭の中が整理できずにごちゃごちゃしてきました。

そこで、まずはエンドユーザーが現在抱えている課題や困っていることは何であるかを再度明確にしました。

そうすることで、解決策が見えてきました。

やはり基本に立ち返り、まずは業務の課題とあるべき姿を明確にしていかなくてはならないと感じました。

お勧め書籍:UMLモデリング入門

2009-09-16 20:47:27 | お勧めの本
UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学
児玉 公信
日経BP社

このアイテムの詳細を見る


以前、モデリングで悩んだときに購入して、読んでいなかったので、最近読んでいる本が、「UMLモデリング入門」です。

まだ、読み始めたばかりで、クラス図のところを読んでいます。その中で、ロール汎化の部分で参考になった部分があります。

まず、ロールの部分で再帰の表現の部分です。例えば、ツリー構造で親でもあり、子にもなる場合などが再帰の表現になります。

次に、汎化の部分で、スーパークラスからサブクラス継承部分で異なる分類軸の部分に、汎化セット名を記述していなかったので、見づらくなっていたなと反省しました。

それ以外にもナビゲーション可能性などプログラミングをする上では当たり前のことなどが書かれているので、モデリングのことを学びながら、プログラミングを学ぶことができるので、お勧めの書籍です。

勉強会:Javaでの挑戦

2009-09-15 21:23:21 | プログラミング
最近、時間外に皆で勉強会をしようということで、有志を募って行っております。

まず、第1回としてチャットプログラムを各人が作成して、コードレビューや説明会を短い時間で行いました。

業務時間外に作成するということで、自分の時間を使用して勉強をしてきたり、苦労した点やここがどうしたらいいかなど技術的なアドバイスも含めて行っています。

みなが同じ題材なので、そこは知っているや知らなかったことなどを共有できたりするので、非常にためになっています。

ちなみに私は、Javaでチャットプログラムを作成して、Javaの利点や他の言語でこういったことが応用できるなどを説明しました。

第2回の勉強会の内容は、まだ決まっておりませんが、次回もJavaの勉強を兼ねながらチャレンジをしていきたいと思います。

アントニオ猪木さんの引退のときに「人は諦めたときから衰える」とおっしゃっておりました。これは元々どこかの僧侶の言葉だそうです。

この言葉のように、自分も常に新人だったころを思い出して、チャレンジをしていきたいと思います。