Python

Pycon JP 2017 に参加してきました

Day 1

基調講演

Peter Wang 氏は、

* pyData conference
* Anaconda distoribution

の創設者

stackoverflow blogで、「Pythonは最も急成長している言語」であることを紹介。

ここのグラフですね。
https://stackoverflow.blog/2017/09/06/incredible-growth-python/

イブサンローランのCMにも Pythonが出てきたとして、YouTubeをちら見。
もう一回観たいところですが、探してみたもののURLがわからず。
教えていただきました。URLはこちら:https://www.youtube.com/watch?v=nU09j2gGHYg

Pythonは、thougtware(意訳:考えるツール?)であるとの言葉が印象的でした。

キーワード

  • Numba
  • Bokeh
  • Dask

ベンリに使おう変数アノテーション - typing.pyとの楽しいお付き合い

スライド: https://speakerdeck.com/puhitaku/bian-li-nishi-oubian-shu-afalsetesiyon-typing-dot-py-tofalsele-siiofu-kihe-i

3段階のPEPで取り決めされてきた

  • Dec 2006 pep 3107
  • Sep 2014 pep 484
  • Aug 2016 pep 526 Python 3.6 stable から使える

Pythonの型宣言やチェックは、ゆるい所も魅力ですが、やろうと思った場合は、このようにすればよいのですね。

新しいプロジェクトを起こす時、すべてのコードをやらないで、やろうと思ったところのみやるスタンスでよいとのことでした。

Pythonで大量データ処理!PySparkを用いたデータ分析のきほん

スライド: https://speakerdeck.com/chie8842/pythondeda-liang-detachu-li-pysparkwoyong-itadetachu-li-tofen-xi-falsekihon

並列分散処理は、個人的に使う機会もなくビビリますが、「大丈夫、Sparkはサーバー1台でも動きます」とのこと。

キーワード

  • Apache Zeppelin

Djangoフレームワークのユーザーモデルと認証

スライド: https://www.slideshare.net/tokibito/django-79549364

Django大好きな身としては、大変わかりやすい、すばらしい発表でした。

DJango 1.11 から ログインのViewがClass-baseになった、とのことで、そちらを使うように意識しなければ。

Why you should do text analysis with Python (even if you don't want to)

キーワード

  • gemsim
  • scikit-learn
  • keras/tensorflow
  • spaCy
    • Japanieese alpha support とのこと

PythonでOAuth『サーバ』を構築した話

スライド: https://speakerdeck.com/akira_taniguchi/oauth2falsezi-liao

普通だと、OAuthサーバの Pythonモジュールを探してきて、入れて終わりとなりそうですが、自分で作った場合の例として興味深かったです。

プロダクト開発して分かったDjangoの深~いパーミッション管理の話

スライド: http://slides.hirokiky.org/pyconjp2017.html#1

例年ながら流石です。

Djangoで用意されている パーミッションのモデルなどを使うことはありましたが、
def __acl__(self): でやる案は、柔軟そうでやってみたいと思いました。

Secrets of a WSGI master.

スライド: https://www.slideshare.net/GrahamDumpleton/secrets-of-a-wsgi-master

gunicornやuWSGIは使わないで、pip install mod_wsgi した後に、python magage.py runmodwsgi で動かすお話で、パラメータもgunicornぽい感じでした。

gunicornのように、プロセス数やスレッド数を指定できるのか、私には英語で質問することはできませんでした。

gunicornのような、「他のWSGIサービスは使うな」的なことを言っていたので、これだけで行けるのでしょうか?
nginx Unitが絡んでくると、どうなるのでしょうか?

もう少し調査が必要そうです。

Party

ある方に「今年もスピーカーなんですね」とご挨拶して、「Pythonistaで始めるiOSプロトタイプ開発」を聞き逃していた事に気付く。痛恨のミス!
後ほどYouTubeで拝見させていただきます。

Day 2

基調講演

スライド: https://speakerdeck.com/player/dbd62cf621814c38a974ed815fa1fe7a#

Masaaki Horikoshiは、pandas、Dask のコミッター。
書籍「Pythonのよるデータ分析入門」の著者。

OSSのメンテナとしての活動をいかに初めていくか。
最初は、気に入ったOSSを1つ定めて、Issueの中の簡単なものをプルリク化してみるとか、段階を追った貢献の始め方のお話でした。

キーワード

OpenAPIを利用したPythonWebアプリケーション開発

スライド: https://www.slideshare.net/TakuroWada/openapipythonweb

API仕様書を記述する時、今まではmarkdownで書いて gitで共有などしていましたが、次回からは話題の OpenAPI(Swagger) を使ってみようと思いました。

  • Ver 2.0 最も普及
  • Ver 3.0 2017/7 リリース

キーワード

  • OpenAPI(Swagger)
  • Swagger UI
  • Swagger Editor
  • Swagger Codegen
  • bravado-core

The theory of Serverless development by Python (理論から学ぶPythonによるサーバレス開発)

スライド: https://slideship.com/users/@marcy-terui/presentations/2017/09/9PzXZzcJfBR1ENEMmMbGSf/

  • Function as a Service FaaS
  • Functional SaaS
    • API Gateway、DynamoDB、CloudSearch
    • Auth0
    • Algolia
    • SendGrid
  • Functional SaaS を Faas でつなくのが Serverless
  • FaaS
    • 実態は Dockerコンテナ
  • IoTと相性がいい
  • 普通のWebアプリには向いてない?(個人の見解)

Auth0はここでも出てきました。定番なのでしょうか。

Geospatial data analysis and visualization in Python

地図による統計情報の視覚化で、choropleth(コロプレス地図)というそうですが、東京都の例を出したりしていて、面白かったです。

キーワード

  • GeoJSON
  • geopandas
  • osmnx
  • folium

Pythonの本気!RaspberryPiやEdisonを使ったIoTシステムの構築

スライド: https://www.slideshare.net/yutakitagami/pycon-jp-2017yuta-kitagami

「intel Edison マスターブック」の著者の方で、白衣が研究者っぽくて印象的でした。(コスプレ?)
IoT時代において、Python最強 とのこと。
ライブラリが充実しているからだそうです。

Bottle、tinyDB、requestsも使って、Webで見れるようにしていました。

Pythonをとりまく並行/非同期の話

スライド: https://tell-k.github.io/pyconjp2017/#1

「ジョブキューの話はしません」とのことで、普段は

  • gunicorn/uWSGI のプロセス数、スレッド数をどう指定するか
  • 非同期処理をViewに書くのはご法度。 Celeryに出したり

をしていましたが、自分で書く場合についても知っておきべきだと思いました。

AWS APIGateway + Python Lambda + NEologdで作るサーバレス日本語形態素解析API

スライド: https://t.co/rSqzCJJsXG

MeCabは過去使ったことがありましたが、AWS Lambda に載せるためにEC2必須で、 MeCabのコンパイルに使うのがみそのようでした。

合名詞を処理するためのロジックは、結果の精度を見てもすごいなあと思いました。

所感

メディア会議

「エンジニアとメディア企業との交流の場を設け、新しいPythonの書籍などを生み出すきっかけをつくる」というというのは、新しい試みとして素晴らしいです。

Railsの入門書に比べて、Djangoの入門書は非常に少なくて(はるか昔に2冊)、いかにDjangoの人材を増やしていくかが課題でした。
そういう意味で、QiitaにDjango入門を書いて、新しく入ってくる人にはまずこれを読んでもらうことにしています。

が、自分で書籍まで書けるかというと、ちょっとハードルが高く感じました。
編集者の校正時の殺し文句として、「その言い回しは Qiitaっぽい」とかがあるとか、ないとか?
Qiita書いたぐらいではだめなのかとビビります。

しかしながら、もっとDjangoの書籍が世に溢れることを願って、もしこういう書籍刊行の企画がありましたら、レビュワーとしてでも微力ながら協力させていただきたいと思ったりもしました。

発表時間

今年から30分に短縮されたようですが、あっという間でした。
内容も掘り下げた所や実例までは紹介し切れないようで、詳細については自分で調べる必要が増したように感じました。