PyCon Taiwan 2012のレポートは今回が最終回です。2日目
朝食は宿泊施設に併設しているCafe Sinicaで食べました。緑に囲まれた素敵なカフェで、
![Cafe Sinica外観 Cafe Sinica外観](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_001.jpg)
![ホテルっぽい朝食 ホテルっぽい朝食](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_002.jpg)
PayCon Taiwanの運営者へのインタビュー
鈴木たかのりです。朝食後にCafeの外でPyCon Taiwanのchairperson
![インタビューに答える Yung-Yu Chen氏(奥)と Timtan氏(右) インタビューに答える Yung-Yu Chen氏(奥)と Timtan氏(右)](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_003.jpg)
- 今回、
初めてのPyCon Taiwanを開催しようと思った理由を教えてください。 大きく2つの理由があります。
1つ目は台湾でPythonコミュニティを広く認知してもらいたいと思っているからです。台湾では多くの人がOSSコミュニティに関わっていますが、
そのうち1/ 10くらいの人がPythonを使っていると思います。Javaに比べると少ないのが現状です。 2つ目の理由はThinker
[1] が2011に開催したアンカンファレンス [2] です。アンカンファレンスでPythonについてのセッションを開催したところ100人程度が参加してくれました。2008年にもPythonについて呼びかけましたが、 そのときは50人強が集まったと記憶しています。 Pythonについて話したい開発者がいると感じたため、
数人でミーティングを行いPyCon Taiwanの開催を決意しました。USで行われているPyConのようにPythonに関わるいろいろな人達の出会いの場となることを期待しています。 - PyCon Taiwanの今後の目標を教えてください。
まずは継続すること、
そしてより大きくなっていくことです。また、 会を継続するためには主催者が燃え尽きないことが大事であると考えています。主催者は頑張り過ぎない必要があると思います。メンバーがお互い協力しあって会を運営する必要があると考えています。 Pythonには“There’s Only One Way To Do It.”
[3] というスローガンがありますが、 これはプログラミングだけではなくPyConイベントの進め方についても共通していると思います。 (確かに、 PyCon JPスタッフも同様のことを考えていると思いました)。 今後、
PyCon TaiwanがPythonic way [4] となることを期待してます。 - 参加者とその内訳はどのようになっていますか。
全体で260名程度が参加登録してくれました。チケットの制限は250の予定でしたが最終的にこのようになりました。海外からの参加者は
(日本も含めて) 10~15人程度だと思われます。また台湾在住のオーストラリア、 アメリカの方も参加してくれているようです。2つのスポンサーが今回つきましたが、 各スポンサーの社長も台湾人ではありません。 スタッフは当日スタッフも含めて30名程度です。メインスタッフは5~10人くらいのチームリーダーがいました。チームリーダーではなくても活発に活動してくれているスタッフもいます。スポンサー企業の社長でもあるPeterはスタッフも努めてくれています。彼は、
もともと予定していたKeynoteスピーカーが2週間前に病気にかかり急遽参加できなくなったときに、 代役を探してくれました。 - 台湾のPythonコミュニティについて教えてください。
台湾はPythonを使用しているユーザは多いのですが、
コミュニティはありません。Pythonを使って仕事はしているが、 メインの仕事はOSSやコンピュータサイエンスであるという人が多いようです。今回のPyCon TaiwanをきっかけにPythonユーザの横のつながりができ、 台湾のPython事情が変わることを期待しています。 - 最後の日本のPythonistaにメッセージをお願いします。
“We love YOU and Python.”
- どうもありがとうございました。
インタビューを終えた後も日本と台湾のPyCon事情などについて歓談などをし、
![台湾と日本のPyCon座長の握手 台湾と日本のPyCon座長の握手](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_004.jpg)
Keynote:Python and the Web
もりもとです。2日目の基調講演はJames Tauber氏による、
![James Tauber氏 James Tauber氏](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_005.jpg)
以下に彼の経歴や発表スライドが公開されています。
PythonとWeb
1990年代からのWebとPythonの発展、
“Programs are meant to be read by humans and only incidentally for computers to execute” by Don Knuth
“プログラムは人間が読めるように書かかれるものであり、
たまたまコンピューターが実行できるに過ぎない”
Pythonに関しては、
- Zope/
Plone - WSGI
- MVC
- TurboGears
レイヤーの役割
上位レイヤーの移植性と下位レイヤーの再利用性について説明しながらTim Peter氏の言葉を引用しました。
“We read Knuth so you don’t have to” by Tim Peters
[5] “Knuthは我々が読んだ、
あなたは読まなくて良い”
Knuth博士がThe Art of Computer Programmingで、
Pythonにおけるソートのプラクティスは、
アイディアから具体化する
Pinaxは、
“What you do for a living is not be creative, what you do is ship” by Seth Godin
[6] “生活のためにやってることはクリエイティブではないから、
そうなりたいならプロダクトをリリースしなさい”
PyCon JapanではWeb系の発表が多いですが、
Welcome To PyCon JP
鈴木たかのりです。ここからClosingまでのセッションレポートは私のほうで担当します。
さて、
![PyCon JPを代表して発表を行う保坂翔馬さん PyCon JPを代表して発表を行う保坂翔馬さん](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_006.jpg)
以下に発表スライドと清水川さんが撮影したビデオが公開されています。
実は、
発表の内容としてはPyCon JP 2011の実績とPyCon JP 2012の概要説明について紹介しました。資料やビデオを見てもらうとわかりますが、
この発表を行った成果だと思いますが、
![More pople joins from Taiwan More pople joins from Taiwan](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_007.jpg)
そして、
What Can Meta Class Do For You?
ここでは大トリのWhat Can Meta Class Do For You?というメタクラスに関するセッションについて紹介します。発表者のhychen氏はPyCon JP 2011での発表や、
![hychen氏 hychen氏](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_008.jpg)
以下にhychen氏の発表スライドが公開されています。
発表内容はいくつかの例題をメタクラスで実装したサンプルを示して、
最初の例ではSingletonパターンをメタクラスで実装しました。以下のようなデータベース接続するためのClassがあります。
class MySQL(object):
session_max = 1000
__metaclass__ = Singleton
def __init__(self):
print 'connecting to {0}.format(self.session_max)
このMySQL Classはいくつインスタンスを作成しても、
>>> db1 = MySQL()
>>> print id(db1)
>>> db2 = MySQL()
>>> print id(db1)
>>> db3 = MySQL()
>>> print id(db1)
Singletonメタクラスは以下のようなコードで定義されています。これにより、__
と記述するだけで実現できるようになります。
class Singleton(type):
def __init__(cls, name, bases, dic):
super(Singleton, cls).__init__(name, bases, dic)
cls.instance = None
def __call__(cls, *args, **kwargs):
print "please use get_instance fanctuin to get the instance"
return cls.get_instance(*args, **kwargs)
def get_instance(cls, *args, **kw):
if cls.instance == None:
cls.instance = super(Singleton, cls).__call__(*args, **kw)
return cls.instance
他にもいくつかのメタプログラミングの例が示されているのでスライドを参照してみてください。まとめとして、
![可能性は無量大数 可能性は無量大数](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_009.jpg)
最後にPython開発者のShalabh Chaturvedi氏の以下の言葉を引用して終わりました。なかなか深い言葉です。
- Q:いつメタクラスを使用するべきですか?
- A:その時は決して来ません
(この質問をしている間は)
私にもなんとなくメタクラスのポイントがわかる、
Closing
2日間に渡るPyCon Taiwanが閉会の時を迎えました。Closingではまず最初にPyCon Taiwanスタッフが壇上に上がり、
次はお待ちかねのプレゼントタイムです。PyLotteryというPyGameを使用したプログラムで、
![PyLottery PyLottery](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_010.jpg)
抽選で当たった人はPyCon Taiwan Tシャツなどをもらっていました。また、
![武士道Tシャツをプレゼント 武士道Tシャツをプレゼント](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_011.jpg)
最後に、
![スライドショー スライドショー](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_012.jpg)
Dinner
鈴木たかのりです。他のメンバーは飛行機の関係で午後には会場をあとにしていました。Closingまで残っていた私と西本さんはTaiwanスタッフの誘いを受けてDinner Partyにご一緒させてもらいました。場所は宿泊施設と同じ建物にあるレストラン金華樓です。
テーブルはいわゆる
![中華料理 中華料理](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_013.jpg)
料理はなかなかレベルが高く、
英語、
![PyCon Taiwanスタッフとの会食 PyCon Taiwanスタッフとの会食](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_014.jpg)
台北電脳街
もりもとです。私は飛行機の時間の関係でランチ後にはPyCon Taiwanの会場を後にしました。そして、
MRTという台北の地下鉄に乗り、
![電脳街の一角 電脳街の一角](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_015.jpg)
保坂さんは、
![HTCショップ HTCショップ](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_016.jpg)
![購入したHTC端末 購入したHTC端末](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH300_017.jpg)
台湾の旅終了
再び、
ホテル近くのスーパーで買い物する時に漢字のコカ・
![コカ・コーラは可口可楽 コカ・コーラは可口可楽](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_018.jpg)
![ペプシ・コーラは百事可楽 ペプシ・コーラは百事可楽](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_019.jpg)
台北駅
![台北駅の吹き抜け 台北駅の吹き抜け](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_020.jpg)
![台北駅の中のショップ(一部) 台北駅の中のショップ(一部)](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_021.jpg)
![ごはん処 大戸屋 ごはん処 大戸屋](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_023.jpg)
ここまでは結構食べていたため、
![ミーフン ミーフン](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_024.jpg)
次の写真はMRTの駅にあった化粧品の広告です。日本のメーカーでモデルが菅野美穂さんなのはいいんですが、
![化粧品の広告 化粧品の広告](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_025.jpg)
Dinnerのときに台湾スタッフに
空港で荷物をコインロッカーに入れて、
![Sunny Hillsの看板 Sunny Hillsの看板](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_026.jpg)
![パイナップルケーキ パイナップルケーキ](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_027.jpg)
パイナップルケーキを買って空港に戻って来ました。空港内のセブン・
![空港内のセブン・イレブン 空港内のセブン・イレブン](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_028.jpg)
![OPENちゃんストラップ OPENちゃんストラップ](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_029.jpg)
2日目に使った現金はAcademia Sinicaのホテル代だけでした。3日目はおもにおみやげに使い、
項目 | 金額 | 日本円 |
---|---|---|
前日の残金 | 1,539 | 4,195. |
ホテル代 | 850 | 2,317. |
おかし | 79 | 215. |
おかし | 170 | 463. |
ミーフン | 50 | 136. |
コインロッカー | 150 | 408. |
キウイジュース | 150 | 408. |
おやつ | 90 | 245. |
残金 | 0 | 0 |
PyCon JP 2012のお知らせ
最後に宣伝です。筆者の鈴木たかのりもスタッフとして参加しているPyCon JP 2012が9月中旬に開催されます。今年は期間、
カンファレンス | 2012年9月15日 |
---|---|
Sprint | 2012年9月17日 |
テーマ | つながるPython / Python Connect |
会場 | 産業技術大学院大学 |
参加者数 | 400 |
現在、
PyCon JP 2012の参加チケットは7月下旬にconnpassで発売予定です。スケジュールを空けて待っていてください。15日
では、
![画像](/assets/images/news/report/01/pycon_tw2012/0002/thumb/TH800_031.jpg)