RESTはWeb全体のアーキテクチャスタイルでもあり、個別のWebサービスやWeb APIのアーキテクチャスタイルでもあります。
Webを支える技術 -HTTP、URI、HTML、そしてREST
本書はWEB+DB PRESSという雑誌に連載されていたRESTにまつわる記事に、大幅に加筆、修正されて書籍化されたものらしい。こういった連載から書籍化するタイプの本ってよくあるけど、そもそも連載ってどう始まるのだろう、と思って著者について調べてみた。
本書ではないが、一番初めに著者が出版した本は研究室のウェブサイトにXMLの情報を載せていたところ、出版社の人から話が来て刊行されたものらしい
著者インタビュー | BOOKSCAN(ブックスキャン) 本・蔵書電子書籍化サービス – 大和印刷
なるほど。そんな経路があるのか。
やはり良質な情報を発信していれば誰かが見てるんやなあ。
ということで私に執筆の依頼をしたい方はこちらのお問い合わせからお気軽に。(まず良質な情報の発信からしましょう。)
文系未経験のWebエンジニアはまずこれを読め
文系未経験のWebエンジニアによくおすすめされる本の一位は何だろうか?
正解はリーダブルコードである。
この本は良書だろうか?
それはそうだと思う。語り口が柔らかくて読みやすいし、変数名の付け方、美しいコードの書き方など、Web開発を行う上で身に着けるべき知識がふんだんに盛り込まれている。
では文系未経験のWebエンジニアにおすすめの本か?
という問いに対してはそうだとは思えない。それは例がC言語を用いて表されているからだ。
業務でC言語を用いている人は問題ないが、文系未経験のWebエンジニアはそうでないことのほうが多数だと思う。実際自分は一年目はVue.jsとTypeScriptを用いたフロントエンド開発に従事していたが、リーダブルコードの具体例はかなり取っつきずらかった。
今ならなんとなく書いていることも理解できるが、未経験者にとっては普段使用している言語と差分が少しでもあると読むのが苦痛になってしまう。
個人的にはリードブルコードはある程度Web開発を経験してから読むのがおすすめだ。
そこで私は、文系未経験のWebエンジニアが読むべき一冊として本書を推薦する。
以下にその根拠を述べていこうと思う。
コーディングに対する知識が不要
本書はWebというものがどういう仕組みで動いているかの大枠を説明する本である。そのため、プログラミング的なコーディングの知識がなくてもすらすら読むことが出来るのである。16章では書き込み可能なWebサービスの設計を行っているが、ここでも言語に依存したコードは使われていない。あくまで設計なので、JSONを用いてどのように情報をやり取りするか、どのようなページが必要か、HTTPにおけるどのようなメソッドを使用するべきか、ということのみが述べられており、読書中に大きな負荷がかからない。もちろんメソッドの説明やJSONの説明はそれまでの章で既に行われている。
一つ一つの説明が簡潔
これはもともとが雑誌に連載されていた記事で、執筆時に紙幅が限られていたことに起因するのかもしれないのだが、出てくる単語に対しての解説がかなり端的にまとまっている。
HTTPメソッドやHTMLなど、深堀りすればいくらでも話すことがありそうである。
しかし、本書ではそのような深堀りは避け、章ごとのテーマを説明するのに必要な単語を細かく分割し、その一つ一つを必要最小限の文章でまとめている。
どの章もわかりやすかったが、特に3.4の「スタイルを組み合わせてRESTを構成する」は、クライアント/サーバという根本の概念の説明から始め、そこにステートレスサーバ、キャッシュ、というように説明を加えていくことで最終的にRESTアーキテクチャスタイルの全体像が分かるという構成になっており、非常にわかりやすかった。RESTとは何かがいまいちつかめなくてモヤモヤしていたのでこの箇所を読み終えた時にとても爽快感があった。RESTとは何かがいまいちピンと来ていない人はこの章だけでも読むことを強く推奨する。
情報は古め
欠点を挙げるとすれば、情報が古いという点になるだろう。初版は2010年5月1日に発行されている。HTTPやRESTアーキテクチャスタイルはそのころと比較して大きな変更はなさそうに感じるが、microfomatsやAtomはあまりピンとこなかった。Webについて詳しいわけじゃないので何とも言えないが、現在ではあまり使われてないんじゃないかな。ほかにもクラウドという概念が最新のものとして登場していたり、全体的に古いなあという印象は拭えない。
業務にすぐに活かせるわけではないけれど
駆け出しのエンジニアがシステムの設計に携わることは少なくて、初めは簡単なコードを書くところから始まることが多いと思う。本書には開発のテクニック的なことが書いてあるわけではないので、読んだからと言ってすぐに作業効率が上がるわけではない。
しかし、RESTアーキテクチャスタイルやHTTPがどういう歴史のもとに生み出されたのか、またそれはどういったものなのか。そのような歴史や現在の立ち位置、概念がわかっていると、今まで先輩からのアドバイスでよくわからないままわかりました!と適当に返事をしてしまう場面が減ったり、技術記事を読んでいて腑に落ちることが多くなったりするはずだ。
今後活躍していきたい未経験Webエンジニアにはぜひとも読んで欲しい。おすすめです。