
Spring Boot: Từ thực tế (Nhập môn)
Hong
Bạn có thể tìm hiểu về cách gửi email sử dụng AWS và Spring. Thông qua đó, bạn có thể nghiên cứu cách xây dựng hệ thống xác thực email.
Basic
AWS, Spring Boot, JPA
Spring Boot、MySQL、Docker、AWS EC2、RDSで、バックエンドサービスの一連のサイクルを完成させてみます。 アプリケーションのデプロイを通じて達成感を得て、API開発時に現場でサーバー開発者が直面する問題とその解決策を扱います。
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は開発者が最も頻繁に使用するバージョン管理ツールですが、単にコードを保存する目的を超えて、コラボレーションと品質管理の重要な役割を果たします。一人で作業するときはcommit
、 push
、 pull
程度の基本命令でも十分に見えますが、チーム開発ではブランチ戦略コミット履歴管理などより構造的なアプローチが必要です。
実際のビジネスでは、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分)
講座資料(こうぎしりょう):
34. コメントエンティティとAPI設計
08:11
35. コメントサービス
09:57
36. 掲示板のコメント数保存
06:04
38. コメントAPIテスト
08:54
48. Git でコード構成管理する
03:46
全体
7件
5.0
7件の受講レビュー
受講レビュー 2
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
5
Buổi học rất bổ ích, chỉ gồm những nội dung trọng tâm!
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.
受講レビュー 4
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
5
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!
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
同じ分野の他の講座を見てみましょう!