Walk, Don't Run

若手エンジニアが日々学んだことをさらけ出すブログです

2013年に(そこそこちゃんと)読んだ本たち

今年もそろそろ終わりそうなので、Amazonの履歴とEvernoteのログを辿って2013年に読んだ本たちをまとめてみる。(そこそこちゃんと)とあるのは、ちょっとだけ読んで放置した本たちがけっこういるためである。

  • パーフェクトJava

去年から持っていた本だけど、Javaの業務コードをガツガツ書く機会がなく、あまり活用されてなかった。今年はガッツリとJavaに付き合うことが出来たので、パーフェクトJavaにはとてもお世話になった。Javaの初級者向けの本は他にもたくさんあるが、この本は「どういうときにこのコードを書くべき」という指針を与えてくれるので、経験の浅い私にはとてもありがたかった。

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

ファウラーのリファクタリングと一緒に購入した本。ファウラーの方を読む前に、まず使い慣れたJavaに特化された方を読みたいから買った。あと、結城さんの本は読みやすいので好きだったため。思った通りとても理解しやすい本だった。情報はファウラーの方に比べると圧倒的に足りないので、ファウラーの方もコツコツ読み進めていきたい。

Java言語で学ぶリファクタリング入門

Java言語で学ぶリファクタリング入門

誰かのブログで、「Java使いなら必読」みたいなことが書いてあったので買った。恥ずかしながら、テストコードを一切書かずに開発をしていたので、まずはJUnitの使い方を覚えるところから始まった。Quick JUnitを入れるとテストコードを楽に書けるとあったので、入れてみたら本当に楽で感動した。そこから、少しずつテストを書いて行くようになると、開発するときの「安心感」がぜんぜん違うことに驚いた。ビクビクしながら開発するのは、本当にストレスが溜まるので、もう昔には戻れないです。テストの有り難みに気づかせてくれる本になってくれた、とても良い本だった。

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

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

最近ガツガツ読んでいる。恥ずかしながら、読んでいてよく分からないところがけっこうよくあり、自分の未熟さを思い知る。付箋を張りながら読み進め、何度も読み返したい。

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)

  • 反復学習ソフト付き 正規表現書き方ドリル

正規表現を使いこなせるプログラマはカッコいいだろうと、そんな下心から買った本。ひたすらドリルを解いた。しかし、どういうわけか意外と頭に残っていない。正規表現を使いたくなる場面ってVimを使っているときが多いのだが、そもそもVim正規表現がちょっと特殊なところがあり、そういう意味で思い通りに行っていない。

反復学習ソフト付き 正規表現書き方ドリル (WEB+DB PRESS plus)

反復学習ソフト付き 正規表現書き方ドリル (WEB+DB PRESS plus)

  • Vimテクニックバイブル ~作業効率をカイゼンする150の技

Vimmerなら読めみたいな空気が漂っているので買った本。色んなプラグインが紹介されており、Vimの世界の広大さに驚く。リファレンス的に利用することが多い。ただなあ、Vimの情報ってネットで検索すると何でも出るので、リファレンスとしてなかなか出番がない。

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技

  • 実践Vim 思考のスピードで編集しよう!

Vimを使うとき、どんなことを考えて編集すればよいのかを丁寧に解説してくれる。スポーツや音楽と同じで、「悪い癖」がついてるのを矯正するのにとても役立つと思う。私の場合は、ヴィジュアルモードを多用する癖が付いているのだが、Vimの繰り返し作業の強みを活かすためには、ヴィジュアルモードの多様は避けるべきということ気付き、感動した。初心者の人は、テクニックバイブルよりまずはこっちを大人しく読んだほうがよいでしょう。

実践Vim 思考のスピードで編集しよう!

実践Vim 思考のスピードで編集しよう!

  • 体系的に学ぶ 安全なWebアプリケーションの作り方

会社の勉強会で輪読している本。そもそもWebアプリケーションを自分で作ったことがないので、ドットインストールでPHPJavaScriptや仮想環境の構築を学ぶところから始まった。今まで何となく聞いたことのあるXSSやCSRFというのを頭と体で理解出来た。あと、会社で作っている製品にポツポツと脆弱性があることに気がついた。「こういうときに脆弱性が生まれる」という危険信号みたいなのを意識しながら開発できるようになったのは大きいと思う。まあ、今の部署だとWebアプリケーションとの関わりが薄いので、なかなか業務には活かせないのですが。

  • Passionate Programmer

前に記事を書いた。幸い、プログラミングに関して自分の中には情熱がある(はず)ので、情熱の赴くままに活動したい。といっても、口だけになっちゃうんだよなあ。

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

  • すごいHaskellたのしく学ぼう!

転職する先輩からHaskellを強く勧められ、頂いた本。関数型言語に触れるのは初めてだった。非関数型言語で開発するときにも、関数型言語のように、副作用のでないコードを書くように意識するようになった(気がする)。実は途中で止まっているので、おいおい再開したい。後半が難しそう。

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

  • リーダブルコード

この本自体がリーダブルな良書だった。命名やスコープを意識できていない新人には全員に読んで欲しい本。ただ、会社でコードを書くときは、色んな人が入り乱れてコードを書くので、この本に書いてあることが通用していない場合がある。改めて、大勢の人数で開発をするのは難しいことだなと、ときどきめまいを起こしそうになる。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

色んなところで絶賛されていたので読んだ。書いてあることはとても良くわかったけど、実際にはそんなに上手くいかないでしょ・・・みたいな無力感を感じることが多かった。しかし、諦めちゃ駄目だなとも思う。幸い今の職場は、開発方法が悪いと思ったらいくらでも手を上げて改善できる場所なので。

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

ラインナップを見てみると、偏りがひどいし、初級者向けの本ばかりなのでちょっと公開するのが恥ずかしい。来年はインプットよりアウトプットを重視していきたい。