Python Conference Japan 2012 のセッション動画

Python Conference Japan 2012 のセッションがYoutubeで公開されています。

PyConJP – YouTube.

久しぶりに夜更かししながらだいたい見ました。貴重なものを本当にありがとうございます。

中でも自分の中で興味深かったものをメモっときます。

1.gevent

geventの紹介
IO多重化についての概要、echo serverをサンプルにgeventとtornadoで書きやすさ、メモリ、処理速度を比較しながら説明、geventの仕組みについての説明。

資料:methane/pyconjp2012-gevent-slide
Macでgeventを試すなら:Mac OS X に gevent をソースコードからインストールする – Twisted Mind

Macで試すときに気をつけること:methaneさんのサンプルを試すなら、terminalから
[bash]
ulimit -n 2100
[/bash]
くらいをしてから試しましょう。

2.SQLAlchemyと僕

実際にSQLAlchemyを使いはじめて、最初から知ってればよかったなーということの紹介。
ちょうどSQLAlchemyを使ってたのでタイムリー。

3.ソーシャルゲームとメッセージキュー

メッセージキューの一般的な説明、RabbitMQとZeroMQについて概要とサンプルコードの説明。
gumiではkombuを使ってる。
gumiでのRabbitMQ、ZeroMQのソーシャルゲームでの利用について説明されています。

4.Fantastic DSL in Python – PythonでつくるDSLのテクニック –

〜Perlにdisられないために〜w
pythonでinternal DSLを作るためのテクニックについて。
with、forやデコレータを使ってのDSLとして使うためのテクニックいろいろ。
これはもっと色々と聞いてみたかったなぁ。短い枠だったのが残念。

5.シンプルなシステム構成フレームワーク alnair

ウェブサーバーなどを構築する際に、外部からサーバーにライブラリをインストールしたりデプロイしたりすることができるライブラリ。
レシピを作って、レシピを設定して、レシピを実行。
パッケージをインストールするだけであればかなり簡単な設定で実行できました。
レシピの内容はpythonで書くことができるので好き勝手にできる。
Fabricを使っても同じコトできる、というか裏ではFabricを使っているっぽい。
なので、SSHで接続するので大量のサーバーに対して行うには厳しいものがある。

6.Sphinxを使って本を書こう

sphinxを使って Pythonプロフェッショナルプログラミングを書いたときの話。
どういう流れでやっていたのか、秀和ビルダーの話、sphinxを使ってhtmlやPDFに出力してレビューするところの意味、本を作るということで実際に苦労したところの話など。

7.社内でのSphinx、reSTの広め方

みんなそうですよね。そうですよね。はい。

自分も最終的にsphinxを使って楽したいと思っていて、テキストで書けることはreStructuredTextで書いて共有フォルダに置いたり、流すようにしてます。
ただ、次の手なんてのは全然考えてなくて、そのうちsphinxを入れていこうと思っていましたが、Ploneを使ったセカンドステップというのは面白そうですね。

8.Clime: With A Line, Convert Your Functions into a Multi-Command CLI Program

前の記事でも書いたけど、CLIコマンドを簡単に作るライブラリのClimeについて。
自分は、pythonを直接的には仕事では使っていないけど、何かしら楽するためのツールはpythonを使って書いてますが、argparseがめんどうだったので、これはうれしい。

9.Sublime Text 2 を使おう

Sublime Text 2について。
Windows、Mac、Linuxで使えるテキストエディタとして、非常に使いやすそうだし、pythonで拡張がかけるので是非使ってみたい。
でも、今まで色んなテキストエディタを触ってみたけど、結局terminalでvimってのが一番多くて、そのため重い腰が上がらない。

10.基調講演: Dan Kogai

会場に行って聞きたかった。いや、殺気を感じたかったw

あわせて読むと面白い。

list.joinの話は最初は自分もそう思ったけど、以前にいろいろ見てpythonの方がしっくりきた気がする。
re.subの話は何でそうなっているのかは知らないけど、部分関数部分適用を考えると、引数の順番はコレでいい気がするけどね。

[python]
import re
from functools import partial

erase_hoge = partial(re.sub, r’hoge’, ”)
print erase_hoge(‘This is a hoge.’)
# ‘This is a .’
[/python]

追記:こうも書けるみたい。
[python]
erase_hoge = partial(re.sub, repl=”, pattern=r’hoge’)
erase_hoge(string=’This is a hoge.’)
[/python]

まぁ、こんな風には使ったことないけど・・・。

その他

一応全部書くのもアレなので10個にしておきましたが、他にも素晴らしいセミナーが沢山あります。

PyConJP – YouTube

自分が他に面白いと思ったのはNVDA、arduino+kinect+Azure、type and object、リファクタリング、ナウでヤングなやつ、tornadoで分散KVSあたりかな。