강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Back-end

Spring Boot、AWSでバックエンドサービス一サイクル完成する

Spring Boot、MySQL、Docker、AWS EC2、RDSで、バックエンドサービスの一連のサイクルを完成させてみます。 アプリケーションのデプロイを通じて達成感を得て、API開発時に現場でサーバー開発者が直面する問題とその解決策を扱います。

  • apiece
실습 중심
백엔드이해하기
처음하는배포
백엔드
서버
AWS
MySQL
Docker
Spring Boot
JPA

こんなことが学べます

  • Spring Boot

  • Spring Data JPA

  • MySQL

  • ドッカー

  • ドッカーコンポーズ

  • AWS EC2

  • AWS RDS

  • ページネーション

  • JPA 関連関係

  • データベースインデックス

  • トランザクション

  • ギット、ギットハブ

  • CI/CD (Github Actions)

🧑‍💻こんな悩み、やったことありますか?

  • 「YouTubeやブログ見て開発はしてみたんですけど、これが本当の実務で通じるか?確信が入らないんです…」

  • 「APIは作成しましたが、デプロイは常に詰まってしまい、最後まで完成できませんでした

  • 「ローカルでアプリケーションは作成できますが、クラウドやDockerは複雑すぎて見せて回避するんです…」

  • 「私が作ったバックエンドサービス、うまく作りたいのですが、どこから手を出すべきかわからない…」

👉このレッスンは、Spring Bootの開発からAWSデプロイの経験を持つバックエンド開発者になるための1サイクルの完成型レッスンです。

実務バックエンド1サイクル、私も一度完成してみることができます。
Spring Boot · MySQL · AWSで作成するバックエンドプロジェクト

  • このレッスンは単なるCRUDの例ではなく、
    アプリケーション構成→開発→デプロイ→問題のトラブル→機能改善まで経験する
    「実務感覚バックエンドプロジェクト完成過程」です。

  • 主な学習内容は次のとおりです。

    • Spring Boot 3.4.4 & Java 21ベースのバックエンド開発

    • JPAを活用したドメインモデルの設計

    • MySQL&Dockerを使用したデータベース連携

    • AWS EC2、RDS、デプロイ

    • ページネーション、JPA、トランザクション

🎯講義計画の背景

もちゃんとした射手がいなかったバックエンドジュニアでした。
私が作ったプロジェクトはうまくフィットしていますか? 」、「実際にはどのように配布しますか? 」という質問が頭の中をいっぱいにしました。

だからこの講義は
👉機能の実装自体よりも重要な「全体の流れ」
👉 本物に戻るサービスに似た構造
👉展開とメンテナンスまで考慮したバックエンド開発サイクル
を中心に設計しました。


この講義の特徴

📌 Spring Boot、MySQL、AWSベースの実務スキルを一度に習得!
現業でよく使われる技術スタックで「サービスらしい」構造を持つプロジェクトを完成します。

📌実習90%、理論10%。実際に動作するコードで学ぶバックエンド
講義中のすべてのコードは直接テストし、リアルタイムで動作していることを確認します。本当に展開まで経験します。

📌シンプルCRUDを超えて、データの一貫性とパフォーマンス向上まで
トランザクションを通じて、データの一貫性を守り、多様な性能改善を行い、サーバー開発の実務能力を把握できます。

📌初心者のための講義です
Java、Spring Boot 基本機を備えた方が実務に進むための「足」をお届けします。

💡講義だけの差別点は?

  • 単に機能だけに従うチュートリアル型講義ではありません。

  • 序盤には直接小さなアプリケーションを開発、実戦展開し、達成感を得て、

  • 後半に、バックエンド開発者が悩むべき部分を挙げて、一緒に解決することに重点を置きました。

  • 実務で経験した試行錯誤と経験を基にしたバックエンド開発者のノウハウをそのまま盛り込みました。

こんな方におすすめです

「サーバー開発をしてみたいのですが、どうすればいいのかと思います…」

バックエンドサービスの開発に慣れていないので、サーバー開発のために何から始めるべきかわからない。

「アプリケーションをうまく作っているのか確信が持てず、私が合うように開発しているのか分からない。」

Java、スプリングブートを一人で勉強している予備開発者

「最初から最後まで、実際にデプロイ可能なバックエンドサービスを作成したいのですが、AWSにも慣れていません」
ローカル開発に加えて、AWS設定やデプロイに自信がないジュニア開発者。

受講後は

  • 曖昧に感じられたサーバー開発の流れが鮮明になり、企画から設計、開発、展開までバックエンドサービス開発の全サイクルを直接経験してみることができます。
    →この講義を通じて一つのプロジェクトを最初から最後まで完成し、ポートフォリオで自信を持って見せることができる実戦経験を積むことができます。

  • Java の基礎は身につけたが、現業ではどのように開発を始めて改善するか分からず、まさに就職準備生。
    →このレッスンは、実際のサービスのように、Spring Bootアプリケーションの開発からサーバーを開発する際に役立つ改善のヒントを提供するので、実務感を高めるのにぴったりです。

  • ローカルコンピュータでのみ開発してみてクラウドを使ってみたいのですが、検索した通りにしても正常に動作しなくなり、どんどん欲求不満になります。
    →このレッスンでは、 AWSクラウド上のアプリケーションサーバーとデータベースの連携を詳細に説明し、デプロイの恐れをなくします。


このような内容を学びます。

API:クライアントとサーバーの対話、データ要求と応答

APIは、プログラム間の通信のための規則です。レストランのメニューパネルのように、クライアントが何を要求でき、サーバーがどのように応答するかを決定する仕様です。メニューパネルのたとえを使ってAPIの概念を簡単に理解し、実際のWebサービスでどのように活用されるかを学びます。

IntelliJで直接作ってみるAPI開発実習

APIが何であるかという概念だけを聞いて終わりません。 IntelliJを活用して、クライアントとサーバーがデータを送受信するAPIを直接作成し、実務に必要なWebサービスの核心構造を手にすることができます。

Docker:コンテナベース開発のコア構造を理解する

Dockerはどのように機能しますか? dockerdというデーモンプロセスがイメージとコンテナを管理し、私たちはdockerクライアントを介してコマンドを発行します。画像、コンテナ、レジストリなど、Dockerの重要なコンポーネントを理解し、それぞれがどのような役割を果たしているかを構造的に学びます。

AWS EC2: クラウドサーバーに直接アクセスしてみる

クラウドサーバーはもはや見知らぬ存在ではありません。 AWS EC2インスタンスを作成し、ターミナルに直接接続してLinux環境を扱い、実務に必要なサーバー運用の基礎を習得します。ドッカーの設置、ポート開放、セキュリティグループの設定まで手で直接体験してください。

レイヤードアーキテクチャ、DTO、Entityの分離:責任の分離による安定した設計

バックエンドアプリケーションはどのように構造化されますか?レイヤードアーキテクチャはアプリケーションを役割に応じて分離し、メンテナンス性とスケーラビリティを高めます。コントローラ、サービス、リポジトリの各レイヤは明確な責任を持ち、DTOはレイヤ間のデータ配信のためのオブジェクトであり、Entityとは別にする必要があります。なぜこの分離が重要なのか、そしてどのように設計するのかを構造的に学びます。

データベースインデックス:クイック検索のための内部構造の理解

データベースはどのように迅速にデータを見つけるのですか?索引は、表内の特定の列のナビゲーションを高速化するために使用され、本の目次のように機能します。 B-Treeのような内部構造を理解し、どのような状況でインデックスを使用することでパフォーマンスを向上させることができるかを構造的に学びます。

ページネーション対無限スクロール:OFFSETの限界を超えた効率的なデータ提供方法

多くのデータを分割して表示するときによく使用されるOFFSETベースのクエリは、ページが後方に移動するとパフォーマンスが急激に低下します。これは、DBがOFFSETに対応するだけのデータをスキャンした後に必要な結果を返すためです。バックエンドでは、これを解決するためにカーソルベースのページネーションIDベースの範囲ルックアップと同じように改善します。ページネーションと無限スクロール、そのUXの違いだけでなく、パフォーマンス最適化のためのクエリ戦略の変化まで一緒に構造的に調べます。

投稿、コメントの関連付けとトランザクション処理

JPAでは、エンティティ間の関連付け(Post-Commentなど)を確立するときに、変更検出(Dirty Checking)を使用して、トランザクションのコミット時に自動的に変更をデータベースに反映できます。また、トランザクション内で変更検出をどのように活用し、どこまでを1つの作業単位にまとめるべきか、関連関係の設定とともに、安定したデータ処理のための戦略を構造的に学びます。

Gitの使い方:単純な命令を超えてコラボレーションと安定性のための戦略まで

Gitは開発者が最も頻繁に使用するバージョン管理ツールですが、単にコードを保存する目的を超えて、コラボレーションと品質管理の重要な役割を果たします。一人で作業するときはcommitpushpull程度の基本命令でも十分に見えますが、チーム開発ではブランチ戦略コミット履歴管理などより構造的なアプローチが必要です。

実際のビジネスでは、Gitを使用してコードレビューの流れを整理し、展開の安定性を確保し、チームメンバー間の作業を並列に実行できる基盤を構築します。 Gitを適切に活用することで、コラボレーションの過程で発生するクロストークを減らし、開発の生産性を向上させることができます。

基本的な使い方はもちろん、実務からよく使われるブランチ戦略とワークフローまで一緒にまとめてみます。


GitHub ActionsとAWS SSMの連携:OIDCによる安全で便利な認証方式

CI / CDパイプラインからクラウドリソースにアクセスする際の問題の1つは認証方式です。従来は、AWS IAMユーザーキーをGitHub Secretsに登録して使用する方法が一般的でしたが、これは定期的なキーの交換と露出のリスクという負担に従います。

GitHub ActionsでサポートされているOIDC(OpenID Connect)を利用して、IAMユーザーキーなしでAWSリソースに安全にアクセスできます。 GitHubによって発行されたトークンをAWSが検証した後に一時的な権限を付与する方法で、別のキー管理なしでセキュリティと利便性の両方を持つことができます。

GitHub Actions と AWS OIDC の連携構造を調べて、実務でどのように適用できるかを具体的な設定方法で学習します。

受講前の注意

🛠使用ツールと環境

  • IntelliJ

  • Java 21

  • Spring Boot 3.4.4

  • MySQL(Docker)

  • AWS(EC2、RDS、IAM、SSM)


  • AWSはフリーティア(無料)として使用します。 (追加費用なし)

  • Git、Github

  • Github Actions

学習資料

  • 講義を復習できるようにPDFで提供いたします。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 就活生

  • バックエンド開発者を目指している方

  • バックエンドサーバー開発をゼロからデプロイまで直接やってみたい方

  • バックエンドサービス開発時に留意すべき点と解決法を知りたい方

前提知識、
必要でしょうか?

  • Java 初級以上

  • Spring, Spring JPAはよく知らなくても大丈夫です。講義で一緒に扱います。

こんにちは
です。

69

受講生

7

受講レビュー

6

回答

5.0

講座評価

1

講座

SK를 거쳐, 카카오에서 백엔드 개발자로 일하며
여러 팀과 서비스를 경험하고, 다양한 백엔드 시스템을 설계하고 운영해왔습니다.

 

“배움은 정보를 넘어서 경험으로 이어질 때 진짜가 된다.”

소프트웨어 지식을 실제로 만들고, 연결하고, 운영해보며 체득하는 진짜 경험을 담고 싶었습니다.
이 배움이 여러분의 실무에 도움이 되었으면 좋겠습니다.

カリキュラム

全体

59件 ∙ (8時間 10分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

7件

5.0

7件の受講レビュー

  • gimn700095776님의 프로필 이미지
    gimn700095776

    受講レビュー 2

    平均評価 5.0

    5

    31% 受講後に作成

    • gydo75님의 프로필 이미지
      gydo75

      受講レビュー 1

      平均評価 5.0

      5

      31% 受講後に作成

      • jyw07140279님의 프로필 이미지
        jyw07140279

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        Buổi học rất bổ ích, chỉ gồm những nội dung trọng tâm!

        • apiece
          知識共有者

          Xin chào bạn jyw0714 :) Bạn đã rất vất vả để hoàn thành khóa học! Trong tương lai, chúng tôi sẽ nỗ lực tạo ra những nội dung phong phú hơn nữa với các bài giảng và tài liệu chất lượng. Xin cảm ơn.

      • jaymoon5099님의 프로필 이미지
        jaymoon5099

        受講レビュー 4

        平均評価 5.0

        5

        54% 受講後に作成

        • wjdtjsdnd127786님의 프로필 이미지
          wjdtjsdnd127786

          受講レビュー 1

          平均評価 5.0

          5

          24% 受講後に作成

          Vừa hiểu về công cụ lại vừa thấy kết quả trực tiếp, thật tốt!

          • apiece
            知識共有者

            Xin chào innovation0304 Tôi rất vui khi bạn cảm thấy hài lòng vì đã thấy được kết quả cụ thể. Cảm ơn bạn đã đánh giá khóa học. Trong tương lai, tôi sẽ tiếp tục cung cấp các bài giảng và tài liệu hữu ích thiết thực :)

        ¥12,899

        似ている講座

        同じ分野の他の講座を見てみましょう!