![[図に理解する] 同期(sync) 非同期(async)の概念の最も直感的な理解講義サムネイル](https://cdn.inflearn.com/public/courses/324755/course_cover/ac23c8f7-6fc7-457f-874b-e2bff8ec0d50/infinf.png?w=420)
[図に理解する] 同期(sync) 非同期(async)の概念の最も直感的な理解
allen
無料
初級 / sync, async
4.9
(186)
2,600+
非常に簡単に同期非同期の概念を理解できる19分程度の講義です。
初級
sync, async
Swift ConcurrencyをAからZまで扱います。(Part 2)
受講生 274名
難易度 中級以上
受講期間 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関連の内容よりも詳細な学習内容を扱っているため、講義のクオリティを維持するために、教材を別途販売しておりますことをご了承ください。教材の購入は任意です。講義のみをご購入いただいてもまったく問題ありません。)
AllenによるSwift 6のためのSwift Concurrency(Part -1 / Part -2統合教材)
販売店リンク:https://smartstore.naver.com/allenschool/products/11528874881
(30,000ウォン)
本講義を直接受講されない場合でも、教材のみを別途ご購入いただけます。(ただし、講義用に最適化された資料であるため、教材のみをご購入の場合は理解しにくい内容が含まれている可能性があります。この点にご同意いただける場合は、講義を購入せず教材のみをご購入いただくことも可能です。)
副題:Swift 6へ進むための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までを学ぶことを目標として設計されています。本コースの主な内容については以下をご参照ください。また、第1講義の紹介動画でコースの内容を詳しく説明しておりますので、こちらもぜひご確認ください。
(Part-1 / 2の内容まで全て学習していただければ、Swift 6導入のための理論的な土台が完成すると思います。)
これは常に私の講義における個人的な目標ではありますが、地球上のどのSwift Concurrency関連講義よりも詳細で深い内容を扱っています。(執着ともいえるほどの細かな違いが実力の差を生むと考えているため、常にさまざまなコード例と整理された資料を提供できるよう努めています。)
並行プログラミングをComputer Scienceの観点から理解する(スレッド/メモリ構造の理解)
データ隔離 / タスク隔離 / アクター隔離(隔離概念の理解)
タスク分離と共有可変状態(共有データ)
Sendable型(スレッド間で共有しても安全なデータ型)
Actor完全攻略 (1) 隔離/非隔離 (2) 原子性 (3) 再入性 (4) アクターホッピング
(5) メインアクターのブロッキング (6) アクター競合の解決
グローバルアクターとメインアクター
アクターでキャッシュ(cache)を実装する プロジェクト例
AsyncSequence(非同期シーケンス)とAsyncStream(非同期ストリーム)
WebSocketにAsyncStreamを適用するプロジェクト例
Non-Sendable型の転送(sending)
関数(クロージャ)の隔離に関する問題 - isolated(Actor)? = #isolation / @isolated(any)
カスタム実行器(Executor)の実装/Task実行器(Executor)の優先設定
(参考)consume / consumingキーワード
アクターの文法規則の深掘り - イニシャライザ / デイニシャライザ / プロトコル / 継承 / 拡張
Swift 5からSwift 6へ移行する
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://forms.gle/b1VH8mhAn7dvWfr3A
(教材以外のコード資料は無料で提供されます。)
コード資料の提供 /
プロジェクト例の提供
複数の翻訳版を提供(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,710
受講生
778
受講レビュー
315
回答
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分)
講座資料:
全体
30件
5.0
30件の受講レビュー
受講レビュー 3
∙
平均評価 5.0
受講レビュー 2
∙
平均評価 5.0
受講レビュー 3
∙
平均評価 5.0
受講レビュー 3
∙
平均評価 5.0
受講レビュー 4
∙
平均評価 5.0
知識共有者の他の講座はこちら
同じ分野の他の講座を見てみましょう!
新規会員登録で25%OFF
¥22,867
25%
¥30,487