Alan iOS Concurrency - Tìm hiểu hàng đợi công văn và hàng đợi hoạt động
Lập trình đồng thời - Bao gồm tất cả các khái niệm về đồng bộ hóa và không đồng bộ cần thiết trong lập trình iOS, cũng như GCD và Hoạt động, mở rộng chúng.
Hiểu tối ưu hóa trong iOS (hiệu suất/khả năng phản hồi)
Hiểu các khái niệm cơ bản về xử lý không đồng bộ/đồng bộ hóa
Hiểu hàng đợi công văn của iOS (GCD)
Hiểu nhóm công văn/nhóm công văn không đồng bộ
Tìm hiểu về OperationQueue của iOS
Ví dụ về một dự án thực tế áp dụng GCD/Operation
A đến Z về GCD/Vận hành
Hiểu về an toàn luồng
Hiểu thiết kế đối tượng an toàn theo luồng
Dễ dàng hiểu tất cả những điều này một cách trực quan (có hình ảnh)
🙋🏻♂️ Biểu đồ tự chẩn đoán
Sau lớp học, bạn sẽ hiểu rõ các khái niệm dưới đây.
Tôi hiểu rõ khái niệm về hàng đợi phân phối . (Có/Không)
Tôi hiểu các loại hàng đợi điều phối và chất lượng dịch vụ (QoS). (Có/Không)
Trong hầu hết các trường hợp, tôi biết lý do tại sao tôi không nên sử dụng phương pháp Đồng bộ hóa và tôi hiểu sự khác biệt giữa thời điểm tôi hoàn toàn phải sử dụng phương pháp Đồng bộ hóa . (Có/Không)
Tôi biết về khái niệm nhóm điều phối . (Có/Không)
Tôi biết những điều cần lưu ý khi xử lý các hàm không đồng bộ trong nhóm điều phối . (Có/Không)
Tôi hiểu khái niệm về các hạng mục công việc được phân công và lý do tại sao chúng được sử dụng. (Có/Không)
Tôi biết khái niệm vềtín hiệu điều phối và cách sử dụng chúng. (Có/Không)
Khi thiết kế các đối tượng, bạn phải hiểu rõ những cân nhắc về khả năng nhiều luồng truy cập chúng và thiết kế các đối tượng phù hợp . (Có/Không)
Khi tạo một dự án thuộc loại chế độ xem bảng/chế độ xem bộ sưu tập tải xuống hình ảnh, tôi hiểu rõ những điểm cần lưu ý khi xử lý khái niệm bất đồng bộ . (Có/Không)
Tôi hiểu rõ các vấn đề tiềm ẩn có thể phát sinh khi sử dụng hàng đợi phân phối (khi nhiều luồng truy cập dữ liệu), đặc biệt là tình trạng chạy đua và tôi biết cách sử dụng TSan (Công cụ khử trùng luồng) . (Có/Không)
Tôi hiểu rõ cách viết mã an toàn cho luồng . (Có/Không)
Tôi biết khái niệm về các hoạt động mở rộng trong hàng đợi phân phối và sự khác biệt giữa chúng. (Có/Không)
Bạn có thể sử dụng nó để phân biệt khi nào nên sử dụng hàng đợi thao tác thay vì hàng đợi phân phối. (Có/Không)
Tôi hiểu mã cho các hoạt động không đồng bộ (AsyncOperation) , có thể xử lý các hàm không đồng bộ. (Có/Không)
Bạn có thể thoải mái sử dụng các chức năng chính của thao tác (đặt thứ tự các tác vụ, hủy chúng) . (Có/Không)
📝 Mục lục bài giảng
(Phần lớn được chia thành phần GCD và phần Phép toán . Ngay cả khi bạn hiểu rõ về GCD, bạn vẫn có thể không quen với Phép toán (lớp nhiệm vụ) , một khái niệm được phát triển từ GCD. Bài giảng được cấu trúc sao cho bạn có thể hiểu mọi thứ trong một bài giảng, rõ ràng và dễ hiểu hơn bất kỳ blog hay bài giảng nào.)
🖼️ Ví dụ về kiểu chú thích ảnh
(Ví dụ về nhiều phương pháp giải thích bằng hình ảnh và sơ đồ được sử dụng trong lớp học.)
🌈 Tài liệu được cung cấp trong bài giảng
Dưới đây cung cấp nhiều tài liệu khác nhau.
Tóm tắt liên quan đến GCD PDF - Chương 287
Tóm tắt liên quan đến hoạt động PDF - Chương 89
Mã giải thích liên quan đến GCD (tệp sân chơi) - 19 trang (không bao gồm tệp nguồn)
Mã cho các giải thích liên quan đến Hoạt động (tệp sân chơi) - 8 trang (không bao gồm tệp nguồn)
Tệp dự án iOS - 8
Giải thích các bài viết tham khảo (2)
(Tất cả tài liệu trong thư mục trên đều được cung cấp.)
🙌 Tài liệu tham khảo được sử dụng trong quá trình biên soạn bài giảng
Mặc dù tôi đã tham khảo các tài liệu bên dưới, nhưng tôi đã tự mình thiết kế tất cả các mô tả minh họa.
🙋🏻♂️ Nội dung bài giảng có khác nhiều so với <Tài liệu tham khảo sản xuất bài giảng> không?
Thực sự có rất nhiều sự khác biệt.
Nếu tôi chỉ cố gắng tạo ra một bài giảng ở mức độ dịch thuật dựa hoàn toàn vào các tài liệu tham khảo ở trên, tôi đã không lên kế hoạch cho bài giảng này. Tôi đã chọn phương pháp giải thích tốt nhất có thể, tự mình tạo ra các bài thuyết trình PPT với những lời giải thích hiệu quả, minh họa trực quan và sơ đồ về các chủ đề này để giúp bạnhiểu trực quan cách thức hoạt động thực sự của các luồng . Như đã đề cập ở trên , tôi đã xem lại các tài liệu tham khảo hơn mười lần, và mặc dù bao quát toàn bộ nội dung, bài giảng này nhằm mục đích giúp việc giải thích dễ dàng hơn nhiều và các hình ảnh minh họa đa dạng giúp bạn dễ hiểu hơn.
Và vì nội dung của những hình ảnh này là do cá nhân tôi tự sắp xếp trong hơn hai tháng làm việc toàn thời gian, tôi không nghĩ bạn sẽ tìm thấy một lời giải thích nào như thế này hoặc chi tiết như thế này ở bất kỳ nơi nào khác (kể cả tài liệu nước ngoài). Ví dụ, nếu có một dòng duy nhất trong tài liệu tham khảo (bài giảng video của raywenderlich) nói rằng, "Vấn đề này cũng có thể xảy ra với lazy var", tôi đã có thể tự mình xác định tất cả các vấn đề liên quan đến lazy var, sắp xếp chúng và đưa ra giải pháp đồng thời giúp hiểu trực quan hơn về các hình ảnh.
Việc hiểu được bức tranh tổng thể giúp việc viết code dễ dàng hơn rất nhiều. Tôi đã cố gắng duy trì sự cân bằng giữa việc hiểu thông qua hình ảnh và việc áp dụng code càng nhiều càng tốt, điều này làm cho cuốn sách này nổi bật so với các tài liệu tham khảo khác. So với các tài liệu tham khảo khác, cuốn sách này cung cấp nhiều chi tiết hơn, trực quan hơn và nội dung phong phú hơn, cùng với những giải thích nhất quán và dễ hiểu.
🐠 Về mã được cung cấp
Để giúp bạn hiểu rõ hơn về chủ đề này, các tệp mã được cung cấp và cũng được đề cập trong lớp học . Phần lớn mã được cung cấp được lấy từ các bài giảng video GCD của raywenderlich trong phạm vi được giấy phép cho phép ( các phần được áp dụng đã được chỉ định ). Đối với các phần mà giấy phép không cho phép (mã được cung cấp trong sách raywenderlich), tôi đã tự viết mã và trong khuôn khổ chính , tôi đã cố gắng đảm bảo độ tin cậy của mã được cung cấp bằng cách viết tương tự.
Ngoài ra, để giúp bạn hiểu mã chúng tôi cung cấp, chúng tôi đã sắp xếp lại thứ tự mã và thêm mã để giải thích chi tiết hơn, cung cấp nhiều ví dụ để giúp bạn hiểu nội dung của khóa học này.
🤔 Về giá lớp học
Bạn có thể ngạc nhiên vì mức giá cao cho một chủ đề duy nhất, nhưng tôi đảm bảo với bạn rằng nội dung phong phú này hoàn toàn xứng đáng . Để giải thích nội dung này, tôi đã tự tay tạo một tài liệu PDF, bao gồm 287 trang liên quan đến GCD và 89 trang liên quan đến Toán tử,tổng cộng là 376 trang . (Tài liệu thực tế tôi sử dụng trong các bài giảng video của mình bao gồm khoảng 830 trang PPT, chưa kể mã.)
Khóa học này bao gồm hầu như mọi thứ bạn có thể tìm thấy trong các nguồn tài liệu quốc tế liên quan đến GCD/Operations , và hầu hết các hình ảnh và sơ đồ trong khóa học này là của riêng tôi . Tôi đã dành rất nhiều thời gian và công sức cho khóa học này, và tôi tin rằng đây là một chủ đề quan trọng cho sự phát triển của các nhà phát triển trong tương lai. Do đó, theo quan điểm cá nhân, tôi đã lên kế hoạch và tạo ra khóa học này dựa trên nguyên tắc "Ước gì có nhiều tài liệu và bài giảng như thế này hơn ".
Cá nhân tôi tin rằng việc trả tiền cho một khóa học là một sự đánh đổi giữa thời gian và tiền bạc . Tôi tin rằng nó sẽ xứng đáng với số tiền bỏ ra, giúp bạn tiết kiệm thời gian học tập . Tôi hy vọng bạn sẽ tiết kiệm được thời gian và có được sự hài lòng hơn. Tôi sẽ cố gắng cung cấp cho bạn nội dung chất lượng vượt xa mức giá bạn bỏ ra, và tôi chân thành mong bạn hãy ghi nhớ điều này. ^^
💌 Giấy phép nội dung bài giảng liên quan
Trong trường hợp tôi có tham khảo hình ảnh hoặc tài liệu khác trong bài giảng này, địa chỉ URL liên quan sẽ được cung cấp trong tệp PDF . Ngoại trừ những trường hợp đó, tất cả tài liệu đều là của tôi. Do đó, nếu bạn đang sắp xếp phần giải thích bài giảng trên blog hoặc trang web khác, tôi đề nghị bạn vui lòng đính kèm liên kết đến bài giảng này .
Tuy nhiên, việc đăng toàn bộ nội dung bài giảng này lên blog hoặc chia sẻ các tệp PDF được sử dụng làm tài liệu bài giảng đều bị nghiêm cấm trong mọi trường hợp .
👀 Xem trước nội dung bài giảng được cung cấp
Trước khi bạn quyết định tham gia một lớp học, chúng tôi đã tạo điều kiện cho bạn kiểm tra trước phong cách bài giảng.
( Bản xem trước khoảng một giờliên quan đến Mục 0.1.GCD/Hoạt động)
( Bản xem trước 5 phútliên quan đến Mục 10. 1. Hoạt động)
Bạn có thể xem trước các bài giảng được cung cấp và quyết định có nên tham gia hay không :)
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất cứ ai đã học một chút ngôn ngữ Swift
Bất kỳ ai muốn tìm hiểu các khái niệm cơ bản về xử lý không đồng bộ đồng bộ trong iOS
Bất cứ ai muốn biết về khái niệm hàng đợi công văn GCD (Grand Central Dispatch)
제가 공부하면서 겪었던 시행착오를 쉽게 풀어내어 지식을 공유할 수있는 개발자가 되고싶습니다.
쉬운 주제로 빠른 시간 안에 겉핥기 식으로 쉽게만 가르치는 강의를 만드는 것에는 관심이 없습니다. 그런 강의는 얼마든지 빠르게 찍어내듯 만들 수 있겠지만, 결국 "좋은 개발자로 성장"하는 것은 그만큼 이론적인 기반의 밑거름이 탄탄해야 한다고 믿고 있기 때문입니다.
쉬운 강의보다는, 좋은 개발자(끝임없이 성장할 수 있는 개발자)가 되기 위해 반드시 알아야 하는 어려운 내용까지를 최대한 쉽게, 그리고 직관적으로 알려드리는 것. 그래서 제가 아닌 여러분 스스로 고민/생각할 수 있는 밑거름을 만들어 드리는 것을 저의 강의 목표로 삼고 있습니다.
저 스스로도 내일은 더 좋은 개발자가 되자는 모토를 가지고 있는 만큼 제가 고민 했던 내용들을 깊이있게 전달 드리고 싶습니다.
Những người sẽ được hưởng lợi từ bài giảng này là:
- Khi bạn nghe thấy từ "xử lý không đồng bộ", bạn nghĩ, "Heh.. Tôi đang gặp rắc rối lớn.. tôi nên làm gì đây..?" Những người nghĩ rằng
- Bạn có thể giải quyết vấn đề bằng cách Google, nhưng bạn không biết tại sao mã lại được viết như vậy hoặc liệu logic có đáp ứng được yêu cầu hay không.
Đây là tôi của ngày xưa.. ◠‿◠.. Tôi đã tìm và đọc rất nhiều tài liệu liên quan đến GCD để hiểu về đồng thời, không đồng bộ, v.v., nhưng hiểu biết của tôi bằng 0 và tôi tiếp tục phát triển mà không hiểu tại sao và cách sử dụng nó trong những tình huống nhất định.
Sau đó, tôi thấy rằng khóa học này được đưa vào khóa học phát triển iOS bắt buộc do công ty chỉ định và nói: "Chính là nó!" Tôi nghe xong, ngay khi nghe bài giảng đầu tiên, tôi đã biết.. Bài giảng này là bài giảng duy nhất tôi đến để hoàn thành GCD, một lĩnh vực bấy lâu nay vẫn là một lĩnh vực chưa được biết đến..
Mỗi bài giảng đều được giải thích bằng hình ảnh và ví dụ.. Wow.. những bức tranh thực sự là một ơn trời.. chỉ.. chỉ.. tốt nhất.. Bây giờ, khi tôi xem qua nội dung, tôi có thể hình dung ra bức tranh đó trong đầu. Bất kể lĩnh vực nào, tôi có thể tự tin nói rằng trong số tất cả các khóa học phát triển trực tuyến và ngoại tuyến mà tôi đã tham gia cho đến nay, nếu tôi phải chọn chỉ một khóa học thì đó sẽ là khóa học này. Nếu có thắc mắc gì hãy để lại câu hỏi chúng tôi sẽ giải đáp cặn kẽ, chi tiết và tận tình để bạn có thể tự mình biên soạn bài giảng 100%.
Cuối cùng, bài giảng này rất hữu ích trong việc tìm hiểu sự không đồng bộ/đồng thời bất kể ngôn ngữ. Cách đây không lâu, tôi có cơ hội đọc một bài viết về async và chờ đợi trong JavaScript, và khi đọc nó, tôi đã nghĩ, ồ, đây thực sự là một bài giảng tuyệt vời.
Ờ... tóm lại trong một từ...
"Tôi đề xuất khóa học tốt nhất!"
Alan, tôi hy vọng bạn làm việc ít hơn và kiếm được nhiều tiền hơn.. Cầu mong bạn đạt được sự giàu có khi hít vào và sức khỏe khi thở ra............!!!!!!!!!!!!!!!!!! !!!!!
Trước hết, người hướng dẫn là người không chuyên nên hiểu rõ suy nghĩ của người không chuyên và giải thích rất rõ ràng! Tôi rất vui vì bạn đã giải thích chi tiết. (Tôi cũng không phải chuyên ngành.) Ai cũng có thể hiểu được. Ngoài ra, không nơi nào khác dạy nội dung đồng bộ/không đồng bộ. Tôi được bảo rằng giao tiếp không đồng bộ nên được sử dụng vô điều kiện khi giao tiếp, vì vậy tôi chỉ sử dụng nó. Tôi không biết chính xác tại sao, nhưng tôi đã học được nó sau khi tham gia lớp học.
Nhưng việc học sẽ không hoàn hảo nếu bạn chỉ nghe một lần phải không? Tuy nhiên, điều đó là tốt vì một khi bạn mua khóa học này, bạn có thể học đi học lại vô thời hạn. Cảm ơn
(Cuối cùng, tôi thực sự thích việc có các tài liệu và mã PDF! Rất khuyến khích!!
Cá nhân tôi nghe nó ở tốc độ 1,25x. Có hiện tượng chất lượng hình ảnh giảm liên tục nhưng bạn có thể chọn chất lượng hình ảnh trong cửa sổ cài đặt phía dưới bên phải. Nếu bạn chọn cái cao nhất, nó sẽ quay trở lại.)
Tôi chọn bài giảng này vì tôi còn thiếu hiểu biết nhiều về đồng bộ/không đồng bộ, nhưng chất lượng bài giảng rất tốt mặc dù hiện tại tôi đang học. Khi nào bài giảng tiếp theo sẽ được quay? Đây là một khóa học để suy nghĩ. Nó hoàn toàn tuyệt vời. Tôi đánh giá cao nó!
Cho đến nay tôi đã nghe nhiều bài giảng nhưng hầu hết đều nhắm đến người mới bắt đầu và chỉ giải thích những điều cơ bản. Tuy nhiên, bài giảng này dường như bao gồm rất tốt mọi chủ đề từ cơ bản đến nâng cao và tôi cảm thấy như đã dành rất nhiều thời gian cho bài giảng từ khâu thiết kế đến chuẩn bị tài liệu bài giảng. Tôi nghĩ lần sau tôi sẽ thích nghe loại bài giảng này! Cá nhân tôi, nếu người hướng dẫn giảng một bài liên quan đến lập trình chức năng và Rx, tôi nghĩ tôi sẽ trả tiền lại và tận hưởng nó. Cảm ơn bạn vì bài giảng tuyệt vời!
Lâu lắm rồi tôi mới có một bài giảng chất lượng cao.
Đây là một chủ đề khó, nhưng tôi rất ấn tượng với cách bạn giải thích nó một cách dễ dàng bằng hình ảnh. Tôi hơi thất vọng vì khóa học này không được giảm giá khi các khóa học khác được giảm giá, nhưng sau khi học xong tôi nghĩ đó là điều đương nhiên. Cảm ơn bạn đã chia sẻ kiến thức tốt và chúc may mắn.