8月に読んだ本

 

モチベーション3.0 持続する「やる気!」をいかに引き出すか

モチベーション3.0 持続する「やる気!」をいかに引き出すか

 

 

アジャイルな時間管理術 ポモドーロテクニック入門

アジャイルな時間管理術 ポモドーロテクニック入門

 

 

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

 

 

ドラッカーさんに教わったIT技術者が変わる50の習慣

ドラッカーさんに教わったIT技術者が変わる50の習慣

 

 

メタプログラミングRuby

メタプログラミングRuby

 

 今月は5冊読みました。

Ruby勉強し始めて半年くらい経ったのですが、はじめてのRuby → パーフェクトRuby  メタプログラミングRubyっていうのは、Rubyの入門としては理解を深めやすいステップの踏み方だと感じました。途中プロジェクトオイラーRubyで解いてみたり、Rubyのデザパタ本読んだり、Railsチュートリアルやってみたりとかもしたけど。パーフェクトRubyは著者が日本人だから読みやすいし、コーディングのスタイルがお手本になると感じたので、けっこう写経しました。

モチベーション3.0はエモなかんじで自分はとても好きでした。(小並感)

ポモドーロテクニックは今仕事中やってみてます。余裕がある時はいいけど、忙しくなってくるとけっこうリズムが崩れてくるので、その辺徹底すると能率が上がってきそう。

ドラッカーさんは買った時は立ち読みして良いなって思ったんだけど、今改めて読むとわりと当たり前のことしか書いてなくて、刺激が足りなかったです。

 

7月に読んだ本

 

継続的インテグレーション入門

継続的インテグレーション入門

 

さすがに5年前の本なので紹介されているツールは古くなっていますが、原則的な部分でのCIに関する知見が身についた気がします。これの発展的内容で継続的デリバリーにつながるかんじかと。

「納品」をなくせばうまくいく ソフトウェア業界の“常識

「納品」をなくせばうまくいく ソフトウェア業界の“常識"を変えるビジネスモデル

 

 とても良かった。自分の仕事は価値を生み出せているか?自問自答を続ける日々です。

 

嫌われる勇気

嫌われる勇気

 

 

 

入門Chef Solo - Infrastructure as Code

入門Chef Solo - Infrastructure as Code

 

実践したい。冪等性。インフラ as code.

環境をコードに落とし込んで即座に再現可能にするということ。

2013年度読んだ技術書

今日で年度終わりなので、今年度(2013/04〜2014/03)読んだ本を書いていく。

積んでる本や読み途中の本は除く。

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

 

 去年の始めに、達人プログラマーアジャイルサムライリーダブルコード情熱プログラマーを立て続けに読んで、「どうやら技術書読むのは楽しいし勉強になるようだ」と思い手にとった。紹介されている本のなかで、昨年7月にピアソンの本が絶版になったことで現在手に入らない本があること、リーダブルコードやClean Coderみたいな比較的最近出た良本は載っていないなど有用でない点はあるけれど、自分が読んだ紹介されている本は全部良かった。

 

コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

 

 

 

CODE COMPLETE 第2版 上

CODE COMPLETE 第2版 上

 

 良いコードを書くために。

 

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

 

 

 

ピープルウエア 第2版 ? ヤル気こそプロジェクト成功の鍵

ピープルウエア 第2版 ? ヤル気こそプロジェクト成功の鍵

 

 チームみんなで読みたい。何度も読み返したい本。

 

Joel on Software

Joel on Software

 

 

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

 

チームのメンバと上手くコラボレートするには。

 

100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊

100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊

 

 読書のお供に。

 

独習C# 第2版

独習C# 第2版

 

 C#をちゃんと勉強し直そうと読み直した。

 

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

 

オブジェクト指向をちゃんと勉強したいと思って読んだ。読み途中だけどHead Firstデザインパターンも合わせて読んだ。

 

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

 

 

IT業界を楽しく生き抜くための「つまみぐい勉強法」 (技評SE選書)

IT業界を楽しく生き抜くための「つまみぐい勉強法」 (技評SE選書)

 

 

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)

 

 

 

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

 

 2回読んだ。この本でオブジェクト指向がちゃんと理解できたと思っている。Strategyパターンの説明は何度も読んだ。これからも何度も読み返す。いずれオブジェクト指向入門も読んで理解を深めたい。

 

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

  • 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,黒沢 健二,松永 肇一,美谷 広海,祐佳 ヤング
  • 出版社/メーカー: 早川書房
  • 発売日: 2012/01/11
  • メディア: 単行本
  • 購入: 21人 クリック: 325回
  • この商品を含むブログ (35件) を見る
 

 

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

 

 テストについてはまだ全然なので理解を深めたい。

 

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

 

 

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  • 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/05
  • メディア: 単行本
  • 購入: 94人 クリック: 3,091回
  • この商品を含むブログ (307件) を見る
 

 2回目。この本も何周もしたい。

 

ゆとりの法則 ? 誰も書かなかったプロジェクト管理の誤解

ゆとりの法則 ? 誰も書かなかったプロジェクト管理の誤解

 

 

Clean Coder プロフェッショナルプログラマへの道

Clean Coder プロフェッショナルプログラマへの道

 

 

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

 

 後半理解し難い部分が多かったので、再読する。

 

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

 

 

 

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

 

 普段漫然と書いているJavaScriptをもっと上手く書けるように。

 

強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」

強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」

 

 

 

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

 

 これも何度も読む本。

 

初めてのRuby

初めてのRuby

 

 Rubyを始めたくて読んだ。irbで動かしたり写経してみたり。「プログラミングの入門書ではなく、Rubyの入門書」なるほど。とても楽しく読んだ。

 

知識ゼロから学ぶ ソフトウェアテスト

知識ゼロから学ぶ ソフトウェアテスト

 

 

 

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

 

 

パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

 

 

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

 

 

自分は普段本を読むときは、大事だと思った箇所、理解できなかった箇所に片っ端からふせんを貼って、一度最後まで読み終えたらふせんを貼った箇所に戻るという読み方をしている。ただ漫然と読むよりは断然理解が深まるけれど、今はそれだけだと足りない気がしている。

同じ本を2回は読んで、関連する書籍も読んで腹に落とすのが必要だと感じていて、そのあたりは うさみみさんの本の読み方 - Togetterまとめ を読んで、なるほど参考にしたいと思ったところ。

The Art of Unit Testing: with examples in C# 3

The Art of Unit Testing: With Examples in C#

The Art of Unit Testing: With Examples in C#

 

CHAPTER 3. Using Stubs to break dependencies

・stubの定義

・mock, fakeとの違い

・依存性の注入(dependency injection)をどのように行うべきか

個人的な気付き

・依存性の注入方法、"Extract and Override"

テスト対象を継承したクラスを作成し、外部のクラスに依存している(テスト対象でない)メソッドをオーバーライドする。

オブジェクト指向設計と、テスト容易性も加味したオブジェクト指向設計(TOOD = testable object-oriented design)は必ずしも一致しない。

The Art of Unit Testing: with examples in C# 2

The Art of Unit Testing: With Examples in C#

The Art of Unit Testing: With Examples in C#

 

CHAPTER 2. A first unit test

NUnitの基本的な使い方

・[SetUp], [TearDown], [TestCase]

・Assertクラス

・1つのクラスに対して1つのテストクラス

個人的な気付き

・[SetUp]の代わりにFactoryメソッドを使うことで可読性、メンテナンス性が増す。後でコンストラクタに変更がある場合でも、Factoryメソッドを一カ所修正すれば済む。

・[TearDown]はシステムテストの兆候なので、なるべく使わない。

・[ExpectedException]は意図しない箇所で発生した例外を検知してテストをパスすることがあるので、代わりにAssert.Catchを使う。

・テストメソッドの命名規則として"[UnitOfWork]_[Scenario]_[ExpectedBehavior]"というのが紹介されている。ただテストメソッドは無理して英語にせず「日本語テストメソッド」を使う方が良いと思っている。

「日本語テストメソッド」については下記の記事を参考に:

これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE

 ・単純にNUnitの使い方を学びたいなら、古い書籍だが下記が参考になる。

Microsoft.NETでのテスト駆動開発

Microsoft.NETでのテスト駆動開発

 

 

The Art of Unit Testing: with examples in C# 1

The Art of Unit Testing: With Examples in C#

The Art of Unit Testing: With Examples in C#

 

ユニットテストをもっと上手く書けるようになりたいので、この本を手に取った。サンプルコードが.NETというのも良い。この書籍は元々The Art of Unit Testing: With Examples in .netを改題、加筆修正を加えたもの。フィジカルコピーで購入したが、付録として電子書籍のチケット(PDF, ePub, Kindle)も収録している。

備忘のため、要点を少しずつ書き留める。

CHAPTER 1. The basic of unit tesing

・優れたユニットテスト特性

ユニットテストの定義

・TDDを成功させる3つのスキル

第一章での個人的な気づきは、ユニットテストの対比としてシステムテスト(integration tests)について述べた下記の一節。

私は高速でなく、一貫性もなく、1つ以上の依存関係を持つテストは、どのようなテストもシステムテストであるとみなしている。例えば、もしテストが実際の時間、ファイルシステム、データベースを使用しているならば、 システムテストの領域に踏み込んでしまっている。

エンジニアとしての生き方

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

エンジニアとしての生き方  IT技術者たちよ、世界へ出よう! (インプレス選書)

連休中に読みました。全体的に刺激的で、もっと勉強したいなと思わされる。自分が普段考えていることにすごく近いなと思ったのは下記の一節。

「自分がやりたいこと」と「会社にとって必要なこと」のベクトルを合わせる

別の言い方をすれば、「楽しんで、かつ、会社の業績に貢献する」ために自分がなにをしなければならないかを常に意識して働いた方が良いということ。