Speaker

Takayuki Shimizukawa

Takayuki Shimizukawa

beproud, sphinx

beproud, sphinx

Tokyo, Japan

Actions

A member of BeProud. I've been using Python since 2003 and have been organizing Python mini Hack-a-thon and joined many Python related events, as well as speaking at conferences in Japan and abroad to provide information on Python technology. I recently started flying Drone.

Speaker:

* DjangoCongress 2021
* PyCon JP 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020
* PyCon Taiwan 2012, 2015
* EuroPython 2015
* PyCon Singapore 2015
* PyCon Korea 2015, 2016
* PyCon Malaysia 2015

Books:

* エキスパートPythonプログラミング 改訂3版(2021 アスキードワンゴ刊)
* 自走プログラマー(2020 技術評論社刊)
* Pythonプロフェッショナルプログラミング 第3版(2018 秀和システム刊)
* エキスパートPythonプログラミング 改訂2版(2018 アスキードワンゴ刊)
* 独学プログラマー(2018 日経BP刊)
* Sphinxをはじめよう 第2版(2017 オライリージャパン刊)
* Pythonプロフェッショナルプログラミング 第2版(2015 秀和システム刊)
* Sphinxをはじめよう(2013 オライリージャパン刊)
* Pythonプロフェッショナルプログラミング(2012 秀和システム刊)
* エキスパートPythonプログラミング(2010 アスキー・メディアワークス刊)

BeProud所属。一般社団法人PyCon JP 会計理事。2003年からPythonを使い始め、Python mini Hack-a-thonなどPython関連イベント運営のかたわら、国内外のカンファレンスへ登壇しPython技術情報を発信するなど、公私ともにPythonとその関連技術の普及活動を行っている。最近Drone飛ばし始めました。

Speaker:

* DjangoCongress JP 2021
* PyCon JP 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020
* PyCon Taiwan 2012, 2015
* EuroPython 2015
* PyCon Singapore 2015
* PyCon Korea 2015, 2016
* PyCon Malaysia 2015

Books:

* エキスパートPythonプログラミング 改訂3版(2021 アスキードワンゴ刊)
* 自走プログラマー(2020 技術評論社刊)
* Pythonプロフェッショナルプログラミング 第3版(2018 秀和システム刊)
* エキスパートPythonプログラミング 改訂2版(2018 アスキードワンゴ刊)
* 独学プログラマー(2018 日経BP刊)
* Sphinxをはじめよう 第2版(2017 オライリージャパン刊)
* Pythonプロフェッショナルプログラミング 第2版(2015 秀和システム刊)
* Sphinxをはじめよう(2013 オライリージャパン刊)
* Pythonプロフェッショナルプログラミング(2012 秀和システム刊)
* エキスパートPythonプログラミング(2010 アスキー・メディアワークス刊)

Area of Expertise

  • Information & Communications Technology

Topics

  • sphinx
  • Django
  • python3

Sessions

Webアプリを並行開発する際のマイグレーション戦略 en

Webアプリ開発とデータベースマイグレーションには密接な関係があり、Pythonでよく採用されるDjangoやSQLAlchemyには、DBのスキーマを変更するマイグレーション機能があります。一般的に、プログラムを実装するときはリポジトリでブランチを作りそれぞれのブランチで実装作業を進めます。Webアプリの開発でも同様ですが、各ブランチでDBスキーマを変更する場合には注意が必要です。例えば、複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまいます。多くの機能を並行開発したり、マージするまでの期間が長い場合には、このような競合が増えてしまいます。

このトークでは、Djangoを例に、データベースマイグレーションの仕組みから、実際の開発現場で発生したトラブルとその解決方法について紹介します。

アジェンダ

* データベースマイグレーション機能の紹介
* DBスキーマ変更が競合するシンプルな例
* 実際の開発現場で発生したトラブル事例
* DBスキーマ変更の先行リリース
* 新旧DBスキーマの並行運用

Django + SQLAlchemy: シンプルWay ja

DjangoのORMはとても便利ですが、少し複雑なクエリを組み立てようとすると急に難しくなってしまうことがあります。例えば、サブクエリの結果をINNER JOINしたい場合や、1つのテーブルを2回OUTER JOINしたい場合などは、SQLならすぐに書けるのにDjango ORMで表現するのがとても難しかったり、不可能だったりします。このような場合にSQLを直接書いて `Model.objects.raw()` や `execute()` で実行する方法もありますが、この方法では動的にSQLを組み替えるのが難しくなったりSQL Injectionのリスクもあります。
このトークでは、SQLAlchemyをSQL表現言語として使う事でSQLの組み立てをプログラムで行い、Django上で安全に実行する方法を紹介します。

アジェンダ

* Django ORMで表現が難しいSQLの例
* SQLを直接書いてrawやexecuteで実行する例と問題点
* SQLAlchemyの紹介と簡単な実行例
* 複雑なSQLをSQLAlchemyで組み立てる
* SQLAlchemyとDjangoの連携

PyCon JP 2021 Sessionize Event

October 2021

PyCon JP 2020 (28th & 29th August) Sessionize Event

August 2020

Takayuki Shimizukawa

beproud, sphinx

Tokyo, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top