
GFC는 GitHub 사용자 이름을 입력하면 종합 점수와 포지션, 여섯 가지 능력치가 담긴 축구 카드를 만들고 PNG로 내려받게 해주는 웹 도구다. 라이브 사이트에서 체험할 수 있다.
저장소에는 빌드 단계나 의존성 없이 실행하는 방법도 안내돼 있다.
python3 -m http.server 8000
정적 호스팅 서비스에서도 실행할 수 있다. 카드를 만들 때 GitHub API에 두 차례 요청하며, 결과는 브라우저의 localStorage에 6시간 동안 저장돼 같은 계정을 다시 조회할 때 요청을 줄인다. 익명 API 이용은 IP당 시간당 60회로 제한된다. 사용자는 사이트의 Rate limited? 항목에 자신의 토큰을 저장해 시간당 5,000회까지 이용할 수 있다. 토큰은 브라우저에 보관되고 api.github.com으로만 전송된다.
능력치는 저장소의 별 수, 저장소 수, 팔로워, 포크 수, 주제, 언어와 코드 크기, 관리 활동, 활동 연수 등을 바탕으로 계산한다. 별 수는 저장소별 제곱근을 합산해 인기 저장소 하나가 점수를 좌우하지 않게 했고, 포크의 별은 원본 코드를 작성한 사람에게 속하므로 FINISHING에 반영하지 않는다. ENGINE은 계정 생성 후 경과한 기간이 아니라 푸시 기록이 있는 연도를 센다. 포지션은 가장 많은 저장소에서 GitHub가 보고한 언어로 정하며, 저장소마다 언어 하나만 집계한다.
전체 점수 구간은 90점 이상이 Icon, 78~89점이 Gold, 66~77점이 Silver, 66점 미만이 Bronze다. 제작자는 실제 계정 10개의 캐시 표본을 기준으로 점수 상한을 조정했지만, 표본이 경력 있는 개발자에 치우쳐 중간 구간의 검증이 가장 부족하다고 밝혔다.
현재 저장소는 최근 업데이트된 저장소 100개까지만 가져온다. 따라서 100개를 넘는 저장소를 가진 계정은 FINISHING, VISION, ENGINE 점수가 실제보다 낮을 수 있고, ENGINE도 같은 제한을 받는다. PACE는 user.public_repos 값을 사용하므로 이 제한의 영향을 받지 않는다. README 삽입용 PNG를 만들기로 한 api/card/[username].js 경로는 현재 404를 반환하므로 사용하지 말라고 안내한다.
프로젝트 코드와 계산식은 GitHub 저장소에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요