はじめに
今回、10/7にサイボウズ東京オフィスにて開かれたDjangoCongress JP 2023 にて登壇してきました。
内容はこちら。
Djangoを仕事で使っていくために学んだこと
どういう内容か
「Djangoを仕事で使っていくために学んだこと 」と言うタイトルで、
私が今までDjangoを実務で触ったことが無かったので、使うために学んだことを発表しました。
Django自体が現職のビープラウドに入社するまで触る経験は余り無いことや、
他のフレームワークも実務で触れた経験が無かったのでほぼまっさらの状態からの発表でした。
公式リファレンスに記載のある事項をもとに喋りっぱなしの45分(40分程度で終了)でした。
どう準備したか
ある時期まではネタ探しのため、ひたすらDjangoの公式リファレンスを読みました。 そこから、自分が疑問に思ったことや、過去に教えてもらったことを思い出して、この辺りを話してみようかな、と組み立てていきました。
45分、出来るわけがないと思っていましたが「まぁ5分のLTを8本やれば45分か」とネタを集めようと考える事ができたのが良かったのかもしれません。
個人の非公開のScrapboxで大元のネタの構成を準備し、個別の内容は個人のメモとして公開している内容を基にしています。
例:
また、Googleスライドで作成しました。プレゼンターモードがあるのは便利ですね。
何か工夫した点はあるか?
先輩からのアドバイスですが、先輩と後輩の対話形式を出来るだけ各章の冒頭に置くようにしました。 これは弊社ビープラウドの先輩方が執筆した自走プログラマーで会話形式のスタイルを取っていることもあります。
そのほか、頂いたアドバイスとしては次のようなものがありました。
- 章の切り替わりが聴講者としては唐突に感じられるので、間にスライドを1つ挟んでも良いかも
- コードの背景は黒く無いほうが良い(会場によっては見えにくいため)
- スライドの文字数が多い印象がある
あとは改めてスライド周りを改善すべく
この辺りのページを参考に、フォント・フォントサイズを見直しました。
リアル開催のためこうした考慮をする必要があると言うのはアドバイスいただけなかったら気が付かなかったのではと思いました。
練習はどうしたか?
合計3, 4回ほど行いました。
時間を計測しつつ、ですがなかなか時間も気力も使うので大変でした。
また、内1回は自社の先輩に見てもらいました。ありがたかったです。
概ね38分, 39分程度だったのですが本番ではちょっと延びました。
とはいえ質問の時間が無くなると言うこともなく、ちょうど良かったのでは無いかと思います。
練り直すとしたら?
改めて聞いてほしい聴講者の層とそれに相応しい内容かどうか、は見直したいと思います。
例えば、QuerySetの評価タイミング・キャッシュについては初心者の知らなかった方にも参考になると思いますが、
objectsとは、と言う話は極論知らなくても落とし穴にはならない気がするので、盛り込むべきだったのかどうかなとか。
きっかけ
自社の先輩に後押しされたことがきっかけです。
カンファレンスへの初登壇で45分と言うこともあり躊躇はしましたが、後押しされなかったら申し込まなかっただろうなとも思います。
自分もかつて、初めて参加した勉強会で「LTしないんですか?」と声をかけてもらってからLTをするようになり、
今回ああ言ってもらえたから申し込んだ・・・みたいなことがあるので、自分も今度はきっかけを与える側になりたいですね。
ヴェルダースオリジナルのおじいさんのように。
発表してみて
発表後に、温かい言葉をかけてもらいました。
自走プログラマーの著者の1人でもあり、DjangoCongressJPのChairであるkyさんからは「nibu, 発表良かったよ」と言って頂けました。
Pythonの偉大な先人の方から、とても嬉しい言葉を頂けて感無量でした。
他にも、素敵な発表でしたと声をかけて頂くことがありとても嬉しかったです。
やっぱり自分の発表は本格的なものでは無いので、どうなのかなと思っていたのですが、こうした温かいリアクションをいただけたことで、 やって良かったなと思いました。
本編について
以下のセッションを聴講しました。
- Djangoテンプレートエンジンを使いこなそう! Shinya Okano
- Django初心者が中級者になるために知るべきこと Hiroki Kiyohara
- Djangoアプリに作り込んで学ぶ脆弱性(SQLインジェクションとXSS篇) nikkie
- データ分析者にとってのDjango: StreamlitやDashとの比較 廻船孝行 (Takayuki KAISEN)
- GraphQLライブラリStrawberryのDjangoプロジェクトへの適用事例: 実践から学ぶヒントと戦略 Miyashita Yosuke
何の発表も素晴らしい・素敵なものばかりで、知らないことも多かったですが、知らないことを知ることが出来るのがカンファレンスの良い所だと思っているんので、 これでよしとしておこうと思います。
また、他の方の発表もセッションの都合上聞けていないものが多いので、公開されたものはまた拝読をする予定です。
- Django ナレッジ共有 ~DB管理は別の部署 & 開発tips~ 松野 一貴
こちらの松野さんからは、私がなんとpdbについて発表を被せてしまっていたそうですが、そのことを紹介しても良いか確認いただけて、非常に丁寧な方でした。 本当に皆さん、温かい・・・。
セッションに関する余談
マイクがあることを全く考えていませんでしたが、私はデモを行うスタイルにしなかったこともあり、ハンドマイクで対応させてもらいました。
あとは発表する内容をあらかじめ文字に起こしていたのは良かったかなと思います。
じゃないといらないことばかり喋ってしまう。
没ネタ
ちなみに、没ネタが他にもまだまだありました。 ここは時間の制約と、改めて伝えたい層や自分が話せる内容、全体の構成を考えて泣く泣く削った所です。
- Django標準のUnittestについて
- QuerySetのキャッシュされる属性について
- Formについて
- DjangoはどうやってHTML上でエスケープしているのか
- カスタムマネージャーについて
- システムチェックフレームワークを自分で実装する方法について
- dir()について
- テーブル名がapp名_model名になる仕組み
- manage.pyでどう言う動きをしているか
- Djangoの思想はどう言うものか
- django-debug-toolbarの機能について詳細
- SQLのEXPLAINについて
また、スライドの太字や文字などもっとメリハリを効かせたりしたかったですが、ここは本筋ではないし・・・と作業をある程度で留めるようにしました。
そのほか全体の感想
- サイボウズ東京オフィス綺麗だった
- 会場も貸してもらえてありがたかった・・・
- 去年のPyConでお会いした方に再開できた
- 「あの本の著者の方ですよね」とお知り合いになる事ができた
皆さん参加している方が温かい方ばかりで、Djangoコミュニティも良いものだなと感じました。
積極的に皆で盛り上げていきたいですね。
このブログ記事を読んだ方がいらっしゃったら、ぜひ来年CfPを提出して一緒に盛り上げていきましょう!!