本
会社の同期に借りた本の問題、ぼちぼち今の俺でも解けそうなのが出てきているので、解いてこうと思う。世界で戦いたいんじゃなくて、世界で戦います(ドヤ 世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~作者: Gayle Laak…
7-1_集合とは 部分集合と真部分集合 真部分集合 proper subset 集合 A のすべての要素が集合Bの要素であって、集合AとBが等しくない その他気付き ユニットテストメソッドがグリーンにならなかったため調べると、||演算子の挙動を正しく理解していなかった。…
第8章 パラメータ化テスト テストケースとテストデータの分離 異なる入力値について似たようなテストを実施する場合など、テストケース毎の差異が入力値と期待値だけ、のような状況下において、入力値と期待値をパラメータとして外部化することで見通しを良…
第7章 テストフィクスチャ テストデータや前提条件のセットアップ 7.1 テストフィクチャとは テストで扱う、データやテスト実行環境、オブジェクトの状態など ユニットテストのテストフィスクチャ テスト対象オブジェクト 入力値 期待値 テスト実行までに必…
第6章 テストのコンテキスト テストケースの構造化 6.2 テストケースの整理 メソッド単位で整理して個別クラス作成するよりも、初期化処理で整理するほうが、一般に良い 前者は初期化処理を共通化できないため 6.3 コンテキストのパターン 共通のデータに着…
第5章 テストランナー テスト実行方法の制御 5.1 コマンドラインからの JUnit の実行 コマンドラインからも JUnit テストを実行できる JUnitCore クラスの main メソッドでは以下を行っている テストケースの収集 テストの実行 テスト結果の出力(レポート) 5…
6-9 度数ソート 分布数え上げソートとも呼ばれる 要素の大小関係を比較しない 安定 度数ソート 学生9人の10点満点テストを例に 度数分布表の作成 - 各点数の学生が何人いるか調べる 累積度数分布表の作成 - 0点からその点数までに何人の学生がいるか調べる …
第4章 アサーション 値を比較検証するしくみ Junit では、assertThat と MatcherAPI でアサーションを行う 4.1 Assert による値の比較検証 org.junit.Asset にアサーションメソッドが多数定義されている static インポートされることを想定した static メソ…
6-8 ヒープソート ヒープ 親の値が子の値以上である、完全2分木のこと 兄弟での大小関係は任意 ヒープのことを別名、半順序木 partial ordered tree ともいう a[i] に対して、 親は a[(i - 1) / 2] 左の子は a[i * 2 + 1] ※剰余切り捨て 右の子は a[i * 2 + …
6-7 マージソート 配列を前半部と後半部に分けて、それぞれをソートしたものをマージ(併合)するのを繰り返す方法 ソート済み配列のマージ 各配列の着目要素の値に注目して、小さい方の値を取り出し、別の配列に格納する ソースコード import java.util.Scann…
第3章 テスティングフレームワーク テストを支えるしくみ テストでは、入力値の準備や、期待される結果の検証が重要 3.1 テスティングフレームワークとは 一定のフォーマットで書けるため、可読性に貢献 テストコードの記述に集中できる xUnit フレームワー…
第2章 ユニットテスト 何のためにテストするのか 2.1 ソフトウェアテストとは 検証する内容を定義し、ソフトウェアが期待通りに動作するのかを確認すること テストを作るのは、テスを行うテスター自身であり、ソフトウェアの仕様や要件を基に、テスト項目を…
第1章 JUnitチュートリアル 1.3 JUnitテストを始めよう "junit-tutorial" プロジェクトを作成 JUnit の JAR ファイルを追加 [JAR ファイルをプロジェクトにコピペ] -> [(右クリックから)Build Path] -> [Add to Build Path] "Calculator" クラス作成 Package…
付録B Eclipse の便利機能と設定 B.2 テキストファイルのエンコーディング [General] - [workspace] [Text file encoding] を "UTF-8" に設定 B.3 static インポートのワイドカード [Java] -> [Code Style] -> [Organize Imports] [Number of tatic import n…
6-6 クイックソート クイックソートの概略 クイックソート quick sort は、最も高速なアルゴリズムの一つ。 C.A.R.Hoare が考案。 配列 a を枢軸 x pivot で分割することを繰り返す。 分割の手順 a[pl] >= x が成立する要素が見つかるまで pl を右方向に走査…
6-5 シェルソート 単純挿入ソートの特徴 ソート済みあるいは、それに近い状態では高速である 挿入先が遠くはなれている場合、移動(代入)回数が多くなる シェルソート シェルソート shell sort は、単純挿入ソートの長所を活かしたまま、その短所を補う事によ…
第15章 継続的テスト すばやいフィードバックを手に入れる 開発においては、欠陥の修正による恩恵と、リスクのバランスを示している考慮する必要がある。 テストを早い段階から繰り返し行うことで、リスクをカバーできる。 15.1 継続的テスト ユニットテスト…
第16章 テスト駆動開発 テストファーストで設計する 16.1 テスト駆動開発 Test Driven Development とは TDD は、ユニットテストをプロダクションコードよりも先に記述することを原則とした開発手法のこと。 この原則はテストファーストと呼ばれ、XPのプラク…
付録A 開発環境のセットアップ A.1 JDK のセットアップ pleiades 同梱の JDK1.7 を流用 A.2 Eclipse のセットアップ もろもろ面倒なので、アルゴリズム勉強用とは別途用意することにした 日本語化せず(pleiades でなく)英語版でいく 4.3 - Kepler にした JUn…
6-4 単純選択ソート straight insertion sort 『原列の先頭要素を、目的列内の適切な位置に挿入』を、n - 1 回繰り返す トランプのカード並べに似たソート(7並べをイメージしてね) 実装としては、 『左隣の要素が、現在着目している要素より大きい限り、その…
6-3 単純選択ソート straight selection sort 最小要素を先頭に、2番めに小さい要素を先頭から2番目に移動する、を繰り返すアルゴリズム 未ソート部から最小のキーを持つ a[min] を選択 a[min] と、未ソート部の先頭要素を交換 離れた要素を交換する可能性が…
6-2 バブルソート 概要 隣り合う2要素の大小関係を調べて必要に応じて交換を繰り返す、単純交換ソート straight exchange sort の一種。 要素数 n の配列に対して、n-1 回の比較・交換(この作業をパスという)を行うことで、最小要素を先頭に移動する 更に n-…
6-1 ソートとは 安定性 安定 stable 同一キーを持つ要素の順序関係が、ソート前後で必ず維持される 不安定 同一キーを持つ要素の順序関係が、ソート前後で維持されるとは限らない ソートの種類 内部ソート ソート対象データが、1配列上に展開可能な場合に用…
5-1 再帰の基本 メソッド内で自分を呼びだす 階乗 ユークリッドの互除法 ハノイの塔 5-2 再帰アルゴリズムの解析 解析 トップダウン ボトムダウン 真に再帰的 メソッド内で自身を複数回呼び出すもの 挙動が複雑 非再帰への書き換え 末尾再帰は容易 - http://…
4-1 スタック フィールド: スタックの容量・ポインタ。後入れ先出し(LIFO - Last In First Out)。 push, pop, peek, dump indexOf, size, clear, capacity isEmpty, isFull 疑問 総称クラスが java.lang.Throwable をサブクラス化できないのってなんでだっけ…
3-2 線形探索 単純な線形探索(順次探索) 1インデックスにつき、2つの条件文をチェックするコストが発生 if index >= array.size() then search failed if array[i] = key then search succeeded 番兵法 1インデックスにつき、1つの条件文チェックでOK。単純…
OSの仕組みの絵本 Windows, Linux・・・仕事でいろいろなOSに触っているけれど、基本知識が理解できていないと感じることがあるので、浅く広くまず俯瞰する。 OSの勉強を始める前に OS: Operating System: 基本ソフトウェア プロセス管理、メモリ管理、ディスク…
残念な人の仕事の中身 〜世界中の調査からわかった「組織で評価されない人」の共通点 社会人的にアレすぎるのをどうにかしたいので、アンチパターンつぶすための参考資料として読んでみた。 「まかせない」「理論至上主義」が自分の場合やや危険か。 だめ類…
コンサルタントに踊らされるな、日本企業!―最大の成果を生むコンサル徹底活用術 コンサルタントの立場から、コンサルティングを受ける側にアドバイスをする本。 日本で何となく感じる、欧米系戦略コンサル会社に対する崇拝が何とも気持ち悪く感じて、読んで…
MUSIC MAGAZINE (ミュージックマガジン) 2009年 07月号 [雑誌] まったく知らんかった。こういうの買い逃すと後で凹む。菅野特集。