강의

챌린지

멘토링

로드맵

커뮤니티

Thống trị luồng thực thi trong “kỷ nguyên AI nhấp chuột”: Thiết kế đa luồng và đồng thời

Trong thời đại AI viết mã, các nhà phát triển cần có khả năng phán đoán tại sao đoạn mã đó trở nên chậm và có thể xảy ra lỗi ở đâu. Từ những kiến thức cơ bản về CPU và luồng cho đến nguyên lý nhiều tác vụ được thực thi đồng thời, bạn sẽ từng bước hiểu rõ thông qua thực hành, ghi chú chi tiết và mô phỏng. Dựa trên nền tảng đó, bạn sẽ rèn luyện những kỹ năng cơ bản để tìm ra nguyên nhân của các vấn đề hiệu năng và thiết kế hệ thống nhanh, ổn định.

23 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian Không giới hạn

JavaScript
JavaScript
Python
Python
Node.js
Node.js
Network
Network
Computer Architecture
Computer Architecture
JavaScript
JavaScript
Python
Python
Node.js
Node.js
Network
Network
Computer Architecture
Computer Architecture

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

  • Bạn có thể giải thích mối quan hệ giữa tiến trình, luồng, CPU, thanh ghi và chuyển đổi ngữ cảnh bằng lời của mình.

  • Bạn có thể phân biệt mã chờ tác vụ bên ngoài với mã trực tiếp sử dụng CPU và lựa chọn phương thức xử lý phù hợp.

  • Có thể giải thích lý do async/await không tự động giao các phép tính dài cho một luồng khác.

  • Có thể kết nối quá trình tạo, thông báo, lỗi và kết thúc của worker, đồng thời phân biệt giữa việc hoàn thành công việc và dọn dẹp tài nguyên.

  • Có thể triển khai luồng dữ liệu giữa luồng chính và worker bằng cách sử dụng workerData, parentPort và MessageChannel.

  • Bạn có thể hiểu sự khác biệt giữa việc sao chép dữ liệu, chuyển quyền sở hữu và chia sẻ bộ nhớ, đồng thời lựa chọn phương thức truyền phù hợp với công việc.

  • Có thể chia phạm vi tính toán cho nhiều worker, sau đó so sánh với việc thực thi tuần tự và toàn bộ kết quả để kiểm tra dữ liệu bị thiếu hoặc trùng lặp.

  • Có thể triển khai worker pool và hàng đợi công việc, đồng thời thiết kế các quy tắc xử lý cho việc chuẩn bị, phân công, thất bại và kết thúc.

  • Có thể điều chỉnh chi phí tin nhắn và mức sử dụng bộ nhớ của hàng đợi bằng cách áp dụng giới hạn về nhóm công việc và khối lượng gửi.

  • Bạn có thể diễn giải các giá trị đo hiệu năng bằng cách phân biệt tiêu chí của thời gian đã trôi qua, thời gian CPU và mức sử dụng.

  • Bạn có thể đo số lượng yêu cầu đồng thời, thông lượng và phân bố độ trễ phản hồi, đồng thời so sánh các máy chủ HTTP thực hành có áp dụng worker.

  • Có thể phân biệt vai trò của worker pool libuv bên trong Node.js và worker pool JavaScript tự tạo.

  • Bạn có thể hiểu mối quan hệ giữa ArrayBuffer, SharedArrayBuffer, TypedArray và Buffer, đồng thời xử lý phạm vi byte và quyền sở hữu.

  • Có thể tái hiện tình trạng tranh chấp và giải thích vai trò của các phép toán nguyên tử, chờ có điều kiện, mutex, semaphore cũng như nguyên nhân gây ra tình trạng deadlock.

  • Bạn có thể phân biệt ngữ cảnh thực thi của event loop, Promise và nextTick, đồng thời viết mã cho phép các yêu cầu khác có cơ hội được thực thi.

  • 1. Có thể đánh giá mã xử lý song song do AI đề xuất dựa trên vị trí thực thi, ranh giới dữ liệu, tính chính xác, cách xử lý lỗi và các điều kiện đo lường.

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 người đã từng sử dụng Node.js nhưng khó giải thích thread là gì

  • Dành cho những ai thắc mắc tại sao máy chủ trở nên chậm dù đã sử dụng async/await

  • Những người gặp phải vấn đề các yêu cầu nhẹ của người dùng khác cũng bị trì hoãn do các phép tính nặng nề.

  • Dành cho những người gặp khó khăn trong việc tìm nguyên nhân vì CPU sử dụng thấp nhưng phản hồi chậm.

  • Dành cho những ai đã thử tạo worker nhưng vẫn bối rối không biết kết nối việc xử lý tin nhắn, lỗi và kết thúc như thế nào

  • Dành cho những ai muốn tìm hiểu lý do hiệu suất không được cải thiện dù tăng số lượng worker

  • Dành cho những ai muốn quản lý hàng đợi và mức sử dụng bộ nhớ khi có nhiều tác vụ được xếp chồng.

  • Dành cho những ai bối rối không biết dữ liệu truyền cho worker được sao chép hay dùng chung.

  • Những ai muốn hiểu nguyên lý khiến bộ đếm dùng chung hoặc các giá trị trạng thái đôi khi bị sai lệch

  • Những ai muốn diễn giải các số liệu đo hiệu năng và kết quả kiểm thử tải một cách có cơ sở

  • Dành cho những ai muốn hiểu thứ tự thực thi của event loop, callback và Promise dựa trên nguyên lý thay vì học thuộc lòng.

  • Dành cho những ai muốn phát triển năng lực trực tiếp kiểm chứng thiết kế và hoạt động, đồng thời sử dụng mã do AI tạo ra.

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

  • Nên có thể đọc hiểu cơ bản các biến, câu lệnh điều kiện, vòng lặp, hàm, mảng và đối tượng trong JavaScript.

  • Khuyến khích có kinh nghiệm chạy tệp trong Node.js và sử dụng máy chủ đơn giản hoặc mã bất đồng bộ.

  • Nếu bạn đã từng làm quen với callback, Promise, async/await thì sẽ dễ hiểu hơn; các khái niệm về thread và hệ điều hành sẽ được giải thích từ cơ bản.

Xin chào
Đây là nhcodingstudio

Xác minh Inflearn

Xác minh sự nghiệp

4,323

Học viên

266

Đánh giá

76

Trả lời

4.8

Xếp hạng

24

Các khóa học

Xin chào, chào mừng bạn đến với Woori-dongne Coding Studio!

Woori Dongne Coding Studio là một nhóm giáo dục được thành lập bởi các nhà phát triển tốt nghiệp chuyên ngành Khoa học máy tính tại các trường đại học hàng đầu Bắc Mỹ như Carnegie Mellon, Washington, Toronto, Waterloo và đã tích lũy kinh nghiệm thực tế tại các tập đoàn IT toàn cầu như Google, Microsoft, Meta.

Ban đầu, mọi thứ bắt đầu từ một nhóm học tập được thành lập bởi các sinh viên chuyên ngành Khoa học máy tính tại Mỹ và Canada với mong muốn cùng nhau học hỏi và phát triển. Dù học tại các trường đại học khác nhau và ở các múi giờ khác nhau, nhưng khoảng thời gian cùng nhau giải quyết vấn đề và học hỏi lẫn nhau đó vô cùng đặc biệt, và một ý nghĩ đã tự nhiên nảy ra.

“Cách chúng ta đang học này, nếu truyền đạt lại nguyên vẹn cho người khác thì sẽ thế nào nhỉ?”

Câu hỏi đó chính là điểm khởi đầu của Woori Dongne Coding Studio.

Hiện tại, khoảng 30 nhà phát triển đang đi làm và sinh viên đại học chuyên ngành Khoa học máy tính đang đảm nhận các lĩnh vực chuyên môn riêng, trực tiếp thiết kế và giảng dạy chương trình học bao quát từ nhập môn đến thực chiến. Vượt xa hơn việc truyền đạt kiến thức đơn thuần, chúng tôi cung cấp một môi trường nơi bạn có thể học hỏi dưới góc nhìn của một nhà phát triển thực thụ và cùng nhau trưởng thành.

“Lập trình viên thực thụ phải được học từ những lập trình viên thực thụ.”

Chúng tôi cung cấp lộ trình học tập hệ thống toàn bộ quy trình phát triển web từ đầu đến cuối, nhưng không dừng lại ở lý thuyết mà giúp bạn nâng cao năng lực thông qua thực hành và phản hồi tập trung vào thực tế.
Triết lý của chúng tôi là luôn cùng trăn trở và dẫn dắt sự trưởng thành của từng học viên.

🎯 Triết lý của chúng tôi rất rõ ràng.
"Học tập thực sự đến từ thực hành, và sự trưởng thành chỉ hoàn thiện khi chúng ta đồng hành cùng nhau."

Từ những người mới bắt đầu học lập trình, đến những sinh viên đang chuẩn bị xin việc muốn nâng cao kỹ năng thực tế, hay những thanh thiếu niên đang khám phá định hướng nghề nghiệp.
Neighborhood Coding Studio mong muốn trở thành điểm khởi đầu cho tất cả mọi người và là người bạn đồng hành đáng tin cậy trên cùng một con đường.

Giờ đây, đừng lo lắng một mình nữa.
Neighborhood Coding Studio sẽ luôn đồng hành cùng sự phát triển của các bạn.


Chào mừng bạn đến với Neighborhood Coding Studio!

Neighborhood Coding Studio được thành lập bởi một đội ngũ các nhà phát triển từng theo học ngành khoa học máy tính tại các trường đại học hàng đầu Bắc Mỹ như Carnegie Mellon, Đại học Washington, Đại học Toronto và Đại học Waterloo, và sau đó đã tích lũy kinh nghiệm thực tế tại các công ty công nghệ toàn cầu như Google, Microsoft và Meta.

Mọi thứ đều bắt đầu từ một nhóm học tập được thành lập bởi các sinh viên khoa học máy tính trên khắp Hoa Kỳ và Canada, được tạo ra để cùng nhau phát triển bằng cách chia sẻ kiến thức, giải quyết vấn đề và học hỏi lẫn nhau.
Mặc dù chúng tôi học tại các trường khác nhau ở các múi giờ khác nhau, nhưng trải nghiệm đó ý nghĩa đến mức đã dẫn chúng tôi đến một suy nghĩ đơn giản:

“Chuyện gì sẽ xảy ra nếu chúng ta chia sẻ cách học này với những người khác?”

Ý nghĩ đó đã trở thành nền tảng của Neighborhood Coding Studio.

Ngày nay, chúng tôi là một đội ngũ gồm khoảng 30 nhà phát triển và sinh viên khoa học máy tính đang hoạt động, mỗi người chịu trách nhiệm về lĩnh vực chuyên môn của mình—thiết kế và truyền tải một chương trình giảng dạy trải dài từ kiến thức nền tảng đến phát triển thực tế.
Chúng tôi không chỉ ở đây để giảng dạy—chúng tôi ở đây để giúp bạn nhìn nhận qua lăng kính của những nhà phát triển thực thụ và cùng nhau trưởng thành.

“Để trở thành một lập trình viên thực thụ, bạn phải học hỏi từ những lập trình viên thực thụ.”

Các khóa học của chúng tôi sẽ đưa bạn đi qua toàn bộ hành trình phát triển web—từ đầu đến cuối—tập trung vào thực hành thực tế, các dự án thực chiến và phản hồi thực dụng.
Chúng tôi quan tâm sâu sắc đến sự phát triển của từng học viên và cam kết hỗ trợ con đường của bạn trên mọi bước đi.

🎯 Triết lý của chúng tôi đơn giản nhưng mạnh mẽ:
"Học tập thực sự đến từ việc thực hành, và sự trưởng thành thực sự diễn ra khi chúng ta đồng hành cùng nhau."

Cho dù bạn mới bắt đầu, đang chuẩn bị cho công việc đầu tiên hay đang khám phá tương lai của mình trong ngành công nghệ,
Neighborhood Coding Studio luôn ở đây để trở thành bệ phóng—và là người bạn đồng hành đáng tin cậy của bạn trên hành trình đó.

Bạn không cần phải thực hiện điều đó một mình.
Hãy để Neighborhood Coding Studio đồng hành cùng bạn trên con đường hướng tới tương lai trong lĩnh vực phát triển phần mềm.

Thêm

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

Tất cả

44 bài giảng ∙ (12giờ 42phú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á

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

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

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

42.900 ₫

70%

2.927.955 ₫