2007/12/27

2007年を振り返って

もうすぐ2007年が終わります。
2007年は公私ともにいろいろな出来事があり、何十年後に
振り返ってみると人生のターニングポイントとなったと思える
年だったかもしれません。

私生活の反省点はいっぱいありますが、ここでは今年の仕事を
振り返っていろいろ反省し、来年に活かしたい思います。

まず1つめ。
・自動化を考えずに無心で手作業・・・

自動化できるかもしれないのに、時間に追われて無心で手作業したことが何回かありました。
手作業はどうしても人為的ミスが発生してしまいます。人為的ミスはある程度防止することができても、ゼロにはできないと思っております。

コンピュータを使用しても自動化できないものもありますが、最低でも手作業をする前に自動化できないかを検討するようにしたいと思います。

また、作業を自動化するために「Python・Ruby・PowerShell・Bash・WSH」などを活用して改善していきます。


2つめは
・単体テストの自動化

xUnitを使用して単体テストを自動化すると、ソフトウェアの品質が 向上してデグレードも発生しにくくなると思います。
しかし、単体テストの自動化はコストがかかるので工数として認められないことや、プロジェクトの納期がきつく単体テストの自動化を実施できないことがありました。

私個人としては工数がかかる・納期がきついというのは単体テストを自動化しない理由には ならないと思います(工数・納期はとても大切ですが品質が悪ければ元も子もありません)。

来年からは単体テストの自動化を開発プロセスに取り込んで、実施できるようにしたいと思います。


そして3つめ。
・シンプルな設計

過去に自分が作成したプログラムを修正する機会があり、ソースコードを見てもしばらく理解できないことがありました(プログラムの仕様が複雑だったのですが・・・)。

自分の作成したプログラムでも、時間が経過すればプログラムの詳細を忘れてしまうことや、複雑な設計のプログラムだと理解するまで時間がかかってしまいます。

上で記述した、自分の作成したプログラムを理解するのに時間を要した原因は、シンプルに設計できていなかったからでした。

シンプルに設計できているかどうかは、プログラムの作成時にはなかなか気がつかないと思います(私だけかもしれませんが・・・)。
これからはプログラムの作成後に必ずリファクタリングやソースコードレビューを行い、常にシンプルな設計になるようにしたいと思います。

また、Unixの設計哲学やオブジェクト設計の原則に従って設計するよう心がけたいと思います。

[Unixの設計]
  • KISSの原則
  • SPOTの原則

[オブジェクト設計の原則]
  • 単一責任の原則
  • 開放閉鎖の原則
  • リスコフの置換原則
  • 繰返禁止の原則
  • 依存関係逆転の原則
  • インタフェース分離の原則

4つめ。

・何事も計画的に

消費者金融の宣伝みたいですが、思いつきや・閃き?で物事を実行して手戻りが発生することや、円滑に進まないことがありました(当たり前ですね)。
些細なことでも計画を立て、全体を見渡してから行いたいと思います。


5つめ。
・重い腰を上げる

これは仕事の反省とは違いますが・・・
いくつか、自分が使うためにWebシステムを作ろう考えましたが腰が重く、開発には至りませんでした。
2008年は深く考えて頓挫するよりも、まず手を動かすようにしたいと思います。


6つめ。
・頭の中にデータを保存しない

一人で仕事をする場合も、複数人で仕事をする場合でも頭の中にデータを保存するのは危険な行為だと思います(忘れてしまったり、データが劣化したり)。

今年の仕事を振り返ってみると、デジタルデータ化した方がよい頭の中のデータがたくさんありました。

お客様や同僚に質問されて、気がつくこともしばしば。
来年は頭の中のデータをデジタルデータ化する習慣をつけて、Wikiなどを使用し共有していきたいと思います。


反省することは尽きることなくいっぱいありますが、来年はこれらの反省点を改善して、より良い仕事をしていきたいと思います。


最後に、今年お世話になったお客様へ

幾多ある会社の中から弊社をお選び頂き、ありがとうございます。
期待に添えるよう日々努力・勉学に励み、お客様のお役に立てるソフトウェアを作っていきたいと思います。

それでは、よいお年をお迎えください。

ラベル:

2007/12/24

Nimbusテーマを使ってみる

Ubuntu Linux7.10にOpenSolarisのデスクトップテーマであるNimbusをインストールして使って見ました。
インストール方法は下記のサイトが参考になります。


私の環境では「debhelper」がインストールされていなくて、パッケージ作成の途中でエラーが発生して止まってしまいましたが・・・・

sudo apt-get install debhelper

で「debhelper」をインストールすると、無事にパッケージを作成できインストールすることができました。
(下の画像はNimbusを使用したデスクトップのキャプチャーです)

ラベル:

2007/12/12

UbuntuでThinkPadの中ボタンが動作しない

ThinkPad X32にUbuntuLinuxをインストールしましたが、初期状態ではThinkPadに付いている青い中ボタンが動作しません。

動作させるには「/etc/X11/xorg.conf」を修正する必要があります。
下記のセクションに

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

これを追加します。

Option "CorePointer"
Option "EmulateWheel" "true"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"

後はXWindowを再起動すれば青い中ボタンが動作するようになります。

ラベル: ,

2007/12/10

UbuntuLinuxをインストール

仕事で使っていたノートパソコン(ThinkPad X32)があいたので、OSをWindowsXPからUbuntu Linuxに変更しました。

やはり、Ubuntuは使いやすいですね。記念にデスクトップのキャプチャーを掲載します。

ラベル:

2007/12/06

ブックスタンド

最近、アマゾンでELECOMのブックスタンドを購入しました。
本をみながらパソコンで作業する場合は必須ですね。
本に掲載されているサンプルプログラムを打ち込むときなどに大活躍です。

ラベル: ,