PyCon JP 2017 2日目 参加ログ #pyconjp¶
#PyConJP 2017 in Tokyo に参加しました。PyCon JP 2017 1日目 参加ログ #pyconjp に引き続きの参加です。
今日は名札あれば受付不要なので直接キーノート会場へ。
今日は開始5分前に着席して、時間ちょうどにキーノート始まった!よかったよかった
キーノート¶
堀越 真映 (@sinhrks)
400人くらい会場に来てるかな?
メモ¶
会場に質問
自分はPyData系だと思う方 -> 3割くらい
Pandas知ってる方 -> 6~7割くらい
抜粋
Pandasは、データ仕様が与えられない場合の、試行錯誤のためのツール
2012年に初Issue、2014年に活動開始、2015年にコアチーム加入
最近は 1 Pull Request, 1 commit 運用を徹底している (俺:Sphinxもその方がいいかもなあ)
numpyもそういう運用だとiwiwiさんが言っていた気がします。git bisectしやすいからとか
— chezou (@chezou) 2017年9月9日コミッターに期待することを明記している -> Code Of Conduct (俺:あーこれはマネしようかな)
後方互換性: 良くないAPIなどをdeprecationして2バージョン維持 (俺:これはSphinxもやってるね。元ネタはDjango)
Pythonによるデータ分析入門 -> 10月に改訂版が!
Issueテンプレートを使って報告しやすいように整備 (俺:Sphinxもやってるー。報告の質が格段にアップしたよ)
団体企業からの支援 (俺:何に使ってるのか聞き逃した)
OSS活動ってやる必要あるんだっけ?
-> 承認欲求を満たせる (俺:うん)
-> 有識者のレビューを受けてスキルアップできる (俺:うんうん)
-> 内部実装が理解でき(使う側としても)効率的なコードが書ける (俺:わかる)
-> 修正を取り込んでもらえると、使う時のhackkyな書き方が不要になる (俺:超わかる)
PRを出してみようと思ったら
大きめのプロダクトならIssueがタグで整理されている
難易度タグが付いてるので簡単なやつから手を付けてみる
他の人が手を付けているものは避けた方がよいかも
プルリクエストでバグ修正した場合
意図が伝わらなければコードを書く
影響範囲が大きい場合ひたすらテストを足す
気をつけていること
局所的な修正を避ける
テストをちゃんと書く
ドキュメントをできるだけ書く
Q&A¶
Q: 投げられるIssue/PRが大量に来ると思いますが、どうやってさばいてますか?
A: 気づいた人がやる。活動量が多い人がレビューしてくれたりします。
Q: 自分の機能に責任を持って対応してる感じですか?
A: リリースマネージャーみたいな人がいて、その人は全てのIssueを見たり返事したりしてます
Q: @nobolis_ : 仕事とプライベートの時間の使い分けをどうされてますか?
A: 業務上はOSS活動するために雇われていないので、基本的に個人で活動してます。そういう活動も評価されているので業務上無駄になってたりはしません
Q: @shimizukawa: SphinxのIssueは今600ちょっとあります。PandasのIssueを見てみたら2000を超えていて、それってIssueが右肩上がりになっていくと思うんですが、そういうときに、どうやって気持ちを維持していくのか、お聞かせ下さい
A: コアコミッターはPRのレビューなどで忙しくて自分でパッチを書く時間が取れない事が多いです。なので、自分で全部直すのではなく、自分たち以外の人でも直せるような体制をつくっていく。簡単そうなissuesだったらやり方を提案して報告者にやってみてもらうとか。そうやって直せる人を増やしていってます。
Q: ドキュメントだけで1000ページ以上ありますよね。そういう巨大なOSSを維持していくのは専門家じゃないともうできないものなのでは?
A: Yes & No. ドキュメントを見る専任者みたいな人がいます(Anacondaや2sigmaの人)。ただ、専任者がいないとできないわけじゃなくて、居ないなら居ないなりのやり方があると思ってます。
Q: 西本: 局所的な修正よりも大局的に直す、という話をもうすこし詳しく聞かせて下さい
A: 欠損値のバグをある関数でだけ直しても、欠損値の扱いはそこだけじゃなく、もっと深いところで問題があって他の関数にも影響がある
Q: その意図は凄くよく分かるんですが、Pandasのような巨大なプロダクトだと影響の広いコードを直すのはすごい影響ありそうで、そこで議論が紛糾したりしませんか?
A: 2つ話があります。開発者側としてはあまり議論にならなくて、全体的に直した方が良いと判断する。慣れていない人が直す場合、全体的な視点は持っていないこともあるので、そこは慣れている人がアドバイスしたりします。
Q: ベンチマーク比較するツールの紹介(airspeed velocity(asv))がありましたが、そのツールはPythonでしか使えないものですか?
A: 基本的にはPythonでスクリプトを書くので、Pythonの方が便利に使えますが、他でも使えるとは思います。
Q: OSSへのコントリビュートをし続けるってすごい難しいことだと思うんですが、1年継続していくのに工夫したことはありますか?
A: 自分のスキルアップのためにPandasにターゲットを絞って活動をしていました。Issueを眺めて自分で直せそうな部分があったら自分でやってみるというのを続けました。
Pythonで実現する4コマ漫画の分析・評論 2017¶
SHINJI KITAGAWA (@esuji)
BPPRです。#pyconjp #pyconjp_201 pic.twitter.com/Co5VEQNeug
— 佐藤治夫 (@haru860) 2017年9月9日
BPPR: 弊社 #BeProud の制度。カンファレンスで会社紹介すると代休もらえて参加費が出る(要約) #PyConJPhttps://t.co/2331mVAAdr
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
情熱駆動開発
自分が欲しいものをだれかが作ってくれる、ということはない
Pythonならライブラリたくさんあるからなんとかなるかな、と思った
情熱があれば作れる
Q&Aは時間切れで個別。「11:30からOpen Spaceでやります」
Open Space でProtocol話¶
昨日の私の資料を肴に、4人くらいでプロトコルについて話してました。
11:30 からオープンスペース3F room F で、Pythonのプロトコルのやつやりまーす! 場所分かりづらいけど、3階で看板探して来てくださーい #pyconjp pic.twitter.com/OQUBqBNK7y
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
#pyconjp オープンスペースでlen()の話やってまーす。今は__str__と__repr__とprint()の話 pic.twitter.com/d4J8tMwPlo
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
print(obj)
もAdapter?それは単に関数
printの中では、文字列の表示用に
str(obj)
するけど、これはAdapterと言って良さそうstr(obj)
はobj.__str__
を呼び出す。もしなければobj.__repr__()
にフォールバックするobj.__repr__()
はオブジェクトのrepresentationで、対話シェルに値を表示するためにrepr(obj)
したときに呼ばれる。これはAdapter
Swiftには適合(adopt)というのがある
CustomStringConvertible
を適合(adopt)させると、description
プロパティの実装を強制されて、これでobj.__str__
相当のことをやるPythonだと
abc
で抽象仮想クラスを継承するような感じだね。Pythonだと適合みたいな文法はないけど、継承で実現するPythonってTraitsないの? -> 継承で
PythonってMixInないの? -> 継承で
Pythonって適合ないの? -> 継承で
そういえば Zope Component Architecture (ZCA) では
interface.implements
というのがあるなあ
Pythonというか、プログラミング言語一般で共通した「プロトコル」っていう概念がある?
一般的にはないかも
通信用語だと、通信プロトコルとしてよく登場するよね
オブジェクト指向の文脈で、メッセージパッシングがあるけど、あれはオブジェクト間の通信仕様だと思うので、プロトコルなのかも
Python公式リファレンスにそんな情報が書いてあるなんて全然しらなかった
公式リファレンス、とりあえず一通り読んだりしないの?
難しくて最初からアレを読むのは無理では...
まあ公式ドキュメントは教科書ではないのでしょうがないよね。それにしてもPythonの公式ドキュメントは入門者に易しくないw
他の本でPythonを勉強して、公式リファレンスを一通り読めるようになったらもう初心者卒業って言えそう
それにしてもPython公式リファレンス、Protocolの話が少なすぎる
ドキュメントのソースコメントに、 talk about protocols? って書いてあるよw
プロトコルのドキュメントを書こう!
よーし、プロトコルハッカソンだ~
書籍販売コーナー¶
PythonユーザのためのJupyter[実践]入門 、買おうかどうしようかと思ってたけど、 @chezou さんの以下のツイートを見て買いました!イベント価格で税込み3,000円!
.@iktakahiro さんからご恵贈いただきましたJupyter本、PyConJPの基調講演でもあったpandasの基礎からmatplotlibの詳細Bokehまであり分析入門に良いです。具体的な分析例や日本語フォント紹介も https://t.co/o2ud1sSNRl pic.twitter.com/RgkdrCJyHK
— chezou (@chezou) 2017年9月9日
#PyConJP で "Jupyter実践入門" 買ってサインもらった!やったー!! pic.twitter.com/X0l1A3OclK
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
Pythonエンジニア ファーストブック も販売してた。おれも本売りたかったなあ...
モノタロウ侍も推薦!!「Pythonエンジニア ファーストブック」と「Jupyter実践入門」 #pyconjp #pyfirst (@ 早稲田大学 63号館 in 新宿区, 東京都) https://t.co/162uhnyhfd pic.twitter.com/QORl9jRlkM
— Takanori Suzuki (@takanory) 2017年9月9日
いいなあぁ...
ランチ¶
チキン~
#pyconjp ランチ弁当~ pic.twitter.com/YW60MjR6tP
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
ポスターセッション¶
Python Boot Camp のポスター!日本地図に開催実績塗って、希望地に付箋貼ってもらっている。付箋多く貼られたら開催が早まる....かも? #PyConJP #pycamp pic.twitter.com/STy2mGrx1Z
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
Python Boot Camp の講師、スタッフ、各地域の現地スタッフが勢ぞろい!!広がってる感すごい #pyconjp #pycamp pic.twitter.com/oLhJZiBgTU
— Takanori Suzuki (@takanory) 2017年9月9日
Python Boot Camp から始めて、将来的に地域PyCon、っていう流れもありだと思います!誘致に興味ある方は Python Boot Camp を見てくださーい。よろしくー
Python におけるドメイン駆動設計(戦術面)の勘どころ¶
Junya Hayashi
「リポジトリとの接続にDIコンテナを使う。今は https://t.co/OhcWR98VTS を使っている。DIを使わずにヘキサゴナルアーキテクチャで実装すると破綻する」 #pyconjp_201
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
ヘキサゴナルアーキテクチャのリポジトリでORMを使う話。ORMのモデルインスタンスをリポジトリの外に出したくなっちゃうんだよね。リポジトリに閉じ込める場合、ORMが提供する便利な機能を活用できなくなるので、開発メンバーの納得感が下がるんだよー #pyconjp_201
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
一般社団法人PyCon JP ミーティング¶
一社の会計理事として参加してきました。
参加は、理事4名、PyCon JPスタッフ3名、興味ある参加者3名、合計10名でした。
クロージング¶
LT
LTやってました。ちゃんと聞けなかったので感想略。
落とし物コーナー
クロージング
参加者数: 690人強
さんかした方、アンケートに回答してね: http://bit.ly/pyconjp_survey
ベストトークアワード
優秀賞: グラハムさん(クロージングに居なかった)
優秀賞: @yuzutas0
最優秀賞: Greg Price(クロージングに居なかった)
SQUEESE社
宿泊券5万円!
じゃんけん勝ち抜けで1名!
(自分は最終集団まで残ったけど、最後負けた...!)
プレゼント抽選
スポンサーのみなさんからのプレゼントをビンゴで~
はずれたー
PyCon JP 2018
2018/9/17 (月祝), 9/18 (火)
おわりー。最後グダグダだったなー。
招待Party¶
スピーカーとしてパーティーに招待されました。
#pyconjp @tokibiro のフリー素材です pic.twitter.com/zgrR9jX7bs
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
#PyConJP Patron Speakers!! うぇーい!! pic.twitter.com/uUBnMfOAl5
— Takayuki Shimizukawa (@shimizukawa) 2017年9月9日
おしまい