2011-01-01から1年間の記事一覧

抽象によるソフトウェア設計 序文、第1章「はじめに」

抽象によるソフトウェア設計−Alloyではじめる形式手法−作者: Daniel Jackson,中島震,今井健男,酒井政裕,遠藤侑介,片岡欣夫出版社/メーカー: オーム社発売日: 2011/07/15メディア: 単行本(ソフトカバー)購入: 8人 クリック: 274回この商品を含むブログ (35…

アジャイルサムライ 第15章 継続的インテグレーション:リリースに備える その2

第15章の続きから最後まで読みます。 チェックイン手順を習慣づける checkout/update, implement, test, update(最新のコードの差分をマージ), test, checkin ビルドを壊さないように → チェックを容易にするためにビルド時間の短縮が重要 ビルドを自動化す…

アジャイルサムライ 第15章 継続的インテグレーション:リリースに備える

第15章にして最終章「継続的インテグレーション」を読みます。ちょっと時間がないので今日は前半だけです。 急にデモをする必要ができた! プロジェクトはすぐにリリース可能な状態か? ビルド、テスト、デプロイを自動化して日々流していればあわてる必要は…

アジャイルサムライ 第14章 テスト駆動開発

第14章「テスト駆動開発」を読みます。 レッド(ユニットテストを書く、まだ失敗する)、グリーン(テストをパスするように実装)、リファクタリング のサイクルを回す 失敗するテストを書いてから新しいコードを書く 「危なっかしい所」をすべて通す テスト駆動…

アジャイルサムライ 第13章 リファクタリング:技術的負債の返済

第13章「リファクタリング:技術的負債の返済」を読みます。 リファクタリングは継続的に、日々たゆまなく 楽になるだけでなく「リファクタリングばかりして機能追加がされてない」と思われる事態を防げる 大掛かりなリファクタリングは? ストーリーとして…

アジャイルサムライ 第12章 ユニットテスト:動くことがわかる

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る第5…

アジャイルサムライ 第11章 現場の状況を目に見えるようにする

第11章です。「見える化」というやつですね。 インセプションデッキ リリースボード ストーリーボード(カンバンに似てる) ベロシティとバーンダウンチャート チームの約束と「大事にすると (Shared Values)」 用語の共有 バグを監視する さらりと。

アジャイルサムライ 第10章 アジャイルな意思疎通の作戦

第10章です。 イテレーションごとのミーティング ストーリー計画ミーティング イテレーションでとりかかるストーリーの分析 ショーケース このイテレーションの成果物のデモしてフィードバックを得る イテレーション計画ミーティング ベロシティを計測し、次…

アジャイルサムライ 第9章 イテレーションの運営:実現させる

第4部 「アジャイルなプロジェクト運用」の第9章からです。 イテレーション - 期間を固定したタイムボックス 基本的にイテレーションの途中で作業対象のストーリーを変更しない。起動修正はイテレーションの間で行う アジャイルな分析 - 「必要なぶんだけ、…

アジャイルサムライ 第8章 アジャイルな計画作り:現実と向き合う その2

第8章の続きです。 バーンダウンチャート 残作業量の経時経過を示したグラフ バーンアップチャート(作業量を詰み上げていく) プロジェクトを途中からアジャイルにしていく ちょっと現実味がない 新しい要求が追加されたら 期日を伸ばすか、ストーリーの入れ…

アジャイルサムライ 第8章 アジャイルな計画作り:現実と向き合う

今日から第8章に進みます。本章はやや長いので数回に分けて読むことになると思います。 アジャイルな計画作り - 測定と推定 「マスターストーリーリスト」 ベロシティ - ストーリーの実装速度 やっぱりベロシティは実際にプロジェクトを開始してみないとわか…

アジャイルサムライ 第7章 当てずっぽうの奥義

昨日は第6章の途中までだったので続きを読みます。 顧客と一緒にユーザーストーリー収集ワークショップを開催する ブレインストーミングみたい ラフな図をたくさん書く ユーザーストーリーを抽出 10-40 個くらい書き出せればよい 内部統制用の文書、ドキュメ…

アジャイルサムライ 第6章 ユーザーストーリーを集める

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る第3…

アジャイルサムライ 第5章 具現化させる

第5章「具現化させる」を読みます。 インセプションデッキの後半について 技術的な解決案を書く リスクの洗い出し チームの意識合わせ プロジェクトのリスクを「チームで」考える 挿絵がw そしてリスクを取り組む価値のあるものとないもの、つまりどうにかで…

アジャイルサムライ 第4章 全体像を捉える

第4章「全体像を捉える」を読みます。 インセプションデッキの前半について 我々はなぜここにいるのか 自分自身が現場で確かめる 司令官の意図をつかむ プロジェクトの目的はいくつも考えられるので、どれが真の目的か見極めることでこの先の舵取りの支えに…

アジャイルサムライ 第3章 みんなをバスに乗せる

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る第2…

アジャイルサムライ 第2章 アジャイルチームのご紹介

アジャイルサムライの第2章へ進みます。特に決めていませんが1日1章くらい進みそうなのでいつもの章毎に書影を貼るのは、今回は部の始めごとにしておきます。 アジャイルチームには役割分担がない 分析、設計、製造、テストなどの工程が連続的に(並行して)行…

アジャイルサムライ 第1章 ざっくりわかるアジャイル開発

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る今…

プログラミングコンテストチャレンジブック 4-5 その2

4-5 「GCJ の問題に挑戦してみよう(2)」の続きです。 Endless Knight - チェスのKnightの動きでX,Y座標が両方とも増加する方向のみで(H,W)に移動する経路。ただし何箇所か障害物があって入れないマスがある ナイトの動きでX,Y双方が増加する移動は2通りしか…

プログラミングコンテストチャレンジブック 4-5 その1

4-5 「GCJ の問題に挑戦してみよう(2)」からです。 Mine Layer - マインスイーパのように8近傍の爆弾の数が示されていた時に真ん中の段に含まれる爆弾の数 1次元で考えてみると、奇数番目の和と偶数番目の和の差を取ることで真ん中のマスの数がわかる まず各…

プログラミングコンテストチャレンジブック 4-4 その2

4-4 「厳選! 頻出テクニック(2)」の続きです。 個数制約付きナップサック - 品目につき個数の上限がある場合 DP の漸化式を j mode w[i] = 0 の場合に注目して式展開してスライド最小値の手法を適用 K-Anonymous Sequence - 単調非減少数列について、1つの項…

プログラミングコンテストチャレンジブック 4-4 その1

4-4 「厳選! 頻出テクニック(2)」からです。 スタックの利用 Largest Rectangle in a Histgram - ヒストグラムから最大面積の長方形を探す デック(Deque)の利用 スライド最小値 - 数列の最小移動曲線みたいなものを求める(bi が ai から ai+k-1 までの最小値…

プログラミングコンテストチャレンジブック 4-3 その2

4-3 「グラフマスターへの道」の続きです。 LCA (Lowest Common Ancestor) - 根つき木の2つのノードの共通の祖先で最も近いもの 二分探索を用いて探索 木の深さに注目して、注目点の深さの均等にしつつ親を探索していくと O(n) いったん LCA に到達すれば後…

プログラミングコンテストチャレンジブック 4-3 その1

4-3 「グラフマスターへの道」からです。 強連結成分分解 強連結成分 = 有向グラフの頂点の部分集合で任意の2点が到達可能なもの 強連結成分を1ノードにまとめることで任意の有向グラフは DAG に変換できる Popular Cow - AがBを人気者と思っていてBがCを人…

プログラミングコンテストチャレンジブック 4-2 その2

4-2 の続きからです。 Georgia And Bob - 一列のマスに並んだ駒を一方向に詰めるように動かしていって動かせなくなったほうが負け 駒を2つずつペア(山に相当)にして Nim と同じゲームに帰着できる コインのゲーム2 - コインの山から交互に取っていって最後に…

プログラミングコンテストチャレンジブック 4-2 その1

4-2 「ゲームの必勝法を編み出せ」です。 コインのゲーム1 - コインを交互に取るゲームで先手必勝か後手必勝か判定する問題 j 枚で自分の手が回ってきたら勝ちか負けかを反転して動的計画法 A Funny Game - 円状に並んだコインを交互に取るゲームで先手必勝…

プログラミングコンテストチャレンジブック 4-1 その2

4-1 「より複雑な数学的問題」の続きです。 連立線形合同式 ai*x = bi (mod mi) (1 中国余剰定理 連立線形合同式の ai を全て 1、mi を互いに素とする 合成数を法とする式はその素因数を法とする式に分解できる n! mod m n! = a p^e (p 素数) とした時 e = Σ…

プログラミングコンテストチャレンジブック 4-1 その1

4-1 「より複雑な数学的問題」からです。 連立一時方程式 Gauss-jordan 消去法 期待値と連立方程式 mod の世界 N を法とした世界で ay = 1 (mod N) となる a の逆元 ax - Nk = 1 となる x を探せばよい フェルマーの小定理 任意の素数 p について x^(p-1) ==…

プログラミングコンテストチャレンジブック 3-7

3-7 GCJ の問題です。 Numbers - (3+√5)^n の整数部下3桁を求める 一般項を求めて共役な式の一般項も求めると、一般項の整数項だけ求めればいいことがわかります 一般項の漸化式から行列の累乗を繰り返し二乗法で求めることで計算できる No Cheating - 椅子…

プログラミングコンテストチャレンジブック 3-6 その4

3-6 ネットワークフローの続きです。 最小費用流 最小コスト通信 - 通信費用が辺毎に決まっている時に費用を最小にする(転送量は決まってる) 最短路を求めつつ貪欲法で解く フロー f が最小費用 残余グラフに負の閉路が存在しない 最短路を求めるためにダイ…