레포 가중치 = Star
(레포의 language sum / diskUsage < 1) 인 경우 레포 점수 0점
*주의 language sum은 default 브랜치의 전체 코드 크기(마크다운이나 코드가 아닌 파일은 제외)
*주의 코드가 아닌 문서레포의 기여의 비정상적인 가중치를 제외하기 위함
*주의 diskUage가 git obj의 사이즈이므로 branch가 많아질경우 값이 커질 수 있음

시간 가중치 = (1 / 1.0019) ^ 지난 일 수
레포점수 = 최대 100개까지의 commit별 (레포 가중치) * (시간 가중치) 합 / 100
커밋점수 = 개인레포 25개, 외부레포 25개의 레포점수 합
이슈점수 = 최대 100개까지의 (레포 가중치) * (시간 가중치) 합 / 1000
*주의 collaborator로 등록되지않은 조직 레포는 집계되지 않음
*주의 외부레포는 star 순으로 정렬이 되지 않음
활동점수 = 모든 커밋수 + 모든 이슈수 + 모든 PR수 + 모든 리뷰수 + 모든 레포생성수

유저활동점수 = 커밋점수 + 이슈점수 + 활동점수
유저개인점수 = 팔로워수 / 100

유저 점수 = 유저활동점수 + 유저개인점수

primaryLanguages = 점수산정에 포함되는 레포의 primaryLanguage의 점수 합 상위 3개 언어

y = (1 / 1.0019) ^ x 1년이 지났을때 시간가중치가 0.5가 되는 지수함수

2022-11-22일 수정

2022-11-27일 수정

2022-11-29일 수정

유저간의 점수차가 너무 벌어지는것을 방지하기 위해 레포당 최대 커밋을 100개까지만 적용되도록 함

받은 star수를 알 수 있는 방법을 고민

https://github.com/CocoaPods/Specs

커밋이 70만개짜리 레포가 있어서 해당 레포에 기여한 유저가 있는경우 graphql Query가 터지는 문제가 있음

swift에서 사용하는 종속성 관리 도구인데 github repo를 DB 처럼 사용중이다…