BEST
개발 · 프로그래밍

/

웹 개발

파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편

채널스 라이브러리는 장고의 철학 아래 개발된 실시간 메세징 라이브러리입니다. 본 강의를 통해 채널스의 진수를 빠르게 익혀보세요.

(4.6) 수강평 11개

수강생 292명

Thumbnail

중급자를 위해 준비한
[백엔드, 웹 개발] 강의입니다.

이런 걸
배워요!

  • 장고 채널스를 활용한 분산 메세징 및 웹소켓 처리

  • 웹소켓 통신에 대한 이해

  • 실시간 웹채팅 서비스

인생은 짧습니다. 실시간 웹서비스 개발에서도 장고/채널스를 통해,
비즈니스를 빠르게 성공적으로 이끄시고 여러분의 시간도 아끼세요
. 💪

강의 듣고 PyCharm Professional 쿠폰 받자! 🎫

장고 개발의 최적의 IDE인 PyCharm Professional (유료 툴)을 강의 후에도 사용하실 수 있도록 JetBrains으로부터 6개월 쿠폰을 후원받았습니다. 완강 후 아래 신청 방법으로 신청해주세요.

  1. 강의 중에는 PyCharm Professional 트라이얼 1개월 라이센스로 진행합니다.
  2. 완강하지 않으셔도, 수강신청하셨다면 아래 구글폼을 통해 쿠폰 신청이 가능합니다.
    1. 신청 링크 : https://forms.gle/mvDwLQmaCz4Z2vQD9
  3. 매주 금요일까지 신청된 내역을 확인하여 신청하신 이메일 주소로 쿠폰을 보내드리겠습니다.
  4. 받은 쿠폰은 즉시 등록해주세요. 등록하지 않으면 JetBrains로부터 더 이상 라이센스 지원을 받을 수 없게 됩니다.
  5. 쿠폰 신청은 강의 별로 1인 1회 가능합니다.
  6. Tip: 본 쿠폰을 사용하신 후에, 해당 계정에서 이어서 유료로 JetBrains 구독하시면, 할인된 가격으로 구독하실 수 있습니다.

참고) 학생/교사이신 분은 JetBrains의 학생 지원 프로그램을 통해, JetBrains의 모든 툴을 1년 단위로 라이센스 받으실 수 있습니다. 해당 프로그램을 신청하시면 수일 내로 라이센스를 발급받으실 수 있습니다.

강의 주제 📖

채널스는 해외에서도 장고 핵심 라이브러리로 빠지지 않고 언급되는 라이브러리입니다. 2017년에 1.0 버전이 릴리즈되고, 2022년 11월에 4.0 릴리즈에 이르면서 충분히 성숙한 라이브러리입니다.

채널스만 알면 정말 작은 양의 코드로도 웹서비스에 실시간성을 부여할 수 있는데, 채널스의 존재를 몰라서 채널스 자료가 없어서 이를 못 하시는 분들이 많이 계셔서 안타까웠습니다. 그래서 이 강의 하나로 많은 분이 더 손쉽게 실시간 웹을 익히실 수 있도록 열심히 강의를 만들었습니다.

채널스 라이브러리는 높은 생산성의 장고 프레임워크의 철학을 그대로 계승하고 있습니다. 반복을 줄이고 핵심에 집중할 수 있도록 도와줍니다. 채널스 라이브러리를 바르게 이해하고, 채널스 기반에서 높은 생산성으로 실시간 웹소켓 채팅 서비스를 만드는 방법을 배워봅시다.

강의를 수강하시면 채널스를 깊게 이해하시게 되고, 장고의 높은 생산성과 함께 빠르게 실시간 웹서비스를 구축하실 수 있게 됩니다.

📢 수강 전 참고해주세요.

  • 업로드된 강의 영상 중 후반 60%에 한글 자막이 적용되어있으며, 초반 40% 강의 영상에 대한 한글 자막은 작업 중입니다. 남은 자막 작업은 2022년 12월 중에 완료 예정입니다.
  • 2022년 12월 23일 (금), 자막 작업이 모두 완료되었습니다.

이런 분들께 추천해요 🙋

장고 기초 학습 후
새로운 도전을 찾는 분

정적인 웹페이지에
활력을 넣고 싶은 분

실시간 채팅 서비스를
만들어보고 싶은 분

채널스를 배워
깊게 이해하고 싶은 분


강의 특징 ✨

찐 장고 홀릭 개발자가
채널스 핵심만 뽑은 강의

기초부터 차근차근
쌓아 올리는 웹 소켓 통신

강의 슬라이드
PDF 제공

전 강의 한글 자막으로
강의 내용 파악을 빠르게!

풍성한 웹소켓 예제:
Echo 메시지, 라이브블로그, 웹 채팅


학습 내용 📚

1.  Channels 주요 구성요소

  • 채널스의 핵심 개념들에 대해서 정리해봅니다.

2. (실습) 초간단 Echo 웹소켓 구현

  • 채널스로 Echo 웹소켓을 구현해봄으로서, 채널스 채팅 서비스 학습의 서막을 엽니다.

3. (실습) JS 객체 웹소켓 전송 및 수신

  • 모든 통신에서는 직렬화/역직렬화 과정이 필연적입니다. JS에서 직렬화 과정에서 흔히 하는 실수를 살펴보고, 웹소켓 클라이언트와 채널스에서 JSON 직렬화/역직렬화방법에 대해서 살펴봅니다.


4. Redis 서버 구동 및 접속

  • Redis Enterprise Cloud의 Free Plan을 활용하여 장고 프로젝트에 연동하는 방법을 살펴보며, 레디스 계정정보를 어떻게 환경변수로 등록하고 장고에서 효율적으로 불러와서 처리하는 방법에 대해서 살펴봅니다. 마지막으로 도커로 레디스 서버를 구동하는 명령을 확인합니다.

5. 채널레이어를 활용한 프로세스간 통신

  • 채널스에서는 Channel Layer를 통해 프로세스 간 통신을 지원합니다. Channel Layer에서 지원하는 백엔드의 종류에 대해서 살펴보고, Channel Layer의 핵심 API에 대해서도 정리해봅니다.

6. (실습) 웹 소켓 Liveblog

  • 웹페이지를 새로고침하지 않아도, 서버에서의 블로그 포스팅 추가/수정/삭제에 실시간으로 반응하는 라이브 블로그 서비스를 만들어봅니다. 장고 채널스의 간결하고 강력한 파워를 느낄 수 있으실 겁니다.

7. 채널 레이어로 전송할 수 있는 데이터 타입

  • 모든 통신에서는 직렬화/역직렬화는 필연적입니다. 채널 레이어와의 통신에서 사용되는 직렬화 방법에 대해서 살펴보고, 채널 레이어에서의 직렬화 제약에 대해서 자세히 살펴봅니다.

8. 웹소켓 재접속

  • 네트워크는 언제든 끊어질 수 있습니다. 지속적인 연결이 필요한 웹소켓에서도 끊어짐은 언제든 발생할 수 있죠. 웹소켓 재접속을 처리하는 2가지 방법에 대해서 살펴봅니다.

9. Consumer 클래스의 상속 관계

  • 채널스에서 요청 처리의 주체는 Consumer입니다. 채널스에서 제공하는 Consumer 클래스의 상속 관계에 대해서 살펴보고, 각 역할에 대해서도 자세히 정리해보겠습니다.

10. 실전 채팅 서비스 만들기

  • 본 강의의 핵심 파트로서, 장고 채널스를 효율적으로 사용하여 채팅 서비스를 만들어봅니다.

11. 보안

  • 채널스에서 지원하는 보안 기능으로서 웹소켓 CSRF 공격을 방어하기 위해 2가지 미들웨어를 지원합니다. CSRF 공격의 예시를 살펴보고, 2가지 미들웨어를 설정하는 방법에 대해서 자세히 살펴봅니다.

 


예상 질문 Q&A 💬

Q. 수강 전에 갖춰야 할 환경, 기타 유의 사항이 있나요?

본 강의에서도 언급하지만, 개발환경 구축에 대해서는 다루지 않습니다. 개발환경 구축은 <장고 설계철학으로 시작하는 파이썬/장고 입문>의 개발환경구축 섹션을 "미리보기"로 공개해뒀으니, 이를 참고해 구축해주세요.

레디스 설치/구동을 위해, 도커(Docker)가 설치된 컴퓨터가 있으시면 좋습니다. 도커 설치가 불가능하신 상황이더라도 걱정하지 마세요. redis.com의 Redis Enterprise Cloud의 관리형 레디스 서비스를 Free Plan으로 사용하는 방법을 알려드립니다.

Q. 본 강의의 내용을 익히면 어떤 일을 할 수 있나요?

장고와 함께 실시간 웹서비스를 높은 생산성으로 개발할 수 있으시게 됩니다.


지식공유자 소개 ✒️

파이썬과 장고에 진심인 소프트웨어 개발자 이진석입니다.

  • 파이썬 홀릭, 장고 실무 16년 차 개발자
  • 장고 질답 커뮤니티 Ask Company with Django/React (구. Ask Django) 운영자
  • Microsoft Azure MVP 어워드 수상 (2016년~2021년, Microsoft MVP가 무엇인가요?)
  • 서울대학교, 벤처경영학 연합전공, 파이썬/장고 강의 "벤처창업 웹프로그래밍" 강사 (2016년/2017년)
  • 패스트캠퍼스, 웹서비스 개발 캠프 (파이썬/장고) 3기 강사 (2015년)
  • 다수 대학 및 기업 강의 및 자문 : 서울대학교, 카이스트, 부산대학교, 한양대학교, 국민대학교, 삼성전자, LG전자, LS그룹, SK Planet, 엔코아, KB증권, SK텔링크, 현대자동차그룹 이노션, 코스콤, 네이버 NIT Service, 아트센터 나비, 한국은행, 한국산업기술평가원 등

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 장고 기본을 익히시고, 새로운 도전거리를 찾으시는 분

  • 빠르게 실시간 웹서비스 개발을 익히고 싶으신 분

선수 지식,
필요할까요?

  • 파이썬 언어 기초 (함수, 클래스, 장식자)

  • 장고 기초 (뷰, 모델, 템플릿의 이해)

  • 프론트엔드 기초 (HTML, CSS, JS 기본 문법)

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

대외 활동

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

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

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

커리큘럼

전체

23개 ∙ (2시간 24분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!