inflearn logo

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

Tìm hiểu Swift Concurrency từ A đến Z. (Phần 2)

(5.0) 30 đánh giá

273 học viên

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

Thời gian 24 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

5.0

5.0

giop15

31% đã tham gia

Bạn giải thích từng chi tiết một rất cụ thể nên mình rất dễ hiểu!

5.0

sujinnaljin

100% đã tham gia

Đúng như mong đợi, bài giảng của anh Allen luôn rất đáng tin cậy. Không chỉ bài giảng hay mà lúc nào anh cũng đưa ra những câu trả lời chất lượng cho các câu hỏi. Tôi rất thích vì mình có thể nhận lại được nhiều hơn thế khi tự học và đặt câu hỏi~!

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

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

  • Tìm hiểu Swift Concurrency qua CS

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

  • Cô lập tác vụ / Sendable

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

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

  • Actor - Quy tắc về hàm khởi tạo/hàm hủy/giao thức/kế thừa/mở rộng

  • Actor toàn cục / MainActor

  • AsyncSequence / AsyncStream

  • Triển khai trình thực thi tùy chỉnh (Executor) và khái niệm về sở thích

  • Vấn đề truyền kiểu Non-Sendable và cô lập hàm

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

(Việc biên soạn giáo trình cho khóa học này đã mất hơn 1 năm. Vì giáo trình bao quát những nội dung tối ưu và tốt nhất cho việc học, cũng như chi tiết hơn bất kỳ nội dung nào liên quan đến Swift Concurrency trên thế giới, nên để duy trì chất lượng khóa học, chúng tôi mong bạn thông cảm vì 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 for Swift 6 by Allen (Giáo trình tổng hợp Phần 1 / Phần 2)

Link nơi bán: https://smartstore.naver.com/allenschool/products/11528874881
(30.000 won)

Ngay cả khi 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ì tài liệu được tối ưu hóa cho mục đích của khóa học nên có thể có những nội dung khó hiểu nếu chỉ mua giáo trình. Nếu đồng ý với điều này, bạn cũng có thể không mua khóa học mà chỉ mua giáo trình.)

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

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


🌿🌿🌿

Nền tảng cơ bản vững chắc dựa trên CS
và sự khác biệt tinh tế
tạo nên khoảng cách về năng lực.

🌿🌿🌿



Sau khi Swift giới thiệu lập trình đồng thời mới (Swift Concurrency) ở phiên bản 5.5, trải qua quá trình chuẩn bị từng bước, cuối cùng Swift đã được nâng cấp lên phiên bản 6. Một trong những mục tiêu cốt lõi của phiên bản Swift 6 chính là loại bỏ khả năng xảy ra tranh chấp dữ liệu tiềm ẩn (Race Condition/Data-Races), đồng thời cho phép triển khai mã Thread-Safe (an toàn luồng) ngay từ giai đoạn biên dịch để đảm bảo tính an toàn.

(Chúng ta đang đứng trước bước ngoặt để từng bước áp dụng Swift 6.)


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 và học tất cả nội dung liên quan đến Swift Concurrency, tức là học 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; trong video giới thiệu bài giảng đầu tiên, tôi cũng giải thích chi tiết về nội dung khóa học, vì vậy mong bạn hãy xem thêm video này.

(Nếu học hết nội dung Part-1 / 2, tôi cho rằng nền tảng lý thuyết để áp dụng Swift 6 sẽ được hoàn thiện.)


Đây luôn là mục tiêu cá nhân của tôi, nhưng tôi đang trình bày nội dung chi tiết và chuyên sâu hơn bất kỳ khóa học nào về Swift Concurrency trên Trái Đất. (Tôi tin rằng những khác biệt rất nhỏ, tựa như sự ám ảnh với từng chi tiết, sẽ 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ụ mã nguồn đa dạng cùng các tài liệu được hệ thống hóa.)

(2) Nội dung chính được đề cập trong Part - 2 (khóa học này) ⭐️⭐️⭐

  • Hiểu lập trình đồng thời dưới góc nhìn Khoa học Máy tính (hiểu về cấu trúc thread/bộ nhớ)

  • Cô lập dữ liệu / Cô lập tác vụ / Cô lập Actor (Hiểu về khái niệm cô lập)

  • Task Isolation và Shared Mutable State (dữ liệu dùng chung)

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

  • Chinh phục Actor toàn diện (1) Cô lập/Không cô lập (2) Tính nguyên tử (3) Tái nhập (4) Chuyển đổi Actor

  • (5) Chặn MainActor (6) Giải quyết tranh chấp actor

  • Global Actor và MainActor

  • Triển khai cache bằng Actor – Ví dụ dự án

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

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

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

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

  • Triển khai Executor tùy chỉnh / Mức độ ưu tiên Executor thực thi Task

  • (Tham khảo) từ khóa consume / consuming

  • Đào sâu các quy tắc cú pháp của actor - trình khởi tạo / trình hủy / giao thức / kế thừa / mở rộng

  • Chuyển từ Swift5 sang Swift6

  • Phân tích dự án bằng Instruments

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

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


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

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

  • Sử dụng Continuation (1) Chuyển hàm callback / (2) 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 định vị (CoreLocation) sang async/await

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

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

  • Tìm hiểu cách thức hoạt động của việc hủy tác vụ (ví dụ dự án liên quan đến việc hủy tác vụ)

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

  • Tính đồng thời có cấu trúc và ứng dụng của việc hủy tác vụ

  • Ứng dụng của TaskGroup (chỉ định số lượng luồng đồng thời - thiết lập tùy chỉnh)

  • Ứng dụng biến Task-Local

Liên kết bài giảng Phần 1: https://inf.run/jXpfH

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

📌 Có mục tiêu đề cập đến lập trình Swift Concurrency từ A đến Z.

📌 (mục tiêu của Swift 6) sẽ trở thành nền tảng để viết mã an toàn giữa nhiều luồng ngay từ thời điểm biên dịch.

📌 Đây là khóa học được xây dựng dựa trên việc phân tích toàn diện tất cả các video WWDC hiện có liên quan đến Swift Concurrency.

📌 Đây là khóa học được xây dựng dựa trên việc tham khảo tất cả tài liệu Swift Evolution hiện có (github).

📌 Phân tích nhiều sách, khóa học nước ngoài liên quan đến Concurrency để bao quát mọi nội dung một cách đầy đủ nhất có thể.

📌 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ư các khóa học của tôi vẫn luôn như vậy) tôi cung cấp tài liệu học tập riêng để giúp bạn hiểu và hệ thống hóa kiến thức một cách trực quan nhất.

Hãy sử dụng tài liệu học tập tốt nhất.

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

Để giải thích một cách trực quan nhất, chúng tôi sẽ sử dụng giáo trình riêng dài 300 trang.
(Bạn cần mua giáo trình riêng.)

Cung cấp nhiều tài liệu dịch khác nhau, bao gồm cả bản dịch tài liệu chính thức

Chúng tôi cung cấp bản dịch các tài liệu chính thức về Swift 6 (Concurrency), tài liệu chính thức về API Collection và nhiều tài liệu khác để 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

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

Cung cấp tài liệu mã nguồn học lý thuyết

Cung cấp mã nguồn playground với nhiều ví dụ đa dạng để học lý thuyết một cách tốt nhất.

Lưu ý trước khi tham gia khóa học

Bán riêng giáo trình (30.000 won)

  • Dành cho khóa học - sách điện tử PDF (giáo trình) được bán riêng (Giáo trình tích hợp Part-1 / Part-2)

  • Liên kết: https://forms.gle/b1VH8mhAn7dvWfr3A
    (Các tài liệu mã nguồn ngoài giáo trình được cung cấp miễn phí.)

1. Cung cấp tài liệu bổ sung (tài liệu mã nguồn đượ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 cần có và những điều cần lưu ý

  • Các kiến thức cơ bản về cú pháp Swift – có thể sử dụng thành thạo các hàm, closure, v.v.

  • Kiến thức cơ bản về các hàm callback bất đồng bộ, DispatchQueue và những nội dung tương tự.

  • Kinh nghiệm xử lý các API gọi mạng bằng Swift (chẳng hạn như URLSession)

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

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

  • macOS Sequoia / Xcode 16.2 trở lên

💌Liên quan đến giấy phép nội dung khóa học


Nội dung của khóa học này, nếu tôi có tham khảo dù chỉ một phần nhỏ từ hình ảnh hay tài liệu nào đó, thì URL liên quan sẽ được ghi lại trong PDF. Ngoại trừ những trường hợp đó, mọi tài liệu đều do tôi biên soạn, vì vậy nghiêm cấm đăng tải nội dung của khóa học này lên blog cũng như chia sẻ tệp PDF giáo trình điện tử được sử dụng làm tài liệu khóa học, trong bất kỳ trường hợp nào.

(Nếu vi phạm các nội dung liên quan đến giấy phép này, bạn có thể phải chịu trách nhiệm pháp lý, vì vậy nhất định hãy lưu ý.)

Q. Khóa học có thể học trọn đời không?

A. Không phải là khóa học trọn đời. Khóa học này có thời hạn 24 tháng (2 năm)để tham gia học. Mong bạn lưu ý. (Vì tôi đã nhiều lần gặp trường hợp chia sẻ khóa học của mình... Và vì đây cũng không phải là công việc có thể kiếm được nhiều tiền so với thời gian và công sức tôi bỏ ra... nên đây chỉ là biện pháp tốt nhất mà tôi có thể thực hiện để ngăn chặn việc chia sẻ khóa học. Mong bạn rộng lòng thông cảm 🙏🏻)

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

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

  • Dành cho những ai muốn học chuyên sâu về Swift Concurrency

  • Những ai muốn học nghiêm túc cả nội dung CS nữa

  • Những ai muốn nghiền ngẫm kỹ hơn cả các video WWDC!!!!!!

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

  • Nền tảng 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

Xác minh Inflearn

7,706

Học viên

778

Đánh giá

315

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ả

72 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ả

30 đánh giá

5.0

30 đánh giá

  • rlatlwhd4561075님의 프로필 이미지
    rlatlwhd4561075

    Đánh giá 4

    ∙

    Đánh giá trung bình 5.0

    5

    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

    • 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

      • 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.

        • randychoi95님의 프로필 이미지
          randychoi95

          Đánh giá 3

          ∙

          Đánh giá trung bình 5.0

          5

          31% đã tham gia

          Bạn giải thích từng chi tiết một rất cụ thể nên mình rất dễ hiểu!

          • naljin님의 프로필 이미지
            naljin

            Đánh giá 3

            ∙

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Đúng như mong đợi, bài giảng của anh Allen luôn rất đáng tin cậy. Không chỉ bài giảng hay mà lúc nào anh cũng đưa ra những câu trả lời chất lượng cho các câu hỏi. Tôi rất thích vì mình có thể nhận lại được nhiều hơn thế khi tự học và đặt câu hỏi~!

            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 1 ngày ngày

            21.223 ₫

            29%

            5.002.563 ₫