タグ

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

  • 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 のテスティングに対する考えなど、技術的な教訓についても触れる。

    hiro_y
    hiro_y 2009/06/24
    ThoughtWorksでどうRubyが使われ、どのように扱われているか。
  • Martin Fowler's Bliki in Japanese - 設計力

    http://martinfowler.com/bliki/PreferDesignSkills.html 2008/1/18 雇用について考えてみよう。 応募者が2人。どちらも経験が数年間。 青コーナーの人には、あなたが好きな設計スタイルの広範な設計力が備わっている(私の場合だと、DRY、分別のあるパターンの使用、TDD、伝わるようなコード、なんかが挙げられるけど、自分の好きなやつでいいよ)。ただし、彼女には、あなたが使っているプラットフォーム技術についての知識がない。 赤コーナーの人には、そういった設計の知識は(それに興味も)ないが、プラットフォーム技術についての知識はめちゃくちゃある。言語には詳しいし、どのライブラリが使えるかはよく知ってるし、ツールも流暢に使いこなす。 これ以外のことについては(こうした思考実験以外については)、2人ともまったく一緒だとしよう。 また、あなたのチーム

    hiro_y
    hiro_y 2008/01/22
    広範な設計力重要。
  • 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,

    hiro_y
    hiro_y 2007/10/18
    Martin Fowler、流暢/なめらかなインターフェース。メソッドチェーン。
  • Martin Fowler's Bliki in Japanese - 朝会のパターン:立ってるだけじゃないよ

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

    hiro_y
    hiro_y 2007/04/03
    朝会のコツ。
  • Martin Fowler's Bliki in Japanese - トランザクションレス

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

    hiro_y
    hiro_y 2007/03/22
    トランザクションを使わずにDB更新、eBayの場合。
  • Martin Fowler's Bliki in Japanese - 大きな画面

    http://martinfowler.com/bliki/BigScreen.html 2006/12/16 ソフトウェア開発者の生産性を向上させるにはどうすればよいか? 私が長年使っている答えは、大きな画面を与えよというものだ。 これは、コンピュータを使用している人ならばどんな人にも当てはまることである。 15年前に「すべての開発者は21インチ以上の画面で仕事をすべきだ」と言ったときには、ものすごい勢いで驚かれたものだが、今は「20インチの画面を2つ以上使うべきだ」と言っている。 なぜこれが重要なのだろうか? 小さな画面を使っていると、一度に多くのことを見ることができない。 別のものを見るには、そのウィンドウを前面にもってこなければならない。 画面を2つ使えば、すべてを一度に表示できる。頭を横に振るだけで済むのだ。 Emacs上でタイプしているテキストと、firefox上にレンダーされ

    hiro_y
    hiro_y 2006/12/19
    「大きな画面は賢い投資」、マルチディスプレイの勧め。
  • Martin Fowler's Bliki in Japanese - エンタープライズRails

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

    hiro_y
    hiro_y 2006/07/16
    「狭いRails(コア)と広いRubyの世界(そこにRailsも含まれる)という考え方」
  • Martin Fowler's Bliki in Japanese - ドメイン特化言語

    http://martinfowler.com/bliki/DomainSpecificLanguage.html ドメイン特化言語(DSL:Domain Specific Language)とは、 ある特定の種類の問題に特化したコンピュータ言語のことです。 様々な問題に対応できる汎用的な言語のことではありません。 ドメイン特化言語についてはこれまでも議論されてきましたし、 コンピュータが使われてきたのと同じくらい長い間使われてきました。 DSLを頻繁に使用しているコミュニティにUnixコミュニティがあります。 そこでは、DSLは「リトル言語」や「ミニ言語」などと呼ばれています (この伝統について、Eric Raymondが素晴らしい議論を提供してくれています)。 最も一般的なUnixスタイルのやり方は、 言語の文法を定義し、コード生成機能を使ってDSLから汎用的な言語を生成する、 あるい

    hiro_y
    hiro_y 2006/06/22
    DSL、ドメイン特化言語について。
  • Martin Fowler's Bliki in Japanese - Rubyの評価

    http://martinfowler.com/bliki/EvaluatingRuby.html ここの読者なら世の中でRubyが騒ぎになっていることをご存知だと思う。 特にRailsというWebアプリケーションフレームワークは大騒ぎだ。 Railsはプログラミングの未来を表したものだという人もいれば、 危険な流れだという人もいる。 私がRubyに触れたのは数年前のことだ。 達人たちにすすめられて、興味を持つようになった。 そしてすぐにお気に入りのスクリプト言語となった。 そのうちRubyを使ってこのサイトのプロダクトを作るようになった。 たとえばこのblikiがそうだ。 諸君、私はRubyが大好きだ。 ただ、私がRubyを好きなことと、Rubyをクライアントのために使うかというのは別問題だ。 クライアントのために使えるかどうかは、Rubyの機能を評価することによって判断できるだろう。

    hiro_y
    hiro_y 2006/05/11
    「テクノロジーを判断するには、経験に基づいたほうが良い」
  • Martin Fowler's Bliki in Japanese - クロージャ

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

    hiro_y
    hiro_y 2006/01/12
    closureの概念について。
  • Martin Fowler's Bliki in Japanese - ヒューメイン・インタフェース

    http://martinfowler.com/bliki/HumaneInterface.html Ruby界隈で「ヒューメイン・インタフェース」という言葉を何度も耳にした。 この言葉は、クラスのインタフェースを記述する際のrubyistたちの姿勢(attitude)の一部を表したものである。 APIの設計については、2つの異なる考え方を対比していくと面白い(もうひとつは最小インタフェースである)。 ヒューメイン・インタフェースの肝は、みんなが何をやりたいかを見つけ出し、何度も起きることを簡単に行えるためのインタフェースを設計することだ。 最小インタフェースとの明確な違いは、ヒューメイン・インタフェースの方が大きくなる傾向があるという点だ。ただ、ヒューメイン・インタフェースの設計者はインタフェースが大きくなることをそれほど気にしてはいない。 以上のことは、ヒューメイン・インタフェースで設

    hiro_y
    hiro_y 2005/12/08
    よく使うインタフェースを全て実装してしまう方法。クラスは大きくなるが、使いやすい。
  • Martin Fowler's Bliki in Japanese - 最小インタフェース

    http://martinfowler.com/bliki/MinimalInterface.html 最小インタフェースとはAPI設計のスタイルである。 ここでは、ヒューメイン・インタフェースと比較していく。 最小インタフェースの背景にある考えは、クライアントが必要な機能をすべて提供できるようAPIを設計するが、仕事を成し遂げるための必要最小限のメソッドしか提供しないというものである(両者の違いについての例がヒューメイン・インタフェースにあるので参照のこと)。 ヒューメイン・インタフェースの主張はそちらのページに書いている。 ここでは、最小インタフェースの根拠について述べていこう。 インタフェースの習得には時間がかかる。 膨大なインタフェースを持つクラスはうまく使われることが少ないため、 最初の段階ではインタフェースは少なくしたほうがよいだろう。 インタフェースを小さく保ち、それらのメソ

    hiro_y
    hiro_y 2005/12/08
    実装するインタフェースを最小限度にすることで、役割をはっきりさせる。
  • 翻訳 - Ruby on Rails: David Heinemeier Hanssonへのインタビュー

    以下の文章は、Edd Dumbillによる「Ruby on Rails: An Interview with David Heinemeier Hansson」の日語訳である。 O'Reilly Media, Inc.の許可を得て、ここに掲載する。 by Edd Dumbill 08/30/2005 プログラミングの世界で誰も無視できない最新のスタープラットフォーム――Ruby on Rails。そして、そのRailsの作者であるDavid Heinemeier Hansson。彼は、今年のOSCONで観衆を大興奮の渦に巻き込んだ。10月にはアムステルダムで開かれるEuropean O'Reilly Opensource Conventionで基調講演を行う予定だ。 Heinemeier Hanssonはデンマークのコペンハーゲンに住んでいる。彼は、革新的な企業37signals のパー

    hiro_y
    hiro_y 2005/12/01
    Ruby on Railsの作者、DHH氏のインタビュー。
  • PofEAA's Wiki - (ファウラー | 読書会)

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

    hiro_y
    hiro_y 2005/11/05
    和訳。書籍版も読んでみようかな。
  • 1