Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Web Development

Python / DjangoでWebチャットサービスを作成する(Feat. Channels) - 基本編

Channels Libraryは、Djangoの哲学の下で開発されたリアルタイムメッセージングライブラリです。 このレッスンでチャンネルの真髄をすばやく学びましょう。

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

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

こんなことが学べます

  • Django Channelsを使用した分散メッセージングおよびWebソケット処理

  • Webソケット通信の理解

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

人生は短いです。リアルタイムWebサービス開発でも、ジャンゴ/チャンネルを通じて、
ビジネスをすばやく成功させ、あなたの時間を大切にしましょう
。 💪

講義を聞いてPyCharm Professionalクーポンを受け取ろう! 🎫

Django開発の最適なIDEであるPyCharm Professional(有料ツール)を講義後もご使用いただけるよう、JetBrainsから6ヶ月クーポンをスポンサーいただきました。頑強後、下記のお申込み方法でお申し込みください。

  1. 講義中はPyCharm Professionalトライアル1ヶ月ライセンスで進行します。
  2. 頑張らなくても、受講申請されたら下記のGoogleフォームを通じてクーポン申請が可能です。
    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 Libraryは、高い生産性のDjangoフレームワークの哲学をそのまま受け継いでいます。繰り返しを減らし、コアに集中するのに役立ちます。 Channelsライブラリを正しく理解し、Channelsベースで高い生産性でリアルタイムWebソケットチャットサービスを作成する方法を学びましょう。

講義を受講すればチャンネルスを深く理解され、ジャンゴの高い生産性とともに迅速にリアルタイムのウェブサービスを構築することができるようになります。

📢受講前に参考にしてください。

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

こんな方におすすめですよ🙋

ジャンゴ基礎学習後
新しい挑戦を探している方

静的なウェブページに
活力を入れたい方

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

チャンネルを学ぶ
深く理解したい方


講義の特徴✨

蒸しジャンゴホリック開発者
チャンネルズコアだけを選んだ講義

基礎から冷たい
積み重ねるWebソケット通信

講義スライド
PDF提供

元講義ハングル字幕
講義内容の把握を素早く!

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


学習内容📚

1. Channels 主要コンポーネント

  • Channelsの重要な概念をまとめてみましょう。

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

  • ChannelsでEcho Webソケットを実装することで、Channelsチャットサービス学習の序幕を開きます。

3.(実践)JSオブジェクトWebソケットの送受信

  • すべての通信では、シリアル化/逆シリアル化プロセスは必須です。 JSのシリアライゼーションの過程でよくある間違いを調べて、WebソケットクライアントとChannelsでJSONシリアライゼーション/デシリアライズする方法について説明します。


4. Redisサーバーの駆動と接続

  • Redis Enterprise CloudのFree Planを活用してDjangoプロジェクトに連携する方法を学び、Redisアカウント情報を環境変数として登録し、Djangoから効率的に呼び出して処理する方法を見てください。最後に、DockerでRedisサーバーを駆動するコマンドを確認します。

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

  • ChannelsはChannel Layerを介したプロセス間通信をサポートします。 Channel Layerでサポートされているバックエンドの種類について調べて、Channel LayerのコアAPIについてもまとめます。

6. (実習) Web ソケット Liveblog

  • Webページを更新しなくても、サーバーでのブログ投稿の追加/修正/削除にリアルタイムで反応するライブブログサービスを作成します。 Django Channelsの簡潔で強力なパワーを感じることができます。

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

  • すべての通信では、シリアル化/逆シリアル化は必須です。チャネル層との通信で使用されるシリアライゼーションの方法を調べ、チャネル層でのシリアライゼーション制約について詳しく見てください。

8. Webソケットの再接続

  • ネットワークはいつでも切断できます。継続的な接続が必要なWebソケットでも、切断はいつでも発生する可能性があります。 Webソケットの再接続を処理する2つの方法について説明します。

9. Consumerクラスの継承関係

  • Channelsのリクエスト処理の主体はConsumerです。 Channels が提供する Consumer クラスの継承関係を見て、各役割についても詳しくまとめてみましょう。

10. 本番チャットサービスの作成

  • このレッスンの重要な部分として、Django Channelsを効率的に使用してチャットサービスを作成します。

11. セキュリティ

  • Channelsがサポートするセキュリティ機能として、WebソケットCSRF攻撃を防御するために2つのミドルウェアをサポートしています。 CSRF攻撃の例を見て、2つのミドルウェアを設定する方法の詳細を見てください。


予想される質問 Q&A 💬

Q. 受講前に備えなければならない環境、その他の留意事項はありますか?

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

レディースのインストール/駆動のために、Dockerがインストールされたコンピュータがあれば良いです。ドッカーのインストールが不可能な状況であっても心配しないでください。 redis.comのRedis Enterprise Cloudのマネージドレディースサービスをフリープランとして使用する方法をお知らせします。

Q. 本講義の内容を覚えればどんなことができますか?

Djangoと一緒にリアルタイムのWebサービスを高い生産性で開発することができます。


知識共有者の紹介✒️

PythonとDjangoに心からのソフトウェア開発者のLee Jin-sukです。

  • Pythonホリック、ジャンゴ実務16年目の開発者
  • Django Quest Community Ask Company with Django/React (旧 Ask Django) オペレーター
  • Microsoft Azure MVP賞受賞(2016年~2021年、 Microsoft MVPとは何ですか?
  • ソウル大学、ベンチャー経営学連合専攻、Python/ジャンゴ講義「ベンチャー創業ウェブプログラミング」講師(2016年/2017年)
  • ファーストキャンパス、ウェブサービス開発キャンプ(Python/ジャンゴ)3期講師(2015年)
  • 多数の大学と企業の講義と助言:ソウル大学、カイスト、釜山大学、漢陽大学、国民大学、サムスン電子、LG電子、LSグループ、SK Planet、エンコア、KB証券、SKテリンク、現代自動車グループイノッション、コスコム、ネイバーNITサービス、アート

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ジャンゴ基本を身につけて、新たな挑戦距離をお探しの方

  • 迅速にリアルタイムのWebサービス開発を習得したい人

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

  • Python言語の基礎(関数、クラス、装飾者)

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

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

こんにちは
です。

2,905

受講生

139

受講レビュー

932

回答

4.8

講座評価

5

講座

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

대외 활동

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

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

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

カリキュラム

全体

23件 ∙ (2時間 24分)

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

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

受講レビュー

全体

16件

4.7

16件の受講レビュー

  • powudt9327님의 프로필 이미지
    powudt9327

    受講レビュー 4

    平均評価 2.8

    3

    100% 受講後に作成

    機能開発についての説明だけがあり、その機能を開発する際に使用するものの原理説明のようなものが不足してチャットルームを作ってみたいなら、良い講義になるだろうが、channelsを理解するには無理があるようです。

    • hoosiki님의 프로필 이미지
      hoosiki

      受講レビュー 4

      平均評価 4.0

      5

      100% 受講後に作成

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

      • n03192295687ungi2614님의 프로필 이미지
        n03192295687ungi2614

        受講レビュー 3

        平均評価 5.0

        5

        30% 受講後に作成

        • kdh43038382님의 프로필 이미지
          kdh43038382

          受講レビュー 5

          平均評価 4.0

          4

          78% 受講後に作成

          • linsay0703576님의 프로필 이미지
            linsay0703576

            受講レビュー 14

            平均評価 4.9

            5

            57% 受講後に作成

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

            ¥6,556

            pyhubの他の講座

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

            似ている講座

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