5/18に開催された、DjangoCongress JP 2019に参加 & 発表しました。
DjangoCongress JP 2019
昨年同様、開催場所はサイボウズ株式会社の東京オフィスでした。
東京オフィス アクセスマップ | サイボウズ株式会社
今年も良い感じの雰囲気でした。
自分の発表、および全体を通してのメモを残します。誤りがありましたらご指摘ください。
目次
- 自分の発表「Djangoでのメール送信 - 設定からテストまで」
- Djangoで静的ファイルとうまくやる話
- 現場で使える Django のセキュリティ対策
- Djangoアプリのデプロイに関するプラクティス
- Authorization in Django
- DjangoによるWebエンジニア育成への道
- LT
- パーティ
- 謝辞
自分の発表「Djangoでのメール送信 - 設定からテストまで」
スライドです。
また、発表で使用したソースコードはこちらになります。
https://github.com/thinkAmi/DjangoCongress_JP_2019_talk
ソースコードの動作確認バージョンは
です。
参考にした公式ドキュメントは以下の通りです。
- メールを送信する | Django ドキュメント | Django
- 設定 | Django ドキュメント | Django
- Email sevices | テストツール | Django ドキュメント | Django
- AdminEmailHander | ロギング | Django ドキュメント | Django
- エラーのレポート | Django ドキュメント | Django
「Djangoのメール送信機能についてまとめたいなー」と思ったのが、CfPを出した動機です。
そのため、発表はメール送信の仕組みに特化することにして、実際の運用やベストプラクティスについてはふれないようにしました。
そのあたりは、ありがたいことにツイートしてくださいましたので、引用します。他にも情報がありましたら教えていただけるとありがたいです。
テキストメールの文面をテンプレートファイルにしてrender_to_stringに読ませる場合、普通に使うと「<」「>」とかが勝手にエスケープされてしまう問題があるな。 #djangocongress
— Ryuji Tsutsui (@ryu22e) 2019年5月18日
私がローカル環境でDjangoメール送信をやる時はMailHogを使うかな。https://t.co/OA1f7aFDC3 #djangocongress
— Ryuji Tsutsui (@ryu22e) 2019年5月18日
LOGGINGでメール送信をさせるの、実運用では大量のメールを受信するはめになってあんまりオススメしない 💦 Sentryみたいなエラートラッキングシステムを導入したほうがいいと思う。 #djangocongress
— Ryuji Tsutsui (@ryu22e) 2019年5月18日
というところで、以降は当日のメモです。
Djangoで静的ファイルとうまくやる話
tell-kさん
静的ファイルの扱いについて、いろんな観点からの発表でした。
特に
STATIC_
とMEDIA_
の違いと、考慮すべき点- 配信サーバ構成ごとの扱い
- 単一、複数、クラウドストレージ
- 認証付静的ファイルの配信
のあたりが参考になりました。
現場で使える Django のセキュリティ対策
Akihito Yokoseさん
資料:現場で使える Django のセキュリティ対策 / Django security measures for business (DjangoCon JP 2019) - Speaker Deck
IPAの資料をベースに、Djangoのセキュリティはどうなっているかのセッションでした。
特に、
など、セキュリティまわりが一通りまとまっていて、ありがたいです。
そのため、「Djangoのセキュリティは?」と質問された時は「これをどうぞ」と言えそうです。
Djangoアプリのデプロイに関するプラクティス
Masashi Shibataさん
資料:Djangoアプリのデプロイに関するプラクティス / Deploy django application
Djangoをデプロイするにあたり、用意すべきもの・考慮すべきものがまとまっていました。
ゼロから環境構築をしなくてはいけないときは、これを見つつ、抜けやモレがないか確認しようと感じました。
また、MySQLのBlackholeストレージエンジンの存在を知ることができたり、「個人開発する時は、Google App Engineを使うことが多い」など、参考になるお話もありました。
他に、セキュリティ攻撃を試せる環境も用意されていて、akiyokoさんのセッションと合わせると理解を深めやすいと感じました。
Authorization in Django
Hiroki Kiyoharaさん
資料:Authz in Django / GitPitch Slide Deck
以前、 django-keeper
をちょっとさわったことがあり、Modelなしでも認可制御ができるところが良かったです。
どんな時に使うのが良いのかなと思いましたが、今回のセッションでいくつかユースケースが述べられていました。
そのため、もし適切なサイズのアプリであれば、利用しても大丈夫そうという気持ちになりました。
DjangoによるWebエンジニア育成への道
Yuichi Nakazawaさん *1
資料:DjangoによるWebエンジニア育成への道 - Speaker Deck
afterの終わりあたりに入社したので、へーしゃの歴史が学べてよかったです。
LT
サイボウズさん
クイズ形式で、サイボウズさん・Python・Djangoの歴史などが学べました。
#djangocongress
— thinkAmi (@thinkAmi) 2019年5月18日
「ブログは人の為ならず」Tシャツが気になりすぎる
Django Girls
Django Girlsの紹介でした。
- 参加者からメンターになられた方の話
- 参加者のインタビュー
などを聞き、良い雰囲気のコミュニティであることが伝わってくるLTでした。
なぜ私はプロポーザルに落ちたのか
moon_in_naganoさん
イベント内であのLTを仕上げるのは、さすがだな & 真似できないなと思いました*2。
Django Queryset アレパターン
CardinalXaroさん
regist_dt
など、細かなところにまで闇っぽい感があるLTでした。
Staffやってみて
shimakaze_softさん
思い切ってStaffをやるという行動力はすごいと思いました。
パーティ
今回から開催されたパーティですが、とても楽しかったです。
Web上でお世話になってる方に直接ご挨拶したりするなど、交流を深められました。
Djangoという共通の話題があったこともあり、パーティでも話しやすかったです。
謝辞
最後に謝辞です。
今年も弊社 (日本システム技研) のみなさんには、プレゼンの練習に付き合っていただき、ありがとうございました。
練習をする中でいろいろと気づき、修正できたのは大きかったです。
また、今年も会場の提供をしてくださったサイボウズ株式会社さま、ありがとうございました。Room2のバーっぽい雰囲気が相変わらず良かったです。
最後になりましたが、DjangoCongress JP 2019のスタッフ、発表者、参加者のみなさま、ありがとうございました。
今年も楽しい時間を過ごせました!