[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】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制限に抵触するリスクが高い。実運用では、バックエンドでの非同期な集計処理や、データベースへの集計結果のキャッシュ保持が不可欠となるだろう。また、集計ロジックが記事情報に限定されている点は、データの整合性の観点から注意が必要である。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。