PyConJP2017に参加しました
PyConJP2017
ソフトウェアエンジニアの和田です。PyConJPは、年に1度日本で開催される日本最大のPythonカンファレンスです。カンファレンスは9/8、 9/9の2日間に早稲田大学理工キャンパス@西早稲田で開催され、690名以上の参加者がいました。ちなみに私が参加したのは、カンファレンスのみでしたが、9/7にはチュートリアル、9/10にはスプリントも開催されました。
今回私は、登壇者として参加しました。例年のように大変おもしろい発表が多くありましたので、本記事では、そのような発表についていくつかご紹介させていただきます。
ベストトークアワード
今年は新しい取り組みとしてベストトークアワードというものがありました。これはPyConJPの参加者により、良かった講演の投票をおこない、点数の高かったものから順に最優秀賞(1つ)、優秀賞(2つ)を選定するというものです。
最優秀賞
Clearer Code at Scale: Static Types at Zulip and Dropbox
OSSのグループチャットツールZulipを開発しているGreg Priceさんの発表でした。大規模なチーム開発で、mypyによる静的型を使うことで「1.コードの理解」「2.リファクタリング」「3.バグが減る」というメリットがあり、Zulipでは9万行のコード、Dropboxでは75万行を超えるコードに静的型を書いてきたとのこと。静的型の適用において、注意するべきこと/意識することについて発表していました。ZulipでのPythonにおける静的型への取り組みはこちらのブログ記事でも紹介されています。Zulip/Dropboxという大きなプロジェクトでの取り組み紹介は大変貴重でした。
優秀賞
Secrets of a WSGI master
mod_wsgiの作者でもあるGraham Dumplenさんの発表でした。WSGI(ウィズギー) はWeb Server Gateway Interfaceを指し、PythonのWebアプリケーションとWebサーバを接続するためのインタフェースの仕様のことです。「Friends don’t let friends xx (例: use Python without a Python virtual environment」という表現を多用してたのが印象的。
SREエンジニアがJupyter+BigQueryでデータ分析基盤をDev&Opsする話
リクルートテクノジーズから@yuzutas0さんの発表でした。ゼクシィ縁結び/ゼクシィ恋結びというマッチングサービスのためのデータ分析基盤を構築した、お話です。「プロダクト/チーム」「分析基盤のDev&Ops」「データ文化を組織に装着する」という3つの観点で講演をされていました。
このような実案件のケーススタディというのは大変興味深く、また実際にハマった所とか、気をつけた所とかが紹介されてて参考になりました。また、ご本人も仰っていましたが、その中でPython/Jupyterは重要な役割を担える存在であると再認識。
Keynote
9/8、9/9の両日の最初のセッションはKeynoteとなっており、今年はそれぞれPeter Wangさん、堀越 真映さんの講演でした。
Peter Wangさん
Peterさんは、Anaconda, Inc.の共同設立者であり、CTOをされています。AnacondaはPythonでのデータサイエンスのための非常に有名なプラットフォームで、多数のデータサイエンス向けPythonパッケージを管理することができます。講演では、Pythonの過去現在未来の話から、Anacondaやデータサイエンスなどについて話されていました。
ちなみに、昔と比べてPythonが格段に普及している時の説明としてYSLの動画広告にもIPyhtonが使われている(00:07部分)という話をしていて笑えました。
堀越 真映さん
堀越さんは、PyConJP2015、2016でもスピーカーとして登壇されている方で、Pythonのデータ分析パッケージpandasやDaskのコミッタをされています。「Pythonと科学計算」「pandasでのOSS活動事例」「OSS活動 最初の一歩」という流れで、最終的にはOSS活動を始めるにはどこから踏み出せばよいのか、という話で締めくくられていました。
個人的には、pandasのような著名パッケージで、どのようにIssueやレビューを回しているのか、といったような内容が大変興味深く、参考にしたいと思いました。
その他の発表
いくつか気になった発表をご紹介いたします。
ベンリに使おう変数アノテーション – typing.pyとの楽しいお付き合い
Takumi Suedaさんの発表で、関数/変数アノテーションの歴史から基本的な使い方、発展的な使い方を紹介していました。特に興味深かったのがGolangでのJSONのUnmarshalerをPythonに移植するプロジェクトtypedmarshalです。PEP526で提案された変数アノテーションは、Python3.6からのサポートになるのですが、新しいPython3.6プロジェクトを行う際には是非typedmarsal使いたい!
Pythonとパッケージングと私
Atsushi Odagiriさんのパッケージングについての発表で、パッケージングの基礎から、新しい情報まで把握できる発表でした。最近のsetuptools(30.3.0以降)では、setup.cfgにメタデータ書けるようになったので、setup関数がスッキリなりますよという内容がありました。が、virtualenvがインストールするsetuptoolsのバージョンが28.0.0なんで、実際にこの書き方で書かれているパッケージはまだほぼないのではないか、ということでした。あと、tomlを書いてPythonのビルドツールを選択できるような仕組みが将来的に導入されるとのことです。
理論から学ぶPythonによるサーバレス開発
Masashi Teruiさんの発表で、サーバレスとはそもそもなんぞやという導入に始まり、その実態(どういう仕組で動いているか)、サーバレスに向いているシステムについて紹介、実装時のポイントとサーバレスについて広く理解を深めることができる発表でした。
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashiさんの発表で、ドメイン駆動設計において、「戦略」的側面と「戦術」的側面やヘキサゴナルアーキテクチャ、CQRS(Command Query Responsibility Segration)と言ったキーワードを軸にPythonで実装する際のポイントや注意点をまとめられてました。
Pythonistaで始めるiOSプロトタイプ開発
Yusuke Muraokaさんの発表で、PythonistaというPythonでiOSアプリを作成することができる開発環境を利用した時の、発展的な内容(PythonistからiOSの機能を使う方法、iOSの周辺の機能でPythonistaから使えた実績があるもの、など)についての発表でした。Pythonistaを使用するとxcodeを使用せずともiOSアプリを作成することが可能です。objc_utilというモジュールを使えば、iOSの機能をPythonistaでも使用することができます。ちなみに、PythonistaはPyConJP2016でも紹介されていました。
OpenAPIを利用したPythonWebアプリケーション開発
私の発表です。EuroPythonでの発表内容をベースに、前段の部分(OpenAPIの歴史、OpenAPIとSwaggerの関係など)を少し厚めにして発表させていただきました。発表後に、私の発表についてフィードバックをくださる方がいたり、OpenAPI/Swaggerについて議論できて良かったです。
この資料作ってて思いましたが、OpenAPIとSwaggerの関係性、結構わかりにくですね。あと、OpenAPIという名称は余り普及していないんだな〜と。カブクのブログ記事でもOpenAPIとbravado-coreについてご紹介しているので、興味がある方は読んでみて下さい。bravado-core大変便利!
この記事での発表のご紹介は以上ですが、まだまだおもしろい講演はたくさんありましたので、是非YouTubeなどをご覧になると良いのではないでしょうか。
その他
カンファレンス中には、出版社の方と執筆経験者による技術書の出版についてのパネルディスカッション(メディア会議)や、グローバルな働き方についてのパネルディスカッション(ジョブフェア)もありました。
ジョブフェアのテーマ興味深い #pyconjp pic.twitter.com/JygodhgW1W
— Takuro Wada (@taxpon) 2017年9月9日
また2日目には、ポスターセッションも開催されていました。
#pyconjp ポスターセッション @ryu22e さんのブートキャンプの紹介がんばってる pic.twitter.com/L717OLzlDW
— Hiroki KIYOHARA (@hirokiky) 2017年9月9日
終わりに
例年のごとく多様なテーマ、深いテーマを多数聞けて大変楽しかったです。参加者も約700名とかなり多いカンファレンスなのではないでしょうか。私は参加できなかったのですが、9/8のパーティではクラフトビールが提供されたらしく、クラフトビールフリークの私としては行けなかったことが大変悔やまれますorz。
PyCon JP Party でクラフトビールが飲める幸せ #pyconjp… (Shiga Kogen AfPA) https://t.co/yuZV29t6OK #photo
— Takanori Suzuki (@takanory) 2017年9月8日
あとは、PyConJPで彼女を作った方がいたり、 ギャル語翻訳した方がいたり、競馬の分析やられている方がいたり、この辺でも多様性を感じました。
講演の動画は、すべてPyConJPのYouTubeアカウントに既にアップロードされているようです。来年のPyConJP2018の開催も既に決定しており、2018年9月17日、18日@大田区産業プラザPiOで開催されるとのことです。Pythonistaの皆様、予定をブッキングしておきましょう!
みんないい笑顔! #pyconjp pic.twitter.com/ePeaK7VIRC
— masataka arai (@massa142) 2017年9月9日
おやつで提供されたPyCon&Python最中。めちゃかわゆ。
その他の記事
Other Articles
関連職種
Recruit