【要約】QiitaのContirbution推移を表示するツール [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者が自身のQiitaにおける活動実績を可視化しようとした際、APIの仕様が障壁となった。既存のインターフェースでは、目的のデータを直接取得できない課題がある。
- ・Qiita APIにContributionを直接集計するエンドポイントが存在しない。
- ・未認証状態でのAPI利用には、IP単位で「60req/時」という厳しい制限がある。
- ・記事情報のみに基づく集計となるため、それ以外の活動が反映されない。
// Approach
開発者は、不足している機能を補うために、既存のAPIを組み合わせてデータを算出するアプローチを取った。既存のリソースを最大限活用し、制約を回避する設計としている。
- ・記事一覧を取得し、そのデータからContributionを力技で集計する。
- ・API制限を回避するため、ユーザーが自身のアクセストークンを入力できる機能を実装した。
- ・ユーザー名(@なし)の入力により、特定のユーザーのデータを抽出する仕組みを構築した。
// Result
ユーザーは、自身のContribution推移を視覚的なグラフとして確認できるようになった。個人の活動ログを振り返るための手段として機能している。
- ・ユーザー名を入力するだけで、Contributionの推移を表示できる。
- ・GitHubにてソースコードを公開し、コミュニティによる改善を募っている。
- ・アクセストークンを利用することで、記事数が多いユーザーでも制限を回避できる。
Senior Engineer Insight
> APIの不足を既存エンドポイントの組み合わせで補う発想は、プロトタイプ開発として合理的である。しかし、記事一覧の全件取得による集計は、データ量が増大した際にAPI制限に抵触するリスクが高い。実運用では、バックエンドでの非同期な集計処理や、データベースへの集計結果のキャッシュ保持が不可欠となるだろう。また、集計ロジックが記事情報に限定されている点は、データの整合性の観点から注意が必要である。