はじめに
ういっすー!✌️ nikkieです。
11/12(土)に開催されたDjangoCongress JP、めちゃめちゃ楽しかったです!
イベントレポートをお届けします。
#djangocongress ありがとうございました!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月12日
Djangoについて新しい発見いっぱいあって、めちゃめちゃ楽しかったですー!
ここ一年くらいはDjango触ってなかったので、普段使っていない頭を使って心地よい疲労感の中、帰途に着きます
目次
DjangoCongress JP 2022
DjangoCongress JPは日本で開催されるDjango Webフレームワークのカンファレンスです。 DjangoCongress JPは、Djangoでアプリケーションを開発している人、Djangoを学んでいる人などDjangoに関わる全ての人が参加できます。
2018, 2019, 2021, そして今回の2022と4回目の開催です!
会場は日経カンファレンスルーム!
大手町の日経ビル 6F!1
Wi-Fiはスタッフと登壇者向けとのことで、私はスマホでのTwitter実況を選択。
会場で充電ができたのが大変ありがたく、長い休み時間はスマホを充電させていただいていました(充電していなかったら最後までもたなかったでしょう)。
発表資料
Togetterにまとめてみました。
全て網羅できていないので、お気づきの点ありましたら@ftnextまでお知らせくださいー
聞いたトーク
2トラック並列で、毎コマ「ヒトツダケナンテエラベナイヨー」と究極の2択を迫られていました2。
以下6本をリアルタイムで聞いています(基本Room 1にいました)。
- Djangoのアプリはどういう単位で作るべきか?
- Django 4.1 での Asynchronous
- 日経電子版でのDjango活用事例紹介
- Djangoで管理する全文検索エンジン
- スキーママイグレーション入門
- Django 管理コマンド manage.py を深掘り
「Djangoのアプリはどういう単位で作るべきか?」、アプリの依存を一方向に整理するのは考え方としてはClean Architectureに通じそうですし、アプリはパッケージなので、依存させられるんだなーというのが印象的な学びです。
「Django 管理コマンド manage.py を深掘り」、気になったソースコードを読みそこからの発見を共有するトーク!
実装を読む楽しさが伝わってきました。
私も読んでみよう!
積ん読を消化しながら聞く
発表で取り上げられるトピックについて、手元のKindleで積ん読を部分的に崩しながら聞いていました。
今回はインプットに全集中という参加スタイルですね。
『実践 Django』
今回感じたのは、「『実践 Django』(2021/07刊行)のカバー範囲が広くて、出発点になっているな〜」ということ。
- 1.2 Djangoアプリケーションの作成とHello World(Djangoのアプリはどういう単位で作るべきか?)
- 2.5 マイグレーション(スキーママイグレーション入門)
- 9.11 管理コマンドの作成(Django 管理コマンド manage.py を深掘り)
あたりを開いて、トークの前提知識を補いながら聞いていました。
個人的には、日本語で読める"Two Scoops"本的な立ち位置3だと思っています。
『Two Scoops of Django 3.x』
Djangoのアプリはどういう単位で作るべきか? で参照されていました。
2時間あったお昼休みで4章「Fundamentals of Django App Design」を一通り流し読み。
興味深かったのは4.4や4.5。
4.5は「ビジネスロジックをどこに書くか」というトピックでservices.pyモジュールが紹介されていました4。
『エキスパートPythonプログラミング 改訂3版』
Django 4.1 での Asynchronousで言及。
同期と非同期の統合の話題が「15.5.4 Futureを利用して同期コードを結合する」にあります5。
Django 4.1 での Asynchronousではasgiref
のSyncToAsync
が紹介されていました。
このあたりはエキPyを参照しつつ、実際の実装も見てみたいところです!
積み動画
参照された動画アーカイブのうち、見てみたいなーと思ったものです。
DjangoCon 2008: Reusable Apps
Djangoのアプリはどういう単位で作るべきか?より。
DjangoCon 2022 | Async Django: The practical guide you've been awaiting for.
Django 4.1 での Asynchronousより。
PyCon JP 2018 | Integrate Full-text Search service with Django
Djangoで管理する全文検索エンジンを聞いていて、他の事例として思い出しました。
出会い
こちらのアプリを作られた方と偶然お話しし、『実践 Django』プレゼントが実現しました🙌
第一弾Webアプリをリリースしました!
— クボfruitdog (@fruitdogowners3) 2022年11月6日
英語/日本語学習者向けのアプリを作りました!
完全無料でサクッと使えるアプリですので、
良ければご利用ください!https://t.co/uSkyzqObmP
ぜひ読んでいただきたいなと思い、お渡しさせていただきました🙏 繋いでいただいてありがとうございます! #djangocongress https://t.co/F1luDqU2ZR
— c-bata (@c_bata_) 2022年11月12日
@c_bata_ 様にいただきました!!
— クボfruitdog (@fruitdogowners3) 2022年11月12日
これでしっかり学んでへなちょこアプリを進化させます!!
#djangocongress pic.twitter.com/oIaDpO7NF7
『実践 Django』は私が最初に読みたかった内容6でして、これを機に機能追加がバリバリ進んだらステキだなーと思っています。
もう1つ。
manage.py optimizemigration
に取り込まれたの素晴らしい!👏
(豆知識)optimizemigrationは元々私が作ったissueの結果。squash の時に長いファイルになって、自動的optimize出来ないけど、手作業でoperationの順番を変更するとoptimize出来るようになる https://t.co/wNUxmmJHN1 #djangocongress
— Raphael (@rtpg_) 2022年11月12日
終わりに
全力でインプットした1日でした。
Djangoについていろいろな発見があり、関連して積ん読も消化でき、新しい発見が好きな身としては今回の機会と参加スタイルに大満足です。
Djangoを使った開発をどれくらいするかは未定ですが、今回知ったライブラリのいくつかはすごーく気になるので、まずはその素振りから始めていきます!
運営スタッフ、スピーカー、参加者の皆さま、そして、主催の日本経済新聞社 デジタル編成ユニットの皆さま、ありがとうございました!
P.S. 日経電子版の開発、Python使いは要チェックですよ!
国内では屈指のユーザ数で、Djangoを使ったアプリを運用されていると理解しました。
また、u++さんはじめ機械学習まわりで実績もお持ちなので、日経電子版の開発組織は本当にすごそうです!
日経さんのDjango事例トーク、
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月12日
社内のリポジトリ2000のうちDjango利用は70-80。
日経電子版の裏はマイクロサービスっぽい印象で、そんな環境でのSREの話は結構面白そうな話な気がしますー#djangocongress https://t.co/rn6T7JBhfy
#djangocongress
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月12日
発表と質疑から察したのですが、
日経さんのエンジニア組織、相当すごいのでは
(注目されてないように見えるのが不思議なくらい)
過去に技術書典に本出してたのも思い出しました(hirosajlさんってあのhirosajiさん?)https://t.co/Lc3PG0PjAE
直近(11/17(木))こんなイベントが!🤩
SREに関心のある方は是非お気軽にご参加ください。
— NIKKEI Developers (@nikkeideveloper) 2022年11月4日
【NIKKEI Tech Talk #1】メディア企業のSRE ~日経のSREの取り組み~ https://t.co/KPTUwR3RHw #nikkei_tech_talk