강의

멘토링

로드맵

BEST
Programming

/

Web Development

Creating a Web Chat Service with Python/Django (Feat. Channels) - Basics

The Channels library is a real-time messaging library developed under the philosophy of Django. Quickly learn the essence of Channels through this lecture.

(4.7) 17 reviews

320 learners

  • pyhub
파이썬
장고
django
Python
Django
django-channels

Reviews from Early Learners

What you will learn!

  • Distributed messaging and websocket processing using Django Channels

  • Understanding WebSocket Communication

  • Real-time web chat service

Life is short. Even in real-time web service development, with Django/Channels,
Run your business successfully and save time
. 💪

Take the course and get a PyCharm Professional coupon! 🎫

We've received a 6-month coupon from JetBrains for PyCharm Professional (paid tool), the optimal IDE for Django development, so you can continue using it after the course. After completing the course, please apply using the method below.

  1. During the lecture, you will use a 1-month trial license for PyCharm Professional.
  2. Even if you are not a regular student, if you have registered for the course, you can apply for a coupon through the Google form below.
    1. Application link: https://forms.gle/mvDwLQmaCz4Z2vQD9
  3. We will check your application details by Friday every week and send you a coupon to the email address you provided.
  4. Please register any coupons you receive immediately. Failure to do so will result in you no longer receiving license support from JetBrains.
  5. Coupon applications can only be made once per person per class .
  6. Tip: After using this coupon, you can continue to subscribe to JetBrains at a discounted price using the same account.

Note: Students and teachers can receive a one-year license for all JetBrains tools through the JetBrains Student Support Program . Once you apply for the program, you'll receive your license within a few days.

Lecture Topics 📖

Channels is a library that is consistently mentioned as a core Django library, even overseas. Released as version 1.0 in 2017, it is a mature library, reaching version 4.0 in November 2022.

Knowing Channels allows you to add real-time functionality to web services with a minimal amount of code. However, it's unfortunate that so many people are unaware of Channels and lack access to resources, making this difficult. Therefore, I've diligently developed this course to help many people learn real-time web development more easily.

The Channels library inherits the philosophy of the highly productive Django framework. It helps reduce repetition and focus on the core. Let's properly understand the Channels library and learn how to build a highly productive real-time websocket chat service based on Channels.

By taking this course, you will gain a deep understanding of Channels and be able to quickly build real-time web services with Django's high productivity .

📢 Please note before taking the class.

  • Korean subtitles are available for the latter 60% of the uploaded lecture videos, and Korean subtitles for the first 40% are currently being worked on. The remaining subtitles are scheduled to be completed by December 2022.
  • As of Friday, December 23, 2022, all subtitle work has been completed.

I recommend this to these people 🙋

After learning the basics of Django
Those looking for a new challenge

On a static web page
For those who want to feel energized

Real-time chat service
Anyone who wants to make it

Learn channels
For those who want to understand deeply


Lecture Features ✨

A true Djangoholic developer
A lecture that only extracts the core of the channel

Step by step from the basics
Stacking WebSocket Communication

Lecture slides
PDF provided

All lectures with Korean subtitles
Quickly grasp the lecture content!

Rich WebSocket examples :
Echo messages, live blogs, and web chat


What you'll learn 📚

1. Channels Main Components

  • Let's summarize the core concepts of channels.

2. (Practice) Super-simple Echo WebSocket Implementation

  • By implementing Echo WebSocket with Channels, we open the prelude to learning about the Channels chat service.

3. (Practice) Sending and Receiving JS Objects via WebSocket

  • All communication requires serialization and deserialization. We'll examine common mistakes made during serialization in JS and explore JSON serialization and deserialization methods in WebSocket clients and channels.


4. Running and connecting to the Redis server

  • We'll explore how to integrate Redis Enterprise Cloud's Free Plan into a Django project, exploring how to register Redis account information as environment variables and efficiently retrieve and process it in Django. Finally, we'll review the command to run a Redis server with Docker.

5. Interprocess communication using the channel layer

  • Channels supports inter-process communication through the Channel Layer. Let's examine the types of backends supported by the Channel Layer and summarize its core APIs.

6. (Practice) Web Socket Liveblog

  • Let's create a live blog service that responds in real time to server-side blog post additions, edits, and deletions without refreshing the webpage. You'll experience the simple yet powerful power of Django Channels.

7. Data types that can be transmitted to the channel layer

  • Serialization and deserialization are essential in all communication. We'll examine the serialization methods used in communication with the channel layer and delve into the serialization constraints imposed by the channel layer.

8. WebSocket Reconnection

  • Networks can be disconnected at any time. Even WebSockets, which require persistent connections, can experience disconnections at any time. Let's look at two ways to handle WebSocket reconnections.

9. Inheritance relationship of Consumer class

  • In Channels, the subject of request processing is the Consumer. Let's examine the inheritance relationship of the Consumer class provided by Channels and examine each role in detail.

10. Creating a Real-World Chat Service

  • As a core part of this course, we will create a chat service using Django Channels effectively.

11. Security

  • Channels supports two middlewares to defend against WebSocket CSRF attacks, a security feature. Let's look at an example of a CSRF attack and learn more about how to configure the two middlewares.


Expected Questions Q&A 💬

Q. Are there any environment requirements or other precautions I need to take before taking the course?

As mentioned in this lecture, we will not cover setting up a development environment. For more information , please refer to the "Preview" section of " Introduction to Python/Django: Starting with Django Design Philosophy ."

To install and run Redis, you'll need a computer with Docker installed. If you can't install Docker, don't worry. We'll show you how to use the managed Redis service in Redis Enterprise Cloud on redis.com with the Free Plan.

Q. What can I do after learning the contents of this lecture?

With Django, you can develop real-time web services with high productivity.


Introducing the Knowledge Sharer ✒️

I am Jinseok Lee , a software developer who is passionate about Python and Django.

  • Python addict, Django developer with 16 years of practical experience
  • Operator of Ask Company with Django/React (formerly Ask Django), a Q&A community for Django users
  • Microsoft Azure MVP Award Winner (2016-2021, What is a Microsoft MVP? )
  • Seoul National University, Joint Major in Venture Management, Python/Django lecturer, "Venture Startup Web Programming" (2016/2017)
  • Fast Campus, Web Service Development Camp (Python/Django) 3rd Instructor (2015)
  • Lectures and consulting at numerous universities and companies: Seoul National University, KAIST, Pusan National University, Hanyang University, Kookmin University, Samsung Electronics, LG Electronics, LS Group, SK Planet, Encore, KB Securities, SK Telink, Hyundai Motor Group Innocean, Koscom, Naver NIT Service, Art Center Nabi, Bank of Korea, Korea Institute of Industrial Technology Evaluation and Planning, etc.

Recommended for
these people

Who is this course right for?

  • Those who have learned the basics of Django and are looking for a new challenge

  • Anyone who wants to quickly learn real-time web service development

Need to know before starting?

  • Python Language Fundamentals (Functions, Classes, Decorators)

  • Django Basics (Understanding Views, Models, and Templates)

  • Front-end basics (HTML, CSS, JS basic grammar)

Hello
This is

2,985

Learners

144

Reviews

933

Answers

4.7

Rating

5

Courses

파이썬과 장고에 진심인 소프트웨어 개발자

대외 활동

  • 오프라인 교육 : SK텔링크, LS그룹, 삼성 디스플레이, 부산대학교 정보화본부, 서울대학교 벤처경영학연합전공, 패스트캠퍼스 웹서비스 개발 캠프 3기 등

  • 기술 자문 : 유클리드소프트, 부산대학교, 한국산업기술평가관리원, 한국방송통신전파진흥원 등

여러분의 파이썬/장고/리액트 페이스메이커가 되겠습니다. 😉

Curriculum

All

23 lectures ∙ (2hr 24min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

17 reviews

4.7

17 reviews

  • 김창훈님의 프로필 이미지
    김창훈

    Reviews 4

    Average Rating 2.8

    3

    100% enrolled

    기능 개발에 대한 설명만 있고 그 기능을 개발하는데 있어 사용하는 것들의 원리 설명 같은 것이 부족하여 채팅방을 만들어 보고 싶다면 좋은 강의가 되겠지만 channels 를 이해하는데는 무리가 있는 것으로 보입니다.

    • 朴俊相님의 프로필 이미지
      朴俊相

      Reviews 4

      Average Rating 4.0

      5

      100% enrolled

      장고 채널 관련 영상이나 강의들 찾아 봤는데, 이 강의정도로 도움이 되는 강의는 못 봤습니다. 많은 내용에 흐름이 빨라서 조금만 딴데 정신 팔면 안되기에 긴장 풀고 보기 어렵지만 웹소켓 이용시의 인증 및 실제 채팅 서비스를 구현하는데 있어서 필요한 기능 구현들을 가르쳐주고 있기에 매우 도움이 됐습니다. 직접 구현하면서 검색이나 ChatGPT이용하면 해결할 수 있는 이슈들일 수도 있긴 하지만 미리 알아두면 좋은 내용이 많습니다.

      • 최웅일님의 프로필 이미지
        최웅일

        Reviews 3

        Average Rating 5.0

        5

        30% enrolled

        • 김동현님의 프로필 이미지
          김동현

          Reviews 5

          Average Rating 4.0

          4

          78% enrolled

          • 임찬님의 프로필 이미지
            임찬

            Reviews 14

            Average Rating 4.9

            5

            57% enrolled

            Django 기본 강의를 완강한 후 들으면 매우 재밌는 강의입니다. 이 강의가 더 오래되어서 버전에 대한 차이가 있지만, 또 최신 버전에 맞게 수강자가 일일이 오류를 수정하는 맛도 있네요. 즐겁습니다!

            $42.90

            pyhub's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!