はじめに
頑張れば、何かがあるって、信じてる。nikkieです。
2020/02/29にPyCon mini ShizuokaでDjango入門トークをしました。
その報告といただいた感想や登壇準備について振り返ります。
目次
勉強会の概要
PyCon mini Shizuokaとは静岡のPythonコミュニティによる初めて開催されるイベントです。
静岡のPythonコミュニティは西部、中部、東部と多数ありますが、一堂に会する機会ができないかという思いがあり、この度開催することとなりました。
テーマは「あなたの知らないPython」です。
藤枝での開催に向けて進められてきましたが、コロナウィルス感染症の影響を考慮し、オンライン開催に切り替わりました。
togetterにまとめが上がっています。
発表報告
Web開発に興味がある方を対象に「DjangoでWeb開発を始めよう」とオススメするトークをしました。
Djangoには様々なチュートリアルがありますが、Django Girls Tutorialを題材に、あらかじめ知っていたらチュートリアルに取り組みやすくなると私が考える情報を提供しました。
例えば
- プロジェクトとアプリケーションとはなにか
- URL設定、ビュー、テンプレート、モデルのそれぞれが何か、そしてどう連携しているのか
といった点です1。
Djangoは「締切がある完璧主義者向け」なので、多機能である反面、学習コストが高いです。
そんなDjangoの推しポイントは、Webに精通していなくてもDjangoの流儀に反しない限りは、安全で拡張可能なWebアプリが作れる点です。
登壇資料(スライド)
登壇資料のほか、デモアプリと補足資料も用意しました。
デモアプリ
補足資料
いただいた感想から
30分で伝えらるべきことをよく考慮されたトークだった #pycon_shizu
— にしもつ (@24motz) 2020年2月29日
YouTube Liveのコメントでは、わかりやすかったといった声をいくつもいただきました!
このトークを機にDjangoのチュートリアルに取り組んでいただけたら嬉しいです。
connpassを観察する
— める (@mel________27) 2020年2月29日
→どのような仕組みでWeb化しているか?とか自分が実装するならどのような構成にするか?って考えてくのがDjangoに限らず大事かなーと思った
例としてもとても分かりやすいし#pycon_shizu
聞く方に馴染みのあるWebアプリを使っての説明は工夫した点なので、嬉しいです。
補足説明
Django Girlsについて
あれってgirls向けってわけじゃないんですね。
— さんのみやさん (@Z_A_S_S_O) 2020年2月29日
Django Girls TutorialはDjango Girlsという女性がプログラミングに出会うワークショップの教材です。
ワークショップの参加は女性限定ですが、Django Girls TutorialはWebに公開されており、どなたでも利用できます。
詳しくはスライドのAppendixへ
似た事例として、PyLadiesの勉強会に男性は参加できないですが、公開された資料は見られます。
ASGI
最後に駆け足でしたDjango 3系の話への反応が多かったです2。
Djangoのhttps://t.co/qbQpPwVedSというのはresponderやFastAPIを勉強したときに出てきたASGIというものに対応しているということっぽい。たぶん。 #pycon_shizu
— ksnt (kaisen) (@ksnt0215) 2020年2月29日
Appendixにありますが、ASGIについて知るには、PyCon JP 2018の「Djangoだってカンバンつくれるもん」がオススメです。
事前準備
1月の登壇
今回の発表はサポーターズ勉強会での登壇でわかったことを取り入れています3。
例えば、Webアプリ開発=ファイルを作ることで、Jupyter Notebookは使わないなどです。
私には当たり前のことだったために見落としていたのですが、Web開発を知らない方には説明する必要がありますね。
サポーターズ勉強会運営、そしてご参加の皆さま、どうもありがとうございました!
また、サポーターズ勉強会でのオンライン登壇の経験も今回活かせました。
冒頭、「ふだんPythonでやっていることをYouTube Liveにコメントしてください。操作の練習だと思って」と伝えました。
これは目の前に相手がいないときは、聞いている方がいることを早めに確認した方が発表しやすいという経験からです4。
コメントが現れたのを見て、登壇者がどのくらい時をかけているか(=タイムラグがどのくらいあるか)も分かりました。
発表者練習会
@ftnext の発表終わった。
— okazaki jun (@dario_okazaki) 2020年2月29日
練習の時よりスライドもトークも 格段にわかりやすくなってた!#pycon_shizu
みんなのPython勉強会で聞いた、日本システム技研さんの発表練習にならって、都内から参加する方を誘って、1週間前に練習していました。
ここでのフィードバックを元に3連休で資料を整えています。
ご参加いただいた岡崎さん、ありがとうございました!
デモアプリ開発
今回登壇準備の中で手を動かせたことがよかったと感じています。
精力的に登壇していますが、わかりやすい説明に工数を割いていて、あんまりコードを書いていないなという後ろめたさがありました。
ソースコード
- Django Girls Tutorial Extensionsに沿って、手を動かしてherokuにデプロイ。herokuがDjango製アプリデプロイ先の候補に加わった!
- OGPタグを少しだけ入れてみた ref:【Django】Twitterカードの埋め込み方!徹底解説!
開発したい事項をGitHubのProjectに洗い出し、着手したものをIssueに変換して進めていきました。
残った開発事項
- デモアプリの記事に画像を追加
- 過去にアウトプットしていたので直前に追加しようとしたところ、私が知っていたのは開発モードでのやり方でした。herokuでは
DEBUG=False
のためにうまくいかないと気づき断念 - S3で静的ファイルをホストするのを試す予定です
- Using AWS S3 to Store Static Assets and File Uploads | Heroku Dev Center
- Direct to S3 File Uploads in Python | Heroku Dev Center
- 過去にアウトプットしていたので直前に追加しようとしたところ、私が知っていたのは開発モードでのやり方でした。herokuでは
- DjangoとOGPタグの設定について少し調べたい(直接書く以外にやり方はあるのか?)
- 記事をマークダウンで書けるようにしたい
- 一連の開発をしたら静的化をしてたたむ予定です
終わりに
Django Congress 2019、PyCon JP 2019に続いて3回目のカンファレンス登壇でしたが、3回目にしてようやく準備の進め方が分かってきました。
お恥ずかしい話ですが、これまでは準備期間がギリギリで、胃がキリキリする思いをしながら臨んでいました。
今回はこれまでより余裕があり(といっても緊張していましたが)、準備の進め方は今までよりも成功したと思っています。
ひと月くらい前に登壇内容を固めたり、1-2週前には練習会をしてフィードバックを求めるというのは今後も継続していきます。
急遽オンライン開催という転換でしたが、発表の機会を用意してくださったPyCon mini Shizuoka運営の皆さまに感謝申し上げます。
また、発表を聞いてくださった方、TwitterやYouTube Liveにコメントしてくださった方、ありがとうございました。
PyCon mini Shizuokaのイベントレポートを別の記事で予定しています。
-
こちらは Django Girls チュートリアルには足りないものが1つある - 子供の落書き帳 Renaissance への私なりの回答でもあります↩
-
6月に予定されているDjango Congress 2020でASGIはホットな話題となるかもしれないと思いました。プロポーザルは3/15いっぱいまでです!↩
-
なお、こちらでORMのパフォーマンスについての質問が出たのですが、開発経験がなく答えられないという経験をしました。Optimize the Django ORM - DEV Community 👩💻👨💻が参考になるのかなと思っています。小さくてもWebアプリを1つ作って運用というのは、今年の私の目標です(2Qにやろうかな)↩
-
サポーターズ勉強会でのオンライン登壇(YouTube Live)は複数回経験していますが、初回は目の前に聞き手がいなくて反応が見えず、必要以上に丁寧に説明してしまい、用意したコンテンツの半分程度しか進められなかったという苦い思い出があります。ただこの経験は次の回以降(、そして今回にも!)活きています↩