![[図に理解する] 同期(sync) 非同期(async)の概念の最も直感的な理解講義サムネイル](https://cdn.inflearn.com/public/courses/324755/course_cover/ac23c8f7-6fc7-457f-874b-e2bff8ec0d50/infinf.png?w=420)
[図に理解する] 同期(sync) 非同期(async)の概念の最も直感的な理解
allen
非常に簡単に同期非同期の概念を理解できる19分程度の講義です。
初級
sync, async
Swift ConcurrencyをAからZまで網羅します。(Part 2)
受講生 268名
難易度 中級以上
受講期間 24か月


学習した受講者のレビュー
5.0
giop15
説明の一つひとつを具体的にしてくださったので、とても理解しやすいです!
5.0
sujinnaljin
やはり安定のアレンさんの講義でした。 講義はもちろんですが、いつも質問に対して常に質の高い回答をくださいます。 自分で勉強して質問する分、より多くのことを得ることができて良かったです!
5.0
갱모
Swift Concurrencyを勉強したいけどWWDCを見るのがつらい方におすすめしたい講義
CSで理解するSwift Concurrency
従来のスレッドプールの概念と協調的スレッドプールおよびメモリ構造
タスクの分離 / Sendable
Actorの基本概念 - 隔離 / 非隔離
Actorの活用 - アトミック性/再入可能性/ホッピング/最適化
Actor - イニシャライザ/デアイニシャライザ/プロトコル/継承/拡張の規則
グローバルアクター / MainActor
AsyncSequence / AsyncStream
カスタム実行者(Executor)の実装と優先度の概念
Non-Sendableタイプの転送と関数隔離の問題
(本講義は教材の制作に1年以上の時間を費やしました。それだけ学習のための最適・最上の内容と、地球上のいかなるSwift Concurrency関連の内容よりも詳細な学習内容を扱っているため、講義のクオリティ維持のために.. 別途教材を販売していることをご了承いただけますと幸いです。教材の購入は任意です。講義のみ購入されても全く問題ありません。)
Swift Concurrency for Swift 6 by Allen (Part -1 / Part -2 統合教材)
販売先リンク: https://smartstore.naver.com/allenschool/products/11528874881
(30,000ウォン)
本講義を直接受講されない場合でも、教材のみを別途購入することが可能です。(ただし、講義目的のために最適化された資料であるため、教材のみを購入された場合、理解できない内容が含まれる可能性があります。この点に同意いただけるのであれば、講義を購入せずに教材のみを購入されることも可能です。)
副題:Swift 6へ進むためのSwiftコンカレンシー(Swift Concurrency)プログラミングを正しく学ぶ
CSに基づいた確かな基礎と
ディテールにこだわったわずかな差が
実力の差を生むと考えています。
Swiftは5.5バージョンで新しい並行処理プログラミング(Swift Concurrency)が導入されて以来、段階的な準備を経て、ついにバージョン6へとアップデートされました。そして、Swift 6バージョンの核心的な目標の一つが、まさにコードの潜在的なデータ競合(Race Condition/Data-Races)の可能性を排除し、コンパイル段階からThread-Safe(スレッド安全)なコードを実装できるようにすることで安全性を保証することです。
(私たちは、漸進的なSwift 6の導入に向けた転換点に立っています。)
したがって、本講義は徐々にSwift 6へと進むために、Swift Concurrencyに関するすべての内容、すなわちAからZまでを学習することを目標に設計されました。本コースの主な内容は以下を参考にしてください。最初の講義紹介動画でコースの内容について詳しく説明していますので、そちらも併せてご確認ください。
(Part-1 / 2の内容まで全て学習していただければ、Swift 6導入のための理論的な土台が完成するものと思われます。)
常に私の講義の個人的な目標ではありますが、地球上のどのSwift Concurrency関連の講義よりも詳しく、深い内容を扱っています。(執着に近いディテールな一歩の差が実力の差を作ると考えているため、常に多様なコード例と整理された資料を提供しようと努めています。)
並列プログラミングをComputer Scienceの観点から理解する(スレッド/メモリ構造の理解)
Data Isolation / Task Isolation / Actor Isolation (隔離概念の理解)
Task IsolationとShared Mutable State(共有データ)
Sendableタイプ(スレッド間で共有しても安全なデータタイプ)
Actor完全攻略 (1) 隔離/非隔離 (2) アトミック性 (3) 再突入 (4) アクターホッピング
(5) メインアクター・ブロッキング (6) アクター競合の解決
グローバルアクターとメインアクター
アクターでキャッシュ(cache)を実装するプロジェクト例
AsyncSequence (非同期シーケンス) と AsyncStream (非同期ストリーム)
ウェブソケットにAsyncStreamを適用するプロジェクト例
Non-Sendableタイプの転送 (sending)
関数(クロージャ)の隔離関連の問題 - isolated (Actor)? = #isolation / @isolated(any)
Custom実行者(Executor)の実装 / Task実行者(Executor)の優先順位
(参考) consume / consuming キーワード
アクターの文法規則の深化 - コンストラクタ / デストラクタ / プロトコル / 継承 / 拡張
Swift5からSwift6への移行
Instrumentsを使用してプロジェクトを分析する
Task / async / await の正しい理解
非同期(async)関数の動作の仕組み
URLSession関連の新規非同期APIの紹介
Continuationの使用 (1) コールバック関数 / (2) デリゲート方式を非同期方式に変換
位置情報アプリ(CoreLocation)のデリゲート方式をasync/awaitに変換するプロジェクト例
構造的並行性の理論的な内容
並列処理 - (1) async let (2) TaskGroup
タスクのキャンセル動作の仕組みの理解(タスクキャンセル関連のプロジェクト例)
協調的キャンセルのモデルの理解
構造的並行性とタスクキャンセルの応用
TaskGroupの応用(同時スレッド数の指定 - カスタム設定)
Task-Local変数の活用
Part-1 講義リンク: https://inf.run/jXpfH
📌 Swift ConcurrencyプログラミングをAからZまで網羅することを目標としています。
📌 (Swift 6の目標である) コンパイル時の段階から、マルチスレッド間で安全なコードを作成するための土台となります。
📌 現存するすべてのWWDC - Swift Concurrency関連の映像を完璧に分析して制作した講義です。
📌 現存するすべてのSwift Evolutionドキュメント(github)を参考にして作成した講義です。
📌 数多くのConcurrency関連の海外書籍や講義などを分析し、最大限すべての内容を漏れなく扱っています。
📌 多様なサンプルプロジェクト
📌 ですから、地球上のどのSwift Concurrency講義よりも詳しく !!!!
📌(私の講義はいつもそうですが)最大限直感的な理解と整理のために、別途の学習資料を提供します。
別途教材(電子書籍PDF)購入可能
できるだけ直感的に説明するために、別途300ページにわたる教材で解説します。
(教材は別途ご購入いただく必要があります。)
公式ドキュメントの翻訳版など、多様な翻訳資料を提供
学習時間を最大限効率的に活用するために、Swift 6 (Concurrency) 公式ドキュメントや API Collection 公式ドキュメントなどの翻訳版を提供しています。
様々なプロジェクトのサンプルコード資料を提供
理論的な内容だけでなく、学習内容をプロジェクトに直接適用しながら深層学習を行います。
理論学習コード資料の提供
最高の理論学習のために、多様な例題が含まれたプレイグラウンドのコード資料が提供されます。
講義用 - 電子書籍PDF(教材)別途販売 (Part-1 / Part-2 統合教材)
リンク: https://smartstore.naver.com/allenschool/products/11528874881
(教材以外のコード資料は無料で提供されます。)
コード資料提供 /
プロジェクト例の提供
多数の翻訳版を提供 (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)
Swift文法の基本事項 - 関数、クロージャなどを自在に扱えるレベル
従来の非同期コールバック関数、DispatchQueueなどを扱ったことのある基本的な知識
Swiftでネットワーク呼び出しAPI(URLSessionなど)を扱った経験
基礎的なレベルのUIKit、SwiftUIの知識
macOS Sequoia / Xcode 16.2 以上
本講義の内容は、私が少しでも図などを参考にした場合、PDFに関連するURLアドレスが記載されています。それ以外の場合のすべての資料は私が作成した資料であるため、本講義の内容をブログに掲載することや、講義資料として使用される電子書籍教材のPDFファイルを共有することは、いかなる場合においても禁止されています。
(本ライセンスに関する内容に違反した場合、法的責任を問われる可能性がありますので、必ずご留意ください。)
Q. 講義は無期限で受講できますか?
A. 無期限の受講ではありません。 本講義は24ヶ月(2年)の受講制限期間があります。ご留意ください。(私の講義を共有される事例を何度も経験した結果…そして、私が費やす時間と努力に対して大きなお金を稼げるわけでもないため…私にできる最善の講義共有防止策ですので、寛大な心でご理解いただけますと幸いです 🙏🏻)
学習対象は
誰でしょう?
Swift Concurrencyを深く学習したい方
CSの内容までしっかり勉強したい方
WWDCの動画以上に徹底的に読み込みたい方!!!!!!
前提知識、
必要でしょうか?
Swift言語の基本
並行プログラミングに関する基本的な知識レベル
インフラン認証
7,669
受講生
773
受講レビュー
314
回答
5.0
講座評価
7
講座
iOS開発者のアランです。
https://www.youtube.com/@allen_ios
「正確に知っている知識は、自分の言葉で簡単に説明できなければならない」が私のモットーです。
だからこそ、私が勉強しながら経験した試行錯誤を分かりやすく解き明かし、
誰でも理解できる言葉で知識を共有できる開発者になりたいと思っています。
私は簡単なトピックで、短時間のうちに表面だけをなぞるような教え方の講義を作ることには興味がありません。
そのような講義はいくらでも素早く量産できるでしょうが、結局「良い開発者へと成長」するためには、それだけ理論的な基盤という土台がしっかりしていなければならないと信じているからです。
簡単な講義よりも、良い開発者(絶えず成長し続けられる開発者)になるために
必ず知っておくべき難しい内容までを、最大限分かりやすく、そして直感的にお伝えすること。
そして、私ではなく皆さん自身がWHY(なぜ)を悩み、考えられる土台を作って差し上げることを私の講義の目標としています。
私自身も明日はもっと良い開発者になろうと努力している分、
私が悩んできた内容を深くお伝えしたいと思っています。
面接で何度も落ちてしまったり、簡単な内容も自分の言葉でうまく表現できなかったりするのは、正確に理解できていないということでもあると考えています。むしろ、基本的な内容やCSに対して「しっかりとした基礎」があってこそ、急速な成長が可能だと信じています。
👇🏻お問い合わせは以下のメールアドレスまでお願いいたします。
we.love.code.allen@gmail.com
言語: Swift(スウィフト), Python, Java, C#
全体
72件 ∙ (16時間 2分)
講座資料(こうぎしりょう):
全体
29件
5.0
29件の受講レビュー
受講レビュー 3
∙
平均評価 5.0
受講レビュー 3
∙
平均評価 5.0
受講レビュー 2
∙
平均評価 5.0
受講レビュー 3
∙
平均評価 5.0
受講レビュー 4
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!
期間限定セール、あと3日日で終了
¥169,400
30%
¥31,167