プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

PyConJP 2015のプロポーザル一覧を把握しやすいようにざっくり整理してみた

何でこんなことしたか?

PyConJP 2015のプロポーザル一覧ページが種類別とかレベル別にソートできない仕様で、かつabstractも含まれている関係でページが縦長になっていて、投票したくなるプロポーザルを把握できなかったから少しスクレイピングしてデータ整理(リンク付きタイトルを抽出して一覧化)してみたかったというのが理由。

つまり自分用です。なので、リンク間違い・タイトル間違いあっても勘弁して下さい。 後、Twitter見てるとチュートリアルはもう既に採用されたものが何個か決まっているみたいですけど気にしないことにしました。

以下、自分なりに整理したプロポーザルです。ソートは適当。というかしていない。

個人的に把握しやすいように整理したプロポーザル一覧

talk(初級)

  1. セカイノカオ by チーム・カオ(ja)
  2. Integrating Django with Centralised Identity Management(en)
  3. Doing Math with Python(en)
  4. Sphinxで作る貢献しやすいドキュメント翻訳の仕組み(ja)
  5. PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう(ja)
  6. Pythonで3Dデータモデリング&3Dプリント(ja)
  7. Cyber attack: About DNS DDoS, and analysis it with Python(en)
  8. データベースドライバーひと巡り(ja)
  9. Translation of Python Programs into non-English Languages for Learners without English Proficiency (en)
  10. PyCon JP を支える技術 2015(ja)
  11. with modern_peripherals: Python and Flask(en)
  12. PyCharm Essentials(en)
  13. 野球Hack!~Pythonを用いたデータ分析と可視化(ja)
  14. MinecraftをPythonで遊ぶ(ja)
  15. なぜWeb画面自動テストはうまく行かないのか(ja)
  16. 14歳からの関数型プログラミング in Python(ja)
  17. 10年続くWebサービスでも使えるOpsのためのfabric入門(ja)
  18. pythonが支える、データ駆動型コンテンツの創出(ja)
  19. Infrastructure as Code with Ansible(en)
  20. Breaking backwards compatibility: The easy way! (en)
  21. Dissecting the Stack: How things were glued together(en)
  22. Teaching Data Structures with Python(en)
  23. Python, the next Brazilian generation(en)
  24. JSONSchema with Python(ja)
  25. Python3を利用して良かったこと(ja)
  26. Mezzanine, the best CMS on Python(en)
  27. エンジニアの技術力評価は難しい? - 相互評価制度を約4年やってみたけど、わりと良い感じかもしれない -(ja)
  28. はじめてのドローン・プログラミング(ja)
  29. Web2.0せんせーが進路相談!(ja)
  30. 日本のオープンデータプラットフォームをPythonでつくる(ja)
  31. Pythonで作る俺様サウンドエフェクター(ja)
  32. Gandi CLI: Open Source command line interface to manage domain names and hosting infrastructures(en)
  33. kaa - Python製テキストエディタ(ja)
  34. tse - Pythonによるテキスト整形ユーティリティ(ja)
  35. Learning by Experience, Devploying pyxbackup(en)
  36. Kivyの基礎: アプリケーション開発の楽しさを考える(ja)
  37. Ways to avoid overfitting when developing a trading strategy(en)
  38. Pythonで作るリコメンデーションシステム(ja)
  39. DevOps ツールの選びかた・使いかた 〜ヌーラボの場合〜(ja)
  40. PyLadies Tokyo-初心者女性向けPython体験ワークショップ開催の裏側(ja)
  41. PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」(ja)
  42. Rise of the Static Site Generator(en)
  43. Better Python DevOps Security(en)
  44. Karaoke-style Read-aloud System Using Speech Recognition and Text-to-Speech Technology(en)
  45. 強くなるためのプログラミング ープログラミングに関する様々なコンテストとそのはじめ方ー(ja)
  46. 失敗と成功のあいだ:ゼロからはじめる強化学習(ja)
  47. 土木でも使えるPython☆彡(ja)
  48. ユニットテストのあれやこれや(ja)
  49. クローラーと僕(ja)
  50. PyPIデビュー 2015(ja)
  51. On SageMathCloud - Doing Mathematics and Python programming on cloud.(en)
  52. Pythonによる科学技術計算入門(ja)

talk(中級)

  1. 組合せ最適化を体系的に知ってPythonで実行してみよう(ja)
  2. Sphinx autodoc: APIドキュメントの自動生成(ja)
  3. データ可視化技術の過去/現在/未来(ja)
  4. Python で作って学ぶ形態素解析(ja)
  5. Program Pepper in Python(en)
  6. Python3 WSGIアプリケーション入門(ja)
  7. Packaging最前線(ja)
  8. Tornado/Websocketを使ったモバイルゲームアプリケーションの事例紹介(ja)
  9. Web Scraping in Python(ja)
  10. Writing Fast Code(en)
  11. Pythonによる未知語・重要語キーワード抽出とその応用(ja)
  12. Tornado/ElasticSearchで実現する大量ツイートのリアルタイム関連文書判定(ja)
  13. Making Python coexist with others(en)
  14. Ansible x AWS -- Infrastructure as Code for Small Team(ja)
  15. Threads and Callbacks for Embedded Python(en)
  16. Building a Scalable Python gRPC Service using Kubernetes(en)
  17. NAO + iPadで実現するコミュニケーションロボット!tornado/websocketで実装するタブレットを使った対話ロボットアプリの事例(ja)
  18. Djangoとフロントエンドフレームワークの共存事例(ja)
  19. pandasによるデータ加工:テストのコツ・注意点やライブラリの紹介(ja)
  20. uWSGI/Dockerを利用したWebサービス運用事例(ja)
  21. How we realize SOA by Python(en)
  22. アドネットワークのデータ解析チームを支える技術(ja)
  23. Python × Bluemix でやったHack-a-thonでの超短期間認識系アプリ開発事例(ja)
  24. Introduction to Theano -- not only for deep learning(en)
  25. Data selection techniques in pandas(en)
  26. Pythonでマイクロサービス構造のWebサービスを実現する(ja)
  27. CFFI Is the Future(en)
  28. Mochiの紹介(ja)
  29. Python と型ヒント (Type Hints)(ja)
  30. 個人の写真から分かる過去と未来 ~機械学習を添えて~(ja)
  31. Introduction to nipype and creating stable NeuroImaging pipelines using it (en)
  32. Cython at rescue .(en)
  33. Machine Learning to solve grass root level problems .(en)
  34. pandas internals(en)
  35. Python and the Semantic Web: Building a Linked Data Fragment Server with Asynco and Redis(en)
  36. Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例(ja)
  37. fabricを用いたサーバーメトリクスの収集と可視化(ja)
  38. Cython による他言語の拡張(ja)
  39. 2015年決定版! 博士のPythonでハードウェアを扱う方法(ja)
  40. Scaling and Launching Python on AWS(en)
  41. Djangoのエントリポイントとアプリケーションの仕組み(ja)
  42. Pythonで作る、少し未来のオフィス(ja)
  43. Give your scripts the power of the Web! Web automation through Python(en)
  44. Let's prevent bugs by checking our types in Python(ja)
  45. Getting started with PySpark(en)
  46. Let it crash: what Python can learn from Erlang.(en)

talk(上級)

  1. Jumping the Python Ship: Better Alternatives To Python(en)

poster

  1. Sphinx-users.jp(ja)
  2. Python x Edison = New World!!(ja)
  3. ニューラルネットの実装が簡単なChainerを用いた音声からの感情識別(ja)

tutorial

  1. Sphinxハンズオン(ja)
  2. 【初心者向けPythonチュートリアル】Webスクレイピングに挑戦してみよう(ja)
  3. Pythonを使った機械学習入門(ja)
  4. Python x Edison x AWSではじめる IoT(ja)
  5. Effective Pandas(ja)
  6. エンジニアのためのベイズ推定入門:確率論的プログラミングのすすめ(ja)
  7. Machine Learning Bootstrap(ja)

どうやってプロポーザル一覧を整理したか?

全然高度なことしていないですが、メモ代わりに残しておきます。

  1. kimonolabsを活用して、プロポーザル一覧ページや各プロポーザル一覧のページのデータをスクレイピングしてjson化する
  2. 作ったjsonPythonで処理して、各プロポーザルの詳細ページへのリンク付きタイトルリストをmarkdown形式にするように吐き出す
  3. markdownを処理できるブログとかに貼り付ける

最初はスクレイピングも勉強がてらPythonでやってみようかと思っていましたが、該当ページのDOMの構造見てたら「面倒臭そう…」と感じてしまったのでkimonolabs使ってサボりました。が、目的は「PyConJP 2015のプロポーザル一覧を早くしやすくする」という所だったので、前処理で疲れ果てると本末転倒だからこれでいいかと思っています。

余談ですが、kimono便利なので、知らない人は活用してみるといいと思います。

思ったこと

公式ページ自体にソートっぽい機能があるといいなと思いました。

あと、投票していないので聴きたいtalkをさっさと投票しないといけないですね。