海外PyCon発表修行レポート2015

第5回 PyCon Malaysia 2015参加レポートとSphinx発表

この記事を読むのに必要な時間:およそ 5 分

コーヒーブレイク&ランチ

コーヒーブレイクとランチは,全てハラルフードとベジタリアンフードで用意されていました。マレーシアの6割前後がイスラム教徒ということもあり,通常の料理はハラルフードなのだそうです。ハラルフードというと,豚肉はNGだったり,許可されている肉でも決められた処理方法に従っていなければならない,など厳しい決まりがあります。このため,料理が単調になるのではないかと思っていましたが,筆者が実際にクアラルンプールに滞在していた期間中,食事についてそのような心配は必要ありませんでした。カンファレンス会場以外にも,ホテルの朝食などを含めて様々なところで食事をとりましたが,ハラルフードかどうかを意識することはほとんどなく,また,どの料理もとても美味しく,食事を楽しめました。

2日目のランチ。辛くない鶏肉と,ちょっと辛いエビチリ。

2日目のランチ。辛くない鶏肉と,ちょっと辛いエビチリ。

サンドイッチとバナナパンケーキ

サンドイッチとバナナパンケーキ

休憩中には,筆者は友人と再会しました。PyCon SG で知り合ったJimとSianです。JimはPyCon.MYのスタッフとして活動していました。また,SianはこのカンファレンスのプラチナスポンサーをしているOnAppの社員として参加していました。2人ともカンファレンス中は忙しそうにしていましたが,後日クアラルンプール市内を車で案内してくれました。シンガポールでの出会いから,また別のカンファレンスで再会したことで友人関係が深まったことを嬉しく思いました。

PyCon.MYの発表紹介

筆者は,2日間でいくつかのセッションに参加しました。ここでは2つセッションについて紹介したいと思います。

Making Money with Python
発表者Alan Wong
タイトルMaking Money with Python

どうやってお金を受け取る?

どうやってお金を受け取る?

発表者はBraintreeのDeveloper Advocateの方です。BraintreeはPayPalの支社で,カードによる支払いを簡単にサイトに組み込むためのサービスを提供しています。発表では,実際にBraintreeのSandboxを使って,Flaskのサイトに支払いフォームを組み込んでいく手順をデモを交えながら紹介していました。Pythonを使い始めてまだ8ヵ月だけど,Pythonを使う事でプロトタイプを素早く実装出来たそうです。

Braintreeを使うことの利点は,支払い処理をサーバーサイドで行う事でセキュリティーを担保できる,とのことでした。クライアントアプリなどは解析されて認証トークンを抜かれるリスクがあると言うことです。

BraintreeをFlaskサイトに組み込み

BraintreeをFlaskサイトに組み込み

スマートフォン上で少額決済を行いたいシーンは,これからもどんどん増えてくると思います。そんなときに手軽に利用できるサービスの1つとして覚えておきたいと思います。デモで紹介された実装コードは,Braintreeのおかげで実装量も少なく,使いやすそうな印象を受けました。

OnAppスポンサーセッション

プラチナスポンサーOnAppのセッションです。OnAppはクラウドストレージサービスを展開する会社で,そのなかでPythonを使っています。多くの処理を同時に行うため,Pythonの並列化が必須なのだそうです。しかし,PythonのThreadはGILがあるため,多くの処理時間をThreadのコンテキストスイッチに費やしていました。

ThreadのコンテキストスイッチによるKernel時間が多く占める

ThreadのコンテキストスイッチによるKernel時間が多く占める

解決方法として,Gevent,multiprocessing,PyPy,PyPy STMなどを比較検討して,現在はGeventを利用することで速度が改善できたそうです。multiprocessingでの実装は速度が改善するかどうか読み切れない場合が多かったため,採用しなかったそうです。

同時処理の効率比較

同時処理の効率比較

Geventはthreadを使う実装から大きく書き換えずに利用できます。セッションでは,実際の書き換えコード例などを紹介していました。

Q&Aでは,asyncioを試してみた? という質問がでました。残念ながら今はまだPython 2.7を使用しているため,Python 3.4で提供されるasyncioは検証していないそうですが,これから時間をとって速度比較などしていきたい,ということでした。

著者プロフィール

清水川貴之(しみずかわたかゆき)

ドキュメンテーションツールSphinxのメンテナ。2003年にZope2と出会い,それがオープンソース等のコミュニティー活動を始めるきっかけとなった。

Sphinx-users.jp運営。一般社団法人PyConJP理事。株式会社ビープラウド所属。

著書/訳書:「Pythonプロフェッショナルプログラミング第2版」「Sphinxをはじめよう」「Pythonプロフェッショナルプログラミング」「エキスパートPythonプログラミング」。

運営・参加イベント:Python mini Hack-a-thon主催,Sphinx+翻訳Hack-a-thon主催,PyCon JP 2011-2014運営

サイト:http://清水川.jp/
Twitter:@shimizukawa