inflearn logo
知識共有
inflearn logo

「AIポチポチの時代」実行フローを支配する:マルチスレッドと並行性の設計

AIがコードを書く時代、開発者にはそのコードがなぜ遅くなり、どこで問題が起こり得るのかを判断する力が必要です。CPUとスレッドの基礎から、複数の処理が同時に実行される仕組みまで、実習と詳細なノート・シミュレーションを通じて、段階的に理解します。これを基に、パフォーマンス問題の原因を見つけ、速く安定したシステムを設計するための基礎力を身につけます。

難易度 初級

受講期間 無制限

JavaScript
JavaScript
Python
Python
Node.js
Node.js
Network
Network
Computer Architecture
Computer Architecture
JavaScript
JavaScript
Python
Python
Node.js
Node.js
Network
Network
Computer Architecture
Computer Architecture

受講後に得られること

  • プロセス、スレッド、CPU、レジスタ、コンテキストスイッチングの関係を自分の言葉で説明できます。

  • 外部処理を待機するコードとCPUを直接使用するコードを区別し、適切な処理方式を選択できます。

  • async/awaitが長時間の計算を自動的に別のスレッドに任せない理由を説明できます。

  • ワーカーの生成・メッセージ・エラー・終了を関連付け、タスクの成功とリソースのクリーンアップを区別できます。

  • workerData、parentPort、MessageChannelを利用して、メインとワーカー間のデータフローを実装できます。

  • データコピー、所有権の移転、メモリ共有の違いを理解し、作業に適した受け渡し方法を選択できます。

  • 計算範囲を複数のワーカーに分割し、逐次実行と全結果を比較して、漏れや重複を検証できます。

  • ワーカープールと作業キューを実装し、準備・割り当て・失敗・終了の処理ルールを設計できます。

  • 作業のバッチ化と送信量の制限を適用することで、メッセージのコストとキューのメモリ使用量を調整できます。

  • 経過時間、CPU時間、使用率の基準を区別して、性能測定値を解釈できます。

  • 同時リクエスト数・スループット・応答遅延分布を測定し、ワーカーを適用した実習用HTTPサーバーを比較できます。

  • Node.js内部のlibuvワーカープールと自作のJavaScriptワーカープールの役割を区別できます。

  • ArrayBuffer、SharedArrayBuffer、TypedArrayとBufferの関係を理解し、バイト範囲と所有権を扱えるようになります。

  • 競合状態を再現し、アトミック操作・条件待機・ミューテックス・セマフォの役割とデッドロックの原因を説明できます。

  • イベントループ、Promise、nextTickの実行コンテキストを区別し、他のリクエストに実行機会を与えるコードを記述できます。

  • AIが提案した並列処理コードを、実行位置・データ境界・正しさ・失敗処理・測定条件を基準にレビューできます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Node.jsは使ったことがあるものの、スレッドとは何かを説明するのが難しい方

  • async/awaitを使ったのにサーバーが遅くなる理由が気になる方

  • 重い計算のせいで、他のユーザーの軽いリクエストまで遅延してしまう問題に悩んでいる方

  • CPU使用率は低いのに応答が遅く、原因を見つけにくい方

  • ワーカーを作ってみたものの、メッセージ・エラー・終了処理をどうつなげればよいのか途方に暮れている方

  • ワーカーを増やしてもパフォーマンスが向上しない理由を確認したい方

  • 多くのタスクが積み重なった際に、キューとメモリ使用量を管理したい方

  • ワーカーに渡したデータがコピーされるのか共有されるのか、混乱している方

  • 共有カウンターや状態値が断続的に誤る仕組みを理解したい方

  • 性能測定値と負荷テストの結果を根拠に基づいて解釈したい方

  • イベントループ、コールバック、Promiseの実行順序を暗記ではなく原理から理解したい方

  • AIが生成したコードを使いながらも、設計と動作を自ら検証する能力を身につけたい方

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

  • JavaScriptの変数、条件文、繰り返し文、関数、配列、オブジェクトを基本的に読み取れるとよいです。

  • Node.jsでファイルを実行し、簡単なサーバーや非同期コードを使用した経験があることを推奨します。

  • コールバック、Promise、async/await に触れたことがあれば理解の助けになります。スレッドとオペレーティングシステムの概念については、基礎から説明します。

こんにちは
nhcodingstudioです。

インフラーン認証

キャリア認証

4,364

受講生

271

受講レビュー

76

回答

4.8

講座評価

24

講座

こんにちは、わが街コーディングスタジオへようこそ!

わが街コーディングスタジオは、カーネギーメロン、ワシントン、トロント、ウォータールーなど北米の主要大学でコンピュータ工学を専攻し、Google、Microsoft、MetaなどのグローバルIT企業で実務経験を積んだ開発者たちが共に作り上げた教育グループです。

最初はアメリカとカナダのコンピュータ工学専攻者たちが共に学び、成長するために作ったスタディグループから始まりました。それぞれ異なる大学、異なる時間帯にいましたが、共に問題を解決し、互いに学び合ったその時間は非常に特別で、自然とこのような考えが浮かびました。

「私たちが勉強していたこのやり方、そのまま他の人にも伝えたらどうだろう?」

その問いこそが、ウリドンネコーディングスタジオの出発点でした。

現在は約30名の現役エンジニアとコンピュータ工学専攻の大学生たちが、それぞれの専門分野を担当し、入門から実践までを網羅するカリキュラムを自ら設計して講義を行っています。単なる知識の伝達を超えて、本物のエンジニアの視点で学び、共に成長できる環境を提供します。

「本物の開発者は、本物の開発者から学ぶべきです。」

私たちはウェブ開発の全過程を最初から最後まで体系的に扱いますが、理論にとどまらず実習と実践中心のフィードバックを通じて実力を養います。
受講生一人ひとりの成長を共に悩み、導いていくことが私たちの哲学です。

🎯 私たちの哲学は明確です。
"真の学びは実践から生まれ、成長は共に歩むことで完成する。"

開発を初めて始める入門者から、実務能力を身につけたい就職準備生、進路を模索中の青少年まで。
わが街コーディングスタジオは、すべての人の出発点であり、共に歩む心強いパートナーでありたいと考えています。

もう、一人で悩まないでください。
私たちの街のコーディングスタジオが、皆さんの成長を共に歩みます。


우리동네코딩 스튜디오에 오신 것을 환영합니다!

Neighborhood Coding Studioは、カーネギーメロン大学、ワシントン大学、トロント大学、ウォータールー大学といった北米の名門大学でコンピューターサイエンスを専攻し、Google、Microsoft、MetaなどのグローバルIT企業で実務経験を積んだ開発者チームによって設立されました。

すべては、知識を共有し、問題を解決し、互いに学び合いながら共に成長するために作られた米国とカナダのコンピューターサイエンス専攻の学生によるスタディグループから始まりました。
通っている大学もタイムゾーンも異なりましたが、その経験は非常に有意義なものであり、私たちにあるシンプルな思いを抱かせました。

「このような学習方法を他の人たちとも共有できたらどうだろう?」

その考えがNeighborhood Coding Studioの礎となりました。

現在、私たちは約30名の現役エンジニアとコンピュータサイエンス専攻の学生で構成されたチームであり、各自が専門分野に責任を持ち、基礎知識から実務開発までを網羅するカリキュラムを設計・提供しています。
私たちは単に教えるだけでなく、皆さんが現役エンジニアの視点を持ち、共に成長できるようサポートします。

「本物の開発者になるためには、本物の開発者から学ばなければなりません。」

私たちのコースは、ウェブ開発の全過程を最初から最後まで、実践的な演習、リアルなプロジェクト、そして実用的なフィードバックに焦点を当てて進めていきます。
私たちは一人ひとりの学習者の成長を大切に考え、皆さんの歩む道を一歩一歩サポートすることに全力を尽くしています。

🎯 私たちの哲学はシンプルですが強力です:
"真の学びは実践から生まれ、真の成長は共に歩むことで実現する。"

これから学習を始める方、最初の就職を準備している方、あるいはIT業界での未来を模索している方、
Neighborhood Coding Studioはあなたの出発点となり、その道のりの信頼できるパートナーとしてここにいます。

一人で悩む必要はありません。
Neighborhood Coding Studioが、あなたのエンジニアとしての未来への歩みに寄り添います。

もっと見る

カリキュラム

全体

44件 ∙ (12時間 42分)

講座資料:

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

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • cozy52668717님의 프로필 이미지
    cozy52668717

    受講レビュー 3

    ∙

    平均評価 5.0

    5

    32% 受講後に作成

    • jeongyongsu53660225님의 프로필 이미지
      jeongyongsu53660225

      受講レビュー 3

      ∙

      平均評価 5.0

      5

      61% 受講後に作成

      nhcodingstudioの他の講座

      知識共有者の他の講座はこちら

      似ている講座

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

      期間限定セール

      ¥5,362

      69%

      ¥17,872