✲゚。.ヾ(⌒(ノ'ω')ノ☆.。

変色系男子の日常。

憂鬱に勝つために今年読みたい本 (技術書)

はじめに

最近、気分の浮き沈みが激しくて、なかなかまともに会社に行けてない現状。でも病院で処方された薬を飲んでるだけじゃ、今の状況は打破できないと思っている。今の自分に自信を持って、ちゃんと今の仕事に打ち込んで、プライベートも充実させたい。

そのためには、やっぱり自分を磨くために努力することが必要不可欠だ。そして一番手っ取り早いのが、今の職業、すなわちプログラマという職業に役立つ知識を身につけることだと思う。

有り体に言うと、自分は仕事に対して無関心で無気力な人間で、生活のために仕方なくやっているというスタンスだった (まあ今もそう) 。別にプログラマになったのもなんとなくだし、その前に九州工業大学情報工学部に入ったのもなんとなくだ (そもそも高校時代は鬱まっしぐらだったので進学なんてできるとは夢にも思っていなかった) 。つまり、人生に置いてこんな職業についてこんなプロフェッショナルになりたいという夢や目標などはない。

最近はそれがいけないことだと思い込んで、「みんな夢や目標に向かって頑張っているのに、自分はそれができない、ダメな人間だ。みんな死ぬしか無いじゃない!」と嘆き (最後のは単にマミさん風に)、その結果精神的に参ってきてしまっていた。日夜悶々としていた。

でもいくつか本や記事を読んだりして、「目標が無い = 悪い」というわけではないということに気付いてきた。そして周りを見渡しても、今自分がいる環境が望んだものではないけれど、それでも毎日頑張っている人も大勢いることに気付いた。

とはいえ、自分が心からやりたいと望んでいる職業では無いとしても、やはりそれで食べていくならそれなりにプロフェッショナルとしてやっていかなければいけないだろう。というわけで、社会人になって早くも5年目 (であってんのかな?) だし、そろそろ今の業界にじっくり腰を据えないといけないなと思う。遅すぎるかもしれないけれど、まあずっと浮き足立っているよりは遥かにマシだろう。

というわけで、現状はプログラマとしてあまりに知識が無さ過ぎることにも気付いたので、今年は今までよりも勉学に励もうと思う。自分の昔からの取り柄といえば、勉強ができることくらいだったしな。 まあ勉強はそんなに好きじゃないんだけど。

というわけで、今年のうちに読んでおきたい本を備忘録がてら列挙していきたい。

今年読みたい本

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

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

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

今日会社の先輩にオススメされて、第1章まで読ませてもらった。 プロ意識とは何かとか、プロとしての仕事への取り組み方などが書かれている本のようだ。 まあ今の自分とはあまりにかけ離れていて、いかに今の自分が漫然と日々を過ごしていたのかを思い知らされた。フルボッコである。 というわけで、まずはこの本を読んで、今後の仕事への取り組み方の指針を定めたいなと思っている。

(2) Rubyによるデザインパターン

Rubyによるデザインパターン

Rubyによるデザインパターン

プログラマたるもの、かの有名な『GoFデザインパターン』くらい熟知していて当然だ」と (1) の序章にも書かれていた。まあ日頃なんとなくコードを書いているけれど、デザインパターンを知って、それぞれの目的やどういう場合に適用できるかを把握しているだけでも、だいぶんコーディングの内容が変わってくると思う。 実際、デザインパターンについては研修期間に独学でちょっとかじったくらいなので、今年のうちにじっくり学んでおきたい。

書籍は Amazon では取り扱っていないようなので、とりあえず以下のサイトをベースに実際にコードを書きながら学習を進めたいと思う。

Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと

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

自分は Web アプリケーションの構築に日々携わっているのだけれど、なんかいつも不安。なぜいつも不安かというと、Web の業界は日々セキュリティに関する問題が日常茶飯で発生しているが、かと言って自分が携わっているシステムでこれといった対策を講じていない。なぜ講じないかというと、何が危ないかが分からないからだ。まあ「SQL インジェクション」や「クロスサイトスクリプティング」、「クロスサイトリクエストフォージェリ」など有名なセキュリティ問題については、まあなんとなく知っている程度。

というわけで「なんか不安」をもっと具体化して、ちゃんと対策するために、最低限の知識は付けておきたいと感じた。そして、セキュリティといえばやっぱり徳丸本でしょう。 徳丸浩さんの記事にはよくお世話になるのだが、この書籍は持っていないので、これを機に購入してちゃんと読んでおきたい。

(4) リファクタリング Ruby

リファクタリング:Rubyエディション

リファクタリング:Rubyエディション

現在、社内の輪読会で読み進めている本。普段はあまり勉強会や輪読会には参加しないのだけど、「リファクタリング」という項目に関してはなんとなく興味があったので、参加してみた。そしたらかなり興味深い内容だった。

まあ先程から幾度と無く出現してくる「なんとなく」というワードだが、リファクタリングに関しても日頃は特に意識することなくなんとなくやってた印象。だがこの本を読むことで、それぞれのリファクタリング項目の目的やメリット・デメリット、適用可能な場面などが明確になる。「なんとなく」を少しずつ具体化して解消していくのに適した書籍なので、このまま読み進めていきたい。

(5) マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

ネットワーク関連の知識が皆無デス…。でも最近は AWS を通じてインフラも触らないといけない機会が増えている。まあ細かなところは AWS がほとんど隠蔽してくれていているので、自分らは API ツールを通じて色々なことが簡単に実現できるので楽なんだけど。それでも IP がうんたらかんたらという話になったときに、何も知らないのは困るので、とりあえず基礎だけでも知っておきたい。 ただこの本は購入済みなんだけど、なかなか読めていない…。コーディング関連の書籍と比べるとどうしても読むモチベが上がらないんだよな。まあわがまま言わずに読み進めなければ。

(6) メタプログラミング Ruby

メタプログラミングRuby

メタプログラミングRuby

まあこの本も購入済みでざっとは読んだんだけど、頭に入っていないので、またじっくり読んでおきたい。「リファクタリング Ruby」を読破した後はこっちを読み進めようと画策している。

(7) Webを支える技術 - HTTP、URI、HTML、そしてREST

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

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

まあこの本も購入済みでざっとは読んだんだけど (以下略) 。だんだん雑になってきましたw とにかく、ちゃんと読み直したい。

うーん、とりあえずはこんなところかな。オススメの書籍等あれば、是非教えて下さい!