タグ

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

  • Martin Fowler's Bliki in Japanese - 多様性

    http://martinfowler.com/bliki/Diversity.html 2005/8/28 ThoughtWorksでの大きなテーマのひとつに、 全社的に人材の多様性を促進するというものがある (ここでいう「多様性」とは、ジェンダー・人種・性的嗜好などを指す)。 我々は、女性や非白人種など歴史的に恵まれないグループが快適に過ごせ、 伝統的なWASPのリーダーと同様の機会を得られる会社にしたいと思っている。 Royも混血であり、彼もこの多様性について気にかけている。 私がThoughtWorksについて述べるのは、 会社の名を売ろうとしているからではない(マジで!)。 そうではなく、我々が行っていることについて、良い面と悪い面を深く掘り下げようとしているからだ。 Royの社会的実験という大きな目標と泥臭い現実との間には、大きな溝がある。 多様性はその一例だ。 私にとって至福

    yugui
    yugui 2008/02/05
    "そうしたことを誰もやらないから、彼のような人間が変わっていかないんだ"
  • Martin Fowler's Bliki in Japanese - オブジェクトマザー

    http://martinfowler.com/bliki/ObjectMother.html オブジェクトマザーとは、テストで使用するクラスである。 これはテスト用のサンプルオブジェクトを作るのに役立つものだ。 それなりの規模のシステムでテストを書くとき、 膨大なサンプルデータを用意する必要があるだろう。 たとえば、従業員の疾病手当の計算をテストする場合だと、従業員が必要になる。 これは単なるオブジェクトではなく、配偶者の有無、扶養家族の人数、勤務履歴、給与履歴などのデータが必要である。 もしかすると、オブジェクトを大量に生成しなければならないかもしれない。 こうしたデータは一般に「テストフィクスチャ」と呼ばれる。 まず、フィクスチャをxUnitテストのsetUpメソッドで作成して、 複数のテストで再利用できるようにする。 ここでよく面倒となるのは、同じようなデータが複数のテストクラスで

  • Martin Fowler\'s Bliki in Japanese - ローラースケート実装

    http://martinfowler.com/bliki/RollerSkateImplementation.html 2007/9/9 アジャイル開発の重要な特性として、小さな機能サブセットに分割してシステムを稼動させる方法をあれこれ考える、というものがある。 我々は、ソフトウェアがもたらすビジネス価値のためにソフトウェアを構築するのである。 システムの稼動が早ければ、それだけそのビジネス価値(の少なくとも幾分か)を早く手に入れることができる。 同僚のDave Leigh-Fellowsがこの考えにまつわる話を教えてくれた。 私はこの話が大好きだ。 我々が株式仲買業者の仕事をしていたときのことだ。 彼らは新しい商品を市場に投入したいと思っていた。 このためにソフトウェアが行うべきことは、顧客がWebフォームに入力した情報を使って必要な処理を行い、裏のバックエンドシステムにデータを受け

    yugui
    yugui 2007/09/11
  • Martin Fowler's Bliki in Japanese - RailsConf2007

    http://www.martinfowler.com/bliki/RailsConf2007.html 2007/5/22 以前ほどカンファレンスに参加することはなくなったが、 その分、好きなカンファレンスに参加する時間ができた。 ずっと前からRubyコミュニティには特別な愛情を捧げている。 というわけで、RailsConf?に一般参加者として参加してきたよ。 Chad FowlerとRich Kilmerによってカンファレンスの紹介が行われた。 Chadとは苗字が一緒だが、彼ほどのウクレレのスキルは私にはない。 若いテクノロジーには新しくて重要な特筆すべき点がいくつもある。 だが、私にとって最も重要なのは、JRubyだ。 現在、JRubyは最終的なRCの段階だ。 Java VM上で動くスクリプティング言語を提供するだけでなく、 Rubyプラットフォームの完全な実装をJVM上で行おうとし

    yugui
    yugui 2007/06/01
  • JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate/角谷 信太郎) - capsctrldays(2007-04-20)

    1 [] JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate) 真の文といわれる訳者あとがきを読んで、初めて角谷さんに会ったときのことを思い出した。「俺、今の会社辞めたらアジャイルやるんだ……」そう言って、渋谷のジョナサンで死亡フラグを立てていた。その言葉の意味するところが、ジョナサン・ジョースターであり、アジャイル言語Rubyであったことは、後の角谷さんの活躍を見れば明らかである。 書で述べられていることと角谷さんの軌跡は、少なからず一致している(と感じる)。 訳者としてこれほど相応しい人物はいないのではないか。 翻訳レビューに参加させてもらったこともあり、早いうちから原稿を目にすることができたのだけど、正直、具体的な内容についてはよく理解できていない(共感できていない)。だけど、「From A To B」という図式は、自分も含め、すべての人に

    yugui
    yugui 2007/04/20
  • Martin Fowler's Bliki in Japanese - 朝会のパターン:立ってるだけじゃないよ

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

  • Martin Fowler's Bliki in Japanese - クラスインスタンス変数

    http://martinfowler.com/bliki/ClassInstanceVariable.html 2007/1/9 オブジェクトについて学ぶと、オブジェクトのデータには二種類あることが分かる。 インスタンス変数とクラス変数だ。 通常、インスタンス変数はオブジェクトのインスタンスごとに値が変わる。 クラス変数は(static変数とも呼ばれるが)クラスのインスタンスで共有される。つまり、すべてのインスタンスが同じ値をポイントしていた場合、クラス変数の変更はすべてのインスタンスに影響する。 クラス変数はインスタンス変数ほど頻繁に見かけるものではない。 特にミュータブルなクラス変数(mutable class variables)はほとんど見かけないだろう。 クラス変数の欠点は、継承が絡んできた場合の振る舞いにある。 クラス変数が自身のインスタンスを保持することを考えてみてもらいた

    yugui
    yugui 2007/01/11
  • Martin Fowler's Bliki in Japanese - 大きな画面

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

  • Martin Fowler's Bliki in Japanese - RubyAnnotations

    http://martinfowler.com/bliki/RubyAnnotations.html Rubyで人気のある機能のひとつにメタプログラミングのサポートがある。 メタプログラミングとは言語自身を変えてしまうように動作する機能のことだ。 たとえば、新しい予約語を導入するみたいな、ね。 主流の「中かっこ」言語族はメタプログラミングをほとんどサポートしてないが、メタプログラミングの有用な応用として「注記」をあげることができる。 「注記」は内部DSLスタイルで言語を拡張するにあたって重要な役割を果たす。 一見すると、Rubyは注記をサポートしていないように見えるが、頭をひねってみればそれが見えてくるはずだ。 注記を使って、言語要素(クラス、メソッド、フィールド等)をマーカーでタグ付けする。 とりわけ、その要素のメタデータをね。 そうすると、そのメタデータを実行時ないしコンパイル時に利用

    yugui
    yugui 2006/11/11
  • Martin Fowler's Bliki in Japanese - 言語ワークベンチ

    以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming SystemMicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente

    yugui
    yugui 2006/10/28
  • Martin Fowler's Bliki in Japanese - 内部DSLスタイル

    http://martinfowler.com/bliki/InternalDslStyle.html 2006/10/24 内部DSL(組込みDSLとも呼ばれる)は、ホスト言語内に書かれたドメイン特化言語である。 これは多くのプログラミング言語コミュニティでは一般的な考え方だ――特にLispコミュニティではそうだ。 だが最近では、急速に成長を遂げているRubyコミュニティでのDSLの扱いに、多くの注目が集まっている。 私は、内部DSLには二つのスタイルがあると思っている。 ひとつは、内部ミニ言語。 もうひとつは、言語エンハンスメント(強化)だ。 内部ミニ言語というのは、外部DSLでやるようなことを内部言語で行うことだ。 汎用言語のサブセットを意図的に自分のミニ言語として取り出す。 たとえば、以下のようになる(言語ワークベンチから引用した)。 mapping('SVCL', Service

    yugui
    yugui 2006/10/26
  • capsctrldays - フリーのERDモデリングツール:Toad(TM) Data Modeler , メモリとモニタが欲しい!

    1 [DB] フリーのERDモデリングツール:Toad(TM) Data Modeler via The Joel on Software Discussion Group - Free Database Modeling Tool? 無料のERDツールってDBDesigner4くらいしか使えるものがなかったんだけど、これはいいなあ。論理モデルと物理モデルを描けるのがいいなあ。論理モデルは日語で、物理モデルは英語表記で、ってなことができる。それに、いろんなRDBMSをサポートしてる。これぞ求めているものだなあ(烏足記法なのがイヤだけど)。 画面はダサいけど、レポート出力したやつはなかなかカッコヨイ。 有償版になると、リバースエンジニアリングができて、DFDが描けるようになるそうな(要らないよね)。 追記 いつからかフリー版は無くなってる? 以前のバージョンをダウンロードできるサイトがあ

  • Railsの本 読む順番

    1 [] Ruby on Rails入門―優しいRailsの育て方(西 和則) 「01 Railsを理解する」には感動した。入門者がこれを読んで理解できるかどうかは分かんないけど、とにかく感動した。ここで時代が変わったと思った。 くまくまー読んでないなら、MLに質問する前にとりあえず全部読めば幸せになれると思う(2時間くらいかかったお)。 p.41 モデル内からの logger の呼び出しって、delegate 必要でしたっけ? 2 読む順番 2chに難易度順が出てたけど、あんまり意味ないと思うので、今から読むといいと思う順番。 たのしいRuby 第2版 Rubyではじめる気軽なプログラミング(日Rubyするなら避けられない) (任意:準備用)はじめよう Ruby on Rails Ruby on Rails入門―優しいRailsの育て方(日Railsするなら舞波は避けられない

    yugui
    yugui 2006/08/09
  • Martin Fowler's Bliki in Japanese - DSLの境界線

    http://www.martinfowler.com/bliki/DslBoundary.html 2006/8/1 ドメイン特化言語が表れたときに疑問として挙がったのが、 「DSLは何なのか」そして「DSLは何でないか」だった。 混乱の元はDSLに厳密な定義が存在しないためであり、 DSLとその他とを区別するグレーゾーンが広大だったためである。 私にとっては、「スコープ」と「能力」が限定されている点がDSLの重要な要素である(特定のドメイン向けであり、汎用言語にとって基的な機能が欠けている)。 つまり、良いDSLというのは、小さくてシンプルなものなのだ。 だからこそ「リトル言語」や「ミニ言語」と表現されるのである。 内部DSLではAPIとDSLの境界があいまいである。 基的に両者に違いはない。 内部DSLとは、単なるイイ感じの名前のついたAPIなのだ(「ライブラリ設計は言語設計(l

    yugui
    yugui 2006/08/06
  • capsctrldays(2006-08-03) - RubyGetTextを多言語化のためには使わない

    1 RubyGetTextを多言語化のためには使わない あとから「ここ表記変えてよーー画面だったらすぐ変わるでしょ」「あ、いや、でも、画面全部ですよ?」問題に対応すべく使用すると便利(かも)。 ポインツ。 (すごい)デザイナーさんからあがってくるテンプレートは、当然日語のままなので、日語のまま使う。 ただし、ARの属性名(カラム名)、共通しているボタン名・リンク名、に限ってRubyGetTextを使用する。 フォームのラベルにも _('Model|Attr') と記載する すると error_message_on と一致するのでウマー コントローラ名、アクション名も別途日語化しておくと、<title> や <h1> なんかに使えて便利じゃんすか(id:secondlife風)。 ロケールをenにして見ると変になることは、あんまり(というか全然)考慮しない(別にそれを目的にしてるんじゃ

    yugui
    yugui 2006/08/04
  • Martin Fowler's Bliki in Japanese - クロージャ

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

    yugui
    yugui 2006/07/26
  • Martin Fowler's Bliki in Japanese - CollectionClosureMethod

    http://martinfowler.com/bliki/CollectionClosureMethod.html (detectとinject部分を明確にするよう更新) Smalltalkでプログラミングを始めたときから、コレクションクラスが好きでした。 よく使う強力なオペレーションを簡単に使うことができました。 Javaが登場したとき、このようなメソッドがなくなって物足りないと感じました――Java(およびC#)のコレクションは、Smalltalkのそれと比べて非常に限定されたものでした。 というのも、JavaにはClosureが実装されていなかったからです。 Smalltalkの強力なコレクションのメソッドは、すべてクロージャに依存しています。 近年、私はRubyで頻繁にプログラミングをするようになりました。 Rubyに引き付けられたのは、Rubyには強力なコレクションメソッドがあ

  • Martin Fowler's Bliki in Japanese - エンタープライズRails

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

    yugui
    yugui 2006/07/19
    翻訳、早。
  • Martin Fowler's Bliki in Japanese - アジャイル認定試験

    http://martinfowler.com/bliki/AgileCertification.html アジャイル手法に資格試験は必要か? 認定資格はソフトウェア業界ではごく一般的なものだが、私の知る有能な開発者たちは、こぞって資格に興味を示さない。というのも、資格試験を持っているからといってその人に能力があるわけではない、というのが一般的な見方だからだ。冒頭のような疑問が出てくるなんて、アジャイルコミュニティをCMMの認定機関か何かと混同しているんじゃなかろうか。 資格試験がダメなところは、試験内容がへっぽこな点だ。だいたいが選択式の問題だったりする。これだと問題を作るのも簡単だし、解答もマークすればそれで済むからお手軽。だけど、機械的に覚えたものをチェックしたところで、だから何だというんだ。 他にもある。ソフトウェア産業に限ったことではないが、資格試験そのものが産業になっている。産

  • オブジェクト指向プログラムのためのパターン言語の使用

    以下の文章は、Kent Beck、Ward Cunninghamによる「Using Pattern Languages for Object-Oriented Programs」の日語訳である。 Ward Cunningham氏の許可を得て、ここに掲載する。 Kent Beck, Apple Computer, Inc. Ward Cunningham, Tektronix, Inc. Technical Report No. CR-87-43 September 17, 1987 Submitted to the OOPSLA-87 workshop on the Specification and Design for Object-Oriented Programming. 概要 オブジェクト指向プログラミングへのパターン言語の適合について概説する。ウィンドウ・ベースの