Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
便利ライブラリを 実運用で使うか迷った話 @stapy 2019-12-11 mizzsugar0425
Slide 2
Slide 2 text
お前、誰よ ● みずきと申します。 ● やっていること↓ ○ 昼:データ分析のデータ基盤のデータマネジメント (GCP: 特にBigQuery) ○ 夜:PythonでWebアプリ開発(Pyramid, PostgreSQL, Nuxt.js, TypeScript) ○ つい最近まで仕事で Djagoいじってたので趣味で Django触ったりも ○ Twitter -> @mizzsugar0425 ● コーヒーと自転車が好き
Slide 3
Slide 3 text
前提 ● これは、ある便利ライブラリを実運用で使うか迷い、こんな観点から判断し たよという話です。 ● 意思決定の観点は組織やプロジェクトの内容によって異なると思います。 ● これは、「こうすれば絶対に上手く行く!」という話ではありません。よっ て、このスライドの通りに意思決定したけど上手く行かなかったとしても責 任を負いません。
Slide 4
Slide 4 text
SNS連携の実装をしていた時のこと
Slide 5
Slide 5 text
著名なWEBサービスのPython SDKはあるか? WEBサービス・アプリ 公式 非公式 Google googleapis/google-auth-li brary-python - Line - - Facebook - mobolic/facebook-sdk Twitter - - ※ユーザー認証ができるもの。違ったら教えてね。
Slide 6
Slide 6 text
著名なWEBサービスのPython SDKはあるか? WEBサービス・アプリ 公式 非公式 Google googleapis/google-auth-li brary-python - Line - - Facebook - mobolic/facebook-sdk Twitter - - ※ユーザー認証ができるもの
Slide 7
Slide 7 text
どうする??
Slide 8
Slide 8 text
PyPIの嬉しい反面困るところ ● 極端に言えば、誰でもライブラリを登録できる ● 逆にいうと、きちんとメンテナンスされなかったり、ちゃんとした組織が作 成していないライブラリも混じっている。玉石混交。 ● 実運用で使う場合、「お、便利ライブラリだ! pip install ~!」と早ま らず吟味する必要がある。
Slide 9
Slide 9 text
気にしたところ ● ライセンス ● IssueやPRに対応しているか ● 継続的にメンテナンスされているか ● ソースコード
Slide 10
Slide 10 text
ライセンス ● GPLライセンスだとライブラリを使用したらソースコードを公開しないとい けないので、秘密にしたかったら使えない ● MITやBSDだと公開義務はない →facebook-sdkはApache-2.0。公開義務はない
Slide 11
Slide 11 text
IssueやPRがほったらかされていないか ● バグ見つけてもMaintainerから返信がなかったら今後の保守が大変そう
Slide 12
Slide 12 text
PRやIssueに今でも対応していることがわかった
Slide 13
Slide 13 text
継続的にメンテナンスされているか ● 便利ライブラリに足引っ張られたら本末転倒
Slide 14
Slide 14 text
(できたら)ソースコードを読む ● 今まで見たものでも判断に迷ったら ● できたらでいいです。私もWebフレームワークやハッシュライブラリは読ん でないです。
Slide 15
Slide 15 text
結論: facebook-sdk(非公式)を使う GOOD ● Apache License 2.0なのでソースコード公開義務がない ● IssueやPRが無視されていない ● 最新の更新は1ヶ月以内されていた (2019年12月時点) ● 「ライブラリ使わないで自分で実装したら大体こん な感じだろうな」というソースコードだった Improvements ● ドキュメントが更新されていない -> 気になるのでIssue投げて必要に応じて PRあげようと思う ● そもそもFacebook公式がSDK出してほしい〜(どうしようもない)
Slide 16
Slide 16 text
ありがとうございました!