開幕・基調講演始まりました!
開幕の挨拶もそこそこに、さっそくWes McKinney(@wesmckinn)による基調講演が始まりました。
McKinney氏は、Pythonのデータ解析ライブラリであるPandaの作者で、昨年O'Reillyから出版された「Python for Data Analysis」の著者でもあります。
データ解析まわりの簡単な説明が終わると、すぐにIPython Notebookを使ってPandaライブラリのデモです。サンプルデータはStackOverflowのタグデータ。膨大な数のエントリーに付けられたタグ情報をもとに、Pandaを使ってデータを探索します。例えば、「タグごとのエントリー数を年次ごとに並び替えて折れ線グラフで表示」など、本当に手元でちょこちょこっとコードを実行するだけで、目の前に現れます。みんなで「emacs」というタグの傾向を見ていた時に、参加者から「vimはどうなんだろう?」っていう飛び込みの質問にも、「じゃあ、みてよう。あ、ついでにSublime Textも」と、リアルタイムで実行・共有していました。講演自体はWebでも観れますが、こういう飛び込みで質問してみたり、ライブ感は実際に参加されるとより実感できると思います。
ティーブレイクの過ごし方
基調講演の後は、会場外にあるオープンスペースでティーブレイクです。セッション間はこまめにティーブレイクがあり、旧知の仲を深めたり、新しい出会いを求めたり、セッション内で質問しきれなかったことを講演者に聞きに行ったり、みんな過ごし方はさまざまです。
私は一緒に日本から参加しているPyCon JPの方や、今回の開催者であるPyCon Singaporeの方に挨拶した後、先ほどの基調講演で隣に座った学生の方達、そしてそのさらに知り合いの学生の人たちと話をしていました。シンガポールでは、学習進度によって、高校の授業でプログラミングを勉強したり、CRUDを備えたWebアプリをつくったりするそうです。学校によってもいろいろとバリエーションがあり、典型的な「Computer Science」であるコンピュータの仕組みから始める学校もあれば、彼らの学校のようにいきなりプログラミングで何かやってみよう、に飛び込んで行く学校もあるとのこと。2日目のセッションでも話題にのぼっていましたが、そういった学習用言語としては、Pythonは教師・学生の間でも人気があると聞きました。
その後、1人で他のテーブルに移動して話しかけた2人は、1人はWebアプリのブラックボックステスターで、直接アプリは書かないのだけれど、ビジネス要件をもとにテストを書いたり、実行したりして、品質を担保するチームにいる方です。非技術の出身で、Pythonを活用してテストがもっと効率的に実行できないか、などの問題意識を持って今回参加していたそうです。もう一人は、フリーのエンジニアで、南米チリ出身で、今はベトナムとシンガポールをベースに活動している方。シンガポールをベースにしているので、人脈作りと「年に一度のPythonのお祭りなので外せない!」とのことで参加していました。
トーク:PythonとCUDA
ティーブレイクの後はComputing with Acceleration:GPU,CUDA and Pythonというタイトルで、グラフィックカードを活用した処理がどう発展してきたか、C言語でのGPUプログラミング、PythonをとりまくGPUプログラミング環境の紹介などがありました。後半では実際にPythonのPyCUDAやCopperheadを活用して、標準的なPythonコードと並列処理を実装したコードを並べながら、どう実装するかをみていきます。
個人的にはこのような高度な並列処理が必要なケースを経験したことがないので、まったくの守備範囲外ですが、こういうカンファレンスに参加すると普段触れない分野の世界もちょっとのぞけてよいですね。
トーク:create_awesome_api(time_limit='1 week')
技術要件の話の次は、こちらのセッションに参加しました。セッション前半は、講演者のPlivoというWeb telephonyのバックエンドサービスのお話。後半はケーススタディとして、彼が実際に経験した1週間でユーザにAPIインターフェースを提供する要件の概要説明と、どうやって対応したかという実体験をなぞっていきます。
前半のアプリの全体像や、どうやって今のアーキテクチャやライブラリ構成に発展したかなど、試行錯誤を重ねていろいろなライブラリを活用しながらアーキテクチャを整えるところは、Webアプリを開発されている方は参考になるのではないでしょうか。APIインターフェースのケーススタディでも、彼らが最初に試そうと思ったライブラリ(Piston)は要件に合致していないので、結局Tastypieにしたなど、最終形をみただけでは分からない積み上げてきた背景が垣間見えて面白いです。
講演のタイトルから、なんとなく「APIをつくるときはこのデザインパターンでいけ!」みたいなベストプラクティスのようなものを期待していたのですが、まったく違うものでした。どちらかというと、そういうものは書籍でもいろいろと出ているので、こういった実体験が聞けてかえってよかったです。




