はじめに
さかなー🐟1 nikkieです。
11/10(木)に開催されたみんなのPython勉強会「Django・Web特集」のレポートです。
みんなのPython勉強会ではスタッフをしていますが、今回は久しぶりに司会をしました。
目次
- はじめに
- 目次
- 勉強会の概要
- 前提:nikkieとDjango
- トークレポート
- LTレポート
- stapyアーカイブから『実践Django』
- 終わりに
- 追記:勉強会の雰囲気はTogetterにまとまってます!
勉強会の概要
「みんなのPython勉強会」では、Pythonを中心としてプログラミングを仕事、研究、趣味など様々なシーンに生かす方法を一緒に学びます。プログラマ、WEBエンジニアに限らず、初心者からマスターまで様々なレベルの、いろいろな分野の人が集まるので、「みんな」の勉強会です。お気軽にご参加ください。
毎月オンラインで開催している、みんなのPython勉強会。
今回は「Django・Web特集」でした。
週末の11/12(土)にはDjango Congress2があります!
これを踏まえて今回はDjangoをメインに扱っています。
冒頭の「Djangoを知っていますか」アンケートはこんな感じでした。
Djangoアンケート
— abenben.eth (@abenben) 2022年11月10日
みなさんありがとうございます!#stapy pic.twitter.com/og5SqkQz5L
参加者の属性は以下3つ(だいたい均等)だったようです:
- 聞いたことがある
- 学習中
- 実務で使っている
前提:nikkieとDjango
アンケートでは「チュートリアルや本で勉強した」が一番近いかなと思います。
- Django Girls Tutorial で入門
- 翻訳に参加したり、Workshopのコーチをしたりもした
- Djangoについて入門的な内容で登壇経験あり
- Django Congress 2019 https://djangocongress.jp/2019
- PyCon mini Shizuoka 2020 https://shizuoka.pycon.jp/2020/category/session/
- PyCon JPスタッフ活動の中でプロポーザルレビューアプリを作った(20203, 2021)
それでは各トークを見ていきましょう!
トークレポート
Django ORM パフォーマンス Tips
「みんなのPython勉強会 #87」で、「Django ORM パフォーマンスTips」という題で登壇しました。実務でDjangoアプリを開発する中で学んだ、効率の良いクエリを発行できるORMのコードを書くための基本的な知識をまとめています! https://t.co/8uzql9jQsE #stapy #django
— しーたけ🍄🎹 (@takeaship) 2022年11月10日
Djangoのコードのどこでクエリが発行されるのか、これを押さえることで、効率のよくDBにアクセスするアプリが開発できそうと示唆を得ました。
ご発表ありがとうございました! #stapy
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月10日
過去にDebug Toolbar見たところN+1問題に気づけて解決しましたが、
・クエリが飛ぶ箇所を押さえる
・少ないクエリで目的を達成する
というのはコツを言語化していただいた感覚です。
また、知っていても紛れ込みうるので気づける仕組みを作るの素晴らしいです👏 https://t.co/e2P0PHppjD
あと、LAPRASさんの開発組織がすごいですね!(仕組みで気付けるようにする)
Django REST Framework はじめの一歩 〜 押さえておきたい3つのポイント 〜
本日の発表資料です。
— akiyoko / 現場で使えるDjangoの教科書《基礎編》(3.2対応版)@技術書典11 (@aki_yok) 2022年11月10日
みんなのPython勉強会#87「Django REST Framework はじめの一歩 〜 押さえておきたい3つのポイント 〜」https://t.co/gWTfK4XEiw
DRF 未経験の方必見! DRF をはじめる前にこれだけは押さえておきたい3つのポイントについて解説します。#stapy #Django #DRF pic.twitter.com/SQ36bBAuoJ
スタッフ活動でのDjangoアプリ開発で重宝したのが、akiyokoさんの『現場で使える Django REST Framework の教科書』。
adminがアプリにデータを入れるためのエンドポイントを、DRF初めてでも大きくはまらずに作り切れました!(その節は教科書に大変お世話になりました)
発表を聞く中で、「(当時は最善を尽くしたはずですが)PyCon JPのプロポーザルレビューアプリのDRFの実装(特にシリアライザとビュー)は、DRFを使いこなしてもっとうまく書けそうだなー」と伸びしろを感じました。
ご発表ありがとうございました! #stapy
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月10日
3つのポイント、DRFの全体像+シリアライザとビューを押さえ、このスライドでDRF完全に理解!
すぐわからなくなりますが、その先はDRFの教科書がサポートしてくれそうですね。
この資料と教科書の合わせ技で入門者も早く使い出せそう
教科書改訂も楽しみです! https://t.co/gDaZm3eJmV
印象的だったのは、こちらの質疑!
「ビジネスロジックをシリアライザに書くかビューに書くか」という質問に「Djangoの外にユースケースやビジネスロジックを書く」という回答でした。
このあたりはClean Architectureの影響が感じられます。
フレームワークとビジネスロジックを切り離す提案は高頻度で見かけますし私も支持しますが、Djangoでもやはりということが確認できました。
akiyokoさんはTwitterでも質問に回答いただいています。
#stapy 発表時にいただいた質問に回答します。
— akiyoko / 現場で使えるDjangoの教科書《基礎編》(3.2対応版)@技術書典11 (@aki_yok) 2022年11月10日
> postされたデータの必須チェックや型チェックはシリアライザのバリデーションで可能でしょうか。
可能です。なお ModelSerializer を使ってモデルクラスを連携した場合、モデルのフィールドのオプション定義に従ってバリデーションがおこなわれます。
WASMでできること、できそうなこと
本日の資料です
— κeen (@blackenedgold) 2022年11月10日
Wasmでできること、できそうなこと | κeenのHappy Hacκing Bloghttps://t.co/h6XqfKYl8E
Wasmは聞いたことがあるだけでしたが、いろいろなものを見せていただき、めちゃめちゃ可能性を感じました!
κeenさんの発表資料、公開いただいている! #stapy
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月10日
ありがとうございました。
Wasmは言葉を聞いただけだったので、どんな事ができるか知れて解像度が上がりました https://t.co/bRnDruATSf
Pyodide使うと、スマホブラウザでPythonが動く!!
#stapy Django・Web特集、ご参加・ご発表ありがとうございました!!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月10日
こちらは懇親会でスマホからブラウザ(Pyodide)でPythonが動くぞと盛り上がる一幕。
標準ライブラリ使える!
スクリプト渡せないかなー? pic.twitter.com/Bcn2C7PdTL
LTレポート
Python実践試験がイイニクの日に来る!🍖
『Python実践レシピ』をシラバスとする試験が11/29から!
私はPythonを始めて作りたいものを作るのを重ねて学んできました(雑食系)。
これは万人にオススメできるものではなく、試験を使って試験範囲を十分に理解して進むやり方もあると思います。
Pythonを始めて「次に何をしようかな?」という方は、各種試験に挑戦してみるという道はいかがでしょうか?
現在、受験宣言キャンペーン中です!
辻さんLT:sample-webapp
Webアプリケーションの仕組みを理解する目的で作られたネットショップです。Pythonで実装されています。
ユーザの購入、管理者の購入管理/在庫管理と、Bottle + sqlite3でネットショップが実装されていました。すごい!
CSSもあって見た目もいい感じです。
実装を読んでみることでWebアプリの仕組みを考える機会になりそうですね。
stapyアーカイブから『実践Django』
2021年8月のみんなのPython勉強会では『実践Django』の著者 芝田さんに登壇いただいています。
アーカイブ:https://youtu.be/rrRB2FeEqEU?t=2394
Djangoについて知りたい場合のイチオシはこちらの本です。
DBなどについても踏み込まれており、非常に学びのある一冊です。
終わりに
2022年11月のみんなのPython勉強会をレポートしました。
懇親会やTwitterで「〇〇さんのトークが自分にすごく参考になりました」といった感想を見て、スタッフとして幸せな気持ちになっています。
ご発表いただいた皆さま、ご参加いただいた皆さま、誠にありがとうございました!
次回12月は「師走tapy(しわすたぱい)」、小さめの現地会場を用意してのハイブリッド開催に挑戦します(これまでどおりオンラインでも参加できます)。
2年半以上の時を経て現地開催のノウハウは(少なくとも私の中からは)忘れ去られています。
温かい目で見守っていただけると嬉しいです。
12/15は19時に渋谷で僕とういっすー✌️
追記:勉強会の雰囲気はTogetterにまとまってます!
togetterにまとめました!@ftnext @abenben @aki_yok @takahiro0129 @manojun51 @blackenedgold @hisa_8_8 @soogie @mashrir_tech @_yoshimasa @hidemusiam @shimakaze_soft @yamap_55 @sawady1203 @pythonic_exam @madok_s @takeaship @CharaDenMitz @Proc123https://t.co/XYpQEdUdSL#stapy #python
— abenben.eth (@abenben) 2022年11月15日
(2022/11/16 追記)
-
チンアナゴ🙌🙌の前に来るのは「さかなー」
↩明日11/11はチンアナゴの日だそうで(すみだ水族館)🙌🙌
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年11月10日
ということはその前日の今日は「さかなー🐟」!
そんな本日19時からみんなのPython勉強会 #stapy オンライン開催です。
さかなー🐟はないですが、Djangoとwasmがあります!
あと新しいPython試験の情報も!https://t.co/RDRxM5oGsu -
DjangoCongress JP 2022 - connpass 現在定員超過(キャンセル待ち)しています。「今年は オフラインでの開催 です。 オンライン配信はありません。後日、当日の録画が公開される予定です。」↩
-
関連:2020年積み残し解消:django-allauthを使ったソーシャルアカウント(GitHub・Slack)連携、素振りの記 - nikkie-ftnextの日記↩
-
私のアツいスタッフ活動!技術で(も)支えたPyCon JP 2021 #pyconjp - nikkie-ftnextの日記 で紹介したアプリです↩