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
900
便利ライブラリを実運用で使うか迷った話
mizzsugar
December 11, 2019
Tweet
Share
More Decks by mizzsugar
See All by mizzsugar
SQLModel入門〜クエリと型〜
mizzsugar
0
61
フルリモート向いてないと思っていた私が、なんだかんだ健やかに 1年半フルリモート出来ている話
mizzsugar
0
100
Djangoでのプロジェクトだって型ヒントを運用出来る!
mizzsugar
4
7.9k
「動くものは作れる」の一歩先へ 〜「自走プログラマー」の紹介〜
mizzsugar
0
470
pytestの第一歩 〜「テスト駆動Python」の紹介〜
mizzsugar
3
270
データ分析ツール開発でpoetryを使う選択肢
mizzsugar
1
1k
unittest.mockを使ってテストを書こう
mizzsugar
5
5.9k
変数に変数を代入したら?
mizzsugar
0
2.4k
Djangoのパスワードハッシュアルゴリズムで_PyramidのWebアプリケーション作った.pdf
mizzsugar
0
790
Other Decks in Programming
See All in Programming
Macとオーディオ再生 2024/11/02
yusukeito
0
210
Progressive Web Apps für Desktop und Mobile mit Angular (Hands-on)
christianliebel
PRO
0
110
gopls を改造したら開発生産性が高まった
satorunooshie
8
240
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
230
推し活としてのrails new/oshikatsu_ha_iizo
sakahukamaki
3
1.7k
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
カスタムしながら理解するGraphQL Connection
yanagii
1
1.2k
Nuxtベースの「WXT」でChrome拡張を作成する | Vue Fes 2024 ランチセッション
moshi1121
1
530
Universal Linksの実装方法と陥りがちな罠
kaitokudou
1
220
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
5
3.4k
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
430
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
300
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Code Reviewing Like a Champion
maltzj
519
39k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
How to Think Like a Performance Engineer
csswizardry
19
1.1k
Become a Pro
speakerdeck
PRO
24
5k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Visualization
eitanlees
144
15k
Writing Fast Ruby
sferik
626
61k
The Invisible Side of Design
smashingmag
297
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
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出してほしい〜(どうしようもない)
ありがとうございました!