<< 前 ホーム 次 >>

bakaid: 20051201

http://www.ruby-lang.org/ja/man/?cmd=view;name=File

  * LOCK_UN

    アンロック。

    この明示的なアンロック以外に、Rubyインタプリタの終了 (プロセスの終
    了) によっても自動的にロック状態は解除されます。

ってなってますけど、closeしたときもロック外れるんですよね? だから:

    File.open(filename, 'w') do |output|
      output.flock(File::LOCK_EX)
      output.write(text)
    end

でいいんですよね?

--

RubyにはPHPのescapeshellcmd相当のメソッドはないんですか? Regexp#quote
を使うってことでしょうか? これだとセミコロン抜けちゃいますけど。

system(Regexp.quote("date;date"))

とかできちゃいますよね。

--

『コメントってどう書きゃいいの?』なんて聞いてるうちは何も書かないほう
がマシなんじゃないの?

--

http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp-2.html

Yendotでmasarlさんの文章が取り上げられるとは。Cotton Ballsのほうはもう
404になってるんですね。

本題。進化的設計という視点で見たとき、デザイン・パターンというのは、い
つ導入すするかが問題になります。進化的設計においては、いうまでもなく、
最善なのは必要になったときです。

デザイン・パターンのほとんどは重いです。システムがまだ育っていないとき
にいきなりデザイン・パターンを持ち込むのは、不必要な複雑さを背負い込む
ことになります。その苦労が報われるかどうかは一種の賭けといえるでしょう。
賭けが当たれば『やってよかった』ということになるでしょうが、賭けが外れ
たときは案外賭けのことを忘れているものです。

デザイン・パターンは重いものが多いわけですが、そうすると余計に『後から
デザイン・パターンを持ち込むのは大変じゃないか』と思われるかもしれませ
ん。けれども、デザイン・パターンを持ち込む前にすでに十分にリファクタリ
ングされていれば、デザイン・パターンを持ち込むときの苦労は少なくなりま
す。

リファクタリングとは何か? 極端にいえば責任を分散することです。責任を
分散し、コードを動かしやすくしておけば、デザイン・パターンを持ち込むよ
うな大きくて重いリファクタリングもやりやすくなります。

そして、進化的設計においては常にシステムはリファクタリングされているも
のと考えられますから、後からデザイン・パターンを持ち込むのをためらうこ
とはありません。必要になったときに、必要なだけデザイン・パターンを持ち
込めばいい。

デザイン・パターンの発見者はWardAndKentということになりますが、その2人
はデザイン・パターンのことをあまり話しません。なぜか考えたことがありま
すか?

パターンは知ることよりも見つけることのほうが大切です。それは設計だけに
限らず、開発活動すべてにおいていえることです。悪い慣習は悪いパターンと
いえるでしょうし、いい慣習はいいパターンといえるでしょう。悪いパターン
を見つけ、それを捨て、いいパターンを見つけ、それを意識的に繰り返す。そ
うやって改善していくしか生産性というのは上がらないものです。

本家Permlink

<< 前 ホーム 次 >>


Copyright © 1905 tko at jitu.org

バカが征く on Rails