ブックマーク / capsctrl.que.jp (12)

  • Martin Fowler's Bliki in Japanese - 犠牲的アーキテクチャ

    @@ -0,0 +1,37 @@ +http://martinfowler.com/bliki/SacrificialArchitecture.html + + +会議の席であなたは考えている。自分のチームが二年間かけて書いてきたコードのことを。そして決断に至る。いま打てる最善の手は、あのコードをすべて投げ捨てまったく新しいアーキテクチャを再構築することだ。死にゆくコード、それに費やした時間、自分が下し続けてきた判断。この決断は、あなたはどんな気持ちにするだろう? + +多くの人にとって、コードを捨てるのは失敗の証だ。ソフトウェア開発の探索的な性質を考えれば、わからない判断ではないかもしれない。けれど失敗には違いない。 + +ところが、いま書ける最良のコードは二年経ったら捨てるつもりのコードだということはよくある。 + +私たちは長命なソフトウェアとして偉大なコードを思

    Martin Fowler's Bliki in Japanese - 犠牲的アーキテクチャ
  • http://capsctrl.que.jp/kdmsnr/diary/20100328.html

    oooooooo
    oooooooo 2010/04/04
    自分の好き・嫌い / 作品の出来・不出来 / 作り手のイデオロギーの是・非
  • Martin Fowler's Bliki in Japanese - ThoughtWorksでのRuby

    以下の文章は、Martin FowlerによるRuby at ThoughtWorksの日語訳である。 ThoughtWorksは、2006年から格的なプロジェクトRubyを使い始めた。2008年の終わりまでには、Rubyプロジェクトの数は41個になった。この経験から我々は何を学んだのか。QConの講演に備えて、私は調べてみることにした。ここでは、Rubyの生産性、スピード、保守性など、よくある質問に対する現時点での我々の考えについて述べていく。現時点での我々の結論としては、Rubyは十分に使えるプラットフォームであり、様々な形態のアプリケーションに利用することを真剣に考慮すべきである、というものだ。特に、Ruby on Rails を利用したWebアプリケーションにおいてはそうである。最後に、Active Record のテスティングに対する考えなど、技術的な教訓についても触れる。

    oooooooo
    oooooooo 2009/06/15
    ThoughtWorksでのRuby
  • Martin Fowler's Bliki in Japanese - モデル駆動ソフトウェア開発

    http://martinfowler.com/bliki/ModelDrivenSoftwareDevelopment.html 2008/7/14 モデル駆動ソフトウェア開発(MDSD)は、 伝統的なプログラミング方式の代替であると謳うソフトウェア開発手法のことです。 この手法は、ソフトウェアシステムのモデルの構築に主眼を置いています。 通常、こうしたモデルは、図を用いた設計記法によって表されます――たとえばUMLが選択肢の1つとなります。 これらの図を使い、 捉えたシステムをモデリングツールに描画して、 伝統的なプログラミング言語のコードを生成する というのが、基的な考えになります。 MDSDの構想は、図を用いた設計記法とCASEツールから生まれました。 これらの技術の提唱者たちは、図を用いた設計記法をプログラミング言語よりも抽象度を高めるための方法であると考えており、開発の生産性

    oooooooo
    oooooooo 2008/07/18
    MDSD好きは「モデルはプログラミング言語よりも抽象度が高い」ことが好き / その主張には賛成しない。図を用いた設計記法でうまく抽象化できることもあるが、常にそうであるとは限らない――うまくいくのは特殊な場合
  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

    oooooooo
    oooooooo 2007/10/21
    言語ではなくフレームワークでプログラムを軽快に
  • Martin Fowler's Bliki in Japanese - 朝会のパターン:立ってるだけじゃないよ

    朝会(デイリー・スタンドアップ・ミーティング、デイリー・スクラム、デイリー・ハドル*1、朝のロールコール*2)を説明するのは簡単だ。チーム全員が毎日顔を合わせ、現在の状況を迅速に確認しあう。立ってやるのはミーティングの時間を短くするためだ。以上。 でもこれだけじゃあ、「良い朝会」と「悪い朝会」の微妙な違いは分からないだろう。 朝会の定義は非常に簡単なものなのに、 うまくいっていない朝会があって私はとても驚いた。 すぐに原因は分かったが、そのチームはそれが何なのか分かっていなかった。 朝会の基原則と詳細を意識していなかったのだ。 そのために朝会の問題について診断や解決がなされていなかったわけだ。 良い朝会を経験した人たちは、 うまくいってないときに何をすればいいかを知っている。 朝会に慣れていない人たちは、 うまくいってないときに何をすればいいかに気づかない。 「暗黙知なんだから、とにかく

    oooooooo
    oooooooo 2007/04/03
  • PofEAA's Wiki - (ファウラー | 読書会)

    PofEAAのWikiです。Martin Fowler氏とAddison-Wesley Pub Coの許可を得て、 パターンカタログの翻訳を行っています。bliki_jaと同じくどなたでも参加可能ですので、是非参加してみてください ;-) ※このサイトは書籍の邦訳とは一切関係ありません。 ■ PofEAAのパターンカタログ and PofEAAのパターンカタログ(邦訳版)ここから読み始めるとよいでしょう。対応表もあります。 ■ 読書会 第12回の開催予定は未定です。 ■ PofEAA読書会メーリングリスト読書会に関する話題を扱っていますが、読者会への参加を強制するものではありません。興味のある方の参加は随時受け付けています。

    oooooooo
    oooooooo 2007/03/26
    Patterns of Enterprise Application Architecture
  • Martin Fowler's Bliki in Japanese - トランザクションレス

    http://martinfowler.com/bliki/Transactionless.html 2007/3/18 (更新:Bill Caputoからも経験談をいただいた) 数年前にeBayで働く友人たちと話していたときのことだ。 大規模サイトで使われる技術の話を聞くのはいつも楽しいが、特に興味深かったのが、eBayでは滅多にデータベーストランザクションを使用しないという話だった。 トランザクションがない環境というのは驚くべきことではないだろうか。 データベースを扱うときにトランザクションを使うのはごくごく一般的なことだ。 多くの人にとって(私もそうだが)トランザクションはデータベースを使う利点のひとつだ。 eBayがトランザクションを使わないのは、あのような規模ではパフォーマンスに影響が出てしまうからだというものだった。 eBayではデータをいくつもの物理的データベースにパーテショ

    oooooooo
    oooooooo 2007/03/24
    eBayでは滅多にデータベーストランザクションを使用しない / パフォーマンスに影響が出るから / 参照整合性やソートなどはすべてコード側で行っており、トリガーやストアドプロシージャも使っていなかった
  • Martin Fowler's Bliki in Japanese - クロージャ

    http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基的にクロージャとは、ブ

    oooooooo
    oooooooo 2007/03/07
    Cプログラマなら「そんなの関数ポインタでできるじゃん」と言うかもしれません。Javaプログラマなら「無名クラスでできるよ」と言うかもしれません。 C#プログラマならデリゲートが使えると考えるかもしれません。
  • ドメインロジックとSQL

    以下の文章は、Martin Fowler による Domain Logic and SQL の日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジッ

    oooooooo
    oooooooo 2006/12/16
    ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。
  • Martin Fowler's Bliki in Japanese - アジャイルの押しつけ

    http://martinfowler.com/bliki/AgileImposition.html 2006/10/2 (更新:XPメーリングリストで有益な議論があった。特にKentの返信は読んでおくべきだろう。議論を有益な方向に導いてくれた。) アジャイルアライアンスのボードメンバによると、アジャイル方法論は「キャズムを超えた」そうだ。 つまり、より多くの人に知れ渡ったということだろう。 これはアジャイルの利点だが、同時に問題も起きている。 方法論や設計手法が単なる流行になってしまったために、流行にのみ注目して、使用したり、教えたりする人が多い。 また、アジャイル設立者の原則とは正反対のことをして、アジャイルの名を汚しているという報告もある。 Webを巡回していると、ある開発チームが上層部からアジャイル方法論を押しつけられているというコメントを見つけた。 チームにプロセスを押しつけると

    oooooooo
    oooooooo 2006/10/06
    方法論や設計手法が単なる流行になってしまったために、流行にのみ注目して、使用したり、教えたりする人が多い。また、アジャイル設立者の原則とは正反対のことをして、アジャイルの名を汚しているという報告も。
  • Martin Fowler's Bliki in Japanese - エンタープライズRails

    http://www.martinfowler.com/bliki/EnterpriseRails.html Railsのコミュニティでは「エンタープライズ」という言葉がダーティーワードになりつつある。 多くの人にとってRailsフレームワークとは、貪欲にシンプルさを備えたものであり、複雑になり過ぎた「エンタープライジー」なフレームワークへのアンチテーゼなのだ。 先ごろ開かれたRailsConfでは、オープニングキーノートにおいてPragDaveが「Railsでは解決できない事項」に焦点をあてていた。 その中にはエンタープライジーなことも含まれていた。 たとえば、複合キーを持つような、様々なデータ構造を扱うことが必要だというのだ。 これに対するDHHの反応は、この上なく痛烈な拒絶であった。Wired誌*1の表紙になった画像をうまく編集して、DHHは自らをソフトウェア界のネオ(救世主)として

    oooooooo
    oooooooo 2006/07/19
    エンタープライジー
  • 1