Python/Djangoでウェブチャットサービス作り (Feat. Channels) - 基本編

Channelsライブラリは、Djangoの哲学に基づいて開発されたリアルタイムメッセージングライブラリです。 本講義を通じて、Channelsの真髄を素早く習得してください。

難易度 中級以上

受講期間 無制限

Python
Python
Django
Django
django-channels
django-channels
Python
Python
Django
Django
django-channels
django-channels

学習した受講者のレビュー

学習した受講者のレビュー

4.7

5.0

happysseul627

100% 受講後に作成

Django channelsを独学するのがとても大変だったのですが、この講義を聞きながら概念について学ぶことができて本当に良かったです!進行中のプロジェクトにこの講義を通じて学んだ内容を使って素晴らしい結果を必ず出してみようと思います! 講義を聞く間ずっとchannels関連の知識を一つ一つ丁寧に説明してくださって本当にありがとうございます!

5.0

朴俊相

100% 受講後に作成

Django Channelsに関する動画や講義を探してみましたが、この講義ほど役に立つ講義は見つけられませんでした。 多くの内容で流れが速いので、少しでも他に気を取られてはいけないため、リラックスして見るのは難しいですが、WebSocket利用時の認証や実際のチャットサービスを実装する上で必要な機能実装を教えてくれているので、とても役に立ちました。 直接実装しながら検索やChatGPTを利用すれば解決できるイシューかもしれませんが、事前に知っておくと良い内容がたくさんあります。

5.0

임찬

57% 受講後に作成

Django の基本講座をすべて受講した後に受講すると、とても楽しい講座です。 この講座は古いのでバージョンに違いがありますが、最新バージョンに合わせて受講者が個別にエラーを修正するのも楽しいです。 楽しいです!

受講後に得られること

  • Django Channelsを活用した分散メッセージングおよびWebSocket処理

  • ウェブソケット通信に関する理解

  • リアルタイムウェブチャットサービス

人生は短いです。リアルタイムWebサービス開発においてもDjango/Channelsを通じて、
ビジネスを迅速に成功へと導き、皆さんの時間も節約してください
。 💪

講義を受けてPyCharm Professionalクーポンをもらおう! 🎫

Django開発に最適な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年単位でライセンス提供を受けることができます。該当プログラムを申請すれば、数日以内にライセンスが発行されます。

講義テーマ 📖

Channelsは海外でもDjangoの主要ライブラリとして欠かさず言及されるライブラリです。2017年にバージョン1.0がリリースされ、2022年11月に4.0のリリースに至るまで、十分に成熟したライブラリです。

Channelsさえ知っていれば、本当にわずかなコード量でウェブサービスにリアルタイム性を付与できるのですが、Channelsの存在を知らなかったり、資料がなかったりするために、それができない方々が多くいらっしゃるのが残念でした。そこで、この講義一つで多くの方がより手軽にリアルタイムウェブを習得できるよう、一生懸命に講義を作成しました。

Channelsライブラリは、高い生産性を誇るDjangoフレームワークの哲学をそのまま継承しています。反復を減らし、核心に集中できるようにサポートしてくれます。Channelsライブラリを正しく理解し、Channelsをベースに高い生産性でリアルタイムWebSocketチャットサービスを作る方法を学んでみましょう。

講義を受講すれば、Channelsを深く理解できるようになり、Djangoの高い生産性と共にかつ迅速にリアルタイムWebサービスを構築できるようになります。

📢 受講前にご確認ください。

  • アップロードされた講義動画のうち、後半の60%に韓国語字幕が適用されており、前半の40%の講義動画に対する韓国語字幕は作業中です。残りの字幕作業は2022年12月中に完了する予定です。
  • 2022年12月23日(金)、字幕作業がすべて完了しました。

このような方におすすめです 🙋

ジャンゴの基礎を学んだ後、
新しい挑戦を求めている方

静的なウェブページに
活力を吹き込みたい方

リアルタイムチャットサービスを
作ってみたい方

Channelsを学び
深く理解したい方


講義の特徴 ✨

本物のDjangoホリックな開発者が
Channelsの核心だけを厳選した講義

基礎から一歩ずつ
積み上げるウェブソケット通信

講義スライド
PDF提供

全講義の日本語字幕
講義内容を素早く把握!

豊富なウェブソケットの例:
Echoメッセージ、ライブブログ、ウェブチャット


学習内容 📚

1. Channelsの主要構成要素

  • Channelsの核となる概念について整理してみます。

2. (実習) 超簡単Echoウェブソケットの実装

  • ChannelsでEchoウェブソケットを実装してみることで、Channelsチャットサービス学習の幕を開けます。

3. (実習) JSオブジェクトのWebSocket送信および受信

  • すべての通信において、シリアル化・逆シリアル化のプロセスは不可欠です。JSでのシリアル化の際によくあるミスを確認し、ウェブソケットクライアントとChannelsでのJSONシリアル化・逆シリアル化の方法について見ていきます。


4. Redis サーバーの起動および接続

  • Redis Enterprise CloudのFree Planを活用してDjangoプロジェクトに連携する方法を確認し、Redisのアカウント情報をどのように環境変数として登録し、Djangoで効率的に読み込んで処理するかについて解説します。最後に、DockerでRedisサーバーを起動するコマンドを確認します。

5. チャンネルレイヤーを活用したプロセス間通信

  • Channelsでは、Channel Layerを通じてプロセス間通信をサポートしています。Channel Layerでサポートされているバックエンドの種類について確認し、Channel Layerの主要なAPIについてもまとめます。

6. (実習) ウェブソケット Liveblog

  • ウェブページをリフレッシュしなくても、サーバーでのブログ投稿の追加・修正・削除にリアルタイムで反応するライブブログサービスを作ってみます。Django Channelsの簡潔で強力なパワーを実感していただけるはずです。

7. チャネルレイヤーに送信できるデータタイプ

  • すべての通信において、シリアル化・逆シリアル化は不可避です。チャネルレイヤーとの通信で使用されるシリアル化の方法について確認し、チャネルレイヤーにおけるシリアル化の制約について詳しく見ていきます。

8. WebSocketの再接続

  • ネットワークはいつでも切断される可能性があります。持続的な接続が必要なウェブソケットにおいても、切断はいつでも発生し得ます。ウェブソケットの再接続を処理する2つの方法について詳しく見ていきます。

9. Consumerクラスの継承関係

  • Channelsにおけるリクエスト処理の主体はConsumerです。Channelsが提供するConsumerクラスの継承関係について確認し、それぞれの役割についても詳しくまとめていきます。

10. 実践チャットサービス作り

  • 本講義の核心部分として、Django Channelsを効率的に使用してチャットサービスを作成します。

11. セキュリティ

  • Channelsでサポートされているセキュリティ機能として、WebSocketのCSRF攻撃を防ぐために2つのミドルウェアをサポートしています。CSRF攻撃の例を確認し、2つのミドルウェアを設定する方法について詳しく見ていきます。

 


予想される質問 Q&A 💬

Q. 受講前に整えておくべき環境や、その他の注意事項はありますか?

本講義でも言及していますが、開発環境の構築については扱っていません。開発環境の構築は<ジャンゴ設計哲学から始めるPython/Django入門>の開発環境構築セクションを「プレビュー」として公開していますので、そちらを参考に構築してください。

Redisのインストールおよび実行のために、Dockerがインストールされたコンピュータがあると望ましいです。Dockerのインストールが不可能な状況であっても、ご安心ください。redis.comのRedis Enterprise CloudのマネージドRedisサービスをFree Planで使用する方法をお教えします。

Q. 本講義の内容を習得すると、どのようなことができるようになりますか?

Djangoと共に、リアルタイムなウェブサービスを高い生産性で開発できるようになります。


講師紹介 ✒️

PythonとDjangoに情熱を注ぐソフトウェア開発者のイ・ジンソクです。

  • Pythonホリック、Django実務16年目の開発者
  • Django質問回答コミュニティ Ask Company with Django/React (旧 Ask Django) 運営者
  • Microsoft Azure MVP アワード受賞 (2016年〜2021年、Microsoft MVPとは何ですか?)
  • ソウル大学、ベンチャー経営学連合専攻、Python/Django講義 "ベンチャー創業ウェブプログラミング" 講師 (2016年/2017年)
  • ファストキャンパス、ウェブサービス開発キャンプ(Python/Django)3期 講師(2015年)
  • 多数の大学および企業での講義・アドバイス:ソウル大学、KAIST、釜山大学、漢陽大学、国民大学、サムスン電子、LG電子、LSグループ、SK Planet、Encore、KB証券、SKテリンク、現代自動車グループ・イノシャン、KOSCOM、NAVER NIT Service、アートセンター・ナビ、韓国銀行、韓国産業技術評価管理院など

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Djangoの基本を習得し、新たな挑戦をお探しの方

  • 素早くリアルタイムWebサービスの開発を習得したい方

前提知識、
必要でしょうか?

  • Python言語の基礎 (関数、クラス、デコレータ)

  • Djangoの基礎 (ビュー、モデル、テンプレートの理解)

  • フロントエンド基礎 (HTML, CSS, JS 基本文法)

こんにちは
pyhubです。

3,152

受講生

154

受講レビュー

934

回答

4.8

講座評価

5

講座

PythonとDjangoに情熱を注ぐソフトウェアエンジニア

対外活動

  • オフライン教育:SKテリンク、LSグループ、サムスンディスプレイ、釜山大学校情報化本部、ソウル大学校ベンチャー経営学連合専攻、FAST CAMPUSウェブサービス開発キャンプ3期など

  • 技術顧問:ユークリッドソフト、釜山大学校、韓国産業技術評価管理院、韓国放送通信電波振興院など

皆様のPython/Django/Reactのペースメーカーになります。😉

もっと見る

カリキュラム

全体

23件 ∙ (2時間 24分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

18件

4.7

18件の受講レビュー

  • linsay0703576님의 프로필 이미지
    linsay0703576

    受講レビュー 14

    平均評価 4.9

    5

    57% 受講後に作成

    Django の基本講座をすべて受講した後に受講すると、とても楽しい講座です。 この講座は古いのでバージョンに違いがありますが、最新バージョンに合わせて受講者が個別にエラーを修正するのも楽しいです。 楽しいです!

    • hoosiki님의 프로필 이미지
      hoosiki

      受講レビュー 4

      平均評価 4.0

      5

      100% 受講後に作成

      Django Channelsに関する動画や講義を探してみましたが、この講義ほど役に立つ講義は見つけられませんでした。 多くの内容で流れが速いので、少しでも他に気を取られてはいけないため、リラックスして見るのは難しいですが、WebSocket利用時の認証や実際のチャットサービスを実装する上で必要な機能実装を教えてくれているので、とても役に立ちました。 直接実装しながら検索やChatGPTを利用すれば解決できるイシューかもしれませんが、事前に知っておくと良い内容がたくさんあります。

      • n03192295687ungi2614님의 프로필 이미지
        n03192295687ungi2614

        受講レビュー 3

        平均評価 5.0

        5

        30% 受講後に作成

        • happysseul6274613님의 프로필 이미지
          happysseul6274613

          受講レビュー 2

          平均評価 5.0

          5

          100% 受講後に作成

          Django channelsを独学するのがとても大変だったのですが、この講義を聞きながら概念について学ぶことができて本当に良かったです!進行中のプロジェクトにこの講義を通じて学んだ内容を使って素晴らしい結果を必ず出してみようと思います! 講義を聞く間ずっとchannels関連の知識を一つ一つ丁寧に説明してくださって本当にありがとうございます!

          • kdh43038382님의 프로필 이미지
            kdh43038382

            受講レビュー 5

            平均評価 4.0

            4

            78% 受講後に作成

            pyhubの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!

            ¥7,017