このサイトについて

Python Developers Camp 2007 Winterのまとめ

Python Developers Camp 2007 Winterのまとめ

3月2日(金)から4日(日)まで,志賀高原のホテル銀嶺にて「Python Developers Camp 2007 Winter」という合宿を行いました。先々週の秋田,先週のダラス(PyCon)に引き続きという強行軍でしたが,たっぷりと滑って開発もできてなかなか楽しめました。

以下,個人的な報告です。

3月2日(金)

早朝2時30分ごろ世田谷を出発。同乗するお二方を石神井公園で拾って志賀高原に。雪もなく,また渋滞もなかったので,8時頃に現地に到着。早速着替えて滑る。焼額山まで渡っていって,所々楽しみながらゴンドラのコースを10本くらい滑る。2時頃いったん帰ってきて,スキーに切り替えて一ノ瀬あたりでまた滑る。

3時30分からはキックオフプレゼンがあったのでPlone開発セッションについてちょっとアドリブで喋る。部屋割り後,Plone開発セッションの参加者のみなさんにアドバイスをしたりして夕食。夕食後,お風呂に入って自分の課題用の開発を小一時間。

課題として設定したのは進捗管理用の「課題トラッカー」。Tracのように仮発者向きのものではなく,非開発者のユーザが使うための進捗管理ツール。普段仕事で使っている内製のツールをブラッシュアップするのが目的。コンテンツタイプ3つと,テンプレートやフォームの遷移をコントロールするためのコントローラの設定などをする。ついでにAjax機能なんかも追加する。初日はコンテンツタイプを作るところまで。

Ploneの開発では,コンテンツタイプと呼ばれるクラスを作るだけど,保存するデータの定義,バリデーション処理を含んだCRUDフォームと汎用的な表示テンプレートが完成する。フォームはWidgetという形で抽象化されているので,カスタマイズも容易。ちょっとずるい表現をすると,DjangoとTurboGearsの良いとこ取りをしたようなRAD環境なわけです。また,関連ファイルは全部一つのディレクトリにまとまるので,デプロイや配布もとても容易です。

3月3日(土)

朝7時くらいに起きて朝食。8時30分からリフトが動き始める。土日のスキー場は午前中が勝負。ということで,朝イチから滑り始める。午前中は焼額山を中心に攻める。午後はテレインパークで遊んだ。初日とあわせて12時間くらい滑ったかな。

夕方からはライトニングトークの続きと小一時間開発の続き。夕食後,ライトニングトークで喋ってさらに開発の続き。のべ4時間くらいで,自分の課題として設定していた「課題トラッカー」が完成する。

開発の合間にも,開発セッションの参加者のみなさんからの質問に答えていたりしました。

Ploneに限らず,開発には「王道」があると思います。Ploneの開発でいうと,オブジェクトの検索は出来るだけカタログを使うとか,そのためにスキーマの定義に適切にインデックスを定義するとか。テンプレートの再利用性を高めるような工夫も重要。これがPlone開発の「王道」だと思います。

王道から外れてしまうと,Webアプリのパフォーマンスに問題が出たり,開発効率が落ちたりします。開発者の生産性には人によって大きく差があって,手着る人とできない人の開発効率は100倍とか1000倍違う,というようなことがよく言われますが,この差を生み出すひみつが「王道を行くか行かないか」にあると思います。今回,セッション参加者のみなさんには,この「王道」を少しでも伝授出来たのではないかと思っています。

3月4日(日)

成果発表。Plone開発セッションの方々の作品は,機能も見栄えも良くまとまっていたと思います。

日付にからむWebアプリを作るとき,カレンダーインターフェースを作れるか作れないかが開発者の度量をはかる分水嶺となると思うのです。今回カレンダーまで到達できたのは,Plone開発セッションの吉田さんだけでした。一人でコツコツと物事を積み重ねて行ける人こそが,素晴らしい成果を上げることができるのだということを再認識した合宿でした。

とにもかくにも,参加者の皆さん,関係者の皆様お疲れさまでした。

また夏にやります。そして冬にも,また志賀高原でやります。夏の前には,ちょっと大きめのイベントを計画しています。


以下,合宿関連のエントリのうち,私が個人的に発見したもの。タイトルとリンクをお届けします。
2010-08-27 04:43