人生は短いです。リアルタイムWebサービス開発においてもDjango/Channelsを通じて、
ビジネスを迅速に成功へと導き、皆さんの時間も節約してください。 💪
講義を受けてPyCharm Professionalクーポンをもらおう! 🎫
Django開発に最適なIDEであるPyCharm Professional(有料ツール)を講義後もご利用いただけるよう、JetBrainsより6ヶ月間無料クーポンの提供を受けました。完走後、以下の申請方法に従って申請してください。
- 講義中はPyCharm Professionalの1ヶ月トライアルライセンスで進行します。
- 완강하지 않으셔도, 수강신청하셨다면 아래 구글폼을 통해 쿠폰 신청이 가능합니다.
- お申し込みリンク:https://forms.gle/mvDwLQmaCz4Z2vQD9
- 毎週金曜日までに申請された内容を確認し、申請いただいたメールアドレス宛にクーポンをお送りいたします。
- 受け取ったクーポンはすぐに登録してください。登録しないと、JetBrainsからそれ以上のライセンス支援を受けられなくなります。
- クーポンの申請は、講義ごとに1人1回まで可能です。
- 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、アートセンター・ナビ、韓国銀行、韓国産業技術評価管理院など