Swift SELF
Từ cú pháp cơ bản đến kiến trúc ứng dụng tải cao. 72 cấp độ, hơn 1000 bài tập tương tác với đánh giá code tức thì. Bạn sẽ học cách viết công cụ CLI đáng tin cậy, kiểm tra logic và làm việc với mạng và đa luồng qua async/await. Bước vào phát triển backend với ngôn ngữ nhanh và an toàn bộ nhớ, nơi lương cao hơn và cạnh tranh thấp hơn.
- Cấp độ 1
Bị khóa Các lệnh và chương trình đầu tiên trong Swift - Cấp độ 2
Bị khóa Làm việc với số nguyên, chuỗi và nhập dữ liệu - Cấp độ 3
Bị khóa Câu lệnh điều kiện và logic cơ bản - Cấp độ 4
Bị khóa Vòng lặp và luồng điều khiển - Cấp độ 5
Bị khóa Cài đặt IDE, SDK và thiết lập dự án - Cấp độ 6
Bị khóa Số: chuyển đổi, độ chính xác, Random - Cấp độ 7
Bị khóa Chuỗi: thao tác, định dạng, split và trim - Cấp độ 8
Bị khóa Switch và phạm vi: pattern matching cơ bản - Cấp độ 9
Bị khóa Hàm: tham số, labels, inout và trả về tuple - Cấp độ 10
Bị khóa Optionals chuyên sâu: if let, guard let, ??, chaining - Cấp độ 11
Bị khóa Array: cơ bản về mảng - Cấp độ 12
Bị khóa Khám phá Array: ArraySlice, COW và chi phí thao tác - Cấp độ 13
Bị khóa Dictionary: key-value và bản đồ tần suất - Cấp độ 14
Bị khóa Set và bộ giá trị (tuples) - Cấp độ 15
Bị khóa Khám phá Chuỗi: Character, chỉ mục và Substring - Cấp độ 16
Bị khóa Closures I: cú pháp, map, filter, compactMap - Cấp độ 17
Bị khóa Closures II: reduce, pipelines và tính dễ đọc của mã - Cấp độ 18
Bị khóa Giao thức Sequence, Collection và đánh giá lazy - Cấp độ 19
Bị khóa So sánh và sắp xếp: Equatable, Comparable, tìm kiếm nhị phân - Cấp độ 20
Bị khóa Đệ quy và phân tách vấn đề theo thuật toán - Cấp độ 21
Bị khóa Thuật toán trên mảng: two pointers, sliding window, prefix sums - Cấp độ 22
Bị khóa Thuật toán với Dictionary và Set: hashing, grouping, indexing - Cấp độ 23
Bị khóa Struct I: cơ bản về struct, dữ liệu và phương thức - Cấp độ 24
Bị khóa Struct II: computed properties, observers, thiết kế kiểu - Cấp độ 25
Bị khóa Enum I: cơ bản, raw values, CaseIterable - Cấp độ 26
Bị khóa Enum II: associated values cho các trạng thái và lệnh - Cấp độ 27
Bị khóa Optionals chuyên sâu: binding, chaining, map, flatMap - Cấp độ 28
Bị khóa Khởi tạo: failable init (?) và Value Objects - Cấp độ 29
Bị khóa Lỗi I: giao thức Error, throws, try, do/catch - Cấp độ 30
Bị khóa Lỗi II: try?, try!, các tầng xử lý và UX của lỗi - Cấp độ 31
Bị khóa Luồng điều khiển: Result, defer, assert, precondition - Cấp độ 32
Bị khóa Ngày và giờ: Date, Calendar, định dạng (ISO8601) - Cấp độ 33
Bị khóa CLI I: phân tích tham số dòng lệnh và token hóa - Cấp độ 34
Bị khóa CLI II: biểu thức chính quy (Regex) và xác thực - Cấp độ 35
Bị khóa Quản lý bộ nhớ: Ngữ nghĩa Value vs Reference - Cấp độ 36
Bị khóa Class: cơ bản, init, deinit, tính đồng nhất của đối tượng - Cấp độ 37
Bị khóa ARC: quyền sở hữu bộ nhớ, retain cycles, weak, unowned - Cấp độ 38
Bị khóa Closures trong bộ nhớ: escaping và capture lists - Cấp độ 39
Bị khóa OOP: kế thừa, composition và type casting - Cấp độ 40
Bị khóa Giao thức I: contracts, composition và any - Cấp độ 41
Bị khóa Giao thức II: triển khai default và POP - Cấp độ 42
Bị khóa Extensions và giới thiệu về Generics - Cấp độ 43
Bị khóa Generics I: ràng buộc (where), thuật toán và rethrows - Cấp độ 44
Bị khóa Generics II: thực hành với Stack, bất biến, Hashable - Cấp độ 45
Bị khóa Giao thức nâng cao: associatedtype, Comparable, ID - Cấp độ 46
Bị khóa Type Erasure: Existentials và bước đầu kiến trúc - Cấp độ 47
Bị khóa Kiến trúc: DTO, Domain, định tuyến lỗi và ranh giới mô-đun - Cấp độ 48
Bị khóa SwiftPM I: targets, phụ thuộc, build, run, test - Cấp độ 49
Bị khóa SwiftPM II: Access control, SemVer và gói cục bộ - Cấp độ 50
Bị khóa Kỹ thuật: thiết kế API, tài liệu và cơ bản về Git - Cấp độ 51
Bị khóa Cơ bản CI/CD: GitHub và giới thiệu XCTest - Cấp độ 52
Bị khóa Kiểm thử I: mẫu AAA, testable, kiểm thử table-driven - Cấp độ 53
Bị khóa Kiểm thử II: Mocks và kiểm thử interaction - Cấp độ 54
Bị khóa Kỹ thuật: chiến lược gỡ lỗi và hạ tầng ghi nhật ký - Cấp độ 55
Bị khóa Hệ thống tệp: FileManager, đường dẫn và data-dir - Cấp độ 56
Bị khóa Tệp văn bản: thao tác I/O, UTF-8, CSV, streaming - Cấp độ 57
Bị khóa Tệp nhị phân: Data, byte, hex dump, chunked I/O - Cấp độ 58
Bị khóa Phân tích cú pháp I: JSON, Codable cơ bản - Cấp độ 59
Bị khóa Phân tích cú pháp II: Codable nâng cao (CodingKeys, chiến lược) - Cấp độ 60
Bị khóa Dữ liệu: schemaVersion, di chuyển và xác thực - Cấp độ 61
Bị khóa Dữ liệu: mẫu Repository, backup, ghi chú đáng tin cậy - Cấp độ 62
Bị khóa Lập chỉ mục, vi mô phỏng và cơ bản về HTTP - Cấp độ 63
Bị khóa Mạng I: URLSession, URLRequest, URLComponents - Cấp độ 64
Bị khóa Mạng II: Endpoint builder, ánh xạ DTO, giới thiệu về async/await - Cấp độ 65
Bị khóa Async/Await I: Task, cancellation, thời gian chờ - Cấp độ 66
Bị khóa Mạng III: khả năng chịu lỗi, retry, mocks và kiểm thử async - Cấp độ 67
Bị khóa Mạng IV: bộ nhớ đệm, rate limiting và pipelines - Cấp độ 68
Bị khóa Concurrency I: async let và structured concurrency - Cấp độ 69
Bị khóa Concurrency II: TaskGroup, độ ưu tiên và giới hạn - Cấp độ 70
Bị khóa Concurrency III: Actors, Sendable, bảo vệ trạng thái, reentrancy - Cấp độ 71
Bị khóa Concurrency IV: AsyncSequence, AsyncStream, bộ đệm - Cấp độ 72
Bị khóa Hoàn thiện CLI