inflearn logo
inflearn logo

Alan Swift Concurrency cho Swift 6 (Phần-2)

Swift Concurrency bao quát từ A-Z (Phần 2)

(5.0) 25 đánh giá

253 học viên

Độ khó Trung cấp trở lên

Thời gian 12 tháng

iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency
iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

5.0

5.0

갱모

31% đã tham gia

Khóa học muốn giới thiệu cho những ai muốn học Swift Concurrency nhưng thấy xem WWDC quá khó khăn

5.0

이태현

31% đã tham gia

Tôi rất hài lòng vì khóa học rất bổ ích.

5.0

김시종

39% đã tham gia

Có vẻ như đây là tài liệu bài giảng giúp hiểu về Swift Concurrency một cách rất chi tiết, cảm ơn bạn

Bạn sẽ nhận được điều này sau khi học.

  • Hiểu Swift Concurrency từ CS

  • Khái niệm về thread pool hiện có, cooperative thread pool và cấu trúc bộ nhớ.

  • Tách biệt tác vụ / Gửi được

  • Khái niệm cơ bản của Actor - Cô lập / Không cô lập

  • Ứng dụng Actor - Tính nguyên tử/Tái nhập/hopping/Tối ưu hóa

  • Actor - Khởi tạo/Hủy/Giao thức/Kế thừa/Quy tắc mở rộng

  • Actor Toàn cục / MainActor

  • AsyncSequence / AsyncStream

  • Triển khai Custom Executor và Khái niệm Ưu tiên

  • Vấn đề truyền kiểu Non-Sendable và cách ly hàm

Khóa học này yêu cầu bạn phải mua giáo trình (PDF sách điện tử) riêng.

(Khóa học này đã mất hơn 1 năm để sản xuất giáo trình. Chính vì vậy, nội dung được tối ưu hóa và xuất sắc nhất cho việc học tập, đồng thời bao gồm nội dung học tập chi tiết hơn bất kỳ tài liệu nào về Swift Concurrency trên thế giới, nên để duy trì chất lượng khóa học... chúng tôi xin thông báo rằng giáo trình được bán riêng. Việc mua giáo trình là tùy chọn. Bạn hoàn toàn có thể chỉ mua khóa học.)

Swift Concurrency cho Swift 6 bởi Allen (Tài liệu tích hợp Part -1 / Part -2)

Liên kết nơi bán: https://smartstore.naver.com/allenschool/products/11528874881
(30,000 won)

Ngay cả khi bạn không trực tiếp tham gia khóa học này, bạn vẫn có thể mua riêng giáo trình. (Tuy nhiên, vì đây là tài liệu được tối ưu hóa cho mục đích giảng dạy, nên khi chỉ mua giáo trình có thể có những nội dung khó hiểu. Nếu bạn đồng ý với điều này, bạn có thể chỉ mua giáo trình mà không cần mua khóa học.)

Swift Concurrency cho Swift 6 (Phần - 2) ✍🏻

Phụ đề: Học lập trình đồng thời Swift (Swift Concurrency) đúng cách để tiến tới Swift 6


🌿🌿🌿

Nền tảng vững chắc dựa trên CS và
sự khác biệt nhỏ trong chi tiết
tạo nên sự khác biệt về năng lực.

🌿🌿🌿



스위프트는 5.5 버전에서 새로운 동시성 프로그래밍(Swift Concurrency)이 도입된 이후, 단계 별 준비를 거쳐 드디어 6 버전으로 업데이트가 되었습니다. 그리고 [[STRONG_1]]Swift 6 버전의 핵심적인 목표[[/STRONG_1]] 중의 하나가 바로 코드의 [[STRONG_2]]잠재적인 데이터 경합[[/STRONG_2]](Race Condition/Data-Races) [[STRONG_3]]가능성을 제거하고 컴파일 단계부터 Thread-Safe(쓰레드 안전) 한 코드를 구현할 수 있게 하여 안전성을 보장[[/STRONG_3]]하려는 것입니다.

(Chúng ta đang đứng tại bước ngoặt cho việc áp dụng Swift 6 một cách dần dần.)


Do đó, khóa học này được thiết kế với mục tiêu từng bước tiến tới Swift 6, bằng cách học tập toàn bộ nội dung liên quan đến Swift Concurrency từ A đến Z. Vui lòng tham khảo nội dung chính của khóa học bên dưới, và trong video giới thiệu bài giảng đầu tiên, chúng tôi đã giải thích chi tiết về khóa học, vui lòng tham khảo thêm.

(Khi bạn hoàn thành việc học tập toàn bộ nội dung từ Part-1 đến Part-2, nền tảng lý thuyết để áp dụng Swift 6 sẽ được hoàn thiện.)


Luôn là mục tiêu cá nhân của tôi trong các khóa học, nhưng khóa học này đề cập đến nội dung chi tiết và sâu sắc hơn bất kỳ khóa học nào về Swift Concurrency trên trái đất. (Vì tôi tin rằng sự khác biệt nhỏ nhất trong chi tiết như một nỗi ám ảnh tạo nên sự khác biệt về năng lực, nên tôi luôn cố gắng cung cấp nhiều ví dụ code đa dạng và tài liệu được tổng hợp.)

(2) Nội dung chủ yếu được đề cập trong Part - 2 (khóa học này)

  • Hiểu lập trình đồng thời từ góc độ Computer Science (Hiểu về cấu trúc thread/bộ nhớ)

  • Cách ly Dữ liệu / Cách ly Tác vụ / Cách ly Actor (Hiểu về khái niệm cách ly)

  • # Task Isolation và Shared Mutable State (Dữ liệu chia sẻ)

  • Kiểu Sendable (kiểu dữ liệu an toàn khi chia sẻ giữa các luồng)

  • Actor Hoàn Toàn Làm Chủ (1) Cô lập/Không cô lập (2) Tính nguyên tử (3) Tái nhập (4) Actor Hopping

  • (5) Chặn Main Actor (6) Giải quyết xung đột Actor

  • Global Actor và Main Actor

  • Triển khai bộ nhớ đệm (cache) bằng Actor - Ví dụ dự án

  • AsyncSequence (chuỗi bất đồng bộ) và AsyncStream (luồng bất đồng bộ)

  • Ví dụ dự án áp dụng AsyncStream cho WebSocket

  • Truyền (sending) kiểu Non-Sendable

  • Vấn đề liên quan đến cách ly của hàm (closure) - isolated (Actor)? = #isolation / @isolated(any)

  • # Triển khai Custom Executor / Ưu tiên Task Executor ## Triển khai Custom Executor Airflow cho phép bạn triển khai executor tùy chỉnh để đáp ứng các yêu cầu đặc biệt của hệ thống. Để tạo custom executor, bạn cần kế thừa từ class `BaseExecutor`. ```python from airflow.executors.base_executor import BaseExecutor from airflow.models.taskinstance import TaskInstanceKey class CustomExecutor(BaseExecutor):

  • # Tham khảo: Từ khóa consume / consuming

  • Quy tắc ngữ pháp nâng cao của Actor - Constructor / Destructor / Protocol / Kế thừa / Extension

  • Chuyển từ Swift 5 sang Swift 6

  • Phân tích dự án bằng cách sử dụng Instruments

(1) Nội dung chủ yếu được đề cập trong Part - 1 (khóa học hiện tại)

  • # Hiểu đúng về Task / async / await


  • Cách hoạt động của hàm bất đồng bộ (async)

  • Giới thiệu API bất đồng bộ mới liên quan đến URLSession

  • Sử dụng Continuation (1) Hàm callback / (2) Chuyển đổi phương thức delegate sang phương thức bất đồng bộ

  • # Ví dụ dự án chuyển đổi phương thức delegate của ứng dụng vị trí (CoreLocation) sang async/await ## Phương thức delegate truyền thống ```swift import CoreLocation class LocationManager: NSObject, CLLocationManagerDelegate { private let manager = CLLocationManager() private var locationCompletion: ((Result) -> Void)? override init() { super.init() manager.delegate = self } func requestLocation(completion: @escaping (Result) -> Void) { self.locationCompletion = completion manager.requestLocation() } func locationManager(_ manager: CLLocationManager, didUpdateLocations locations:

  • Nội dung lý thuyết về đồng thời có cấu trúc

  • Xử lý song song - (1) async let (2) TaskGroup

  • Hiểu về cách hoạt động của việc hủy tác vụ (Ví dụ dự án liên quan đến hủy tác vụ)

  • Hiểu về mô hình hủy bỏ hợp tác

  • Ứng dụng của Structured Concurrency và hủy bỏ tác vụ

  • Ứng dụng của TaskGroup (Chỉ định số lượng thread đồng thời - Cài đặt tùy chỉnh)

  • # Sử dụng biến Task-Local

Link khóa học Part-1: https://inf.run/jXpfH

Đặc điểm của khóa học này

📌 Mục tiêu của khóa học là đề cập đến lập trình Swift Concurrency từ A đến Z.

📌 Đây là nền tảng để viết code an toàn giữa các luồng ngay từ thời điểm biên dịch (mục tiêu của Swift 6).

📌 Khóa học được tạo ra từ việc phân tích hoàn hảo tất cả các video liên quan đến WWDC - Swift Concurrency hiện có.

📌 Khóa học được tạo ra dựa trên tất cả tài liệu Swift Evolution hiện có (github).

📌 Phân tích vô số sách, khóa học nước ngoài về Concurrency để đề cập đầy đủ nhất có thể tất cả các nội dung.

📌 Các dự án ví dụ đa dạng

📌 Vì vậy chi tiết hơn bất kỳ khóa học Swift Concurrency nào trên trái đất !!!!

📌 (Như mọi khóa học của tôi) Tôi cung cấp tài liệu học tập riêng để giúp bạn hiểu và tổng hợp kiến thức một cách trực quan nhất.

Sử dụng tài liệu tốt nhất cho việc học tập.

Có thể mua giáo trình riêng (PDF sách điện tử)

Để giải thích một cách trực quan nhất có thể, chúng tôi cung cấp giáo trình riêng với 300 trang.
(Giáo trình cần được mua riêng.)

Cung cấp nhiều tài liệu dịch thuật đa dạng bao gồm bản dịch tài liệu chính thức

Chúng tôi cung cấp bản dịch tài liệu chính thức Swift 6 (Concurrency), tài liệu chính thức API Collection, v.v. để giúp bạn tận dụng thời gian học tập một cách hiệu quả nhất.

Cung cấp tài liệu mã nguồn ví dụ cho nhiều dự án đa dạng

Không chỉ học lý thuyết, mà còn áp dụng trực tiếp nội dung học vào dự án để học sâu hơn.

Cung cấp tài liệu code học lý thuyết

Mã nguồn playground với nhiều ví dụ đa dạng được cung cấp để hỗ trợ việc học tập lý thuyết tốt nhất.

Lưu ý trước khi đăng ký khóa học

Giáo trình bán riêng (30.000 won)

1. Cung cấp tài liệu bổ sung (tài liệu code được cung cấp miễn phí)

  • Cung cấp tài liệu mã nguồn /

    Cung cấp ví dụ dự án

  • Cung cấp nhiều bản dịch (Swift 6 - Concurrency / API Collection / Migrating to Swift 6)

2. Kiến thức tiên quyết và lưu ý

  • Mức độ có thể sử dụng thành thạo các khía cạnh cơ bản của cú pháp Swift - hàm, closure, v.v.

  • Kiến thức cơ bản về xử lý callback bất đồng bộ, DispatchQueue và các khái niệm tương tự

  • Kinh nghiệm xử lý API gọi mạng (URLSession, v.v.) bằng Swift

  • Kiến thức cơ bản về UIKit, SwiftUI

3. Môi trường thực hành

  • macOS Sequoia / Xcode 16.2 trở lên

💌 Về giấy phép nội dung khóa học


Nội dung của khóa học này, trong trường hợp tôi có tham khảo hình ảnh v.v., trong PDF sẽ có địa chỉ URL liên quan. Ngoại trừ những trường hợp đó, tất cả tài liệu đều do tôi tự viết, do đó việc đăng nội dung khóa học này lên blog và chia sẻ file PDF giáo trình điện tử được sử dụng làm tài liệu giảng dạy đều bị cấm trong mọi trường hợp.

(Nếu vi phạm các nội dung liên quan đến bản quyền này, bạn có thể phải chịu trách nhiệm pháp lý, vì vậy vui lòng lưu ý.)

Q. Khóa học có được học vĩnh viễn không?

A. Không phải là truy cập trọn đời. Khóa học này có thời hạn 12 tháng để truy cập khóa học. Vui lòng lưu ý điều này. (Sau khi trải qua nhiều trường hợp khóa học của tôi bị chia sẻ trái phép.. và vì tôi cũng không thể kiếm được nhiều tiền so với thời gian và công sức bỏ ra.. đây chỉ là biện pháp tốt nhất tôi có thể làm để ngăn chặn việc chia sẻ khóa học, mong bạn thông cảm 🙏🏻)

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Ai muốn học nâng cao Swift Concurrency

  • Người học CS đến nơi đến chốn.

  • Những ai muốn nghiền nát video WWDC hơn cả mức độ đó!!!!!!

Cần biết trước khi bắt đầu?

  • Cơ bản về ngôn ngữ Swift

  • Mức kiến thức cơ bản về lập trình đồng thời

Xin chào
Đây là allen

7,579

Học viên

751

Đánh giá

310

Trả lời

5.0

Xếp hạng

7

Các khóa học

Tôi là Allen, nhà phát triển iOS.
https://www.youtube.com/@allen_ios

"Kiến thức thực sự hiểu rõ là phải có thể giải thích một cách dễ dàng bằng ngôn ngữ của chính mình." là phương châm của tôi.

Vì vậy, tôi muốn trở thành một nhà phát triển có thể chia sẻ kiến thức bằng ngôn ngữ mà bất kỳ ai cũng có thể hiểu được, thông qua việc giải thích một cách dễ hiểu những sai lầm mà tôi đã trải qua trong quá trình học tập.


Tôi không quan tâm đến việc tạo ra những bài giảng chỉ dạy hời hợt những chủ đề dễ dàng trong thời gian ngắn.
Những bài giảng như vậy có thể được tạo ra nhanh chóng như sản xuất hàng loạt, nhưng tôi tin rằng để cuối cùng "trưởng thành thành một nhà phát triển giỏi", thì nền tảng lý thuyết phải thực sự vững chắc.

Thay vì những bài giảng dễ dãi, mục tiêu bài giảng của tôi là truyền đạt những nội dung khó mà bạn
bắt buộc phải biết để trở thành một nhà phát triển giỏi (người có thể không ngừng phát triển) một cách dễ hiểu và trực quan nhất có thể.
Từ đó, tạo ra nền tảng để chính các bạn, chứ không phải tôi, có thể tự mình trăn trở và suy nghĩ về lý do TẠI SAO (WHY).

Cũng giống như việc bản thân tôi luôn nỗ lực để ngày mai trở thành một nhà phát triển tốt hơn,
tôi muốn truyền đạt một cách sâu sắc những nội dung mà mình đã từng trăn trở.

 

Tôi nghĩ rằng việc liên tục thất bại trong các buổi phỏng vấn, hoặc không thể diễn đạt những nội dung dễ dàng bằng ngôn ngữ của chính mình, đồng nghĩa với việc bạn chưa thực sự hiểu rõ chúng. Ngược lại, tôi tin rằng chỉ khi có "nền tảng cơ bản vững chắc" về những nội dung cơ bản và CS, bạn mới có thể phát triển nhanh chóng.


👇🏻Mọi thắc mắc vui lòng gửi về email bên dưới.

we.love.code.allen@gmail.com


Ngôn ngữ: Swift, Python, Java, C#

Thêm

Chương trình giảng dạy

Tất cả

71 bài giảng ∙ (16giờ 2phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

25 đánh giá

5.0

25 đánh giá

  • rnjsdydqkr0550님의 프로필 이미지
    rnjsdydqkr0550

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    61% đã tham gia

    • gaeng11072206님의 프로필 이미지
      gaeng11072206

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      31% đã tham gia

      Khóa học muốn giới thiệu cho những ai muốn học Swift Concurrency nhưng thấy xem WWDC quá khó khăn

      • ckdgnl104263님의 프로필 이미지
        ckdgnl104263

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        31% đã tham gia

        • nayalth8348님의 프로필 이미지
          nayalth8348

          Đánh giá 3

          Đánh giá trung bình 5.0

          5

          31% đã tham gia

          Tôi rất hài lòng vì khóa học rất bổ ích.

          • jkjk950님의 프로필 이미지
            jkjk950

            Đánh giá 3

            Đánh giá trung bình 5.0

            5

            34% đã tham gia

            Khóa học khác của allen

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!

            Ưu đãi có thời hạn, kết thúc sau 5 ngày ngày

            169.400 ₫

            30%

            5.002.082 ₫