おすすめ本」タグアーカイブ

Java Spring/SpringBoot習得向けおすすめ本

Java新人エンジニア必読!Spring/SpringBoot習得向けおすすめ参考書ロードマップ

Javaの市場需要と若手エンジニアのキャリア戦略

Javaはプログラミング言語の中で最も長い歴史を持ち、2026年現在でも企業システムの中核を担っています。Python、GoLang、Rust といった新言語が台頭する中でも、既存のエンタープライズシステムの運用・保守・改善業務において、Javaのスキルは今後も高い市場価値を維持されると予想されます。

特に若手エンジニアにとって、Java と Spring/Spring Boot の習得は以下のメリットがあります:

  • 求人数が多い:大手IT企業、金融機関、製造業など、あらゆる業界で Javaエンジニアの需要は依然として高い
  • 年収が高い傾向:エンタープライズシステム開発の経験は給与交渉時に有利に働く
  • キャリアパスが豊富:バックエンド開発、クラウドアーキテクチャ、マイクロサービス設計など、幅広い領域へ展開可能
  • モダンな開発手法の学習:Spring Boot は最新のクラウドネイティブ開発、コンテナ化(Docker・Kubernetes)と親和性が高く、次世代技術へのステップとなる

Java21・Spring 6時代のトレンドと参考書の重要性

2023年9月にリリースされた Java 21 は LTS(Long-Term Support)バージョンであり、以下のような革新的な機能が導入されました:

  • 仮想スレッド(Virtual Threads):スケーラビリティの大幅向上
  • レコードと switch 式の拡張:簡潔で読みやすいコード記述
  • テキストブロック(Text Blocks):SQL、JSON の記述がシンプルに

Spring 6 は Java 17 以上をサポートし、GraalVM ネイティブコンパイル対応、AOT(Ahead-of-Time)コンパイル対応など、次世代クラウド環境への適応が加速しています。

しかし、こうした最新トレンドの一方で、基礎を理解することは依然として不可欠です。本ロードマップで紹介する参考書は、モダンな Javaエコシステムの土台となる知識を、体系的かつ実践的に習得するために厳選されたものです。

このロードマップが対象とする読者

このロードマップは以下のような若手エンジニアを想定しています:

  • 新卒・既卒で IT企業に就職し、いきなり「Javaを学べ」と言われている人
  • Python や JavaScript の経験はあるが、Java は初めての人
  • Spring / Spring Boot を使ったシステム開発に携わることになり、体系的に学びたい人
  • エンタープライズシステムの開発現場で、プロフェッショナルとして活躍したい人

参考書を通じた段階的スキル習得の方針

単なる言語機能の習得ではなく、以下の3つのフェーズを経て、実務で即戦力となるレベルを目指します:

  1. 基礎フェーズ:Java の基本構文、オブジェクト指向の理解
  2. 実践フェーズ:デザインパターン、コード品質、Web 技術の理解
  3. 応用フェーズ:Spring / Spring Boot、設計思想(DDD)の習得

本記事では、10年以上のエンタープライズシステム開発経験を持つ筆者が、この3つのフェーズを通じて習得すべき良質な参考書を厳選し、各書籍の学習ポイントを詳しく解説します。

本文の構成

本文では、結果で紹介する書籍を1冊ずつ詳しく解説しています。構成は以下の通りです:

Springの3冊を最初に学習

まずプロになるためのSpring入門Spring徹底入門Spring Boot 3 プログラミング入門の3冊を紹介します。JavaでSpringを本格的に使うために必要な知識が詰まっており、DIコンテナの理解やフレームワークの使い方を学べます。

Java基礎から応用までの8冊

その後、やさしいJava からスタートして、入門書2冊で基礎を固め、プロになるJavaでレベルアップ。デザインパターンリーダブルコードオブジェクト指向など、実務で必要な知識を段階的に学んでいきます。最後にWebを支える技術で、Webシステム開発に必要な基礎知識を習得します。

番外編:ドメイン駆動設計の3冊

最後に、良い設計を目指す人向けに、ドメイン駆動設計入門から始まり、エリック・エヴァンスのドメイン駆動設計実践ドメイン駆動設計へとステップアップする3冊を紹介します。

想定読者

  • 仕事を始めていきなり「とりあえずJava出来るようになって」と言われた人
  • JavaをSpringまで理解したい人

結果

いきなり結果です。
忙しい人はとりあえず結果だけご覧ください。

Spring良書

  1. プロになるためのSpring入門
  2. Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
  3. Spring Boot 3 プログラミング入門

Java良書8選

  1. やさしいJava
  2. スッキリわかるJava入門
  3. スッキリわかるJava入門 実践編
  4. プロになるJava
  5. Java言語で学ぶデザインパターン入門
  6. リーダブルコード
  7. オブジェクト指向でなぜつくるのか
  8. Webを支える技術 ―― HTTP,URI,HTML,そしてREST

番外編:ドメイン駆動設計良書3選

  1. ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本
  2. エリック・エヴァンスのドメイン駆動設計
  3. 実践ドメイン駆動設計

それではここから1冊ずつ紹介です。

プロになるためのSpring入門

最初はプロになるためのSpring入門です。

プロになるためのSpring入門

Springを学ぶ最初の一冊がこれです。
Springを理解する上で最も重要なDIコンテナについて、実装はもちろん概念/理解する上でのイメージ図を含めて詳しく書かれているところが、プロを名乗るだけのことはある良本だと思えました。
JavaからSpringにそのまま学習を進めるのに最適な一冊で、同等の知識レベルで書かれています。

Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発

次はSpring徹底入門 Spring FrameworkによるJavaアプリケーション開発です。

Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発

数あるフレームワークの中でも、Javaで本格的なシステム開発をする際に必ず言っていいほど出てくるフレームワーク(その後、ほぼ採用されるフレームワーク)がSpring Frameworkです。具体的なシェアは把握していませんが、私が経験したプロジェクトではほぼ使用されていました。そのSpring Frameworkを初めて学ぶ方におすすめの入門書がこの一冊です。
この本は、初心者から中級者までを対象に、Spring Frameworkの基本から応用までをわかりやすく解説しています。多くの開発者に支持され、Springを学ぶ際に手に取るべき書籍とされています。その人気の証として、2024年5月には待望の第2版が発売されました。
最新の情報とともにさらに充実した内容で、Spring Frameworkの理解を深め、読者のスキルアップに貢献する一冊となると思います。
今やSpring Frameworkを扱う場合、必ず購入する本になっているのではないでしょうか。

Spring Boot 3 プログラミング入門

いよいよJava10冊のラストはSpring Boot 3 プログラミング入門です。

Spring Boot 3 プログラミング入門

クラウド開発がデファクトスタンダードになっている今では、SpringからSpring Bootという選択肢が増えていると思います。
Spring Bootに特化している参考書がまだまだ少ないのでこの本だけでは足りない部分もありますが、Spring Bootの入門書としての位置付けではこの本がマストと考えています。
人気書籍だったSpring Boot 2プログラミング入門の改訂版で、2023年2月27日発売のJDK17、Spring 6対応です。

やさしいJava

ここからはSpringを学ぶ前にJavaを基礎から学びたい人のための本の紹介です。最初はやさしいJavaです。

やさしいJava

Javaの入門書は今となっては多すぎるほどあるのですが、まずは入門書としてタイトルの通り非常にわかりやすいこの本から入るのがいいかなと思っています。
Javaの特徴として、プログラムの理解もありますが、他の言語に比べわかりにくい専門用語多く、初心者には最初のハードルがまず高い事が挙げられると思っています。
そのあたりをうまく説明して導入時の挫折が避けられるのが、この1冊からスタートすることかなと思って選出しています.

スッキリわかるJava入門

次はスッキリわかるJava入門です。

スッキリわかるJava入門

私の経験からですが、プログラミングの入門書は1冊では足りないと思っています。
理由としては、入門書だけで書ききれない重要なことが多く1冊では網羅できないこと。専門用語の解説がわかりやすい表記ではあるのですが、自分の中ですっきり理解できるかはその人の今までの経験によるところがあるからです。
そのため、入門書の位置付けで2冊目の紹介です。
2冊を読み比べて本当に重要なところ、わかりにくい概念の表現方法を比較して自分の理解力を高めることが重要と考えています。
人気シリーズのため最近実践編とともに第4版が発売されました。

スッキリわかるJava入門 実践編

次はスッキリわかるJava入門 実践編です。
タイトルの通りですが、スッキリわかるJava入門の続編です。

スッキリわかるJava入門 実践編

やさしいJavaと入門編でじっくり基礎を固めた後に実践編に入る流れで読み進めるといいかなと思います。

プロになるJava

次はプロになるJavaです。
タイトルの通りですが、ここからプロになりましょう(^^)

プロになるJava

ここまでで基礎を固める -> 実践を学ぶ -> プロになる というレベルアップを想定しています。
印象としては、実践を学ぶ -> プロになる 部分はちょっと飛躍的レベルアップなのですが、その部分は実際に自分の手を動かしてプログラミングした結果や実際やったこと読んだことをGoogle検索等で補完しながらレベルアップすることを想定しています。(ここまで読んだ読者ならそれが出来るだけのレベルアップがされていると考えています)

この本は、ITエンジニア本大賞2023 技術書部門ベスト10にも選ばれました。(Java関連の本で2023年のベスト10に選ばられるのは非常に凄い事だと思っています)これでJavaを仕事にする人は、必ず読んだ方が良い本になったのではないでしょうか。

Java言語で学ぶデザインパターン入門

プロになったら次はデザインパターンを学びましょう。

Java言語で学ぶデザインパターン入門

正直プロなったところがJavaで給料をもらえるというスタートラインと思います。
つまり、ここまでのJavaプログラマーでは現場で技術力の差別化が出来ません。
そこで、オッこの人はJavaがかなり出来るなと思ってもらえるようにデザインパターンを学びましょう。
現場でこれはGoFのAdapterのデザインパターンですね。なんて、会話が出来るとJavaで自信をもって仕事をしているなと言えると思います。
本書は、2001年に発売されて以来、増補改訂され2021年に発売されたものです。
実際のコードが記載されているのはもちろんのこと、デザインパターンの概念や用途を直感的に理解できるように書かれています。また、デザインパターンの使い方だけでなく、パターンを使わない場合の問題点や欠点、パフォーマンスについても考慮された説明がなされているため、より実践的な学びを得ることができます。
Javaのスペシャリストとして学んでおくべき1冊になっています。

リーダブルコード

次はリーダブルコードです。
Javaを十分学んできたので、ちょっと箸休めです。

リーダブルコード

内容を知っている人は、なぜここでリーダブルコード?と思う人もいると思うのですが、私はこのタイミングがベストと思います。
プログラム初心者が読む本として位置付けされることもあると思いますが、私はJavaが分かってから読むべき(一度読んでいても再読すべき)と考えています。
自身でJavaコードをある程度書けるようになってからこの本を読むとよりリアルな気づきがあると思います。そう言えばあの時書いたあのコード、リーダブルではなかったな。など。
コメントの書き方、関数やメソッドの命名方法、制御フローのシンプル化、適切なフォーマットなどが書かれており、これらのテクニックやスタイルを使うことで、コードの読みやすさが向上し、保守性や拡張性が高まるコードが書けます。
仕事でJavaを書く場合1人で完結しないことが多いです。何人かのチームでJavaを書くときに読みやすいコードを書くことはチームでの開発において非常に重要です。チームで開発を行う場合、コードの読みやすさはコミュニケーションコストを減らし、コードの品質を向上させるために不可欠です。ぜひ1度読んで、プロフェッショナルとして読みやすいコードが書けるように意識してみてください。
ちなみにこの本は少し古いですが、ITエンジニア本大賞2014 技術書部門大賞の本です。

オブジェクト指向でなぜつくるのか

次はオブジェクト指向でなぜつくるのかです。
こちらもJavaに特化した内容ではないため箸休め第2弾です。

オブジェクト指向でなぜつくるのか

そもそもなぜJavaがここまで流行ったのか、オブジェクト指向はどんなに便利なのか、Javaでオブジェクト指向で作るというのはどういうことなのか理解するのに良い本と考えています。

Webを支える技術 ―― HTTP,URI,HTML,そしてREST

次はWebを支える技術 ―― HTTP,URI,HTML,そしてRESTです。
箸休め第3弾(最後の箸休め)です。そろそろプログラムを見ることに疲れた人向けです(^^;)

Webを支える技術 ―― HTTP,URI,HTML,そしてREST

皆さんがJavaを勉強する理由は様々だと思いますが、最近はWebシステムを作るケースが多いのではないでしょうか。
そんな人向けの本になっているので、私はWeb関係ないという人は飛ばしてもらっていいのですが、Javaで「HTTP,URI,HTML,そしてREST」をプログラミングするという人はぜひ読んでおいてください。
コードが書けるだけではWebシステムは完成しません。なぜそのようなコードが必要かを理解できるようになると思います。

番外編:ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本

ここからは番外編になります。
まずはドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本です。
良いプログラムは良い設計の上に成り立ちます。
良いプログラムでも設計がいまいちであればそのシステムは扱いにくいものになるでしょう。

では、良い設計とは何か?
私の中での1つの答えはドメイン駆動設計と思っています。
ここからは設計というさらに上を目指す意識高い系の皆さん向けの番外編になります。

ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本

まずはドメイン駆動設計の入門書という位置づけのこの本を選びました。
最終的なゴールは最後に紹介する実践ドメイン駆動設計になるのですが、実践ドメイン駆動設計をいきなり読んで挫折なく読み切れる人はなかなかいないでしょう。(私も一度挫折しました。。。)
そのため、まずはこの本を入門書として位置付けています。

番外編:エリック・エヴァンスのドメイン駆動設計

次はエリック・エヴァンスのドメイン駆動設計です。

エリック・エヴァンスのドメイン駆動設計

一応、この本を間に挟む順番としました。
この本がなくても実践ドメイン駆動設計を理解できそうという人は直接実践ドメイン駆動設計を読んでもいいのですが、この本を挟んだ方が理解しやすいだろうなぁと思いラインナップに入れています。

番外編:実践ドメイン駆動設計

いよいよ最後実践ドメイン駆動設計です。

実践ドメイン駆動設計

この本の紹介はもはや何もいらないでしょう。
というぐらいドメイン駆動設計と言えば、この本という本になっています。
ただ、前述した通りいきなりこの本を読んで理解できる人は少ないと思うので今回は3冊を紹介する形で記載しました。

まとめ

今回は、Java初心者がSpring/Springbootを使えるようになるまでの10冊とドメイン駆動設計の3冊を紹介しました。
これらを理解すれば間違なく私はJavaのプロフェッショナルです。と、自信をもって仕事ができる人材になれるかなと思って選抜しているので、これからJavaを頑張ろうと思っている人がいたらぜひ参考に1冊でも読んでみてください。

おまけ

Javaの開発環境と言えばEclipseです。
最近はVSCodeも人気になっているのでEclipseのオススメ本が少なくなってきた印象です。
ただこの本は、この1冊読んでおけば困らない。という内容になっているのでまさにパーフェクトガイドだと思います。


JavaエンジニアのためのEclipse パーフェクトガイド

本投稿が少しでも皆さんの良いJavaライフの助けになればと思います( )

AWS Lambda 入門~おすすめ本5冊の紹介~

概要〜サーバレス基礎からAmplifyを使った本格開発までのおすすめ書籍〜

最近、AWS Lambdaの本増えてきましたよね。ということで今回はLambdaのおすすめ本の紹介です。

基礎編から本格的な専門書、アーキテクト、実際にAmplifyを使った開発と徐々にレベルアップする内容になっているのでLambdaを学びたい人は一つずつ読んでいってみてください。

※本ページはプロモーションが含まれています。

Lambdaおすすめ本 5冊

今回紹介するAWS Lambdaのおすすめ本の一覧です。
忙しい方はここだけ確認してください。

基礎から学ぶ サーバーレス開発

基礎から学ぶ サーバーレス開発

まずは基本編です。Lambdaというかサーバレスとは?という導入編です。サーバレスとはどういうものか丁寧に書かれています。まずはサーバでの開発と比較してサーバレスにはどういったメリットデメリットがあるのかこの本で学びましょう。

目次

  • CHAPTER 01 サーバーレスとは
    • 1 サーバーレスの概要
    • 2 サーバーレスが注目された要因と新たなる課題
    • 3 サーバーレスのメリット・デメリット
  • CHAPTER 02 サーバーレス開発でよく使うサービス
    • 4 AWS Lambda
    • 5 Amazon API Gateway
    • 6 Amazon Aurora Serverless
    • 7 Amazon CloudWatch
    • 8 Amazon Simple Queue Service (Amazon SQS)
    • 9 AWS CodeCommit
    • 10 AWS CodePipeline
    • 11 AWS CodeBuild
    • 12 AWS CodeDeploy
    • 13 Amazon Simple Storage Service (Amazon S3)
    • 14 AWS Step Functions
    • 15 Amazon DynamoDB
    • 16 AWS Cloud9
    • 17 AWS X-Ray
  • CHAPTER 03 サーバーレスアプリケーションの構築
    • 18 フレームワーク
    • 19 CI/CD
    • 20 AWSにおけるCI/CD
    • 21 デプロイ手法
    • 22 トラフィックシフト
    • 23 昇格
  • CHAPTER 04 サーバーレスの運用監視
    • 24 サーバーレスのコスト
    • 25 サーバーレスにおける監視
  • CHAPTER 05 サーバーレス開発におけるセキュリティ
    • 26 サーバーレス開発におけるセキュリティの考え方
    • 27 Lambda@Edgeの利用
  • CHAPTER 06 サーバーレスの構築例
    • 28 完全サーバーレスでのWebページ構築事案
    • 29 完全サーバーレスでのWebページのバッチ部分
    • 30 APIバックエンドにAmazon RDSを用いた事例および2019年のアップデートについて
    • 31 サーバーレスで作る在宅勤務中の勤務時間登録システム
    • 32 AWS LambdaをAlexaのエンドポイントとして使う事例
  • CHAPTER 07 サーバーレスの失敗談と問題解決
    • 33 失敗談①~Amazon RDSを起動させ続けた
    • 34 失敗談②~AWS Lambda でスロットリングが発生してしまった
    • 35 SPA+サーバーレスで再読み込みをするとAccessDeniedになってしまう問題の解決方法

AWSではじめる クラウド開発入門

AWSではじめる クラウド開発入門

東大の人気授業が書籍化された内容です。Lambdaに限らずクラウド開発入門という位置付けなのでいろんな開発内容が書かれていて、クラウドでこうやって開発するんだとわかる内容になってます。最後の方は、かなり実践的で勉強になります。

目次

  • Chapter 1 はじめに
    • 1-1 本書の目的内容
    • 1-2 本書のフィロソフィー
    • 1-3 AWS アカウント
    • 1-4 環境構築
    • 1-5 前提知識
    • 1-6 本書で使用する表記について
  • Chapter 2 クラウド概論
    • 2-1 クラウドとは?
    • 2-2 なぜクラウドを使うのか?
  • Chapter 3 AWS入門
    • 3-1 AWSとは?
    • 3-2 AWSの機能・サービス
    • 3-3 Region と Availability Zone
    • 3-4 AWSでのクラウド開発
    • 3-5 CloudFormationとAWS CDK
  • Chapter 4 Hands-on #1:初めてのEC2インスタンスを起動する
    • 4-1 準備
    • 4-2 SSH
    • 4-3 アプリケーションの説明
    • 4-4 プログラムを実行する
    • 4-5 小括
  • Chapter 5 Hands-on #2: AWS でディープラーニングを実践
    • 5-1 なぜ機械学習をクラウドで行うのか?
    • 5-2 GPU による深層学習の高速化
    • 5-3 準備
    • 5-4 アプリケーションの説明
    • 5-5 スタックのデプロイ
    • 5-6 ログイン
    • 5-7 Jupyter Notebook の起動
    • 5-8 PyTorch はじめの一歩
    • 5-9 実践ディープラーニング! MNIST手書き数字認識タスク
    • 5-10 スタックの削除
  • Chapter 6 Docker 入門
    • 6-1 クラウドシステムの構築に向けて
    • 6-2 機械学習の大規模化
    • 6-3 Docker とは
    • 6-4 Docker チュートリアル
    • 6-5 Elastic Container Service (ECS)
  • Chapter 7 Hands-on #3 : AWS で自動質問回答ボットを走らせる
    • 7-1 Fargate
    • 7-2 準備
    • 7-3 Transformer を用いた question-answering プログラム
    • 7-4 アプリケーションの説明
    • 7-5 スタックのデプロイ
    • 7-6 タスクの実行
    • 7-7 タスクの同時実行
    • 7-8 スタックの削除
  • Chapter 8 Hands-on #4: AWS Batch を使って機械学習のハイパーパラメータサーチを並列化する
    • 8-1 クラウドを用いた機械学習モデルの最適化
    • 8-2 AWS Batch
    • 8-3 準備
    • 8-4 MNIST 手書き文字認識(再訪)
    • 8-5 アプリケーションの説明
    • 8-6 スタックのデプロイ
    • 8-7 Docker image を ECR に配置する
    • 8-8 単一のジョブを実行する
    • 8-9 並列に複数の Job を実行する
    • 8-10 スタックの削除
    • 8-11 クラウドを用いた機械学習アプリケーションの開発とデバッグ
    • 8-12 小括
  • Chapter 9 ウェブサービスの作り方
    • 9-1 個人のためのクラウドからみんなのためのクラウドへ
    • 9-2 ウェブサービスの仕組み Twitter を例に
    • 9-3 REST API
    • 9-4 Twitter API
  • Chapter 10 Serverless architecture
    • 10-1 Serverful クラウド (従来型)
    • 10-2 Serverless クラウドへ
    • 10-3 サーバーレスクラウドを構成するコンポーネント
  • Chapter 11 Hands-on #5: サーバーレス入門
    • 11-1 Lambda ハンズオン
    • 11-2 DynamoDB ハンズオン
    • 11-3 S3 ハンズオン
  • Chapter 12 Hands-on #6: Bashoutter
    • 12-1 準備
    • 12-2 アプリケーションの説明
    • 12-3 アプリケーションのデプロイ
    • 12-4 API リクエストを送信する
    • 12-5 大量のAPIリクエストをシミュレートする
    • 12-6 Bashoutter GUI を動かしてみる
    • 12-7 アプリケーションの削除
    • 12-8 小括
  • Chapter 13 Hands-on #7: boto3 道場
    • 13-1 boto3 の基本
    • 13-2 S3 道場
    • 13-3 DynamoDB 道場
    • 13-4 小括
  • Chapter 14 Hands-on #8: シン・Bashoutter
    • 14-1 シン・Bashoutter プロジェクトの概要
    • 14-2 STEP1:ドメインの設定とCloudFront の配置
    • 14-3 STEP2:Cognito によるユーザー認証の追加
  • Chapter 15 Hands-on #9: 深層学習を用いたアート自動生成アプリケーション
    • 15-1 Neural Art Canvas プロジェクト
    • 15-2 Neural style transfer
    • 15-3 ローカルで Neural style transfer を実行
    • 15-4 Step Functions
    • 15-5 Lambda layers
    • 15-6 アプリケーションの説明
    • 15-7 アプリケーションのデプロイ
    • 15-8 画像の生成 (コマンドラインから)
    • 15-9 画像の生成 (GUIから)
    • 15-10 アプリケーションの削除
  • Appendix 環境構築
    • A-1 本書で必要な計算機環境
    • A-2 AWS アカウントの取得
    • A-3 AWS のシークレットキーの作成
    • A-4 AWS CLI のインストール
    • A-5 AWS CDKのインストール
    • A-6 WSL のインストール
    • A-7 Docker のインストール
    • A-8 Python venv クイックガイド
    • A-9 ハンズオン実行用の Docker image の使い方

AWS Lambda実践ガイド 第2版 impress top gearシリーズ

AWS Lambda実践ガイド 第2版

ここからがLambdaの本格化書籍です。まずはLambdaの専門書といったらこれという一冊です。人気本で第二版も発売されてます。Lambdaの基礎からSAMを使った本格化開発まで記載されている良書です。Lambdaの専門書としてまずはこの本をおさえた方が良い内容になってます。

基本を抑えつつ現場で役に立つバージョン管理やエイリアスといった運用面の記載や、コールドスタートやコネクションなど現場で知っておかなければならない制限事項についても書かれており、本当にLambdaと言ったらこれという良書だと思います。

目次

  • 第1章 Lambda で実現するサーバーレスシステム
  • 第2章 Lambda 事始め
  • 第3章 Lambda の実行環境とイベント
  • 第4章 Lambda の開発環境と SAM
  • 第5章 S3 のイベント処理
  • 第6章 API Gateway、DynamoDB、SES との連携
  • 第7章 SQS やSNS を使った連携

AWSによるサーバーレスアーキテクチャ

AWSによるサーバーレスアーキテクチャ

アーキテクト部分からの一冊です。サーバレスアーキテクチャの本ということですが、Lambdaの解説書になっているのでLambdaの専門書という一面もあります。基礎からアーキテクトまで書かれていて参考になります。

目次

  • 第1部 導入
    • 第1章 サーバーレスの世界へ
      • 1.1 ここに至るまでの流れ
      • 1.2 サーバーレスアーキテクチャの原則
      • 1.3 サーバーからサーバーレスへの乗り換え
      • 1.4 サーバーレスの長所と短所
      • 1.5 まとめ
    • 第2章 アーキテクチャとパターン
      • 2.1 ユースケース
      • 2.2 アーキテクチャ
      • 2.3 パターン
      • 2.4 まとめ
    • 第3章 サーバーレスアプリケーションの構築
      • 3.1 24-Hour Video
      • 3.2 Amazon SNS の設定
      • 3.3 動画ファイルのアクセス権限の設定
      • 3.4 メタデータの生成
      • 3.5 仕上げ
      • 3.6 演習問題
      • 3.7 まとめ
    • 第4章 クラウドの設定
      • 4.1 セキュリティモデルとID管理
      • 4.2 ログとアラート
      • 4.3 料金
      • 4.4 演習問題
      • 4.5 まとめ
  • 第2部 コア機能
    • 第5章 認証と認可
      • 5.1 サーバーレス環境における認証
      • 5.2 24-Hour Videoへの認証の追加
      • 5.3 AWS との統合
      • 5.4 委任 トークン
      • 5.5 演習問題
      • 5.6 まとめ
    • 第6章 オーケストレーターとしての AWS Lambda
      • 6.1 AWS Lambdaの内部
      • 6.2 プログラミングモデル
      • 6.3 バージョニング、エイリアス、環境変数
      • 6.4 CLI の使い方
      • 6.5 AWS Lambdaのパターン
      • 6.6 Lambda関数のテスト
      • 6.7 演習問題
      • 6.8 まとめ
    • 第7章 Amazon API Gateway
      • 7.1 インターフェイスとしてのAmazon API Gateway
      • 7.2 Amazon API Gateway の操作
      • 7.3 ゲートウェイの最適化
      • 7.4 ステージとバージョン
      • 7.5 演習問題
      • 7.6 まとめ
  • 第3部 アーキテクチャの拡張
    • 第8章 ストレージ
      • 8.1 賢いストレージ
      • 8.2 セキュアなアップロード
      • 8.3 ファイルへのアクセス制限
      • 8.4 演習問題
      • 8.5 まとめ
    • 第9章 データベース
      • 9.1 Firebase 入門
      • 9.2 24-Hour VideoへのFirebase の追加
      • 9.3 ファイルへのアクセスの保護
      • 9.4 演習問題
      • 9.5 まとめ
    • 第10章 仕上げの学習
      • 10.1 デプロイとフレームワーク
      • 10.2 よりよいマイクロサービスのために
      • 10.3 AWS Step Functions
      • 10.4 AWS Marketplaceが開くビジネスチャンス
      • 10.5 これからの展開のために
  • 付録A サーバーレスアーキテクチャのためのサービス
    • A.1 Amazon API Gateway
    • A.2 Amazon SNS (Simple Notification Service)
    • A.3 Amazon 53 (Simple Storage Service)
    • A.4 Amazon SQS (Simple Queue Service)
    • A.5 Amazon SES (Simple Email Service)
    • A.6 Amazon RDS (Relational Database Service) & Amazon DynamoDB
    • A.7 Amazon CloudSearch
    • A.8 Amazon Elastic Transcoder
    • A.9 Amazon Kinesis Data Streams
    • A.10 Amazon Cognito
    • A.11 Auth0
    • A.12 Firebase
    • A.13 その他のサービス
  • 付録B インストールとセットアップ
    • B.1 システムの準備
    • B.2 IAM ユーザーとCLI のセットアップ
    • B.3 ユーザーアクセス権限の設定
    • B.4 新しいS3バケットの作成
    • B.5 IAMロールの作成
    • B.6 Lambda関数のための準備
    • B.7 Amazon Elastic Transcoder の設定
    • B.8 npm のセットアップ
  • 付録C 認証と認可について
    • C.1 認証と認可の基本
    • C.2 JWT
  • 付録D AWS Lambdaの内部
    • D.1 実行環境
    • D.2 制限
    • D.3 古いランタイムの扱い方
  • 付録 E モデルとマッピング
    • E.1 動画リストの取得
  • 付録 F Amazon S3のイベントメッセージ構造
    • F.1 S3 イベントメッセージの構造
    • F.2 覚えておくべきこと
  • 付録 G Serverless Framework & AWS SAM
    • G.1 Serverless Framework
    • G.2 AWS SAM
    • G.3 まとめ

AWS Amplify Studioではじめるフロントエンド+バックエンド統合開発

AWS Amplify Studioではじめるフロントエンド+バックエンド統合開発

最後はより実践編という位置付けでAmplifyを使った開発の内容の本にしました。Lambdaの基礎ではないため、これまでの本で基礎をおさえつつ再度のAmplifyでアプリ開発の本格入門という位置付けの本のしています。Amplify自体いろんな機能があって覚えることがたくさんなのですが、それら丁寧に解説してくれる内容になってます。

Lambdaの真価が問われるのはバックエンドとしてフロントエンドから連携されたアプリだと思っており、それを簡単に実現してくれるAmplifyには個人的には非常に期待しています。本の内容としては、Amplifyの一機能としてLambdaの使用方法を説明した内容になるのでLambdaに特化した内容ではないのですが、実業務でのLambdaで完結することはあまりないと思うで、一番実践に近い本だと思っています。

目次

  • Chapter1 AWS Amplifyを使おう
    • 1.1. AWS Amplifyを準備する
    • 1.2. サンプルアプリを作成する
  • Chapter2 Amplify Studioでバックエンドを設計する
    • 2.1. Reactアプリケーションの作成
    • 2.2. Amplify Studioとユーザー認証
    • 2.3. データモデルの設計
  • Chapter3 FigmaによるUI設計
    • 3.1. Figmaの基本操作
    • 3.2. Figmaでデザインする
    • 3.3. グラフィックの作成
    • 3.4. データモデル用のコンポーネントの利用
  • Chapter4 Reactによるフロントエンド開発
    • 4.1. Reactアプリケーションの基本
    • 4.2. Reactコンポーネントの設計
    • 4.3. ステートフックと副作用フック
    • 4.4. Reactコンポーネントを活用する
  • Chapter5 DataStoreによるデータベースアクセス
    • 5.1. コレクションコンポーネントの利用
    • 5.2. ReactとDataStoreの利用
    • 5.3. モデルデータの操作
  • Chapter6 GraphQLによるデータの利用
    • 6.1. Amplify MockとGraphQL
    • 6.2. コードからGraphQLを利用する
    • 6.3. GraphQLによるデータの書き換え
  • Chapter7 S3ストレージとLambda関数
    • 7.1. Amazon S3の利用
    • 7.2. ファイルの基本操作
    • 7.3. Lambda関数の利用
    • 7.4. LambdaからAWSの機能を使う
  • Chapter8 JavaScriptベースによるフロントエンド開発
    • 8.1. JavaScriptベースのアプリケーション作成
    • 8.2. Amplifyの機能を利用する