ただいま修行中...

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

ゆったりとした休日

2007-10-07 23:08:31 | 未分類
この3連休は、久しぶりにゆったりと休日を楽しんでいます。

先月は、週末になると用事があって出かけたりしていたので、殆んど休日がない状態でした。

昨日と今日かなりゆったりと休日を過ごしているので、リフレッシュできています。
特に何をするわけでもなく、ゴロゴロとしているだけですが、かなり日々の疲れが取れているので、肉体的にも精神的にも休日モードになっています。

やはりたまには休日をゆったりと過ごすことは重要だなと思います。

多くの人に支えられている:その2

2007-10-06 23:40:18 | 未分類
最近、帰りが遅くて睡眠不足で、今日は久しぶりの休みで色々な人が気をつかってくれました。

いつもなら子供が朝起こしにきますが、妻が「パパは仕事で遅いから少し遅くまで寝かせてあげよう」と言ってくれたので、起こしに来ないで、朝寝坊。

起きて妻の実家に行って、お酒をもらって眠そうにしていると、布団を敷いてくれてあり、3時半くらいから8時くらいまで寝かせてくれました。

ざっと推定すると、睡眠時間は10時間以上は寝ていたと思います。

こんなにゆっくりと寝たのはいつ以来かと思うくらいに寝ました。

色々な人が私に気を使ってくれて多くの人に支えられているなと思う今日一日でした。

クラス分けが必要な理由

2007-10-04 23:32:55 | プログラミング
オブジェクト指向言語を使用していると、クラスの役割を明確にして、ViewModelを分けなくてはならないと色々な本を見ていると記述してありますし、実際に分けておいたほうが何かと便利です。

プログラミングを始めた頃は利点はわかるけど、なぜだろうという疑問がわくし、実際にどのようにすればよいかがわかりにくいと思います。

では実際に具体的な例をあげてみます。
例:Javaで、RSSの情報を取得し、それを表示するプログラムを作成する場合

最初は、ブラウザ上で表示するので、アプレットを使用して作成していました。
これをRSSView.classの中で、RSS情報を取得し、表示する処理をしていたと仮定します。

ここで、仕様が変更され、Javaアプリで作成しなくてはならなくなったとします。
そうすると、また一からRSSView.classを変更しなくてはなりません。

これでは無駄ですね。

対策として、RSSModel.classを作成します。
その中で、RSSの情報を取得する処理をしておき、RSSViewでは、RSSModelの中身を取得するだけの処理にします。

このようにしておけば、SSModelを変更しなくてもRSSViewのみを変更すればよいことになります。

Viewというのは非常に変更がされやすいものです。

今回の例のように、RSSModelを作成しておけば、Viewの部分のみを修正して、テストすればよいことになります。

無駄な作業がなくなります。

努力すれば必ず報われる

2007-10-02 22:11:51 | ビジネス
今日、友人が教員採用試験に合格したとメールが来ました。

元々は私と同じソフトウェア業界に就職して、そこからやはり教員を目指すということで、この業界から去り、しばらく中学校で講師をしながら採用試験に臨んでいました。そして採用という結果を勝ち取りました。おめでとうございます。

色々と大変なこともあったり、誘惑に負けそうなときもあったと思います。また、部活動をしながら、自分の採用試験のための勉強をするというかなりハードな毎日を送っていたと思います。

やはり努力した結果が、今回の採用という結果につながったと思います。

一番喜んだのは、本人だと思いますが、それ以上に、家族の喜びというのも非常に大きいと思います。家族の支えがあったからこそ頑張れたこと・また協力してもらうことも多々あったと思います。

家族の支えがあるからこそ、仕事を安心してできるのだということを忘れてしまいがちです。私は特にそうです。
今回、この友人の件で改めて、家族の支えがあるから仕事ができるのだという感謝しなくてはならないということと・努力すれば必ず報われると思います。

ツリーの開閉アイコンの取得

2007-10-01 21:34:13 | C#
C#において、ツリーの開閉のアイコンDataGridViewや様々なところで流用したい場合に、以下のようにソースコードを記述すると取得することができます。

internal VisualStyleRenderer rOpen = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Opened);
internal VisualStyleRenderer rClosed = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed);

後は、コントロールのOnPaintイベントで、描画処理をしてあげれば、簡単に描画することが出来ます。

VisualStyleElementを使用すれば、様々なコンポーネントのものを取得することができるので、非常に便利です。