강의

멘토링

로드맵

BEST
Programming

/

Mobile Application Development

Alan Swift Concurrency for Swift 6 (Part-2)

Covers Swift Concurrency from A to Z. (Part 2)

(5.0) 18 reviews

223 learners

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

Reviews from Early Learners

What you will learn!

  • Understanding Swift Concurrency with CS

  • Concept of Conventional Thread Pools, Cooperative Thread Pools, and Memory Structure

  • Task isolation / Sendable

  • Actor's Basic Concepts - Isolation / Non-Isolation

  • Actor Utilization - Atomicity/Reentrancy/Hopping/Optimization

  • Actor - Constructor/Destructor/Protocol/Inheritance/Extension Rules

  • Global Actor / MainActor

  • AsyncSequence / AsyncStream

  • Implementation of Custom Executor and Preference Concept

  • Non-Sendable Type Transfer and Function Isolation Problem

본 강의는 교재(전자책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 Concurrency for Swift 6 (파트 - 2) ✍🏻

부제: Swift 6로 나아가기 위한 스위프트 동시성(Swift Concurrency) 프로그래밍 제대로 학습하기


🌿🌿🌿

CS에 기반한 탄탄한 기본기와
디테일한 한 끗 차이가
실력의 차이를 만들어 낸다고 생각합니다.

🌿🌿🌿



스위프트는 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 관점에서 이해하기 (쓰레드/메모리 구조의 이해)

  • 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 사용해서 프로젝트 분석하기

(1) Part - 1에서 주로 다루는 내용 (기존 강의)

  • 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 공식문서 등의 번역본을 제공해드려요.

다양한 프로젝트 예시 코드 자료 제공

이론적인 내용 뿐만아니라, 학습 내용을 프로젝트에 직접 적용해 보면서 심화 학습을 해봅니다.

이론 학습 코드 자료 제공

최상의 이론적인 학습을 위한 다양한 예시의 플레이그라운드 코드 자료가 제공됩니다.

수강 전 참고 사항

교재 별도 판매 (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개월의 강의 수강에 대한 제한 기간이 있습니다. 유의 부탁드립니다. (제 강의를 공유하는 사례를 여러 차례 경험한 결과.. 그리고 제가 들이는 시간과 노력대비 큰 돈을 벌 수 있는 것도 아니기에.. 제가 할 수 있는 최선의 강의 공유 방지 대책일 뿐이니, 넓은 아량으로 이해를 부탁드립니다 🙏🏻)

Recommended for
these people

Who is this course right for?

  • For those who want to deeply learn Swift Concurrency

  • Those who will properly study CS content.

  • People who search for WWDC videos and study "properly" in a deep way

Need to know before starting?

  • Swift basics

  • Basic knowledge level of concurrent programming

Hello
This is

7,400

Learners

716

Reviews

303

Answers

5.0

Rating

7

Courses

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

제가 공부하면서 겪었던 시행착오를 쉽게 풀어내어
지식을 공유할 수있는 개발자가 되고싶습니다.

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

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

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


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

we.love.code.allen@gmail.com


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

Curriculum

All

71 lectures ∙ (16hr 2min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

18 reviews

5.0

18 reviews

  • 김시종님의 프로필 이미지
    김시종

    Reviews 4

    Average Rating 5.0

    5

    39% enrolled

    Swift Concurrency에 대해서 아주 더 자세하게 이해할 수 있는 강의자료인 것 같아요 감사합니다

    • 이규태님의 프로필 이미지
      이규태

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      • 반페르시광님의 프로필 이미지
        반페르시광

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        • 미뇽님의 프로필 이미지
          미뇽

          Reviews 2

          Average Rating 5.0

          5

          31% enrolled

          • 조명훈님의 프로필 이미지
            조명훈

            Reviews 1

            Average Rating 5.0

            5

            86% enrolled

            너무 좋아요. 앨런최고

            $187.00

            allen's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!