2015-10-09から12にかけて行われた、PyCon JP 2015に参加しました。2015-10-09はチュートリアル、2015-10-10,11はカンファレンス、2015-10-12は開発スプリントでした。私はカンファレンスだけに参加しました。以下にカンファレンス1日目の感想を書きます。2日目は別記事です。例のごとく感想を書くのが遅れたのは、メインで使用しているパソコンが壊れてしまったからです。
私のスペック
- Python歴は7年ぐらい。
- 一番愛用しているプログラム言語がPythonです。
- Pythonのソースを納品したことはありませんが、社内ツールとかで使ってます。
- 私が作っている、3DダンジョンRPG用のマッピングツールPydunはPythonで作っています。
- 去年も見に来た。
- LT応募したけど落ちました。
感想
Beyond grep: Practical Logging and Metrics
基調講演。タイトル通り、メトリクスとロギングの話
- 正直、自分はまともにプログラムを動かすのが精いっぱいなので、これらのことをあまり気にしたことがありませんでした。
- Pythonは開発スピードは速いけど、実行速度の点ではほめられたものではないので、PythonでもOKならメトリクスはあまり気にしなくてもいいんじゃね?速度がほしけりゃgolangとかにしろとは思いますが、必要なところには必要なのでしょう。
組合せ最適化を体系的に知ってPythonで実行してみよう
世の中の最適化問題を典型例(ナップサック問題のような)にモデル化して、Pythonで解こうという話。
- (去年は同じようなツールでパズルを解いたような・・・調べてみたら同じ人だった)
- anaconda,pulp,ortoolpyなどを使う。ortoolpyは発表者が作成した。
- 大学で線形計画法の単位取得に苦労したのが個人的な思い出です。
- 機械的にやればいいことはコンピューターに任せて、人間は創造的なことをやらないといけないなと改めて思いました。
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例
4足ロボットの歩き方を強化学習させたいが、実機でやると壊れるので、シミュレーションでやるという話。
- Gazeboという3Dロボットシミュレータを使う。シミュレータへの入力と出力を基にした学習をPythonでやる。
- これに限った話ではないですが、コンピューターが人間が予想していない動作を生み出すのが魅力的です。
ランチ
去年はお弁当でしたが、今年は4つのお店が出張してきてくれました。しかも無料です!私は鶏肉ご飯を食べました。おいしかった。
なぜWeb画面自動テストはうまく行かないのか
Seleniumとかのツールを使ってWeb画面テストの自動化をしたいが、そのままだとコストが大きいので、工夫をする話。
- テストを記述するコストはどうしてもかかる。
- 環境を準備するコストは自動化にかかわらない。
- クロスブラウザのコストは、自作のラッパーを使って記述を簡便にする。環境は、Sauce Labs や BrowserStackとかを使う。
- 仕事でSeleniumを使うように何度か提案しているのですが、なかなか余裕がなく導入できていないです。導入時にどのような問題が発生するのかがわかったので、今後の参考にしたいと思います。
MinecraftをPythonで遊ぶ
mcpi:Minecraft Pi Edition APIを使って、Minecraftのデータをいろいろいじって遊ぼうという話
- ゲーム内で3Dのオブジェクトを動的に作れる。
- 動かすのは簡単でも、動かす環境を整えるのが大変そうです。
- グラフィックを気軽にやるのは、標準ライブラリーのTurtleが良いと個人的には思います。
Pythonで作る俺様サウンドエフェクター
入力された音の波形を変形させるプログラムを作ったという話。
- 音の説明がとても詳しく、これなら素人でもよくわかるだろうと思いました。
- (私は、吹奏楽+画像処理という微妙に近いことを長くやってたのでそれを思い出しました。)
- PyQtのSignal-Slotは便利だよ。
PyConJP 2015が終わって1週間。エフェクターのスライドよりPyQtのスライドの方が期間閲覧数多くなっております(w
— Ransui Iso (@ransui) 2015, 10月 19 - 速度を稼ぐため、受信と送信でプロセスを分けて、マルチコアCPUを活かすというのは勉強になります。
- 「Pythonはちょっと書くだけでいろんなことができるしほしいライブラリがいっぱいある」(意訳)というのは名言だと思います。私も布教するときに使おう。
休憩
無限コーヒーを飲みました。ジュースとお菓子もありました。
tse - Pythonによるテキスト整形ユーティリティ
sedやawkのようなことをPythonの文法とライブラリーでできるツール
- ツールの紹介に終始していたのが残念。中で何やってるのかを説明してほしかったです。
Packaging最前線
ライブラリのインストールなどの管理を簡単にする仕組みの話
- とりあえずpipで何とかなるようになってきたのは良いですね。
- venvは標準ライブラリーになったが、まだ問題があるので、virtualenvを使ったほうが良いらしい。
- PyPIを置き換える予定のWarehouseがまだ全然できていない。
LT
- 3分でサーバオペレーションコマンドを作る技術
- fablicやClick(CLIフレームワーク)をつかってサーバの操作を自動化する話。
- 現在の仕事に使いたいなあ。
- PyCon Canada 2015
- PyCon Canadaの紹介。
- Django から各種チャットツールに通知するライブラリを作った話
- 情報をいろんなツールで共有できるのは良いですね。大体俺は聞いてないみたいな話で混乱するんだよなあ。
- pandasによるデータ加工時の注意点やライブラリの話
- データ解析はバグに気づきにくい。私も似たような経験があるのでよくわかります。
- 入力データがおかしいものがある。→pandas_validatorを使ってチェックする。
- Dask: 軽量並列計算フレームワーク
- Numpy,pytoolz,pandasのデータを分割して並列処理をする。
- プロセスを分けて、マルチコアCPUを活かすというのは勉強になります。(2回目)
- 笑いがなく、まじめな発表ばかりでした。コメディ番組から言語名をとっているのにこれでよいのでしょうか?(よいです)
パーティー
LT終了後、無料の懇親会がありましたが、私は都合により出ませんでした。
2日目は別記事で