Lập trình đồng thời Python : Từ thu thập dữ liệu đến phát triển web (feat. FastAPI, async, await)
Chúng tôi sử dụng lập trình đồng thời/song song trong Python để thu thập dữ liệu, tải dữ liệu vào MongoDB, phân tích và phát triển ứng dụng web trực quan hóa dữ liệu được thu thập bằng FastAPI, một khung web hiện đại. Trong khóa học này, bạn sẽ tìm hiểu và hiểu về lập trình song song/đồng thời Python bằng cách sử dụng coroutine, đa luồng và đa xử lý cũng như cách sử dụng chúng để tăng hiệu suất trong Python. Chúng tôi giúp bạn áp dụng trực tiếp mã song song/đồng thời của Python vào thực hành. Thay vì chỉ phát triển, chúng tôi sẽ hướng dẫn bạn cách triển khai và vận hành một ứng dụng thực tế trên đám mây AWS.
Nguyên tắc thiết kế mã lập trình đồng thời/song song
Coroutine Python, lập trình không đồng bộ
Kỹ thuật đa luồng, đa xử lý Python
Kiến thức về hệ điều hành về các tiến trình và luồng
Đang tải dữ liệu lớn không có cấu trúc bằng MongoDB
Phát triển máy chủ bằng FastAPI, sử dụng cổng không đồng bộ Uvicorn
Xây dựng máy chủ đám mây AWS
Thu thập dữ liệu web, trực quan hóa
Python chậm? Bay cao với lập trình đồng thời và song song!
Bài giảng Trước khi bạn bắt đầu
Khóa học này có hai mục tiêu chính: giúp bạn hiểu các khái niệm về đồng thời, song song và lập trình bất đồng bộ, đồng thời hướng dẫn bạn cách sử dụng mã nào trong từng tình huống . Trong nửa sau của khóa học, chúng ta sẽ làm việc trên một dự án thực tế sử dụng lập trình đồng thời để giúp bạn chuyển từ hiểu biết lý thuyết sang ứng dụng thực tế các khái niệm.
Lập trình đồng thời, không đồng bộ và song song Với cú pháp Python mới nhất
Kể từ phiên bản Python 3.7, khả năng hỗ trợ lập trình đồng thời, bất đồng bộ và song song đã được mở rộng đáng kể. Khi nhu cầu về các tính năng này tăng lên, nhiều framework và thư viện hỗ trợ lập trình đồng thời, bất đồng bộ và song song đã xuất hiện. Tuy nhiên, nhiều người gặp khó khăn với cú pháp luôn thay đổi của Python. Hơn nữa, nhiều người đã học lý thuyết lại không chắc chắn về cách thức và thời điểm áp dụng cú pháp vào thực tế. Khóa học này sẽ giúp bạn áp dụng ngay các khái niệm về đồng thời, bất đồng bộ và song song bằng cách cung cấp đào tạo thực tế theo cú pháp Python mới nhất .
Đồng thời và song song cùng lúc
Bài giảng này đề cập đến cả đồng thời và song song, minh họa các ứng dụng thực tế. Do đó, tiêu đề "Lập trình đồng thời" mang hai nghĩa: đồng thời trong ngữ cảnh đồng thời và song song, và đồng thời theo nghĩa "cùng lúc ". Lý do là vì song song thường được diễn đạt là "đồng thời" hoặc "cùng lúc".
Bài giảng này Tôi muốn giới thiệu điều này tới những người này
Đồng thời? Song song? Tất cả những điều này là gì?
Đồng thời và song song Nó là gì và tại sao nó lại cần thiết Nếu bạn muốn hiểu
Với cú pháp Python mới nhất Lập trình đồng thời
Đồng thời, không đồng bộ và song song Ngữ pháp được cập nhật Nếu bạn muốn viết
Cú pháp đồng thời của Python Trong thực tế cũng vậy
Nó cũng có thể được áp dụng trong thực tế Sự đồng thời có thể được Lập trình
Các nhà phát triển phần cuối cũng vậy FastAPI tò mò
Sử dụng cú pháp không đồng bộ một cách chủ động FastAPI đã sử dụng Nếu bạn muốn thử nó
Các nhà phân tích dữ liệu và nhà phát triển muốn tăng tốc chương trình Python của họ
Những người muốn học ngữ pháp đồng thời, bất đồng bộ và song song theo ngữ pháp Python mới nhất
Những người muốn áp dụng ngay lập tức lập trình đồng thời, không đồng bộ và song song của Python vào thực tế.
Các nhà phát triển phần mềm muốn tìm hiểu FastAPI, một nền tảng web sử dụng cú pháp không đồng bộ.
Bài giảng này Điều này cũng sẽ giúp ích cho những người như thế này.
Nhà phát triển JavaScript (ngôn ngữ lập trình không đồng bộ) đang học Python
Lập trình đồng thời trong Python: Từ thu thập dữ liệu đến phát triển web
Lập trình đồng thời
Giao tiếp giữa máy khách và máy chủ
Đọc/ghi các tập tin đĩa hệ thống
Hoạt động truy vấn cơ sở dữ liệu
Sử dụng API
Lập trình song song
Xử lý video, âm thanh hoặc hình ảnh
tầm nhìn máy tính
học máy
Học sâu
Bài giảng này Nó diễn ra như thế này
Python Coroutine và Hàm bất đồng bộ
Tìm hiểu về thuật ngữ cơ bản và coroutine của Python.
Chúng tôi sẽ giải thích và sắp xếp các thuật ngữ quan trọng nhưng khó hiểu như bind, blocking, synchronous, asynchronous, subroutine và coroutine bằng cách sử dụng sơ đồ tư duy và mã.
Cuốn sách này giới thiệu lập trình bất đồng bộ cơ bản trong Python sử dụng coroutine. Nó cũng chứng minh, thông qua các ví dụ thực tế (chẳng hạn như hoạt động I/O mạng và CPU), lý do tại sao lập trình bất đồng bộ lại cần thiết để tăng tốc các tình huống cụ thể.
Đa luồng và đa xử lý Python
Đa luồng? Đa xử lý? Đồng thời? Song song?
Chúng ta sẽ triển khai chương trình dựa trên coroutine được phát triển trong Phần 1 bằng các kỹ thuật đa luồng tận dụng tính đồng thời (song song) trên nhiều luồng. Điều này sẽ giúp bạn hiểu cách xử lý mã đồng bộ song song mà không cần sự trợ giúp của mô-đun asyncio. Chúng tôi cũng sẽ giải thích, bằng các ví dụ, tại sao lập trình song song đa luồng trong Python là không thể do Khóa Thông dịch Toàn cục (GIL) của Python.
Chúng ta sẽ triển khai một chương trình sử dụng kỹ thuật đa xử lý để xử lý song song. Chương trình này sẽ hướng dẫn bạn cách sử dụng đa xử lý trong Python và giải thích cách thiết kế mã cho xử lý phân tán trong Python, trong những trường hợp nào.
Thu thập dữ liệu bằng lập trình đồng thời
Áp dụng tính đồng thời và bất đồng bộ vào các dự án thực tế
Dựa trên các lý thuyết đã học, chúng ta sẽ phát triển một trình thu thập dữ liệu web và một trình thu thập dữ liệu bằng cách sử dụng các API mở. Chúng ta cũng sẽ dành thời gian phát triển các chương trình thực tế và làm quen với lập trình đồng thời.
Dự án thực tế: "Ứng dụng web thu thập dữ liệu" với FastAPI
MongoDB CRUD, trực quan hóa dữ liệu và phát triển web với lập trình đồng thời
Dựa trên lý thuyết đã học, chúng ta sẽ phát triển một "ứng dụng web thu thập dữ liệu". Dự án này sử dụng lập trình đồng thời để thu thập dữ liệu trên web và lưu trữ dữ liệu đã thu thập được trong MongoDB. Chúng ta sẽ kết nối MongoDB với FastAPI để phát triển một ứng dụng web có khả năng phân tích và trực quan hóa dữ liệu đã lưu trữ. Dự án này sẽ giúp bạn hiểu và áp dụng lập trình đồng thời và bất đồng bộ vào các tình huống thực tế.
Triển khai dự án với AWS Cloud Computing
Dự án không chỉ dừng lại ở việc phát triển đơn giản. Chúng tôi cũng sẽ hướng dẫn bạn cách triển khai ứng dụng web lên máy chủ bằng công nghệ điện toán đám mây AWS.
Bài giảng thưởng
Bài giảng được cập nhật thông qua các câu hỏi
Các bài giảng ngữ pháp Python cần thiết cho khóa học này sẽ được tải lên liên tục.
Những câu hỏi quan trọng sẽ được trả lời và tải lên liên tục trong các bài giảng bổ sung.
Câu hỏi bài giảng dự kiến Hỏi & Đáp
H. Cần có bao nhiêu kiến thức về Python?
Để tham gia khóa học này, bạn cần có kiến thức Python cơ bản về biến, câu lệnh điều kiện, vòng lặp, hàm và cú pháp lớp. Các cú pháp khó hơn mà bạn gặp phải trong suốt khóa học có thể được giải đáp thông qua các bài giảng bổ sung được đăng tải thường xuyên.
H. Có lưu ý nào liên quan đến khóa học không (yêu cầu về môi trường, các biện pháp phòng ngừa khác, v.v.)?
Quá trình này được thực hiện trong môi trường có phiên bản Python là 3.7 trở lên.
Người chia sẻ kiến thức Những gì tôi muốn nói
Bài giảng sẽ tiếp tục trong tương lai Nó sẽ được cập nhật liên tục
Công nghệ luôn thay đổi. Người ta nói rằng nếu bạn không thể sửa được mã đã viết trước đây, bạn chẳng học được gì cả. Khi các phiên bản Python được nâng cấp, chúng tôi sẽ cập nhật các khóa học để phản ánh các phiên bản mới, giúp bạn học được những kỹ thuật tốt hơn.
Câu hỏi là Bạn luôn được chào đón
Nếu bạn gặp bất kỳ thắc mắc nào hoặc cần giải thích thêm trong suốt khóa học, chúng tôi sẽ cung cấp câu trả lời hợp lý, dựa trên tình huống thực tế. Chúng tôi rất mong nhận được câu hỏi của bạn!
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất kỳ ai muốn tăng tốc chương trình Python thông qua lập trình đồng thời
Bất cứ ai muốn sử dụng lập trình đồng thời Python ngay trong thực tế
Bất cứ ai muốn tải và quản lý dữ liệu trong MongoDB
Nhà phát triển phụ trợ khởi nghiệp muốn áp dụng FastAPI
Bất kỳ ai muốn thu thập dữ liệu hiệu quả thông qua lập trình đồng thời
Những người muốn vượt xa sự phát triển và thực sự triển khai và vận hành các ứng dụng web
Cần biết trước khi bắt đầu?
Kiến thức cơ bản về Python (biến, câu lệnh điều kiện, vòng lặp, hàm, v.v.)
Xin chào Đây là
6,068
Học viên
332
Đánh giá
367
Trả lời
4.8
Xếp hạng
4
Các khóa học
안녕하세요. 더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.
Tôi muốn giới thiệu nó cho những người đã quen với cú pháp Python và đã sử dụng Python ở một mức độ nào đó. Tôi chỉ hiểu sơ bộ về các phương pháp không đồng bộ, nhưng tôi chưa bao giờ thực sự hiểu và sử dụng chúng bằng đầu. Trên thực tế, thật thú vị và sảng khoái khi thực hiện một số hành động nhất định bằng phương pháp không đồng bộ. Điều tốt là bài giảng không chỉ dạy những phần cốt lõi mà còn giải thích những nội dung cần thiết trước khi giải thích những nội dung cốt lõi của bài giảng với tinh thần tiên tri (?). như CPU, quy trình và luồng đã được giải thích. Giải thích) Mặc dù điều này có vẻ cơ bản nhưng có nhiều bài giảng không tuân thủ tốt.
Nếu bạn tải lên bất kỳ bài giảng Python hoặc khung Python nào trong tương lai, tôi muốn nghe tất cả. Cảm ơn bạn vì bài giảng tuyệt vời.
Đây là một trong những bài giảng hay nhất.
Trước hết, tôi đến vì muốn sử dụng API nhanh, nhưng khi học lập trình bất đồng bộ, tôi nhận ra rằng mình vẫn còn thiếu sót rất nhiều.
Tuy nhiên, tôi rất hài lòng với bài giảng vì người hướng dẫn giải thích mọi thứ một cách chi tiết và dễ hiểu.
Tôi nghĩ tôi sẽ trả tiền và lắng nghe ngay cả khi nó có hơn 100.000 won với một chút cường điệu...
Bài giảng này bao gồm mọi thứ từ back-end đến front-end và triển khai máy chủ.
Sau khi nghe bài giảng này, bạn sẽ có thể mở rộng tầm nhìn của mình bằng cách tích lũy kinh nghiệm tương tự trước khi thực hiện một việc khó như Spring framework. Đây sẽ là một thông số kỹ thuật tốt cho những người chưa bao giờ thử triển khai máy chủ.
Tôi sẽ chăm chỉ xem lại những gì người hướng dẫn đã dạy và phát triển nó thành một dự án để biến nó thành kiến thức của mình.
Cảm ơn bạn một lần nữa haha
Lần tới, tôi có thể yêu cầu một bài giảng về Spring Framework nữa không? ㅠㅠ Bạn dạy rất hay. Cảm ơn bạn!!
Cảm ơn bạn đã đánh giá tốt. Tôi tự hào :) Về mùa xuân, hiện tại tôi chưa có kế hoạch gì, nhưng tôi chắc chắn sẽ nhớ nó! Nhờ những bài ôn lại bài giảng này, tôi có thêm sức mạnh để chuẩn bị cho bài giảng tiếp theo.
Tôi nghĩ đó là một bài giảng thực sự giàu thông tin và chất lượng cao. Tôi đã tham gia nhiều bài giảng trực tuyến khác nhau, nhưng bài giảng này thực sự mới mẻ về nhiều mặt.
Tôi biết đến bài giảng này vì tôi quan tâm đến FastAPI và bắt đầu tìm kiếm nó. Sau khi nghe bài giảng này, tôi nhận ra rằng điều quan trọng không phải là học framework một cách thống nhất mà là khái niệm không đồng bộ làm nền tảng cho framework. Tôi đã bị ấn tượng tổng cộng ba lần: một lần vì tôi có thể nhanh chóng nếm thử FastAPI, một lần nữa vì tôi đã học được các khái niệm cơ bản quan trọng và một lần nữa vì tôi hiểu được phương hướng học tập của riêng mình trong tương lai ㅠㅠ
Tôi hiện đang tham gia bài giảng OOP của người hướng dẫn và họ có điểm chung:
1. Lựa chọn các khái niệm và khuôn khổ hợp thời và quan trọng trong ngành;
2. Phương pháp chia nhỏ khái niệm (chủ đề) thành một đơn vị bài giảng (+mỗi bài giảng độc lập với nhau),
3. Một phương pháp cho phép bạn nhanh chóng hiểu và chỉ áp dụng những điểm chính (đây có phải là microlearning thực sự không?),
4. Thở nhanh vừa phải, không nhàm chán,
5. Thỉnh thoảng giải thích một cách thân thiện để không ai bị lạc.
6. Độ dài bài giảng phù hợp (tôi nghĩ thời gian truyền đạt cùng một kiến thức càng ngắn thì càng tốt)
7. Bố cục nội dung luyện tập vui nhộn
Tôi thực sự thích những yếu tố như thế này.
Đó là một bài giảng rất hài lòng, và hãy tiếp tục tạo ra những bài giảng hay (nhanh chóng) (và nhiều) trong tương lai nhé! :D Cảm ơn bạn! Cảm ơn bạn đã làm việc chăm chỉ ~
Cảm ơn bạn rất nhiều vì đã xem xét chi tiết!! Chúc mừng bạn đã hoàn thành nó! :) Một bài giảng tiếp theo đang được thực hiện. Tôi sẽ thưởng cho bạn những bài giảng tốt hơn. ✨
Đó là điều tốt nhất!!! Sau khi cố gắng vừa bò vừa khóc, tốc độ kém đến mức tôi nghĩ ra giải pháp và muốn nâng cao hiểu biết của mình về Python, và tình cờ tôi biết đến Infrun và khóa học này.
Mặc dù đây là một phụ lục nhưng đây là một chương trình giảng dạy rất cần thiết đối với tôi vì tôi có thể thấy AWS được sử dụng thực tế. (Tôi đang nghiên cứu chuyên sâu về Python, chương trình phụ trợ và AWS.)
Tôi đã thu được rất nhiều kiến thức bằng cách giải thích các nguyên tắc cơ bản một cách ngắn gọn. Tôi cũng đã mua một khóa học về các lớp học và định hướng đối tượng!! Tôi sẽ tiếp tục xem các bài giảng và làm việc chăm chỉ để biến chúng thành của riêng mình. Chúng tôi mong muốn được thấy nhiều nội dung tuyệt vời hơn trong tương lai!!