その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

「Webアプリエンジニア養成読本」を読みました

Perlの話がほぼ出てこないこの本はクソ!!!!! (嘘です.著者の1人にそう書けって言われたものだから……)

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)

Webアプリの着想・設計・制作・運用までバランスよくまとまっていて良い本だと思いました.この手の書籍で運用にまつわる話が載っているのは中々珍しい気がします.

1章

基本的なWebの技術 (HTTPとかServer-ClientアーキテクチャとかHTMLとか) の説明が優しく,わかりやすくて良いです.僕もWebアプリ触り始めの頃にこれを読めれば!!!! という気持ちになりました.
また,「どんな言語を使うべきか」というところで「その言語を使っている身近な人がいるか,もしくは,コミュニティが活発か」という指標を示していて,大事だと思うとともにフェアだなーと思いました.重要な話だ.
あとGitHubの話題とかあってだいぶナウいですね.

2章 (PHP編)

PHP凄い!!
「とりあえずechoでエラー出してみよーぜー」とか,「$_GETぶっこもーぜー」とか,そういう悪いPHP的世界ではなく,もっと正常で,かつ清浄な,格好いい世界のPHPの話が展開されています.

「簡単な掲示板を作る」というイカニモな話題を通して内容が展開される訳ですが,ビルトインサーバやらパッケージマネージャやらテンプレートエンジンやらORMやら,とにかくPHPの近代的なイケてるツールをふんだんに取り入れていて格好良いです.PHPの入門書籍で名前空間を最初からちゃんと説明しているの良いですね.

また「イケてないPHP情報の見極め方」というコラムは非常に参考になります.他の言語にも通用すると思います.

あとGentoo向けにemergeでPHPをインストールする方法が書いてあってマニアック過ぎる! Gentoo LinuxでのPHPインストール方法が載っている書籍はこれが世界で初ではないでしょうか.*1

2章 (Ruby編)

RailsではなくSinatraを使っていて,Railsがうまい具合に隠してしまって目にできない (しかしそこが重要だったりする) ところをあえて触る,という感じで好印象です.

Rubyの基本的な書式や,最近のRubyを取り巻くエコシステム等が網羅的に説明されており,Rubyを触った事が無い人や「さいきんご無沙汰だワ」という人でも安心して読めて良いなあと思いました.

ブックマークアプリケーションの制作という流れで説明が進みますが,これ読めば大体分かってめっちゃ便利.過不足がなくて凄い.

それにしてもActiveRecord便利過ぎる.そしてRSpecは強力だ……

3章

サーバ (IaaS) の契約 ,サーバの構築,そしてデプロイまでがスピード感ある感じで説明されています.冒頭で書かれている,「自分のサービスを知る」「どこがボトルネックになるかを認識する」「どれくらいの時間サービスがダウンしても許容できるかを把握する」といったことは非常に大切だと感じました.

手作業でのサーバ構築指南だけではなく,ChefやAnsible,またserverspecなどの自動化を支援するツールについても言及されておりバリューがある感じがします.

そして「SCP (FTP) でのデプロイは絶対やってはいけません」と書かれていて非常に力強く感じると共におや涙が……

4章

すごい,監視と測定まで話が広がっている!

サーバの監視手法と共に,監視項目の閾値例も乗っていて大変参考になる感じでした.うっかり蔑ろにしてしまいがちなロギングの話やバックアップの話も丁寧に説明されていてグッドです.
また,ベンチマークとチューニングといった実践的な話についても紙面が割かれており非常に勉強になりました.アプリケーションのどこから測定してどうチューニングするか,という事例が乗っていて大変参考になります.

総評

ムック本という特性上そこまで厚い本ではありませんが,それを感じさせないボリューム感があります.ひと通り体系的な知識が付くと思うので,Webアプリ触りたての人とかが読まれると良いのでは無いでしょうか.

ただ,この本にはSQLの話が載っていなくて,しかしながらSQLはカジュアルに「よう!」といった感じで,まるで友人の如く登場してくるので面食らうかもわかりません.なので,SQLについて勉強したい人はウェブサイトや別の書籍など,他の媒体を当たる必要があると思います.
また,この書籍ではソフトウェアのテストについて触れられていますが,どちらかと言うとテストライブラリをどう使うか,といった方法論的な話が主なので,理屈的な事を詳しく知りたい人も他の書籍等を参照する必要があると思いました.

この本読んでわからないことあったらすぐにググったほうが絶対に良いと思います.そのコンピュータは艦これのためだけにあるのではない.

そうそう

今週木曜日 (3/20) にこの書籍の発売を記念して、池袋のジュンク堂書店にてイベントを行われるそうです.

http://www.junkudo.co.jp/mj/store/event_detail.php?fair_id=4314

どうやらまだ会場に空きがあるとの事でしたので,興味の有る方は参加されると良いのではないかと思います.


以上現場でした.

*1:これ誰に刺さるんだろう?