C++と色々

主にC++やプログラムに関する記事を投稿します。

2014年上半期に読んだ技術書

本当は年末に書きたかった記事でしたが、冊数が多くなりそうなので分けました。

1-3月

卒論と就活に精神を追い詰められ、それらから開放されて最後の春休み遊んでいた時期なのでほとんど読んでません。1冊だけ2ヶ月書けてとてもだらだら読みました。

テスト駆動開発入門

テスト駆動開発入門

  • 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2003/09
  • メディア: 単行本
  • 購入: 45人 クリック: 1,058回
  • この商品を含むブログ (161件) を見る

個人的には前半のストーリーよりも、後半のレッドバーグリーンバーに関するプラクティスのページが役に立ちました。

4月

私がC++に夢中になるきっかけとなった本の第2版が出たので即買いました。とても面白かったです。

C++テンプレートテクニック 第2版

C++テンプレートテクニック 第2版

boost.mplは是非ともC++11/14の機能を駆使して新しいTMPライブラリに生まれ変わって欲しいです(偉そう)

5月

会社の研修が始まり、研修でJavaを使ったことからサブで使える言語をJavaにすることにしました。1年に1個新しい言語覚えようというルールを決め、その一環です。来年は違う言語やります。基本的にC++&何かの言語 で勉強していこうと今のところ思っています。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

この頃から本を積極的に消化するべく、電車に乗っている時間と、就寝前に本を読むという習慣を作りました。 初めてJUnitをまともに触ったのですが、想像以上に高性能でビックリしました(自分が触ってきたC++のテスティングフレームワークアノテーションなんてありませんしね…)。ここでJavaの印象が変わってきました。Java5, 6, 7, 8とどんどん便利な機能入ってますし、JUnitとMockitoなどの強力なライブラリもあり、便利だなぁという印象に変わりました。この頃にjettyやtomcatやgradleやplay frameworkやjavaxやmavenやsbtなど初めて知りました。IntelliJもこの時初めて知りましたし、初めて触りました。

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

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

Webやネットワークに関する知識を付けたいなとずっと思っており、とても調度良かったです。1周はしましたが、よりよく理解する為に2周目をしたいなと思っています。

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

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

デザインパターンは大学の時に独習デザインパターンC++で勉強したのですが、もう1度勉強したいなと思ったのと、Javaを勉強したかったのと、デザインパターンの他の例や説明を読んでみたかったのと、結城さんの本買ったことがなく、どういうものか気になったので買いました。とても丁寧だなと感じました。インタプリタパターンにおいては、独習デザインパターンC++では例省略してますからね…^^;結城さんのデザインパターンの本は例が載ってますし、デザインパターンとしてだけではなく、構文解析のコードの例としても参考になりました。

6月

Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series)

Exceptional C++ Style―40のクイズ形式によるプログラム問題と解法=スタイル編 (C++ in‐Depth Series)

  • 作者: ハーブサッター,浜田光之,Herb Sutter,浜田真理
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2006/09
  • メディア: 単行本
  • 購入: 3人 クリック: 32回
  • この商品を含むブログ (30件) を見る

去年ピアソン撤退の時に慌てて買った本のうちの1つで、積み本消化の一環です。ピアソン撤退の時慌ててExceptional C++ Style、Efficient C++More Effective C++リファクタリングテスト駆動開発入門、達人プログラマーを買いました。(Effective C++などは元々持ってました) 持っている本の中でC++の割合が高いので自然と消化する割合も多くなります。執筆した時期的にC++0xにまで言及しており、Exceptional C++C++03で書かれていたことから時間の流れを感じました。(Exceptional C++ではauto_ptrを絶賛していて、"const auto_ptrはこれから使われるイディオムになるだろう!"ぐらいまで言っていたのに、Exceptional C++ Styleでは"auto_ptrは使うな、tr1::unique_ptr, tr1::shared_ptr, またはboost::scoped_ptr, boost::shared_ptrを使え"的な感じになっていて面白かったですw

プログラミングの宝箱 アルゴリズムとデータ構造 第2版

プログラミングの宝箱 アルゴリズムとデータ構造 第2版

自分はアルゴリズムが苦手に感じているので、基礎勉強として取り組みました。現時点でも全部のサンプルコードを写経できてなく、書いて全部理解したいと思います。動的計画法やバックトラック法なんか恥ずかしながらここで初めてわかりました… 色々なソートをイテレータを使った方法で書いてみるの面白いです。

7月

今進行形で読んでます。今呼んでいる本はEffective Java(丸善)とゲームプログラマになる前に覚えておきたい技術です。 ゲームプログラマになる前に覚えておきたい技術は大学1年生の時に勝ったにもかかわらず未だに積んでいるのでいい加減消化したかったというのがあります。Effective JavaJavaのベストプラクティスを知りたかったので買いました。

ゲームプログラマになる前に覚えておきたい技術

ゲームプログラマになる前に覚えておきたい技術

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

読み終わったらWebを支える技術2周目か、More Exceptional C++2週目か、Javaデザインパターンマルチスレッド編か達人プログラマーリファクタリング辺りを気分で選択していきたいなと思っています。