Tin nhắn phân tán và xử lý websocket bằng Kênh Django
Hiểu giao tiếp websocket
Dịch vụ trò chuyện trên web thời gian thực
Cuộc sống ngắn ngủi. Ngay cả trong phát triển dịch vụ web thời gian thực, với Django/Channels, Điều hành doanh nghiệp của bạn thành công và tiết kiệm thời gian. 💪
Tham gia khóa học và nhận phiếu giảm giá PyCharm Professional! 🎫
Chúng tôi đã nhận được phiếu giảm giá 6 tháng từ JetBrains cho PyCharm Professional (công cụ trả phí), IDE tối ưu cho phát triển Django, để bạn có thể tiếp tục sử dụng sau khóa học. Sau khi hoàn thành khóa học, vui lòng đăng ký theo phương thức bên dưới.
Trong buổi thuyết trình, bạn sẽ sử dụng bản dùng thử 1 tháng cho PyCharm Professional.
Ngay cả khi bạn không phải là học viên chính thức, nếu bạn đã đăng ký khóa học, bạn vẫn có thể đăng ký nhận phiếu giảm giá thông qua biểu mẫu Google bên dưới.
Chúng tôi sẽ kiểm tra thông tin chi tiết về đơn đăng ký của bạn vào thứ Sáu hàng tuần và gửi phiếu giảm giá đến địa chỉ email mà bạn cung cấp.
Vui lòng đăng ký ngay bất kỳ phiếu giảm giá nào bạn nhận được. Nếu không, bạn sẽ không còn được JetBrains hỗ trợ cấp phép nữa.
Mỗi người chỉ được phép đăng ký phiếu giảm giá một lần cho mỗi lớp học .
Mẹo: Sau khi sử dụng phiếu giảm giá này, bạn có thể tiếp tục đăng ký JetBrains với mức giá ưu đãi bằng cùng một tài khoản.
Lưu ý: Học sinh và giáo viên có thể nhận được giấy phép sử dụng một năm cho tất cả các công cụ JetBrains thông qua Chương trình Hỗ trợ Học sinh JetBrains. Sau khi đăng ký chương trình, bạn sẽ nhận được giấy phép trong vòng vài ngày.
Chủ đề bài giảng 📖
Channels là một thư viện luôn được nhắc đến như một thư viện cốt lõi của Django, ngay cả ở nước ngoài. Được phát hành dưới dạng phiên bản 1.0 vào năm 2017, đây là một thư viện đã hoàn thiện, đạt đến phiên bản 4.0 vào tháng 11 năm 2022.
Hiểu biết về Channels cho phép bạn thêm chức năng thời gian thực vào các dịch vụ web chỉ với một lượng mã lệnh tối thiểu. Tuy nhiên, thật không may là rất nhiều người chưa biết đến Channels và không có quyền truy cập vào các tài nguyên, khiến việc này trở nên khó khăn. Do đó, tôi đã dày công xây dựng khóa học này để giúp nhiều người học phát triển web thời gian thực dễ dàng hơn.
Thư viện Channels kế thừa triết lý của nền tảng Django hiệu suất cao. Nó giúp giảm thiểu sự lặp lại và tập trung vào cốt lõi. Hãy cùng tìm hiểu kỹ về thư viện Channels và tìm hiểu cách xây dựng một dịch vụ trò chuyện websocket thời gian thực hiệu suất cao dựa trên Channels.
Khi tham gia khóa học này, bạn sẽ có được hiểu biết sâu sắc về Kênh và có thể nhanh chóng xây dựng các dịch vụ web thời gian thực với năng suất cao của Django .
📢 Vui lòng lưu ý trước khi tham gia lớp học.
Phụ đề tiếng Hàn đã có sẵn cho 60% video bài giảng đã tải lên, và phụ đề tiếng Hàn cho 40% video bài giảng đầu tiên hiện đang được xử lý. Các phụ đề còn lại dự kiến hoàn thành vào tháng 12 năm 2022.
Tính đến thứ sáu, ngày 23 tháng 12 năm 2022, mọi công việc phụ đề đã hoàn thành.
Tôi giới thiệu điều này cho những người này 🙋
Sau khi học những điều cơ bản của Django Những người đang tìm kiếm một thử thách mới
Trên một trang web tĩnh Dành cho những ai muốn cảm thấy tràn đầy năng lượng
Dịch vụ trò chuyện thời gian thực Bất cứ ai muốn làm điều đó
Tìm hiểu các kênh Dành cho những ai muốn hiểu sâu sắc
Tính năng bài giảng ✨
Một nhà phát triển Djangoholic thực thụ Một bài giảng chỉ trích dẫn phần cốt lõi của kênh
Từng bước từ những điều cơ bản Xếp chồng giao tiếp WebSocket
Slide bài giảng Đã cung cấp PDF
Tất cả các bài giảng đều có phụ đề tiếng Hàn Nắm bắt nội dung bài giảng một cách nhanh chóng!
Ví dụ về Rich WebSocket : Tin nhắn Echo, blog trực tiếp và trò chuyện trên web
Bạn sẽ học được gì 📚
1. Các thành phần chính của kênh
Chúng ta hãy tóm tắt những khái niệm cốt lõi của kênh.
2. (Thực hành) Triển khai Echo WebSocket siêu đơn giản
Bằng cách triển khai Echo WebSocket với Channels, chúng ta mở ra bước đầu tìm hiểu về dịch vụ trò chuyện Channels.
3. (Thực hành) Gửi và nhận đối tượng JS thông qua WebSocket
Mọi giao tiếp đều cần tuần tự hóa và giải tuần tự hóa. Chúng ta sẽ xem xét những lỗi thường gặp trong quá trình tuần tự hóa trong JS và khám phá các phương pháp tuần tự hóa và giải tuần tự hóa JSON trong các kênh và máy khách WebSocket.
4. Chạy và kết nối với máy chủ Redis
Chúng ta sẽ tìm hiểu cách tích hợp Gói Miễn phí của Redis Enterprise Cloud vào dự án Django, cách đăng ký thông tin tài khoản Redis dưới dạng biến môi trường và cách truy xuất cũng như xử lý thông tin đó một cách hiệu quả trong Django. Cuối cùng, chúng ta sẽ xem xét lệnh chạy máy chủ Redis với Docker.
5. Giao tiếp giữa các tiến trình sử dụng lớp kênh
Channels hỗ trợ giao tiếp giữa các tiến trình thông qua Lớp Channel. Hãy cùng xem xét các loại back-end được Lớp Channel hỗ trợ và tóm tắt các API cốt lõi của nó.
6. (Thực hành) Liveblog ổ cắm web
Hãy cùng tạo một dịch vụ blog trực tiếp, phản hồi theo thời gian thực các thao tác thêm, chỉnh sửa và xóa bài đăng trên blog từ máy chủ mà không cần tải lại trang web. Bạn sẽ được trải nghiệm sức mạnh đơn giản nhưng mạnh mẽ của Django Channels.
7. Các kiểu dữ liệu có thể được truyền tới lớp kênh
Tuần tự hóa và hủy tuần tự hóa là thiết yếu trong mọi giao tiếp. Chúng ta sẽ xem xét các phương pháp tuần tự hóa được sử dụng trong giao tiếp với lớp kênh và đi sâu vào các ràng buộc tuần tự hóa do lớp kênh áp đặt.
8. Kết nối lại WebSocket
Mạng có thể bị ngắt kết nối bất cứ lúc nào. Ngay cả WebSocket, vốn yêu cầu kết nối liên tục, cũng có thể bị ngắt kết nối bất cứ lúc nào. Hãy cùng xem xét hai cách xử lý việc kết nối lại WebSocket.
9. Mối quan hệ kế thừa của lớp Consumer
Trong Channels, chủ thể xử lý yêu cầu là Consumer. Chúng ta hãy xem xét mối quan hệ kế thừa của lớp Consumer do Channels cung cấp và phân tích chi tiết từng vai trò.
10. Tạo dịch vụ trò chuyện thực tế
Là một phần cốt lõi của khóa học này, chúng ta sẽ tạo ra một dịch vụ trò chuyện sử dụng Django Channels một cách hiệu quả.
11. Bảo mật
Channels hỗ trợ hai phần mềm trung gian để chống lại các cuộc tấn công CSRF của WebSocket, một tính năng bảo mật. Hãy cùng xem một ví dụ về cuộc tấn công CSRF và tìm hiểu thêm về cách cấu hình hai phần mềm trung gian này.
Câu hỏi dự kiến Hỏi & Đáp💬
H. Tôi có cần thực hiện bất kỳ yêu cầu nào về môi trường hoặc biện pháp phòng ngừa nào khác trước khi tham gia khóa học không?
Để cài đặt và chạy Redis, bạn cần một máy tính đã cài đặt Docker. Nếu bạn không thể cài đặt Docker, đừng lo lắng. Chúng tôi sẽ hướng dẫn bạn cách sử dụng dịch vụ Redis được quản lý trong Redis Enterprise Cloud trên redis.com với Gói Miễn phí.
H. Tôi có thể làm gì sau khi học xong nội dung bài giảng này?
Với Django, bạn có thể phát triển các dịch vụ web thời gian thực với năng suất cao.
Giới thiệu Người chia sẻ kiến thức ✒️
Tôi là Jinseok Lee , một nhà phát triển phần mềm đam mê Python và Django.
Người nghiện Python, nhà phát triển Django với 16 năm kinh nghiệm thực tế
Người điều hành Ask Company với Django/React (trước đây là Ask Django), một cộng đồng hỏi đáp dành cho người dùng Django
Người chiến thắng giải thưởng Microsoft Azure MVP (2016-2021, Microsoft MVP là gì? )
Đại học Quốc gia Seoul, Chuyên ngành Quản lý Doanh nghiệp, Giảng viên Python/Django, "Lập trình Web Khởi nghiệp Doanh nghiệp" (2016/2017)
Fast Campus, Trại phát triển dịch vụ web (Python/Django) Giảng viên thứ 3 (2015)
Giảng dạy và tư vấn tại nhiều trường đại học và công ty: Đại học Quốc gia Seoul, KAIST, Đại học Quốc gia Pusan, Đại học Hanyang, Đại học Kookmin, Samsung Electronics, LG Electronics, LS Group, SK Planet, Encore, KB Securities, SK Telink, Hyundai Motor Group Innocean, Koscom, Naver NIT Service, Art Center Nabi, Ngân hàng Hàn Quốc, Viện Đánh giá và Quy hoạch Công nghệ Công nghiệp Hàn Quốc, v.v.
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất kỳ ai đã học kiến thức cơ bản về Django và đang tìm kiếm thử thách mới
Bất kỳ ai muốn học nhanh cách phát triển dịch vụ web theo thời gian thực
Cần biết trước khi bắt đầu?
Khái niệm cơ bản về ngôn ngữ Python (hàm, lớp, trang trí)
Khái niệm cơ bản về Django (hiểu chế độ xem, mô hình và mẫu)
Kiến thức cơ bản về front-end (ngữ pháp cơ bản HTML, CSS, JS)
Tôi đã tìm hiểu các video và khóa học liên quan đến Django Channels, nhưng chưa thấy khóa học nào hữu ích bằng khóa học này.
Nội dung rất nhiều và tiến độ nhanh nên không thể xao nhãng một chút nào, khó có thể xem một cách thoải mái, nhưng khóa học này dạy về xác thực khi sử dụng websocket và các tính năng cần thiết để triển khai dịch vụ chat thực tế nên rất hữu ích.
Mặc dù có thể là những vấn đề có thể giải quyết bằng cách tìm kiếm hoặc sử dụng ChatGPT khi tự triển khai, nhưng có rất nhiều nội dung tốt nên biết trước.
Django cơ bản là một khóa học rất thú vị để học sau khi đã hoàn thành khóa học cơ bản.
Khóa học này đã cũ hơn nên có sự khác biệt về phiên bản, nhưng cũng thú vị khi học viên phải tự sửa lỗi theo phiên bản mới nhất.
Thật vui vẻ!
Cảm ơn bạn vì những bài giảng luôn tuyệt vời.
Điểm mạnh của khóa học này nằm ở các câu hỏi. Họ luôn giải quyết mọi việc bằng những câu trả lời chi tiết. Cảm giác như nhìn thấy một giáo viên ở trường tiểu học. Thầy biết tất cả mọi thứ.