blue_field

技術的なメモとか読書記録とかいろいろ(の予定

年末年始で読んだ技術書など

社会人3年目の年末年始。去年と一昨年は、iOS版のFinalFantasy(4, 5)やりこんでたら冬休みがほぼ終わってた。今年は何となくゲームに手を付けず、技術書やマンガを読んだりHulu見たりして過ごしていた。

そんなわけで、読んだ技術書について、個人の日記レベルなメモを書いておこうかと思う。

よんだ技術書

評判が良さそうな本を何冊か読んだ。個人的にはどれも当たりの本で学びがあった。

  1. 『HTTPの教科書』
  2. 『Everyday Rails - RSpecによるRailsテスト入門』
  3. 『Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~』

1. HTTPの教科書

Web開発をする際に知っておくべき「HTTP」の解説を分かりやすくしてくれている本。

自分はRailsからプログラミングを始めた。 Railsだとある程度簡単にWebアプリを作れてしまうこともあり(これがRailsの良い所でもあるのだと思うが)、こういったWebの根幹の仕組みについて理解できていないことが結構多いのでは、という不安がある。(不安ではなくたぶん事実)

この本は、「Webエンジニア」を名乗るならたぶん知っておくべき内容の基礎が平易に書いてあり、さらっと読めた。セキュリティに関してや、SPDYなど新しめのトピックに関しても触れられており非常に良かった。

残念ながらこういった知識を一度で吸収できる脳みそではないので、この本や『Webを支える技術』などを定期的に読み返していくと良さそう。 セキュリティといえば徳丸さんの本ですが、こちらもまだ未読なので読まねば。

動く「成果物」を生み出すことが優先される環境にいると、こういった基礎的な内容がどうしても疎かになってしまう気がする。 けど、こういうのも絶対必要だよなー。(教養の面でも成果物のクオリティの面でも)

2. Everyday Rails - RSpecによるRailsテスト入門

https://leanpub.com/everydayrailsrspec-jp

RSpecの入門本。英語で書かれた原著の和訳。 英語版のアップデートが結構されてるぽいけど、和訳版もちゃんとそれに追随してくれており、RSpec3対応。(翻訳者の方々ありがとうございます)

本の中で利用されているサンプルコードもGitHubに置いてある。 everydayrails/rspec_rails_4

簡単なRailsアプリにRSpecを使ったテストを組み込んでいく内容。 読みつつ写経しつつ8章の終わり(全12章)まで読了。 モデルスペックやコントローラスペックの作成、FactoryGirlによるテストデータ作成、Capybaraを使ったフィーチャースペックの作成などを学べた。 RSpecの思想的なところもなんとなく分かってきて、なるほどなーという感じ。

そもそもちゃんと勉強してみるかーと思ったのは、業務で触っているRails3.2の某レガシーコードを4.0系にアップデートしたいと思ったため。 各種ライブラリのサポートも切られ始めてるし、これはそろそろマズイなと。

どのレイヤーのテストを書くべきか問題とか、カバレッジにどこまでこだわるのか問題とかまあ色々あるんだろうけど、 自分の関わっているアプリケーションはその問題に突き当たるレベルにまで達していないので、とりあえず少しずつ書いていきましょうという感じかなぁ。。 実際のアプリは本の中のアプリほど単純なわけでもなく、簡単なモデルスペックを少し書くだけでもつらみを感じた...

後からテスト書くと設計のクソさに気づくし、先にテスト書くとクソな設計を作りにくくなる、という効果もありそう。

3. Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~

先月の下旬に出た本。Twitterなどでちょこちょこ感想を見かけたので読んでみた。 「インフラ」に関する内容を広範囲に扱ってくれている。 前半部分はインフラの設計や要件定義などについて広く触れられており、 後半部分は監視や障害対応、パフォーマンスチューニングのポイントなどについて具体的に書いてあった。

周りにインフラをメインでやってるエンジニアの人がいないので、「ああ、インフラエンジニアの方はこうやって仕事しているのかー」という妙な驚きがあったw

「ちゃんとシステムを組む」ための方法が説明されている。 関わっているサービスのインフラ周り(主にAWS)をイメージしつつ読んでいたが、自分の知らない分野・理解の薄い分野の話を補完できて良かった。

DevOpsというワードが一時期流行ったが、これから双方の垣根がどんどん無くなっていくのは間違いない。 そういう意味で、こっち側の世界ももう少し知らんとまずいかなーと感じた。

そのほか

以前のWeb+DB PressのRails4の紹介記事だったり、以前購入して積ん読になってた『チーム開発実践入門』をつまみ食いして読んだりしていた。

(蛇足)よんだマンガ

漫画読んだりもしてた。 普通に過ごしてると少年ジャンプとかヤンジャン系の漫画ばっかりになるので、ちょっと違うのを新規に読んでみた。

  • 僕だけがいない街(1, 2巻)
    • サスペンス系(?)。面白かった、続きが非常に気になるのでたぶんこの後も買う
  • クズの本懐(1巻)
    • 主人公、いまのところそこまでクズじゃない気もする。もっとクズになるなら続き読みたい
    • Twitterでよく見かける例の画像はこの漫画が出典だったんすな

みんな良い漫画はどうやって見つけてるんですか。

おわり

年末年始に読んだ本の簡単な紹介おわり。

冬休み、なんとなく2週間くらいあるイメージだったけど、それより全然短かった。。 インプット重視だったのもあり、あまりコードは書けず。 まあこうやって読書の時間をいっぱいとれる期間もなかなか無いので、良かったかなと思う。

僕の技術レベルはまだまだかなり低い。 自分が組織の成長の足を引っ張らないよう、今年も粛々と腕を磨かなくては...

と、ちょっとだけ意識の高いこと書いて終わります。