ブックマーク / momijiame.tumblr.com (3)

  • Python: SQLAlchemy でカスケード削除する

    リレーショナル・データベースで、あるテーブルがあるテーブルを参照するような親子関係にあるテーブルを作るとき、親側のレコードが削除されたときは、それを参照している子も一緒に削除してほしい、という場面がある。 今回は、それを Python の O/R マッパの SQLAlchemy で実現する場合の書き方について書く。 まずは何はともあれ SQLAlchemy をインストールする。 $ pip install SQLAlchemy 早速サンプルコードを示す。 前提として、親のテーブルを表すクラス User と、子のテーブルを表すクラス Email がある。 Email は User を参照しているため、User のレコードが削除されたときは、それに従属した Email も一緒に削除されてほしい。 尚、リレーショナル・データベースには Python に組み込みで入っている SQLite3 のオン

    Python: SQLAlchemy でカスケード削除する
    tashua314
    tashua314 2016/02/20
  • Python のデコレータはクラスも修飾できる

    tashua314
    tashua314 2016/02/10
  • ソースコードを読むのに Doxygen + Graphviz が便利な件

    大きいプロジェクトだとクラスとかメソッドがいっぱいあって、それぞれ呼び出し合ったりして、もー意味わかんない。構造を視覚的に追えると良いんだけど、クラス図とかコールグラフを手作業で作ってると埒があかない。 ということで、自動でドキュメント + クラス図やコールグラフを作ってくれるツール Doxygen と Graphviz がとっても便利だったのでメモっておく。 とりあえず説明する上での環境は Mac OS X 10.7 + Homebrew ということで。Doxygen と Graphviz 自体は、UNIX 系の OS ならどれでも動かせるんだと思う。 まずは Homebrew からインストールする。 # brew install doxygen graphviz インストールできたら、解析したいソースコードのあるディレクトリで Doxygen を使う。今回解析するコードは Java

    ソースコードを読むのに Doxygen + Graphviz が便利な件
    tashua314
    tashua314 2015/08/25
    “doxygen”
  • 1