Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
便利ライブラリを実運用で使うか迷った話
Search
mizzsugar
December 11, 2019
Programming
0
880
便利ライブラリを実運用で使うか迷った話
mizzsugar
December 11, 2019
Tweet
Share
More Decks by mizzsugar
See All by mizzsugar
フルリモート向いてないと思っていた私が、なんだかんだ健やかに 1年半フルリモート出来ている話
mizzsugar
0
97
Djangoでのプロジェクトだって型ヒントを運用出来る!
mizzsugar
4
7.8k
「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜
mizzsugar
0
440
pytestの第一歩 〜「テスト駆動Python」の紹介〜
mizzsugar
3
260
データ分析ツール開発でpoetryを使う選択肢
mizzsugar
1
990
unittest.mockを使ってテストを書こう
mizzsugar
5
5.8k
変数に変数を代入したら?
mizzsugar
0
2.4k
Djangoのパスワードハッシュアルゴリズムで_PyramidのWebアプリケーション作った.pdf
mizzsugar
0
760
unittest.mockを使ってテストを書こう ~モックオブジェクトを使ってより単体テストの目的に沿ったテストに~
mizzsugar
4
1.8k
Other Decks in Programming
See All in Programming
Rubyのobject_id
qnighy
6
1.3k
How to Break into Reading Open Source
kaspth
2
210
Kotlin 2.0 and Beyond
antonarhipov
2
150
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
2
810
Prompt Cachingは本当に効果的なのか検証してみた.pdf
ttnyt8701
0
530
Developer Joy == Developer Productivity (really!)
hollycummins
1
180
Go1.23で入った errorsパッケージの小さなアプデ
kuro_kurorrr
2
390
令和トラベルにおけるLLM活用事例:社内ツール開発から得た学びと実践
ippo012
0
150
The Sequel to a Dream of Ruby Parser's Grammar
ydah
1
220
REXML改善のその後
naitoh
0
190
Our Websites Need a Lifestyle Change, Not a Diet
ryantownsend
0
140
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
160
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6k
Being A Developer After 40
akosma
84
590k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
Scaling GitHub
holman
458
140k
The Pragmatic Product Professional
lauravandoore
31
6.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Web Components: a chance to create the future
zenorocha
308
42k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Speed Design
sergeychernyshev
22
430
Facilitating Awesome Meetings
lara
49
5.9k
Transcript
便利ライブラリを 実運用で使うか迷った話 @stapy 2019-12-11 mizzsugar0425
お前、誰よ • みずきと申します。 • やっていること↓ ◦ 昼:データ分析のデータ基盤のデータマネジメント (GCP: 特にBigQuery) ◦
夜:PythonでWebアプリ開発(Pyramid, PostgreSQL, Nuxt.js, TypeScript) ◦ つい最近まで仕事で Djagoいじってたので趣味で Django触ったりも ◦ Twitter -> @mizzsugar0425 • コーヒーと自転車が好き
前提 • これは、ある便利ライブラリを実運用で使うか迷い、こんな観点から判断し たよという話です。 • 意思決定の観点は組織やプロジェクトの内容によって異なると思います。 • これは、「こうすれば絶対に上手く行く!」という話ではありません。よっ て、このスライドの通りに意思決定したけど上手く行かなかったとしても責 任を負いません。
SNS連携の実装をしていた時のこと
著名なWEBサービスのPython SDKはあるか? WEBサービス・アプリ 公式 非公式 Google googleapis/google-auth-li brary-python - Line
- - Facebook - mobolic/facebook-sdk Twitter - - ※ユーザー認証ができるもの。違ったら教えてね。
著名なWEBサービスのPython SDKはあるか? WEBサービス・アプリ 公式 非公式 Google googleapis/google-auth-li brary-python - Line
- - Facebook - mobolic/facebook-sdk Twitter - - ※ユーザー認証ができるもの
どうする??
PyPIの嬉しい反面困るところ • 極端に言えば、誰でもライブラリを登録できる • 逆にいうと、きちんとメンテナンスされなかったり、ちゃんとした組織が作 成していないライブラリも混じっている。玉石混交。 • 実運用で使う場合、「お、便利ライブラリだ! pip install
~!」と早ま らず吟味する必要がある。
気にしたところ • ライセンス • IssueやPRに対応しているか • 継続的にメンテナンスされているか • ソースコード
ライセンス • GPLライセンスだとライブラリを使用したらソースコードを公開しないとい けないので、秘密にしたかったら使えない • MITやBSDだと公開義務はない →facebook-sdkはApache-2.0。公開義務はない
IssueやPRがほったらかされていないか • バグ見つけてもMaintainerから返信がなかったら今後の保守が大変そう
PRやIssueに今でも対応していることがわかった
継続的にメンテナンスされているか • 便利ライブラリに足引っ張られたら本末転倒
(できたら)ソースコードを読む • 今まで見たものでも判断に迷ったら • できたらでいいです。私もWebフレームワークやハッシュライブラリは読ん でないです。
結論: facebook-sdk(非公式)を使う GOOD • Apache License 2.0なのでソースコード公開義務がない • IssueやPRが無視されていない •
最新の更新は1ヶ月以内されていた (2019年12月時点) • 「ライブラリ使わないで自分で実装したら大体こん な感じだろうな」というソースコードだった Improvements • ドキュメントが更新されていない -> 気になるのでIssue投げて必要に応じて PRあげようと思う • そもそもFacebook公式がSDK出してほしい〜(どうしようもない)
ありがとうございました!