matobaの学んだこと

とあるPythonエンジニアのブログ。ソフトウェア開発、執筆活動、ライフログ。

DjangoCongress 2019に行ってきました。

DjangoCongress2019に参加してきました。

主催者、発表者、参加者の皆様、お疲れ様です。 サイボウズさん会場ありがとうございました。

今回も前回に続き、色々勉強になりました。後の自分のため、行ってない人のため、行ってきた人のためにDjangoConngress2019のスライドを集めて、簡単にメモを取ったものを記事にしておきます。

Djangoで静的ファイルとうまくやる

tell-k.github.io

僕は、静的ファイルを扱うときは、雰囲気でなんとかしていた感じなのですが、すごくいい感じにまとまっていてありがたいと思いました。 静的ファイルの扱いを思い出すときはこちらを参照したいと思います。

How to build and deploy a flexible React/Django hybrid application

slides.com

US向けのサービスを作っているスタートアップの方々で、Djangoのテンプレートを利用したSSRとReactを使ったSPAのハイブリッドを作っている話でした。

SPAにすると複雑化するので、必要なところだけSPAにしているとのことです。

具体的なやり方としては、json.dumpsを使って、templateに埋め込むとのこと。セキュリティ的なことが気になりましたが、なるほどなーと思った次第。

MAKE QUERY GREAT AGAIN!

www.slideshare.net

DjangoのORMとSQLのマッピングのいろんな例の解説かと思います。僕は実際に拝聴しませんでしたが、僕もDjangoのORMとSQLを見比べたことがありました。

Djangoを使い始めたばかりの人にすごく参考になりそう。

現場で使えるDjangoのセキュリティ対策

speakerdeck.com

現場で使えるDjangoの話のセキュリティ周りの話です。 Djangoの中にどんなセキュリティ対策が含まれているかを知ることができます。 Django使いならとりあえず知っておいた方がよさそうに思います。

Djangoでのメール送信 〜設定からテストまで〜

speakerdeck.com

Djangoでどうやってメールを扱うか、そしてそれをどうやってテストするかという話です。 メールバックエンドを拡張してSlackに送信するような例もあったり、Djangoの持っているメール関連の便利機能もあったので、Djangoのメールの設定をするときは改めて参考にさせてもらいたいと思いました。

DjangoではじめるGraphQLとフロントエンド開発の協業

speakerdeck.com

DjangoでGraphQLを扱うGraphene-Djangoというライブラリを使う話です。

僕は、GraphQLが使ったことなかったのですが、なんとなくイメージが湧いたので良かったです。

Djangoアプリのデプロイに関するプラクティス

www.slideshare.net

Djangoを公開するために必要な知識の話でした。Nnginxのようなリバースプロキシから始まり、WSGIサーバーやDBサーバーが必要であること。デプロイを自動化する技術がどんな技術があるのか。スケールする時にどういうことを注意するか、など。

個人的には、デプロイに関するプラクティスというより、Djangoのインフラに関するプラクティス、みたいなイメージを持ちました。Djangoアプリをチュートリアルに従って、インフラ周りがどういう構成になっているかを理解するときに良さげです。

自社サービスのDjangoを1.3から1.11にアップグレードするまでの道のり

speakerdeck.com

タイトルの通りですが、Djangoのアップデートに関するたくさんの情報が書いてありました。 個人的にはカナリアリリースをしたというくだりのマイグレーションの整理が大変そうだと思ったりもしました。 Djangoをアップデートする場合は参考になりそうです。

DjangoによるWebエンジニア育成への道

ある会社がPython化してDjangoのエンジニアが集まるまでの話です。 技術的な話というより、ある会社の物語という印象。 読み物が好きな人はどうぞ。

Authorization in Django

Djangoで複雑な権限管理をしたい時の話。 発表は拝聴してなかったのですが、Djangoのデフォルトの権限管理でできないような権限管理をするためのライブラリdjango-keeperの説明という印象。

おそらく通常の会員or非会員しかないようなWebアプリだと必要がないのですが、会社に売り込んでいくようなパッケージでユーザーがグループになっていたりユーザーごとに権限が細かく分かれている場合は、django-keeperのようなライブラリを検討すると良いのだと思います。あと、django-keeperの場合は、Modelごとにアクセス権を制御できるようなので、それこそGraphQLあたりと組み合わせると、複雑なデータ管理を簡単にできるようになりそうな気がしました。

どうなってるの?Djangoのトランザクション

speakerdeck.com

Djangoのトランザクション管理について一緒にコードリーディングしながら進める発表だったようです。

私は拝聴してなかったので、ざっとスライドを見た感想ですが、まずMySQLのロックが特殊で辛いって話とDjangoでリクエスト単位のトランザクションを有効化しつつ、Celeryを使ってるときたリクエストに対するトランザクションをコミットする前にCeleryが走ってしまって辛いって話が印象的でした。

僕も同じような問題に関わったことがあったので、あるあるなのだなあーと思いながらスライドを拝見しました。

Django Girls Blogのネクストステップ 〜実務レベルへ橋渡し〜

Djangoのチュートリアルをやった後に、具体的に何かを作るために必要そうな知識がたくさん詰まっている感じでした。参考になりそうです。 僕もここに記載されている知識を使って何かを作ってみたい気持ちになりました。

終わり

去年に引き続きDjangoCongress 2019に参加できました。 と言っても、最初は都合がつかずに参加できないかなー、と思っていて、チケットも確保していなかったのですが、前日にツイッターを見ていたら次のようなツイートを拝見し、チケットを譲っていただき、運よく参加することができました。

dario_okazakiさん譲っていただきありがとうございます。 行けなくなった時に行ける人を探す姿勢素晴らしい。

おかげで今年もDjangoConngressに参加して楽しむことができました。ありがたい。

では今回はここら辺で終わります。

おまけ

昨年の記録は以下になります。 興味ある方はどうぞ。

blog.mtb-production.info