[Python] Python Workshop the Edge 2007報告
この記事について
2007年6月30日に開催された、Python Workshop the Edge 2007について報告します。私はずっとセミナーに出席していたので、この記事の内容もすべてセミナーに関してです。
私がとったメモをそのまま記載するので、わかり難いところが多々あると思います。Python Workshop the Edge 2007のサイト (http://www.python.jp/Zope/workshop/200706) には発表資料がアップされていますので、そちらもご参照下さい。
なお、以下では適宜敬称を省略させていただきます。
"IronPython and Dynamic Languages on .NET" Mahesh Prakriya (Microsoft Corporation)
- なぜPythonか?
- IronPythonのふたつの目的
- 本当のPython実装
- 仕様に忠実
- .NETとのシームレスな統合
- .NETのツールが使える
- 本当のPython実装
- IronPythonのデモ
>>> s = "foo" >>> s.ToLower() # エラー >>> import clr >>> s.ToLower() # 使えるようになる
>>> import msagent
-
- MSAgent (http://www.microsoft.com/japan/msdn/academic/Articles/fun/01/) のキャラクターをIronPythonの対話プロンプトから動かす
- Ink(手書き認識)のデモ。ウィンドウに手書き入力された文字を読み取る。会場から拍手。こんなことはオープンソースではできない
- 音声出力のデモ。会場から拍手
IronPythonのバージョン | リリース時期 | Pythonの仕様のバージョン | モジュール | 備考 |
---|---|---|---|---|
1.0 | 2006年9月 | 2.4 | 27/54組み込みモジュール | |
1.1 | 2007年4月 | 部分的な2.5 | モジュールの追加 | 優先度の高い問題 |
2.0 | 2008年早期 | 2.5 | モジュールの追加 | 内部的なアーキテクチャ変更 |
3.0 | 2009年早期 | 3.0? | モジュールの追加 |
- バージョン1.1はちっちゃなリリース
- いちばん速いPythonはIronPythonだ
- XNAによるゲームのデモ。うまく動かなかった。宇宙船がアステロイドらしきところを飛行する3Dのゲームを、300行くらいで書けた
- Silverlight
- http://blogs.msdn.com/ironpython
- http://codeplex.com/ironpython
「Python Webフレームワーク総ざらえ2007」三浦雅弘 (http://playrecord.org/)
Django
web.py
- 0.21リリース
- 複数ファイル化
WSGI, Paste, Pylons
- Paste
- 低レベルのWSGIアプリケーション
- Pylonsのトレースバックがすごい (http://d.hatena.ne.jp/perezvon/20070324/1174758114)
質疑応答
- お薦めは?
- Django. 自分で使うならweb.py + Kid.
- 複数データベースへの対応は?
- Django
- ブランチを切られている。SQLAlchemyを使う
- TurboGears
- SQLAlchemyを使う(ただし、SQLAlchemyはバージョンが低くて使えない?)
- Django
「Tracの活用」落合豪史
- インストール
- Subversionを同じサーバにインストールすること
- データベース
- SQLiteで充分
- ステージング
- Webサーバ
- Trac Environment作成
- 次のステップへ
- コミットルールの制定
- チケット運用の制定
- Wiki記法に慣れてもらう
- 0.11の新機能
- ワークフローの強化
「高エネルギー加速器制御システムにおけるPythonの活用」山本昇(高エネルギー加速器研究機構)
- Python 1.5(10年くらい前)
- EPICS
- 構成
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
制御アプリケーション |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Python |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CAクライアントライブラリ(アプリケーションプロトコル) |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Channel Accessプロトコル |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CAサーバ |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
DB: 機器の状態を管理 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
機器 |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- caモジュール
- EPICS-CAライブラリへの接続
import ca ca.Get("fred") # fred, jane, albertは機器の名前 ca.Put("jane", 10) ca.Monitor("albert")
「CG映像制作とPython セガVE研究開発部での事例」齊藤淳(株式会社セガ)
「Pythonコード添削道場」増田泰(株式会社アクセンステクノロジー)、西尾泰和、柴田淳(Webcore株式会社)
- Py然
- PyZen
- 的確な構文と名前
- PEP8-ism
- Beautiful
- Explicit
- Simple
- Complex
- Flat
- Sparse
- スペースや空白
- http://ja.doukaku.org/
- assertは最適化で消える
- チームで仕事をするようになって、「他の人のためのコード」を意識するようになった(増田)
「教育現場におけるPythonの利用」菊池靖(東京理科大学)
- 何が問題か
- プログラムが作れるようにならない
- 大学の授業の特徴
- モチベーションが低い
- プログラムコードはぐちゃぐちゃ
- プログラムの重要性が訴求しきれていない
- 世の中の変化に大学が追いついていない
- いまだにFortran(66水準)を教えている
- 言語の選択
- 実用的なプログラミングは学習が難しい
- 教育用言語は現場で使われない
- Cの問題点
- 間違ったプログラムが動く
- アルゴリズム教育に必要
- アンケート調査
- 80%が初歩的なものなら書けると回答
- 実際は異なる
- 80%が初歩的なものなら書けると回答
- 授業の問題
- Cのわかりにくさ
- コンパイルはさほどのことはない
- ポインタはわかりにくい
- 関数がわかりにくい
- =による代入がわかりにくい
- Pascalは=による代入のわかりにくさを認識していた?
- Pythonの利用の試み
- 正しいインデントを強要
- 可読性の高さ
- 実用性と学習性
- インタプリタであることは「?」
- 卒業論文テーマ
- メールのクライアントを制作
- 授業
- 情報教員免許状のために必要
- 使ってみて
- 対話プロンプトは混乱の元
- 「プログラムを組む」ことと区別がつき難い
- 対話プロンプトは混乱の元
「プロジェクトにコンパイルはいらない」Emerson Mills(Orinoco株式会社)
- 講師はスクラム(開発手法)のユーザ
- スクラムを実施して、
- 毎日14時間労働だったのが、8時間労働になった
- 生産性は以前より上
- スクラムを実施して、
- スクラムとは
- 主概念
- プラットフォームは進化するもの
- ダーウィンに近い?
- 常にコミュニケーション
- 開発をより人間的に
- ユーザの意識
- ユーザの参加
- プラットフォームは進化するもの
- 滝(ウォーターフォール開発)的
- 建築のように基礎から
- 仕事は分離されて順番に行う
- 最初にすべて設計および計画
- 設計してから作業開始
- 期間の長い場合は?
- 「会場内で、3年後もユーザの要望がいまと同じだと思う人は?」と質問
- 誰も手をあげなかった
- 非滝的
- タスクを同時並行
- デザインをしながら開発(設計ではない)
- 失敗を許す
- スペックは途中で変わる
- プロジェクトの抽象化
- ゴールを決める
- プリウスはガソリンを世界からなくそうとした
- 大きいマイルストーンまで
- スケジュールは小(1週間)、中(2週間から3週間)、大(6週間)、特大(8週間以上)の4つ
- 一日単位で組めない
- ゴールを決める
- Pythonとどういう関係?
- 抽象化
- よりより開発環境を目指す
- 開発サイクルの短縮
- ウォーターフォールだと
- スクラムのここが違う
- 開発チームが中心
- 開発チームが見直しをする
- ちょっとしたメモで
- 2〜3週間単位
- 常に納品
- 蛇とラグビー
- 開発の抽象化ならプロジェクトにも
- Pythonの利点を最大に
- 開発サイクルをより短く
- 常にテスト
- 納品前の時間損失を防ぐ
- スクラムの基礎
- タスク(1日から8時間)
- プロダクト・バックログ
- スプリント(開発期間)
- スプリント・バックログ
- スプリント・ゴール
- スタンド・アップ(朝礼)
- 昨日したこと
- 今日すること
- 今日困っていること
- スクラムの流れ
- 毎朝、スタンド・アップ
- 毎晩、進捗の書き込み
- ここがポイント
- 開発中は、開発の邪魔はさせない
- 「進み具合はどう?」などとは質問させない
- バックログの有効活用
- 2〜3週間のスケジュールしか組まない
- デモにすべてのメンバーが参加する
- 開発中は、開発の邪魔はさせない
「PyObjCでSkyBotをつくってみよう」ひらただいじ (http://www.daijihirata.com/ , http://uva.jp/dh/mt)
ライトニングトーク
「自作BDDフレームワーク PySpecの紹介と実装」
- BDD
- Behind Driven Development
- http://pyunitx.shibu.jp/
「IronPythonでFirebirdの管理ツール」
- 全部で6,500行くらい
- 起動が遅い
- .NET自体の起動が遅い
- 起動後の動作はそこそこ
- http://blog.so-net.ne.jp/nakagami/2007-03-14
- IronPythonのソースコードをコンパイルして.exeファイルを生成するデモ
「xxxの回し者」安井力
- 作者: 伊藤浩一,大津真,岸田健一郎,まえだひさこ,安井力
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2007/04
- メディア: 単行本
- クリック: 2回
- この商品を含むブログ (12件) を見る
- Ruby KaigiでDavid Thomasの公演を聞いた
- あなたのツールを愛さなければならない (Dave Thomas)
- 私はPythonを愛しているのだと自覚した
- Stay happy!(幸せでいつづけろ!) (Dave Thomas)
- Dave Thomasの回し者