フェイルセーフを重視する

December 18 [Sat], 2010, 17:56
フェイルセーフ(fail safe)というのは、いわゆる失敗した場合でもなんとかなるようにするといった意味ですが、システムを構築する際には極めて重要なポイントでもあります。

BCPという同じような意味の言葉もありますが、フェイルセーフはどちらかというと、予期せぬインプットをシステムが受け取ったときに、きちんとそれをハンドル出来るように事前対処しておくというような意味になります。

TDDという手法では徹底的にこうしたイレギュラーなインプットを想像して、それに耐えぬくシステムを作っていきますが、ビジネス一般にもこのフェイルセーフという考え方は適用できます。

お客様から想定していない回答が来た場合どうするか、などなど、システムに限らずフェイルセーフという考え方は極めて一般化出来る思考法です。

Efficiencyを意識する

November 02 [Tue], 2010, 23:50
大規模なinputが入るようなプログラムの場合、そのoutputに到るまでの処理の中では極力効率的なロジックが求められます。

例えば潜在的に100万回のループが発生する可能性があったり、そのループ毎にSQL文でselect / insert / updateなどしてしまうロジックなどは、インプットが少ない場合はなんとかいけるかもしれませんが、何万単位にインプットがなった瞬間にパフォーマンスが劇的に悪くなることが容易に想像できます。

こうした要求を踏まえると、極力繰り返しの処理は省いて、一括でバッチで処理できるものはバッチで処理するようんプログラムを組む、といった思考が必要がされてきます。

結局のところ、砕いていうと生産性を追求するという思考にたどり着くので、一定レベル以上のビジネスパーソンであれば必ず身につけている思考習慣ではあります。

その意味では、エンジニアは生産性を自然に追求せざるをえない人種かもしれません。

スケーラビリティ

August 18 [Wed], 2010, 21:48
最近はシステムを構築する際、「スケールするか」「スケーラビリティはどうか」という点をきちんと考えるようにしています。

何百万というトランザクションを裁かなければいけない金融のシステムなどは、特にスケーラビリティについての思考、および実践的な打ち手が求められます。効率はもとより、スケールという考え方をするようになったのは最近の収穫の一つです。
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:ygousuke330
読者になる
2010年12月
« 前の月  |  次の月 »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新コメント
Yapme!一覧
読者になる