1. 株式会社ルトラ
  2. 会社ブログ
  3. 会社紹介
  4. 福利厚生
  5. API本を色々読んでみたので紹介する

会社ブログ

API本を色々読んでみたので紹介する

「コードの書き方が分かったところでそれで何を作るんじゃい!」

こんにちは、2024年度は書籍購入制度を使いまくった自負があります、にぬねです。

今回はAPIに関する本を色々読んでみたので、ゆるく紹介します。
ブログ内の「“おすすめ本”タグが付いた記事」もぜひ覗いてみてくださいな。

まえがき(飛ばしていいよ)

前職では組込み系システムをC言語で開発していましたが、
スキルチェンジでJavaへ言語変更したい, Webシステム触りたいという願望を持ってルトラに入社しました。

Javaの書き方を学びつつ資格とりつつ、既存コードを真似つつ、指示された内容でコーディングしてPullRequest出してレビューもらってマージして、徐々に設計に食い込んで…と開発作業はできるようになったのはいいものの…。

そもそも”いい”コードってなに?
そもそも”Webシステム”って全体像どんなんだ?
そもそも”いい”システムアーキテクチャとは?
そもそも”いい”APIってなに?
…という疑問にぶち当たっていった訳ですね。
色々な現場を経験していると、それぞれの現場でヨシとされるものが違ったんですよね。
(これ、セオリーや正解ってないのか?)と気になるわけですよ。

現場含めた先輩に聞いたりエンジニア本大賞やら見ながら、
ちょっとずつ知識を入れてぐるぐるしている今日このごろでございます。

APIは今のところ、ダニング・クルーガー効果でいう”絶望の谷”まで到達しました。ナニモワカラナイ…。セオリーがあっても現場の事情によってそりゃ正解は違う…。

まだまだ学べるとよさそうなことが多いなぁ、ということだけが分かっています。
20代のころは、エンジニア自体の”絶望の谷”を感じてエンジニアやめようとしたこともありましたが、なんだかんだ啓蒙の坂の序盤くらいには来ましたかね。

 

読んだAPI本たち

と、いうことで本編です。

割と伝統的なというか、王道から読んでいったのですが、
結果的に読んだ順=オススメ順です。
これから書く感想はすべて筆者の超個人的な感想です。2周目読んだらまた違うかもしれません。
(画像からAmazonに飛べます。アフェリエイトじゃないのでご参考まで!)

Web API: The Good Parts (O’Reilly Japan)

言わずと知れたオライリー本。
まずAPI本は何から読むといいですか?って聞かれたらこれを激推しします。2014出版ですが、ぜんぜんイケる。(本の中で紹介されてるリンクがもうサービス終了してる、とかはありますが)
王道中の王道。いっちばん読みやすくて、いっちばんまとまっていますし、いっちばん現場でも取り入れやすい実践的な内容だと思う。例も馴染みやすい、想像しやすい。最新の爆イケAPIを作りたいなら別かもしれませんが、SESや転職で色んな現場に行くための下地の知識として、とてもいいです。
Qiitaとかで最新の記事読めば十分っしょ、という意見も見かけましたが、個人的には「体系化されて古い経緯も知れて網羅性が高く現場エンジニアからの知名度がありそう」という点でこの本を読んでおくのは色々な意味で有効だなと思っています。
「なんかAPIのことよく分からんけど概要をさらっておきたいな。」
「うちの現場GETとPOSTのメソッドしか使わないんだが…?」
「HttpStatusってなんか色々あるのは知ってるけど…」
など思う方は読んでみてほしい。

リンクをamazonにしといてアレですが、kindleがなく紙本だとでかいのでeBookとして本家オライリーから買うのもオススメです。
一旦これを読んで「完全に理解した」まで到達しましょう。

Web APIの設計 (翔泳社)

「APIって、結局のところインタフェースなんだよ」というAPIへの概念やコンセプトが染み込んでいく本。
UIってこうじゃろ?このAPI…UIでやったらこういう製品ぞ?使えそ…?みたいなことが出てくるので、
(あ、はいスミマセン。嫌っすね…)と思いながら読めます。
またオライリー本はREST(ぽいもの)中心ですが、この本を読むとなんとな~く「REST, gRPC, GraphQL」の関係性も理解できます。
使われることが多いREST APIについてをオライリーで何となく知ったら、
「APIってREST以外にもあるんか、APIってそもそもインタフェースとしてこういうの気にするとええんか」
をこの本で読めると良さそうです。
概念的な上流設計レベルの感じで、よいAPIについて考える本です。

Web API設計実践入門──API仕様ファーストによるテスト駆動開発(技術評論社

「俺が思うWebAPIの作り方」って感じの本です。
著者の思想強めかな~。柴田さんは何冊か本出しててずっと現役感のあるすごいエンジニアさんですね。この本では表紙の通りgRPCを例にしているので、現場でgRPC APIを採用している人はよいかも。
テスト駆動開発ということもあり、API自体というより、テストについての方が比重高いですかね。
言ってることは分からんでもない。現場ですぐ取り入れられるかというとちょっとむずそう。内容的には読みやすいのでさらっと消化できるかも。
こういうやり方もあるんですね~、で読むと良さそうな本です。

APIデザイン・パターン (マイナビ出版

「API作ってるとこういうパターンで悩むんだな」ということを流し読むのにはいい本です。
悩みパターンの把握に努めて、自分の現場にすぐ適用できる回答(ベストプラクティス)はあまり求めない方がよいかもしれません。
本への評価コメントで分かるのですが、誤訳・誤植があったり、日本語で書いてあるけど日本語でおkって感じなので、文章を読んでも広大なハテナが広がる本です。
ちゃんと中身を知っておかなきゃ!って思って読むよりは、諦めて軽い気持ちで読み流しましょう…。読むのに一番時間と気力が掛かりました。
4冊目ということもあって(知りたいのはその中身どう実装すんねんが気になるんだよな~)となってきますね。
「現場で見かける実装を思い浮かべながら(理想はこうなの…か?本当か…?)」「あーこのパターンあるよね分かる~」ぐらいの感じで、パターンや問題提起を知る補助として読んでみてはいかがでしょうか。
(出版日もまだ多少新しい方だし細かいこといいからGoogleの出したベストプラクティス真似すりゃいいんだろ!と、もし1冊目にこれを読んでいたらたぶんAPI苦手意識がでますw)

あとがき

いかがだったでしょうか。今回は4冊のAPI本を紹介しました。
(こういうTheブログ記事っぽい一文を書きたいだけ…w)

API本はまた新しいのも出ていますが、一旦ここまでで。

他にも、openApiでOAS書くこと/読むことになったぞ…とかがある場合は、
udemyなどで学んでみるのもオススメです。
私は現場がRESTかつswaggerも見かけてたので、以下を受けましたね。
REST WebAPI サービス 設計

もちろんこれらを読んだだけで、いいAPIが作れるわけもなく…。
ちょうどAPI本を読み始めた数ヶ月後から現場で新サービス作ることになって仕様検討やOAS書くところから入れてもらいました。
この場合PUTかPOSTか、PATCHが正しいようにも見えるが…とか、
初期状態でリソースがないのは当たり前なので404じゃないほうがいいんじゃないか?いやリソースがないことには変わりないのだからうんぬん,でもモニタリングの上でうんぬん…これ一般的にも割と沼議論らしいぞ…とか。
結局本を読んでも、知識が少しあったところで何が正解かは現場による、と帰着するわけで。
本当に、本っっっ当に、「ナニモワカラナイ」にすら到達していないのではと不安になるぐらい「ナニモワカラナイ」になりますw
早く「チョットワカル」に到達したい…。

でも現場でのAPIの見方が少し増えて、議論というか質問というか、少しだけステップは上げられた気がします。

まだまだシステム開発の長い旅は続きますが、視点が増えた世界はおもろいので
引き続き興味のままに学べたらなと思います。

技術本はお値段高いですが、気になったものは福利厚生使いながら吸収していきたいです。

もし興味がわいた本があれば、まずは1冊1ページからぜひぜひ。

にぬね

にぬね

「踊る阿呆に見る阿呆、同じ阿呆なら踊らにゃ損々」
とりあえず興味のむくままに動く人。
なんでも検索しちゃう。
夕方の帰り道に世界が青く見える現象の名前を永遠に覚えられなくて毎回検索している。
おそらく社内ブログ随一の長文タイプ。反省はしている。後悔はしていない。

関連記事

福利厚生
2025.03.31
面白いけど胃が痛くなる本を読んだので紹介したい
ボンレスハム
ボンレスハム
その他
2025.03.21
エンジニアが語る、眼精疲労も運動不足もゴルフで解消!
とぅ~
とぅ~
その他
2025.02.26
【意外】らーめん消費量日本一の魅力ををもっと広めたい
△山
△山
福利厚生
2025.02.26
健康診断前の悪あがき
kana
kana