Bio
BeProud所属。2003年からPythonを使い始め、国内外の多数のPythonイベントに登壇、Pythonとその関連技術の普及に努めている。公私ともにPythonを教える立場で多く活動している。著書/訳書:「Pythonプロフェッショナルプログラミング第3版(2018 秀和システム刊)」「エキスパートPythonプログラミング 改訂2版(2018 アスキードワンゴ刊)」「独学プログラマー(2018 アスキードワンゴ刊)」「Sphinxをはじめよう第2版(2017 オライリー・ジャパン刊)」。最近バターコーヒーで食生活の改善に成功して、7kgの減量に成功!しかし気を抜いたら3kg戻ってしまって残念。
My Talks
Django + SQLAlchemy: シンプルWay
DjangoのORMはとても便利です。しかし、SQLならすぐに書ける「サブクエリをINNER JOINする」「1つのテーブルを2回OUTER JOINする」といったクエリをDjango ORMで表現するのは苦手です。生のSQLを書いてDjangoで実行する方法もありますが、動的にSQLを組み替えるのが難しくなったりSQL Injectionのリスクもあるためお勧めできません。SQLAlche...
Djangoアプリを並行開発する際のマイグレーション戦略
Djangoアプリの開発中に起こる、マイグレーションの競合を避けるにはどうすればよいでしょうか?複数のブランチで同じテーブルのカラムを追加して使いたい場合や、DBスキーマの変更が競合する場合は、ブランチのマージ時に競合してしまい、解決に苦労することがあります。このトークでは、実際の開発現場で発生したいくつかの事例を元に、トラブルを避けるためのブランチ運用とリリース戦略について紹介します。
Pythonの文字入出力のしくみ: print()がターミナルに文字を表示するまで
Pythonで画面へ文字表示したり、キーボードから入力するときには、OSの標準入力, 標準出力が使われています。Pythonで標準入出力がどう使われているのか、どんな使い方があるのか、使う時の注意点はなにかを紹介します。
また、OSの標準入出力はPythonに限らず大多数のプログラムで使われていますが、そもそもこれは何なのか、低レイヤーの概念からPythonのレイヤーまでを通して、それぞれの...
Sphinxの紹介: Python製ドキュメンテーションツール
SphinxはPythonのデファクトスタンダードなドキュメンテーションツールです。
体裁の整ったドキュメントを簡単に作成することができるドキュメンテーションツールを探している方へ Sphinx を紹介します。 Sphinx は HTML、XML、TeX 等よりも簡易なマークアップ言語を使い、まとまったドキュメントを作成する事ができます。
[https://sphinx-users.jp/]...
ssh-agentに鍵を一括登録するsshhの開発とsubprocessパッケージの使い方
私は、ssh-agentに必要な分のssh秘密鍵を一括登録するツール sshh を開発しました。このツールで使っているPythonのsubprocessパッケージは、Pythonから外部コマンドを起動して標準入出力を操作できます。このトークでは、subprocessについて概要を紹介し、起動したプログラムの標準入出力とPythonをPIPEで繋ぎ対話的に入出力する方法を紹介します。そして、P...