Python Conference Japan 2012 のセッションが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
あわせて読むと面白い。
- PyConJP 2012 2日目 基調講演 #PyConJP – Togetter
- 小飼弾氏の基調講演を聞いて各言語の join と正規表現の実装についてなんかまあ考えた話 #pyconjp – AtAsAtAmAtArA
- ‘,’.join() がなぜキモイのか – methaneの日記
- そんなに Array.join がいいのか – methaneの日記
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個にしておきましたが、他にも素晴らしいセミナーが沢山あります。
自分が他に面白いと思ったのはNVDA、arduino+kinect+Azure、type and object、リファクタリング、ナウでヤングなやつ、tornadoで分散KVSあたりかな。