Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Back-end

Spring Bootで直接作りながら学ぶ大規模システム設計 - 掲示板

大規模なデータとトラフィックをサポートするシステムを、Spring Boot を使用して直接作成しながら学習します。

  • kuke
이론 실습 모두
시스템설계
Spring Boot
MySQL
Redis
Kafka
Java

学習した受講者のレビュー

こんなことが学べます

  • 大規模システム設計

  • マイクロサービス アーキテクチャ

  • イベント駆動型アーキテクチャ

  • 分散システムの理解

  • 同時性問題を扱う方法

  • MySQL、Redis、Kafka の理解と実践的な活用戦略

  • データベース インデックスを活用した大規模データ クエリ最適化

  • 複雑な階層テーブルの設計と最適化

  • 高い書き込みトラフィックでもデータの一貫性を保証する方法

  • イベント ストリームの処理と非同期アプリケーションの構築

  • イベントの損失を防ぐためのシステム構築

  • 大規模なトラフィックと複雑なアーキテクチャで活用できる方法論

  • さまざまな要件に適用できるパフォーマンス最適化戦略

  • キャッシュ最適化戦略

ITサービス大企業開発者の大規模システム実践開発ノウハウ!

このレッスンでは、大規模なシステム構築するための技術的知識方法論を説明し、 Spring Boot直接コードを作成して作成します。

ITサービス大企業が大規模なシステムを支え、経験し本番開発ノウハウを提供します。

技術の選定と悩みの過程も詳しく説明し、設計を作っていく過程数百枚のイメージ資料とともに見ていきます。

以下の方におすすめです。

  • 大規模なデータやトラフィックをどのように処理するのか気になる人


  • パフォーマンス最適化が気になる人

  • キャリアはあるが交通経験はない人

  • 単に理論だけを説明するよりは、実際にどのように作るのか気になる人

  • Spring Bootで掲示板を1回以上開発した人

  • データベースの基礎と簡単なSQLの作成方法を知っている人


選手の知識

  • Spring Boot

Spring Bootの動作原理や使用方法については説明しません。

  • Java

Java 21を使用しますが、複雑な最新の文法を使用していないため、必ずしも21バージョンについて知る必要はありません。 Java 8以降の文法を学習したら十分です。

  • リレーショナルデータベースとSQL基礎文法

リレーショナルデータベースの基礎知識、SQL基礎文法については説明しません。 CREATE、SELECT、UPDATE、DELETE文法だけを書くことを知っておくと十分です。

RedisとKafkaは講義で説明されているので、選手の知識は必要ありません。

  • Computer Scienceの知識

CS知識の基礎があれば、理解が容易になりますが、絶対に必須ではありません。

技術スタックとツール

  • Spring Boot 3.3.2

  • Java 21

  • JPA

  • Gradle

  • MySQL 8.0.38

  • Redis 7.4

  • Kafka 3.8.0

  • IntelliJ IDEA


特定のバージョンに拘束される講義ではありませんが、円滑な練習のために同じ環境をお勧めします。

他の言語やフレームワークを使用しても、概念と設計方法は同じです。これらの部分を直接検討して開発できる場合は、スプリングブートを使用しなくても学習できます。

JPAについては説明しませんが、基礎レベルで扱うので、別途知識はなくても大丈夫です。

次の内容を学びます。

  • 大規模システム設計

  • Microservice Architecture

  • Event-Driven Architecture

  • 分散システムの理解

  • 並行性の問題に対処する方法


  • MySQL、Redis、Kafkaの理解と実践活用戦略

  • データベースインデックスを活用した大規模データクエリの最適化

  • 複雑な階層表の設計と最適化

  • 高書き込みトラフィックでもデータの一貫性を確保する方法


  • イベントストリーム処理と非同期アプリケーションの構築

  • イベント損失防止のためのシステム構築


  • 大規模なトラフィックと複雑なアーキテクチャで利用できる方法論

  • さまざまな要件に適用できるキャッシュ最適化戦略


学習キーワード

#Relational_Database #MySQL #Shard #Replication #Index #Clustered_Index #Secondary_Index #Covering_Index #Query_Plan #Query_Optimization #Primary_Key #Transaction #(De)Normalization #dbms_schema_design #Adjacency_list #Optimistic_Lock #Pessimistic_Lock #Record_Lock #Concurrency_Problem #In-memory_database #NoSQL #Redis #Data_Structure #Distributed_Lock #Event_Streaming #Stream_Processing #Async #Kafka #Distributed_Transaction #Transctional_Me #Transactional_Outbox #CDC #Transaction_Log_Tailing #CQRS #Cache #Request_Collapsing #Distributed_System #Microservice_Architecture #Event_Driven_Architecture

講義で学べるキーワードをまとめてみました。

まだ分​​からないのは当然ですが、講義を通じて上記の概念について学習し実装することになります。

実務でよく扱われる概念であり、各概念の必要性と設計する過程を詳しく説明します。

単純なシステムから複雑なシステムまで、徐々に変化するプロセスの詳細な画像素材

実務での悩み過程まで!

ライブコーディングで実戦開発を経験し、実装能力向上!

Java、Spring Boot、MySQL、Redis、Kafka

これらのツールをどのように活用して開発できますか?

単純なコード操作で止まらず、

さまざまなアーキテクチャ、方法論、デザインパターンを適用し、読みやすさとメンテナンスを容易にする構造設計

実戦開発を通じてさらに成長する機会!

受講前のQ&A

Q.バックエンドとスプリングブートを完全に初めて学ぶのに受講できますか?

A.入門講義ではないため、バックエンドの概念、スプリングの原理と使用方法については説明しません。したがって、スプリングの基礎知識は必須要件であり、よく分からなくても学習しながら学べる姿勢だけで十分です。とても簡単な掲示板でも、少なくとも1回は何かを作った方におすすめです。


Q. MySQL、Redis、Kafka、Dockerを知らないのに受講できますか?

A. MySQLとSQLの基本文法は知っておく必要があります。それ以上の内容や他のツールは講義で何なのか詳細に説明して直接活用するので、知らなくても大丈夫です。


Q.講義だけ頑張れば、すべての内容を理解できますか?

A.講義の内容を正しく学習し、完全に習得するには数倍の時間がかかります。単に目でしか聞こえず、コードだけを一度追いついても、すべての内容を理解することはできません。それほど難しいテーマです。講義を進めながらも継続的に復習し、全体的な構造を把握してみることをお勧めします。また、講義の方向性とは無関係であったり、直接学習が必要と判断した部分は、講義で説明しないため、ただ親切に感じられない場合があります。これらの部分は個人的な学習が必要です。


Q.バックエンドの経験はありますが、スプリングブートではなく他のフレームワークだけを使ってみました。講義を聞くことができますか?

A.コンセプトはすべて同じなので聞いても構いません。ただし、SpringBootでJava言語で書かれたコードのみを提供するため、他の言語に直接移すことができる実装能力は必要になる場合があります。


Q.講義の紹介で言及されたキーワードの一つもわかりません。

A.前提条件で言及された事項だけ満たされれば、講義を通して理論を学習し、コードで直接実装してみるので、よく従うことができれば大丈夫です。


Q.サーバーの展開やクライアントの開発にも対応していますか?

A.ローカルでのみ開発とテストが行​​われ、サーバーの配備やクライアント画面の開発は進行しません。


Q.講義を進めながらクラウドなど追加的な費用がかかるのでしょうか?

A.ローカルでのみ開発とテストが行​​われますので、別途費用は必要ありません。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 大規模なデータとトラフィックをどのように処理するかを知りたい人

  • パフォーマンスの最適化に興味のある人

  • 経験はあるがトラフィック経験がない人

  • 単に理論を説明するだけでなく、実際にどのように作るのかを知りたい人

  • Spring Boot で掲示板を 1 回以上開発したことがある人

  • データベースの基礎と簡単なSQLの作成方法を知っている人

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

  • Java

  • Spring Boot

  • リレーショナルデータベースの基礎

  • SQL 文法の基礎

こんにちは
です。

1,252

受講生

106

受講レビュー

182

回答

4.9

講座評価

2

講座

안녕하세요.

IT 서비스 대기업 개발자로 근무하며, 대규모 시스템을 지탱하기 위해 다양한 기술을 활용해보고 있습니다.

실무 관점의 개발 지식을 공유하고자 개설하였고, 많은 도움이 되었으면 좋겠습니다.

 

[문의]

Email : kukekyakya@gmail.com

カリキュラム

全体

71件 ∙ (13時間 21分)

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

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

受講レビュー

全体

97件

4.9

97件の受講レビュー

  • syh8088님의 프로필 이미지
    syh8088

    受講レビュー 7

    平均評価 5.0

    5

    70% 受講後に作成

    Bạn không nên đánh giá nội dung khóa học chỉ bằng cách nhìn vào danh sách khóa học. Trên thực tế, sau khi nghe bài giảng, đó chính xác là bài giảng mà tôi mong muốn, bắt đầu với thuật toán chỉ mục, cách sử dụng các chỉ mục được tối ưu hóa và cách đưa ra thông báo sự kiện một cách an toàn trong môi trường bán hết ứng dụng và môi trường cấu trúc phân mảnh DB. Đó là một bài giảng thực sự hay với nhiều mẹo dựa trên lưu lượng truy cập lớn ngoài việc đơn giản là xây dựng một dịch vụ. Nhờ bạn mà tôi đã học được rất nhiều kiến ​​thức. Xin hãy cho tôi những bài giảng hay như thế này trong tương lai :)

    • kuke
      知識共有者

      Lina, cảm ơn bạn rất nhiều vì đánh giá tuyệt vời! Tôi đã suy nghĩ rất nhiều về cách có thể truyền đạt điều này tốt nhất đến các học sinh và đã chuẩn bị chăm chỉ trong một thời gian dài. Tôi biết ơn và tự hào vì bạn đã theo dõi bài giảng khó này!! Chúc mừng năm mới và may mắn với những bài giảng còn lại! (Nửa sau cũng sẽ khá vui(?)!)

  • wisehero님의 프로필 이미지
    wisehero

    受講レビュー 55

    平均評価 4.7

    5

    72% 受講後に作成

    Đây là một khóa học tuyệt vời. Đây là một khóa học đạt tiêu chuẩn về những gì mà một khóa học trung cấp, cao cấp của Inflearn nên có. Tôi là một nhà phát triển junior vừa tròn 1 năm kinh nghiệm. Trong công ty, tôi chỉ mới phát triển hoặc bảo trì hệ thống quản trị. Như mọi người đều biết, hệ thống quản trị không có nhiều lưu lượng truy cập và chỉ được sử dụng một số tính năng nhất định. Vì kế hoạch không được chuyển đến người dùng nên ngay cả nhân viên nội bộ cũng có xu hướng lên kế hoạch và phát triển một cách "cẩu thả". Trong tình huống này, việc tìm kiếm những thử thách đáng để thử sức là không hề dễ dàng. Trong lúc đó, tôi đã gặp được khóa học này và ít nhất đã có được những "nguyên liệu" để "suy nghĩ" về việc thiết kế như thế nào, viết mã như thế nào cho dự án sắp tới. Trong các khóa học gần đây tôi tham gia, hầu hết những người chia sẻ kiến thức đều giao mục Q&A cho thực tập sinh của Inflearn và thực tế là bỏ mặc nó, nhưng Kukhe nim vẫn nhiệt tình trả lời Q&A ngay cả vào cuối tuần. Như tôi đã viết trong lời mở đầu của đánh giá khóa học, đây là khóa học tốt nhất trong số các khóa học trung cấp, cao cấp. Tôi nghĩ đây là một khóa học đưa ra tiêu chuẩn, hướng dẫn về "khóa học trung cấp, cao cấp nên như thế nào". Tôi nghĩ đây có thể là một tài liệu tham khảo tốt cho những người chia sẻ kiến thức trên Inflearn hoặc những người vận hành dịch vụ Inflearn. Những người vẫn còn chút nhiệt huyết muốn trau dồi kỹ năng để thực hiện các công việc mang tính thách thức hơn trong một môi trường nhiều hạn chế và gò bó, đừng ngần ngại đăng ký khóa học này. Điều đáng tiếc là mặc dù giảng viên cung cấp code, nhưng không có kho lưu trữ Github có lịch sử commit hoặc code được chia theo từng phần, nên rất khó để theo dõi luồng. Nếu phần này được cải thiện thì sẽ tốt hơn. Cảm ơn vì khóa học tuyệt vời. Lâu lắm rồi tôi mới gặp được một khóa học thực sự ra dáng khóa học.

    • kuke
      知識共有者

      wisehero님, cảm ơn bạn rất nhiều vì đánh giá tốt ạ! Tôi vô cùng cảm kích vì bạn đã dành thời gian viết một bài đánh giá chi tiết đến vậy ạ 😊😊😊 Trong quá trình tạo bài giảng, tôi đã từng nghĩ "Liệu mình có đang làm khó quá không nhỉ?", và tôi tự nhủ rằng, dù học viên có thể không tiếp thu hết nội dung, nhưng chỉ cần tôi có thể cho họ biết họ đang không biết gì thì đó cũng là một thành quả rồi. May mắn là có vẻ như nhiều học viên hài lòng về độ khó của bài giảng, và tôi cũng rất vui khi thấy wisehero님 đang định hướng tốt cho tương lai của mình!! Tôi rất mừng vì bạn hài lòng về phần Q&A! Tôi nghĩ rằng, nếu là một học viên nhiệt huyết thì việc có những thắc mắc trong quá trình học là điều đương nhiên. Tôi cũng cố gắng hết sức để trả lời những câu hỏi đó để đáp lại sự nhiệt tình của các bạn 😊😊😊 Tôi cũng học được rất nhiều điều khi xem các câu hỏi khác nhau, suy nghĩ về những điểm còn thiếu sót hoặc những phần cần bổ sung trong nội dung bài giảng. Đặc biệt, tôi vẫn nhớ hình ảnh wisehero님 giúp đỡ giải quyết vấn đề trong các câu hỏi của người khác, thật tuyệt vời!! Tôi hoàn toàn đồng cảm với những điều bạn thấy tiếc về việc phân tách code..! Nếu có thể viết một đoạn code hoàn hảo, không có lỗi ngay từ đầu thì có thể dễ dàng tách ra, nhưng điều đó không hề dễ dàng như bạn nghĩ..! Vì phạm vi bài giảng rộng và nội dung khó nên đôi khi tôi chỉ nhận ra những phần cần sửa đổi code sau đó. Trong trường hợp này, nếu các section được chia nhỏ thì việc sửa đổi cả những nội dung trước đó trở nên quá khó khăn, nên đôi khi tôi đã không tách ra vì thấy phiền phức..! Tôi rất xin lỗi vì điều này 😭😭 Tôi sẽ suy nghĩ thêm về cách cải thiện vấn đề này..! Nhờ có những học viên nhiệt huyết và tuyệt vời như các bạn theo học mà bài giảng cũng trở nên có giá trị hơn!! Cảm ơn các bạn đã học tập chăm chỉ!

  • heekng님의 프로필 이미지
    heekng

    受講レビュー 9

    平均評価 5.0

    5

    99% 受講後に作成

    Ban đầu tôi đã rất lo lắng về giá cả, nhưng tôi đã hoàn thành khóa học một cách thích thú vì nội dung rộng lớn hơn tôi mong đợi và được giải thích rất tốt theo dòng ý thức. Tôi nghĩ rằng hầu hết các nhà phát triển backend sẽ học được nhiều điều từ khóa học này và nó sẽ giúp ích rất nhiều cho các cuộc phỏng vấn. Cảm ơn bạn!

    • kuke
      知識共有者

      Ian ơi, cảm ơn bạn vì đánh giá tốt ạ!! Tôi rất vui và cảm kích khi bạn đã hoàn thành khóa học một cách vui vẻ!! Chúc bạn chuẩn bị tốt cho phỏng vấn nhé!!

  • chlghksdyd313144님의 프로필 이미지
    chlghksdyd313144

    受講レビュー 10

    平均評価 4.9

    5

    100% 受講後に作成

    Tôi đã nghe rất kỹ. Tôi đã rất tò mò về thiết kế hệ thống và phương pháp cải thiện hiệu suất, và tôi đã học được rất nhiều điều từ bài giảng. Giá hơi cao nên tôi đã hơi đắn đo khi mua, nhưng tôi nghĩ rằng tôi đã học được nhiều điều hơn giá trị của nó. Mong bạn sẽ có những bài giảng hay trong tương lai. Cảm ơn bạn.

    • kuke
      知識共有者

      chlghksdyd31님, cảm ơn bạn vì đánh giá tốt ạ!! Tôi rất tự hào và vui vì bạn đã học được nhiều điều!! Bạn đã vất vả rồi vì đã học hết khóa học!!

  • fruitworldplanet3134님의 프로필 이미지
    fruitworldplanet3134

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    Tôi rất thích bài giảng tốt. Đó là một trải nghiệm đã mở rộng suy nghĩ của tôi về nhiều mặt. Đặc biệt, tôi chưa quen với Kafka nên kỹ thuật Transactional Messaging sử dụng Kafka là điều tôi chưa bao giờ nghĩ tới nên rất khó nhưng lại là một bài giảng thú vị!

    • kuke
      知識共有者

      Xin cảm ơn bạn Hyun Jin đã đánh giá cao! Transactional Messaging thực sự là một phần khó khăn nhưng tôi rất vui vì bạn đã nghe và thấy thú vị. 😊😊😊 Bạn đã rất cố gắng và tôi hy vọng bạn sẽ có một năm mới vui vẻ!!

¥23,402

kukeの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

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