Python エンジニアの作り方小宮健 (@tk0miya)
お前誰よ名前小宮健Twitter: @tk0miya所属(株)タイムインターメディアテクニカルオフィサPython 歴ちょうど 2年ぐらい
お前だれよblockdiagシリーズの中の人テキストファイルから図を生成するツールSee http://blockdiag.com/Sphinx 拡張の開発 (googlechartsなど)
Pythonエンジニアの作り方Python に出会ってからの体験談ソフトウェアのリリースを通しての経験自分がどう変わったのか注意事項技術的な話はしません効果には個人差があります
Before Python
My Computing Historyコンピュータ歴 17年C, Ruby, Perl などを使ってきたLinux (Debian)歴 12年ぐらい
My Computing History
Python に出会う前の自分ギークになりたいギーク見習いオールドタイプ新しいツール/手法を取り入れないツールを作ってもリリースしないいいアイディアがあれば、といつも思ってる
Python との出会いまったくの偶然同僚が Pythonエンジニアだった中略付き合いで使い始めた最初の印象取り立ててすごい言語だとは感じなかったシンプルかつストイックな言語
Develop with Python
Meet up a good idea: blockdiag仕事で画面遷移図を作る機会があった毎週 Visio で微調整を繰り返すほんの少しの変更に 1-2時間かかるほとんどレイアウト調整遷移図画像を生成するツールをつくろうblockdiagを作り始めた最初のリリース(0.1.0)まで約2週間
決心遷移図生成ツールはちゃんとリリースする投げ出さない完璧を目指さない (80% の出来をめざす)新しい技術を取り入れるユニットテスト分散バージョン管理 (Mercurial)新しい言語:Python
blockdiagの構成技術パーサテキストファイルを解析しながら読み込むfuncparserlibのサンプルをそのまま流用レイアウトエンジン読み込んだデータを適切に並べる地道に改良を繰り返す画像出力線、円などで画像を描くPIL でベタ書き。 BASICの延長線上
開発途中で必要になった知識環境構築ツール (buildout)パッケージングの知識 (PyPI, setuptools)クラウド環境 (AppEngine)Web フレームワーク (Flask)プラグイン構造の作り方 (setuptools)Python 2.4〜2.7 の差異依存ライブラリへのパッチ投げ
開発の助けになった人/ものたちGoogleTwitterエキスパート Python プログラミング友人の意見勉強会/Hack-a-thon で出会った人たち
ソフトウェアのリリース以前はリリース = 公開だと思っていたblockdiagはみんなに使って貰いたい単にPyPIにアップロードするだけでは足りないいろんな勉強会で発表することに
勉強会での発表積極的に発表を繰り返した9ヶ月間で 14回発表開発系(Python, Perl, Ruby)ネットワーク系(JANOG, #qpstudy, #odstudy)英語圏 (EuroPython)Demonstrable な発表を心がけてきた百聞は一見にしかず。デモ重要
After development w/Python
blockdiagを開発して得たものPython を使った開発のやり方“勉強”と”開発”の違い開発者とユーザーの幸せなサイクルアウトプットはインプットを呼ぶコミュニティの力
まとめ: Python エンジニアの作り方ソフトウェアを開発しよう既存の OSS プロジェクトへの参加等作るだけではなくリリースも発信(アウトプット)しよう得た情報はブログ/勉強会などでアウトプットする楽しむこと勉強会や Sprint, Hack-a-thon などで仲間を作る
Q&A
ご清聴ありがとうございました宣伝blockdiag使ってください (http://blockdiag.com)Office Hour やります13:20〜13:50 at 3F 廊下ざっくばらんに声をかけてください明日の Sprint でも開発しています

Python エンジニアの作り方 2011.08 #pyconjp