강의

멘토링

커뮤니티

BEST
Programming

/

Mobile Application Development

アラン Swift Concurrency for Swift 6 (Part-2)

Swift Concurrencyを AからZまで 網羅します。(Part 2)

  • allen
이론 실습 모두
swift6
iOS
Swift
concurrent
async-await
concurrency

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

受講後に得られること

  • CSで理解する Swift Concurrency

  • 既存スレッドプールの概念と協調的スレッドプールとメモリ構造

  • タスク分離 / 送信可能

  • Actorの基本概念 - 隔離 / 非隔離

  • Actorの活用 - 原子性/再入/hopping/最適化

  • Actor - コンストラクタ/デストラクタ/プロトコル/継承/拡張 ルール

  • 全域アクター / MainActor

  • AsyncSequence / AsyncStream

  • Custom 実行者(Executor)の実装と選好概念

  • Non-Sendableタイプの転送と関数隔離問題

本講義は教材(電子書籍PDF)を別途購入していただく必要があります。

(本講座は教材の制作に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 Concurrency (パート - 2) ✍🏻

副題: 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までを学習することを目標として設計されました。本コースの主な内容は下記をご参照いただき、最初の講義紹介動画でコースについて詳しく説明しておりますので、こちらもご参照ください。

Part-1 / 2の内容をすべて学習されると、Swift 6の導入のための理論的な土台が完成すると思います。


常に私の講義の個人的な目標ですが、地球上のどのSwift Concurrency関連講義よりも詳細で深い内容を扱っています。(執着とも言えるディテールな一つの差が実力の差を生むと考えているため、常に多様なコード例と整理された資料を提供しようと努めています。)

(2) Part - 2で主に扱う内容 (本講義)

  • 並行プログラミングをComputer Scienceの観点から理解する(スレッド/メモリ構造の理解)

  • データ分離 / タスク分離 / アクター分離(分離概念の理解)

  • # Task IsolationとShared Mutable State(共有データ)

  • 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 キーワード

  • アクターの文法規則の深化 - コンストラクタ / デストラクタ / プロトコル / 継承 / 拡張

  • Swift5からSwift6への移行

  • Instrumentsを使ってプロジェクトを分析する

(1) Part - 1で主に扱う内容 (既存講義)

  • Task / async / await の正しい理解


  • 非同期(async)関数の動作方式

  • # URLSession関連の新規非同期API紹介

  • Continuationの使用 (1) コールバック関数 / (2) デリゲート方式を非同期方式に転換

  • # 位置情報アプリ(CoreLocation)のデリゲート方式をasync/awaitに変換するプロジェクト例 ## プロジェクト概要 CoreLocationのデリゲートパターンをモダンなasync/await構文に変換することで、より読みやすく保守しやすいコードを実現します。 ## 従来のデリゲート方式 ```swift import CoreLocation class LocationManager: NSObject, CLLocationManagerDelegate { private let manager = CLLocationManager() private var locationHandler: ((CLLocation) -> Void)? override init() { super.init() manager.delegate = self } func requestLocation(completion: @escaping (CL

  • 構造化並行性の理論的な内容

  • 並列処理 - (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 公式ドキュメントなどの翻訳版を提供いたします。

様々なプロジェクトのサンプルコード資料を提供

理論的な内容だけでなく、学習内容をプロジェクトに直接適用しながら深化学習を行います。

理論学習コード資料提供

最高の理論的な学習のための多様な例のプレイグラウンドコード資料が提供されます。

受講前の参考事項

教材別売り(3万ウォン)

1. 追加資料の提供(コード資料は無料で提供されます。)

  • コード資料提供 /

    プロジェクト例の提供

  • 複数の翻訳版を提供 (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)

2. 事前知識および注意事項

  • Swift文法の基本的な事項 - 関数、クロージャなどを自由自在に扱えるレベル

  • 既存の非同期コールバック関数、DispatchQueueなどを扱った基本的な知識

  • Swiftでネットワーク呼び出しAPI(URLSessionなど)を扱った経験

  • 基礎レベルのUIKit、SwiftUI知識

3. 実習環境

  • macOS Sequoia / Xcode 16.2以上

💌講義内容のライセンスについて


本講義の内容は、私が少しでも図などを参考にした場合、PDFに関連URLが記載されています。そのような場合を除くすべての資料は私が作成した資料であるため、本講義の内容をブログに掲載することと、講義資料として使用される電子書籍教材PDFファイルの共有は、いかなる場合も禁止されています。

(本ライセンス関連の内容に違反した場合、法的責任を負う可能性がございますので、必ずご注意ください。)

Q. 講座は永久受講ですか?

A. 永久受講ではありません。本講座には12ヶ月の受講期間制限があります。ご注意ください。(私の講座が共有される事例を何度も経験した結果...そして私が費やす時間と努力に比べて大きなお金を稼げるわけでもないので...私ができる最善の講座共有防止策に過ぎませんので、寛大なご理解をお願いいたします🙏🏻)

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Swift Concurrency を 深化学習したい方

  • CSの内容までしっかり勉強する方

  • WWDC動画以上に噛み砕いて理解したい方!!!!!!

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

  • Swift 言語の基礎

  • 並行プログラミングに関する基本的な知識レベル

こんにちは
です。

7,502

受講生

736

受講レビュー

303

回答

5.0

講座評価

7

講座

iOS개발자 앨런입니다.
https://www.youtube.com/@allen_ios

"정확하게 아는 지식은, 쉽게 자신의 말로 설명할 수 있어야 한다."가 제 모토입니다.

그렇기에 제가 공부하면서 겪었던 시행착오를 쉽게 풀어내어
누구든 이해할 수 있는 언어로 지식을 공유할 수있는 개발자가 되고싶습니다.

저는 쉬운 주제로 빠른 시간 안에 겉핥기 식으로 쉽게만 가르치는 강의를 만드는 것에는 관심이 없습니다.
그런 강의는 얼마든지 빠르게 찍어내듯 만들 수 있겠지만, 결국 "좋은 개발자로 성장"하는 것은 그만큼 이론적인 기반의 밑거름이 탄탄해야 한다고 믿고 있기 때문입니다.

쉬운 강의보다는, 좋은 개발자(끊임없이 성장할 수 있는 개발자)가 되기 위해
반드시 알아야 하는 어려운 내용까지를 최대한 쉽게, 그리고 직관적으로 알려드리는 것.
그래서 제가 아닌 여러분 스스로 WHY(왜)를 고민/생각할 수 있는 밑거름을 만들어 드리는 것을 저의 강의 목표로 삼고 있습니다.

저 스스로도 내일은 더 좋은 개발자가 되자고 노력하는 만큼
제가 고민 했던 내용들을 깊이있게 전달 드리고 싶습니다.

 

면접에서 자꾸 떨어지거나, 쉬운 내용도 자신의 언어로 잘 표현하지 못하겠다는 것은 정확하게 알고 있지 않다는 의미라고도 생각합니다. 오히려 기본적인 내용, CS에 대해 "탄탄한 기본기"가 있어야, 빠르게 성장 가능하다고 믿습니다.


👇🏻문의는 아래의 이메일로 주시면 됩니다. 

we.love.code.allen@gmail.com


언어: Swift(스위프트), Python, Java, C#

カリキュラム

全体

71件 ∙ (16時間 2分)

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

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

受講レビュー

全体

22件

5.0

22件の受講レビュー

  • ckdgnl104263님의 프로필 이미지
    ckdgnl104263

    受講レビュー 1

    平均評価 5.0

    5

    31% 受講後に作成

    • rnjsdydqkr0550님의 프로필 이미지
      rnjsdydqkr0550

      受講レビュー 5

      平均評価 5.0

      5

      61% 受講後に作成

      • jspark5626님의 프로필 이미지
        jspark5626

        受講レビュー 1

        平均評価 5.0

        5

        31% 受講後に作成

        • bsbs76055666님의 프로필 이미지
          bsbs76055666

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          • rlatlwhd4561075님의 프로필 이미지
            rlatlwhd4561075

            受講レビュー 4

            平均評価 5.0

            5

            39% 受講後に作成

            This seems like lecture material that allows for a much more detailed understanding of Swift Concurrency. Thank you!

            ¥30,000

            allenの他の講座

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

            似ている講座

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