강의

멘토링

커뮤니티

BEST
Programming

/

etc. (Programming)

大規模システム設計 Part 1

有名な論文、書籍、記事を通じてグローバルスケールのサービスの共通のコンポーネントを学びましょう。

難易度 初級

受講期間 無制限

  • Jayce
software-design
software-design
DBMS/RDBMS
DBMS/RDBMS
software-design
software-design
DBMS/RDBMS
DBMS/RDBMS

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

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

4.9

5.0

dudals9901

100% 受講後に作成

すぐにパート2も出てきたらいいですね。

5.0

parkhs

100% 受講後に作成

大規模なトラフィックや巨大なシステム設計理論に興味があり、受講しましたが、全体的に良かったです。 関連分野に興味がある方は受講していただければと思います。 'これらの概念と理論があり、Amazonのような大きな会社でこのように設計しました'ほど簡単に調べる形式で講義が構成されており、受講後に個人的に大規模なトラフィックや大容量のデータ処理、システム設計に関してさらに学習する必要があるようです。 全体的に言われる速度が少し速く、川の速度が少し早い方です。深く掘り下げません。 講義字幕があるのにPDF誤字があるようです。 結論はお勧めです〜

5.0

coco

100% 受講後に作成

よく聞きました!もっといい講義をお願いします!

受講後に得られること

  • システム設計

  • コンピュータ工学

  • 分散システム

複雑で難しく見える分散システム、
実際、回避策にパターンがあることをご存知ですか? ⭐

こんな悩みをしてみましたか?

大規模なシステムを経験したことがないのですが、離職したい会社は大規模なシステム知識を求めています。

分散システムを勉強したいのですが、どこから始めるべきですか?

大規模なシステムを作る必要がありますが、どのような問題があるのか、どのように解決するのが良いのかわかりません。

アルソットダルソット大規模システム、
このように勉強してみてください! 📖

分散システムは本当に難しい領域です。分散システムで構成された100のサービスがある場合、各サービスは状況に応じてすべて異なる戦略で分散システムを利用しています。しかし、分散システムで解決しなければならない問題は一般的なパターンに従うことが多いです。したがって、問題を解決する方法もパターン化されています。

講義ではPlanet-scaleのサービスがどんな悩みをしながら開発されたのか有名な論文を通じて勉強します。大規模なサービスで出会うことができる共通の問題を、有名な本、論文、記事で学びます。

Scaling Memcache at Facebookの論文
ダイナモ論文

知識共有者ジェイスの一言

私がジュニアの時、会社のシニアの方に「私が大規模なシステムを開発したことがないので、今作ろうとするのが良い方法なのかよくわかりません。」という話をしたことがあります。

シニア方は私に、「誰も現在の状況を正確に経験したことはありません。

私はこのような問題を勉強し始め、この過程でどのように勉強すればエンジニアとして成長できることが分かりました。私の講義を通じてジュニア開発者の皆さんが深く勉強する方法を知ることができるようになればいいですね。


講義の特徴✨

  • ✔️複雑な分散システムで繰り返し登場するコンポーネントについて学ぶことができます。
  • ✔️具体的なコンポーネントが実際のシステムでどのように活用されるかを論文、本、オープンソース、ケースなどに基づいて説明します。
  • ✔️コンポーネント用語集を提供します。用語集は、分散システムを理解して設計できるように作られています。
  • ✔️講義ユニット別授業ノートをご確認ください。講義内容の紹介と読書が含まれています。

学習内容📚

レッスンでは、分散システムの基本的な内容であるReplication、Sharding、Consistent Hashingなどのコンポーネントを学びます。その後、学んだコンポーネントが適用された有名な実際のケースを学びます。

セクション 0 Introduction

講義全般をご紹介します。講義目標と受講対象、講義の主な内容、進行状況を確認できます。

セクション1 大規模システム基本理論

システム設計の帯電剤であるCAP理論と分散ストレージ技術であるレプリケーション、パーティショニング、シャーディングを学習します。

セクション2 分散システムのコンポーネント

分散システムの設計時によく接するコンポーネントであるConsistent Hashing、Rate Limiter(処理率制御)、Unique ID Generatorを学習します。

セクション3 Case Study

論文に基づいて、グローバル企業であるAmazon、Facebook、Instagramの分散システムの実装例を見ていきます。

📢受講前に確認してください!

  • 基本的なネットワークとデータベースの知識を説明する講義ではありません。しかし、あまり心配する必要はありません。 TCP、Transactionなど本当に基本的な用語に慣れていれば大丈夫です。
  • 本講義には実習授業は含まれません。分散システムは障害予測と解決がより重要なので、講義でその内容を経験することが難しいことを参考にしてください。

受講対象/講義目的 🙆‍♀️

大規模なシステム設計を経験したことのないジュニア開発者

分散システムのコンポーネントを勉強したい開発者

複雑なシステムを巨視的かつ理論的に勉強したい方

バックエンドシステムを開発する1〜3年目のバックエンド開発者

📌この講義と一緒に!

  • 大規模なシステムで発生する可能性のある問題と、この問題をどのように解決できるかがわかります。
  • 大規模なシステムを設計する際に、Best Practiceを説得力のあるものに説明できます。
  • より深刻な分散システムを学ぶための良い理論的背景を学ぶことができます。
  • PPT学習資料と深化学習資料リンクをお送りします。

予想される質問 Q&A 💬

Q. コンピュータ工学をよく知らなくても大丈夫でしょうか?

基本的なCS知識が必要です。ある程度を基本と言うのは難しいですが、Backendエンジニアで働ける程度なら、残りの不足な知識は質問と検索で解決できると予想されます。

Q. 実習はありますか?

この講義は理論講義です。分散システムを簡単に開発してみるのは本当に有意義な勉強方法ですが、分散システムが難しい理由は障害状況のためだと思います。未知のネットワーク障害をシミュレートしてみる環境まで構築することは容易ではないため、この講義では実装実習はありません。代わりに、実際のケースがどのように障害を解決したかを学ぶことができます。

Q. この講義を聞くとどんなことが期待できますか?

このレッスンシリーズは、ジュニア開発者が分散システム知識の用語集のように使用されることを願っています。分散システムで使用される本当に一般的で有名な問題と解決策をこの講義から習得し、同様の問題に遭遇または解決するように設計することがあるときに、この講義の内容を思い出すことができます。あるいは、システム設計を求める面接でも説得力のある主張ができます。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • ジュニアバックエンド開発者

  • 分散システムを勉強したい人

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

  • 基本的なネットワーク知識と用語

  • 基本データベースの知識と用語

こんにちは
です。

406

受講生

17

受講レビュー

4

回答

4.8

講座評価

2

講座

こんにちは。Jayceです。現在、ユニコーンスタートアップでプラットフォームエンジニアとして働いています。

私は起業も経験し、大規模サービスのための開発や開発者のためのプラットフォーム構築も行いながら、短期間のうちにサービス開発者と呼ばれる役割とプラットフォームエンジニアと呼ばれる役割の両方を遂行してきました。その過程で、「優秀なソフトウェアエンジニアにはどのような特徴があり、どうすればそのような人材になれるのか」を自分なりに確立することができました。

一言で言えば、私はディープダイブ(Deep Dive)する人を、共に働くエンジニアとして魅力的だと感じます。単に与えられた仕事を機械的にこなすだけの人は、ある状況に対して最善の選択を下すまでに、比較的長い時間がかかるように思います。一方で、なぜこのような決定を下すべきなのか、技術の裏側にある工学的な理由を掘り下げて理解している人は、すぐに他の意思決定においても工学的に説得力のある主張ができる人になります。

私が作る講義は、新しい技術を浅く習得することを目標とはしていません。私はジュニア開発者が、素晴らしいチームメイト、魅力的な開発者、そして芯の強い技術者になれる方法を伝えたいと考えています。より魅力的なエンジニアになるために、もう少し深い内容を学んでみたいという方々に適した講義を、精一杯の努力を込めて作り上げます。 🙂

カリキュラム

全体

14件 ∙ (2時間 10分)

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

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

受講レビュー

全体

16件

4.9

16件の受講レビュー

  • dudals9901님의 프로필 이미지
    dudals9901

    受講レビュー 13

    平均評価 5.0

    5

    100% 受講後に作成

    すぐにパート2も出てきたらいいですね。

    • parkhs님의 프로필 이미지
      parkhs

      受講レビュー 1

      平均評価 5.0

      5

      100% 受講後に作成

      大規模なトラフィックや巨大なシステム設計理論に興味があり、受講しましたが、全体的に良かったです。 関連分野に興味がある方は受講していただければと思います。 'これらの概念と理論があり、Amazonのような大きな会社でこのように設計しました'ほど簡単に調べる形式で講義が構成されており、受講後に個人的に大規模なトラフィックや大容量のデータ処理、システム設計に関してさらに学習する必要があるようです。 全体的に言われる速度が少し速く、川の速度が少し早い方です。深く掘り下げません。 講義字幕があるのにPDF誤字があるようです。 結論はお勧めです〜

      • arton7278님의 프로필 이미지
        arton7278

        受講レビュー 4

        平均評価 4.3

        5

        100% 受講後に作成

        • saeinlee님의 프로필 이미지
          saeinlee

          受講レビュー 2

          平均評価 5.0

          5

          100% 受講後に作成

          • 941021461413님의 프로필 이미지
            941021461413

            受講レビュー 3

            平均評価 5.0

            5

            64% 受講後に作成

            ¥4,882

            Jayceの他の講座

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

            似ている講座

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