タグ

2014年2月3日のブックマーク (36件)

  • 23.Interpreter パターン

    2012/04/26 一部修正しました デザインパターン 23章 Interpreter パターン 23.1 Interpreterパターンとは 23.2 サンプルケース 23.3 Interpreterパターンまとめ 23.1 Interpreter パターンとは 第23章では Interpreter パターンを学びます。Interpreter とは、英語で「解釈者・説明者」を意味する単語です。 何らかのフォーマットで書かれたファイルの中身を、解析した結果に則って何らかの処理を行いたい場合があります。 Interpreter パターンとは、このような「解析した結果」得られた手順に則った処理を実現するために最適なパターンです。 1 + 2 × ( 4 + 2 ) という計算式を処理する場合を考えて見ましょう。まずは、処理を解析すると、以下のような構文木が得られます。 このような構文木に則っ

  • 22.Commandパターン

    2012/04/26 一部修正しました デザインパターン 22章 Commandパターン 22.1 Commandパターンとは 22.2 サンプルケース 22.3 Commandパターンまとめ 22.1 Commandパターンとは 第22章ではCommandパターンを学びます。あるオブジェクトに対して要求を送るということは、そのオブジェクトのメソッドを呼び出すことと同じです。 そして、メソッドにどのような引数を渡すか、ということによって要求の内容は表現されます。さまざまな要求を送ろうとすると、引数の数や種類を増やさなければなりませんが、 それには限界があります。そこで要求自体をオブジェクトにしてしまい、そのオブジェクトを引数に渡すようにします。それがCommandパターンです。 Commandパターンは、要求をCommandオブジェクトにして、それらを複数組み合わせて使えるようにするパター

  • 21.Proxyパターン

    2.1 Proxyパターンとは 第21章ではProxyパターンを学びます。Proxyとは「代理人」という意味です。現実世界で代理人というと、弁護士や税理士など人ができない仕事をするというイメージがありますが、Proxyパターンにおける代理人オブジェクトは、人でなくてもできるような処理を任されます。そして代理人オブジェクトでできない処理は人オブジェクトが引き受け、処理します。 Proxyパターンは、要求を代理人オブジェクトが受け取って処理するパターンです。 21.2 サンプルケース 今日は、新人の藤原さんが担任の山田先生の代わりに授業を行うことになりました。

  • 20.Flyweight パターン

    2012/04/26 一部修正しました デザインパターン 20章 Flyweightパターン 20.1 Flyweightパターンとは 20.2 サンプルケース 20.3 Flyweightパターンまとめ 20.1 Flyweight パターンとは 第20章では Flyweight パターンを学びます。Flyweight とは、英語で「フライ級」を意味する単語です。 フライ級とは、ボクシングなどの体重階級の中でもっとも軽い部類に分類できる階級です。もっと軽い階級もありますが。 Flyweight パターンとは、インスタンスを共有することでリソースを無駄なく使うことに焦点を当てたパターンです。 例えば、ホームページの背景に使う小さな画像は、背景で表示される回数分ネットワークごしにやり取りされるわけではありません。 普通は、画像を一回取得し、「その画像」を並べて表示するわけです。 Flywei

  • 19.State パターン

    19.1 State パターンとは 第19章では State パターンを学びます。State とは、英語で「状態」を意味する単語です。 オブジェクト指向設計では、モノをクラスとして表現することが多くあります。State パターンとは、 モノではなく、「状態」をクラスとして表現するパターンです。 状態によって、動作のパターンが変わることがよくあります。 例えば、「機嫌のいい状態」「機嫌が悪い状態」の2つの状態があるお母さんにいくつか頼みごとをすることを考えます。 機嫌のいい状態のお母さんに「お小遣い頂戴」「おやつ頂戴」などのお願いをした場合、 「はいはい」といってお小遣いをくれたり、おやつを出してくれたりするでしょう。 しかし、機嫌の悪い状態のお母さんにこれらのお願いをしても聞き入れてくれないかもしれません。 お母さんは状態によって、振る舞いが変わるわけです。 State パターンとは、この

  • 18.Memento パターン

    2012/04/26 一部修正しました デザインパターン 18章 Mementoパターン 18.1 Mementoパターンとは 18.2 サンプルケース 18.3 Mementoパターンまとめ 18.1 Memento パターンとは 第18章では Memento パターンを学びます。Memento とは、英語で「記念品」「形見」を意味する単語です。 記念品や形見を見ると、当時の状況が思い出されます。Memento パターンとは、 インスタンスのあるときの状態をスナップショットとして保存しておくことで、 その時のインスタンスの状態を復元することを可能にするものです。 インスタンスの状態が、プログラム実行中にどんどん変化することが考えられます。 一度変化してしまったインスタンスを、「少し前の状態に戻したい」「ある時点の状態に戻したい」などの要求は時に発生するものです。 このような要求にスマート

  • 17.Observer パターン

    2012/04/26 一部修正しました デザインパターン 17章 Observerパターン 17.1 Observerパターンとは 17.2 サンプルケース 17.3 Observerパターンまとめ 17.1 Observer パターンとは 第17章では Observer パターンを学びます。Observer とは、英語で「観察者」を意味する単語です。Observer パターンとは、状態の変化を観察することを目的としたものですが、どちらかというと「観察」よりも「通知」に重点の置かれたものになっています。 あるインスタンスの状態が変化した際に、そのインスタンス自身が、「観察者」に状態の変化を「通知」する仕組みです。例えば、飛行機の搭乗券について考えて見ましょう。飛行機の搭乗券を購入した人がキャンセルする必要に駆られた場合、航空会社に連絡してキャンセルする旨を伝えます。各搭乗者を管理しているの

  • 16.Mediator パターン

    2012/04/26 一部修正しました デザインパターン 16章 Mediatorパターン 16.1 Mediatorパターンとは 16.2 サンプルケース 16.3 Mediatorパターンまとめ 16.1 Mediator パターンとは 第16章では Mediator パターンを学びます。 Mediator とは、英語で「仲裁人、調停者」を意味する単語です。 Mediator パターンとは、多数のオブジェクトの間の調整を行いながら処理をすすめる必要が ある場合に利用すると威力を発揮するパターンです。 例えば、車どおりの多い交差点で信号が壊れた時に、警官が交通整備をしないとどうなるでしょう? それぞれの車が、めいめい判断し、行けると思ったら進む。こんな状態で、 信号の故障をうまく乗り切ることができるでしょうか?おそらく無理でしょう。 いくら皆が一生懸命周囲の状況を確認しても、全員が同じ認

  • 15.Facadeパターン

    15.1 Facadeパターンとは 第15章ではFacadeパターンを学びます。プログラムを作っていくと、最初は小さなものでも、だんだん大きくなっていきます。 たくさんのクラスが出来て、相互に関係しあい、複雑になっていきます。 クラスを使う場合には、それらの関係を正しく理解して、 正しい順番にメソッドを呼び出す必要があります。 大きなプログラムを使って処理を行う場合、 関係しあっているたくさんのクラスを適切に制御しなくてはいけません。 その処理を行うための「窓口」を用意しておくと、 個別にたくさんのクラスを制御しなくても、「窓口」に対して、要求するだけですみます。 Facadeパターンは、既存のクラスを複数組み合わせて使う手順を、「窓口」となるクラスを作ってシンプルに利用できるようにするパターンです。 ちなみに、facadeとはフランス語を語源とする単語で「建物の正面」という意味です。発音

  • 14.Chain of Responsibility パターン

    2012/04/26 一部修正しました デザインパターン 14章 Chain of Responsibility パターン 14.1 Chain of Responsibility パターンとは 14.2 サンプルケース 14.3 Chain of Responsibility パターンまとめ 第14章では Chain of Responsibility パターンを学びます。chain は「鎖」、responsibility は「責任」を意味します。したがって、 Chain of Responsibility は、「責任の鎖」と訳すことができます。Chain of Respoisibility パターンとは、「責任」を負ったものが、「鎖」状につながれた状態をイメージさせるパターンです。 例えば、何かの決済を「課長」にお願いすると、課長決裁で対応できるものであれば、課長が決裁します。しかし、

  • 12. Decorator パターン

    2012/04/26 一部修正しました デザインパターン 12章 Decorator パターン 12.1 Decorator パターンとは 12.2 サンプルケース 12.3 Decoratorパターン まとめ 12.1 Decorator パターンとは 第12章では、Decorator パターンを学びます。Decorate とは、英語で「装飾者」を意味する言葉です。Decorator パターンでは、飾り枠と中身を同一視することで、より柔軟な機能拡張方法を提供します。 Decoratorパターンは機能を一つひとつかぶせていくイメージになります。ある機能を持ったDecorationをコアとなるものにかぶせていくイメージです。 12.2 サンプルケース サンプルケースでは、アイスクリームの話をしたいと思います。アイスクリーム屋さんでは、自由にトッピングを選べるようになっています。お客さんは、ト

  • 11. Composite パターン

    2012/04/26 一部修正しました デザインパターン 11章 Composite パターン 11.1 Composite パターンとは 11.2 サンプルケース 11.3 Composite パターンまとめ 11.1 Composite パターンとは 第11章では、Composite パターンを学びます。Composite とは、英語で「複合物」を意味する言葉です。 Composite パターンは、「容器と中身を同一視する」ことで、再帰的な構造の取り扱いを容易にするものです。 「容器と中身を同一視する」必要が生じる例として、ファイルシステムなどが挙げられます。 あるフォルダ以下のファイルやフォルダをすべて削除したい場合など、それがファイルなのかフォルダなのかを意識せずに、同じように削除できたほうが都合が良いでしょう。 11.2 サンプルケース サンプルケースでは、ディレクトリとファイル

  • 10. Strategy パターン

    2012/04/26 一部修正しました デザインパターン 10章 Strategy パターン 10.1 Strategy パターンとは 10.2 サンプルケース 10.3 Strategyパターンまとめ 10.1 Strategy パターンとは 第10章では、Strategy パターンを学びます。Strategy とは英語で「戦略」を意味する言葉です。Strategy パターンを利用することで、戦略の切り替えや追加が簡単に行えるようになります。 普通にプログラミングしていると、メソッドの中に溶け込んだ形でアルゴリズムを実装してしまうことがよくあります。if 文などで分岐させることでアルゴリズムを変更するような方法です。Strategy パターンでは、戦略の部分を意識して別クラスとして作成するようにしています。戦略x部分を別クラスとして作成しておき、戦略を変更したい場合には、利用する戦略クラ

  • 9. Bridge パターン

    9.1 Bridge パターンとは 第9章では Bridge パターンを学びます。Bridgeパターンとは、「Bridge」すなわち「橋」の役割を果たすパターンです。Bridgeパターンを利用することで、機能と実装を分離して、それぞれを独立に拡張することができるようになります。 例えば、ある methodA というメソッドを持つクラス MyClassA は、methodA メソッドの実装が異なる MyClassASub1、MyClassASub2 という2つのクラスによって継承されているとします。このとき、MyClassA にmethodB というメソッドを追加するために、MyClassB クラスという MyClassA を継承するクラスを作成したことを考えてください。 このとき、MyClassB でも、MyClassASub1、MyClassASub2 で実装している methodA と

  • 8. AbstractFactory パターン

    2012/04/26 一部修正しました デザインパターン 8章 AbstractFactory パターン 8.1 AbstractFactoryパターンとは 8.2 サンプルケース 8.3 AbstractFactory パターンのまとめ 8.1 AbstractFactoryパターンとは 第8章では、 AbstractFactory パターンを学びます。AbstractFactory を日語に直訳すると「抽象的な工場」となります。いったい抽象的な工場とは、どんな工場なのでしょう。AbstractFactory パターンとは、インスタンスの生成を専門に行うクラスを用意することで、整合性を必要とされる一連のオブジェクト群を間違いなく生成するためのパターンです。 例えば、「車」を作成するプログラムを考えてみてください。このプログラムのある部分で、「車」オブジェクトである変数 car にタイヤ

  • 7. Builder パターン

    7.1 Builder パターンとは 第7章では、Builder パターンを学びます。builder とは、建築者や建築業者などを意味する単語です。Builder パターンとは、同じ作成過程で異なる表現形式の結果を得るためのパターンです。 例えば、家を建てることを考えてみます。完成する家がどのような家になるかというのは「家の構築過程」と「素材」大きく2つの要素で決定されると考えてみてください。「作成過程」とは、「どのような順番で、どこに何を配置していくか」というようなことであり、「素材」とは、「柱には何を使って、壁には何を使って・・・」ということであると考えてください。 このとき、「作成過程」には、"平屋を建てるための作成過程" や "2階建ての家を建てるための作成過程"、または "少し変わった平屋を建てるための作成過程" など様々なものが考えられます。同様に、「素材」にも、"柱は木で、壁

  • 6. Prototype パターン

    6.1 Prototype パターンとは 第6章では Prototype パターンを学びます。prototype という単語は、日語で「試作品」「原型」といった意味を持ちます。Prototype パターンは、あらかじめ用意しておいた「原型」からインスタンスを生成するようにするためのパターンです。 例えば、「直線を描く」機能しか持たない図形エディターを想像してみましょう。この図形エディターで星型を書きたいときには、直線を組み合わせることで、星の形を作成していくことになります。では、星型がいくつも欲しいときはどうすればよいでしょう?直線を組み合わせて星型を描くという作業を何度も繰り返す必要が出てきます。こんなとき、最初に作成した星型(直線の集まり)を「プロトタイプ」として登録しておき、これをコピーすることで星型が作成できれば、作業がとても楽になります。 Prototype パターンは、このよ

  • 5. Singleton パターン

    5.1 Singleton パターンとは 第5章では Singleton パターンを紹介します。singleton とは一枚札のことです。一枚札とはトランプの一組に唯一のカードです。Singleton パターンとは、このような唯一の存在を保証するためのパターンです。 あるクラスのインスタンスが一つしかないことを保証したい場合があります。注意深く設計すれば、唯一のインスタンスを使いまわすことは可能でしょうが、このインスタンスが唯一であることを保障するものとはなりません。このような場合に、威力を発揮するのが Singleton パターンです。 Singleton パターンは、コンストラクタを private とすることで、他クラスから新たにインスタンスが生成されないような構造とすることで、インスタンスの生成を制御します。まずは、サンプルケースを考えて見ましょう。 5.2 サンプルケース サンプ

  • 4. FactoryMethod パターン

    2012/04/26 一部修正しました デザインパターン 4章 FactoryMethod パターン 4.1 FactoryMethodパターンとは 4.2 サンプルケース 4.3 FactoryMethod パターンのまとめ 4.1 FactoryMethodパターンとは 第4章では、FactoryMethod パターンを紹介します。FactoryMethod パターンは、オブジェクトの生成方法に一工夫加えることで、より柔軟にオブジェクトを生成することを目的とするものです。FactoryMethod パターンでは、インスタンスの生成をサブクラスに行わせることで、より柔軟に生成するインスタンスを選択することが可能となります。 オブジェクトを生成する場合、下記のように記述するのが普通です。 Product product = new Product(); しかし、このようなオブジェクト生成方

  • 3.TemplateMethod パターン

    2012/04/26 一部修正しました デザインパターン 3章 TemplateMethod パターン 3.1 TemplateMethodパターンとは 3.2 サンプルケース 3.3 TemplateMethodパターンまとめ 3.1 TemplateMethodパターンとは 第3章では TemplateMethod パターンを紹介します。 template とは、文字の形に穴があいている薄いプラスチックの板のことです。その穴をペンでなぞると、手書きでも整った文字を書くことができます。しかし、マジックで書くのか、鉛筆で書くのか、それとも墨汁と筆を使ってみるのかということを考えてみると、実際にどのような文字になるのかはわかりません。template は、ただその形を決定する枠組みを提供するだけです。 TemplateMethod パターンは、テンプレートの機能を持つパターンです。スーパーク

  • 2.Adapter パターン 2

    2. Adapterパターン 2 2012/04/26 一部修正しました デザインパターン 2章 Adapter パターン 2.1 Adapterパターンとは 2.2 サンプルケース1(継承を利用した Adapter パターン) 2.3 サンプルケース2(委譲を利用した Adapter パターン) 2.4 Adapterパターン まとめ 2.3 サンプルケース2(委譲を利用した Adapter パターン) サンプルケース1のように継承を利用した Adapter パターンを利用すれば、うまくインタフェースの違いを埋めることができました。しかし、何らかの理由で継承を利用した Adapter パターンが利用できないことが考えられます。例えば、前ページの図で Target がインタフェースではなく、抽象クラスとして宣言されている場合を考えて見ましょう。この場合、Adapter クラスは、Targe

  • 2.Adapter パターン 1

    2012/04/26 一部修正しました デザインパターン 2章 Adapter パターン 2.1 Adapterパターンとは 2.2 サンプルケース1(継承を利用した Adapter パターン) 2.3 サンプルケース2(委譲を利用した Adapter パターン) 2.4 Adapterパターン まとめ 2.1 Adapterパターンとは 第2章では Adapter パターンを学びます。adaptという単語は日語で「適合させる」という意味で、adapterとは「適合させるもの」という意味になります。Adapterパターンは、インタフェースに互換性の無いクラス同士を組み合わせることを目的としたパターンです。 例えば、これまで利用していたメソッドと同じ機能を、よりすぐれた形で提供するメソッドを持つクラスの存在を知ったとします。しかし、このすぐれたメソッドは、これまで利用していたメソッドとは異

  • 1. Iteratorパターン 4

    2012/04/26 一部修正しました デザインパターン 1章 Iteratorパターン 1.1 Itaratorパターンとは 1.2 サンプルケース 1.2 実習課題1 1.2 実習課題2 1.2 実習課題3 1.3 Iterator パターンのまとめ 実習課題3 java.util.Vector クラスを利用した新しい名簿に変更後に必要となる、NewVeteranStudentList クラスと NewVeteranStudentListIterator クラスを実装し、クラス図を作成しなさい。また、これに伴い VeteranTeacher クラスを変更しなさい。 古い名簿を利用していた時の VeteranTeacher クラスは下記のように実装されています。 public class VeteranTeacher extends Teacher{ private MyStudentL

  • 1. Iteratorパターン 3

    2012/04/26 一部修正しました デザインパターン 1章 Iteratorパターン 1.1 Itaratorパターンとは 1.2 サンプルケース 1.2 実習課題1 1.2 実習課題2 1.2 実習課題3 1.3 Iterator パターンのまとめ (実習課題2) 前ページの最後のクラス図にあわせて、 MyStudentList クラスと、MyStudentListIterator クラスを実装しなさい。 ただし、MyStudentList クラスは、以前の古い名簿 StudentList を拡張したものにすること。 public class MyStudentList extends StudentList implements Aggregate{ public MyStudentList(){ super(); } public MyStudentList(int studen

  • 1. Iteratorパターン 2

    2012/04/26 一部修正しました デザインパターン 1章 Iteratorパターン 1.1 Itaratorパターンとは 1.2 サンプルケース 1.2 実習課題1 1.2 実習課題2 1.2 実習課題3 1.3 Iterator パターンのまとめ (実習課題1) 「Teacher」抽象クラスを継承する MyTeacher クラスと、「StudentList」クラスを拡張した MyStudentList クラスを設計しクラス図を作成しなさい。また、これらのクラスを実装し、 下記のMain クラスを実行しなさい。この2つのクラス以外のクラスやインタフェースを自由に追加しても問題ありません。 MyTeacher クラスの callStudents メソッドでは、あなたのクラスの生徒を順番に標準出力に出力するようにしなさい。 あなたのクラスの生徒は、 赤井亮太 男 赤羽里美 女 岡田美央 

  • 1. Iteratorパターン 1

    2012/04/26 一部修正しました デザインパターン 1章 Iteratorパターン 1.1 Itaratorパターンとは 1.2 サンプルケース 1.2 実習課題1 1.2 実習課題2 1.2 実習課題3 1.3 Iterator パターンのまとめ 1.1 Itaratorパターンとは まずは、デザインパターンに慣れるために比較的理解しやすいIteratorパターンを学びます。 iterateという英単語は「繰り返す」という意味であり、iteratorは日語にすると「反復子」などと呼ばれるものです。 Iterator パターンは、要素の集まりを保有するオブジェクトの各要素に順番にアクセスする方法を提供するためのパターンです。 たとえば、集約オブジェクトとして List クラスを想定してみましょう。 List クラスは、要素としていくつかのオブジェクトを持つことができるものとします。

  • 0.デザインパターンの基本 2

    0.4 設計への利用について 実際に設計に行き詰った際には、このカタログと呼ばれる一覧表を睨んで、良いアイディアを与えてくれそうなものを探すことが薦められています。あくまでも「良いアイディアを与えてくれそうなものを探す」ことを目的としましょう。よく「無理にパターンにあてはめようとして苦しんでしまう」という罠にかかる方がいます。このカタログで紹介されているパターンは、たった23種類しかないのです。実際の開発で、この23パターンにぴったりと当てはまることなんて、そうそうないのだということを頭に入れておいてください。 前にも述べていますが、デザインパターンは論語と同じで、そのまま現在直面している問題の解決につながるようなものではないのです。デザインパターンを学習して、なぜこれらが良い設計とされているのかを理解することが大切なのです。これらの設計のキモをつかむことで、明日からの設計が少しずつ変わっ

  • 0.デザインパターンの基本 1

    0.1 はじめに 最近は、C++Javaなどを用いたオブジェクト指向プログラミングが一般的となってきました。オブジェクト指向プログラミングとは、いくつかの「オブジェクト」を生成して、これらの「オブジェクト」どうしを相互作用させることによりプログラムを実行していくプログラミング言語のことです。 デザインパターンを学ぶ前に、まずはオブジェクト指向についてしっかり復習しておく必要があります。そこで、簡単にオブジェクト指向のおさらいをしておきましょう。 オブジェクト指向の考え方を説明するために、まずは人間社会の例を挙げましょう。人間社会は、さまざまなオブジェクトが相互作用することで進行していると言えます。例えば、のどが渇いてジュースを買うときを想像してみましょう。自動販売機にお金を入れてボタンを押すと、ジュースを手に入れることができます。オブジェクト指向的には、これを「自動販売機クラスは、お金

  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • OpenEmu

    OpenEmu is about to change the world of video game emulation. One console at a time... For the first time, the 'It just works' philosophy now extends to open source video game emulation on the Mac. With OpenEmu, it is extremely easy to add, browse, organize and with a compatible gamepad, play those favorite games (ROMs) you already own. Download Now v{{ details.version }} Experimental Press Pack F

  • Cliques (InterviewStreet CodeSprint Fall 2011)

  • クリーク (グラフ理論) - Wikipedia

    英語版記事を日語へ機械翻訳したバージョン(Google翻訳)。 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。 翻訳後、{{翻訳告知|en|Clique (graph theory)|…}}をノートに追加することもできます。 Wikipedia:翻訳のガイドラインに、より詳細な翻訳の手順・指針に

    クリーク (グラフ理論) - Wikipedia
  • http://build-podcast.com/sql/

  • Yelp: iOSアプリに組み込むweb viewをネイティブっぽく表現する - ワザノバ | wazanova.jp

    http://engineeringblog.yelp.com/2013/11/whoa-that-embedded-web-view-looks-hot-in-your-ios-app.html Yelpがエンジニアブログで、ネイティブのユーザビリティを崩さずにweb viewをネイティブアプリに組み込む工夫を紹介しています。 Yelpのモバイルトラフィックは、2013年の第3四半期平均で月間1,100万ユニークデバイス iOSにおいてアプリにウェブを組み込む一般的な手法は、UIWebViewをつくって、それにURLを渡すことだが、それだと、読み込み中のままコンテンツがすぐに表示できない事態に陥ることになる。 1) ネイティブっぽいページ遷移を実現する まず、前提として、UIWebViewはURLのリクエストを読み込もうとするとき、そのdelegate(通常はcontroller)を呼び

  • アジャイルサムライ-達人開発者への道- 書籍レビュー 初心者にも優しく実践的な内容 - 酒と泪とRubyとRailsと

    アジャイルサムライ-達人開発者への道- 書籍レビュー 初心者にも優しく実践的な内容 Aug 25th, 2013 Tweet 『アジャイルサムライ-達人開発者への道-』を読んだので、この記事でまとめ兼レビューを書きます。このを読む動機は、再来週くらいからアジャイル開発に初めて挑戦することになったので、その前に予備知識を少しでも得たいというのが理由です。 読んだ感想としては、「初心者に優しい、実践的な内容!」の一言につきます。アジャイルにこれから挑戦する人や、単純に興味がある人に特にオススメな一品です! 原則:動くプロダクトを顧客に見せてフィードバックを受ける アジャイルの原則は『顧客に動くプロダクトをできるだけ早く見せて、フィードバックを貰うこと』です。そうすることで、顧客側はプロダクトが狙い通りか否かを早い段階で確認することができます。また、開発側も開発コストの低い状態で顧客のプロダク

  • 【書評】『なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェクト管理術』(細川義洋・著) - やまもといちろうBLOG(ブログ)

    書評】『なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェクト管理術』(細川義洋・著) 読んでいて、実用書なのに涙が止まらないに巡り会えたので謹んでお奨めさせていただきます。 その名も、『なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェクト管理術』。何がヤバイって、いちいち掲載されている項目がヤバイ。いきなり「何度も要件を追加してくるユーザ」ですよ。まるで弊社の某顧客ではないですか。 大項目からして「設計」から「プログラミング」、「テスト」とか進む先々にびっしりと地雷が敷き詰められているんだろうなあと悪い汗をかかずにはいられない世界が広がり、最後にはお決まりの「契約」。いやー、読んでいてぞくぞくしますね。特に「仮発注書だけで作業に着手してしまったら?」とか、なんか見透かされているようですよ。まあ、業界的には往々にして起きがちなことを一般論として書い

    【書評】『なぜ、システム開発は必ずモメるのか? 49のトラブルから学ぶプロジェクト管理術』(細川義洋・著) - やまもといちろうBLOG(ブログ)