Slide 1

Slide 1 text

そのライブラリ、続投?それとも解雇?「stay_or_go」 で素早く決断! 株式会社 UZUMAKI CTO 今 佑介(@kon_yu)

Slide 2

Slide 2 text

背景と課題 自分で作った ライブラリを評価する CLI ツールの紹介 ライブラリ管理はどんなサービスでも避けられない サービスを運営するにつれて増え続けるライブラリ オレが考えた最強の gem を導入したのに退職してしまったアイツ SRE にとって、古いライブラリはセキュリティや安定性のリスク セキュリティリスク 依存関係によりフレームワークや言語のアップグレードの足かせ

Slide 3

Slide 3 text

解決策 stay_or_go もともと仕事で同じようなものを Ruby で作ったものを Go 言語で再実装 ライブラリの GitHub リポジトリを使用して自動でスコアリング 評価基準 フォーク数、スター数、Issue 数、PR 数、最終コミット日、アーカイブされ ているか 結果を Markdown のテーブル、CSV、TSV に出力 Markdown のテーブル から Notion でデータベース化 CSV から pandas.DataFrame に読み込ませて統計処理

Slide 4

Slide 4 text

stay_or_go 現在のところ Ruby(Gemfile)と Go 言語(go.mod)に対応 package.json にも対応予定 GitHub リポジトリ: https://github.com/uzumaki-inc/stay_or_go Python 対応、PHP 対応など PR どしどしお待ちしています

Slide 5

Slide 5 text

出力例: Name RepositoryURL LastCommitDate ... Score activeadmin https://... 2024-11-25T21:00:24Z ... 1282 active_decorator https://... 2024-11-04T14:51:22Z ... 121 active_decorator-rspec https://... 2017-03-15T12:48:01Z ... -137 activerecord-import https://... 2024-11-16T06:00:21Z ... 466

Slide 6

Slide 6 text

デモ Youtube 動画のデモ https://youtu.be/3wgeAq8GEGw 出力結果の Notion https://x.gd/KvPY5

Slide 7

Slide 7 text

実際の効果 10 年近く運用している Ruby on Rails のプロジェクトに対して実施 効果 100 以上のライブラリ(gem)を数分でスコアリング 管理する gem を 10% 削減 よりハイパフォーマンスな gem に置き換え 顧客の声 : スコアをもとに、スコアが N 以下のものをすべて点検するよう指標ができた どの gem を調査するべきか、検討する時間を省略できた

Slide 8

Slide 8 text

計測後の具体的な作業 一定以下のスコアの低いライブラリを調査・検討 そもそも利用しているか 言語や FW のデフォルトの API で代替できないか 簡単な実装でライブラリを置き換えられないか 代替するメンテされているライブラリに変更できないか パフォーマンス計測して比較 なかなか大変 そんなときは UZUMAKI にお問い合わせを!

Slide 9

Slide 9 text

まとめ stay_or_go でライブラリ管理に効率化し、SRE 業務をスマートに! GitHub リポジトリ: https://github.com/uzumaki-inc/stay_or_go 動作させてエラーやうまくいかない場合は Issue を上げてください UZUMAKI の CM: stay_or_go を利用した無料診断をはじめました 決済機能に潜むリスクの無料診断もあります