ã³ã³ããªãã¥ãŒã¿ãŒã°ã©ããå®è£ ããïŒ https ïŒ//github.com/go-gitea/gitea/graphs/contributors
ãã®åé¡ãæ¯æãããã§ããïŒ ããã«è³éãæçš¿ããŠãã ããïŒ Bountysourceãä»ããŠå ±å¥šéãåãåããŸãã
è¯ãgraph-libã¯ãããŸããïŒ ç§ã®æèŠã§ã¯ãããã¯ãµãŒããŒåŽã§ã¬ã³ããªã³ã°ããã³ãã£ãã·ã¥ã§ããŸã
äœãé²å±ã¯ãããŸããïŒ
æã£ãŠãããšããã§ãããð
ãŸã 誰ãããªãå Žåã¯ããã®æ©èœã®äœæ¥ãéå§ããããšæããŸãïŒããã @ lafriks ãç§ã¯ç§ã®ã¬ãã¹ã³ãåŠã³ãŸããã +1
ã¯å»ºèšçã§ã¯ãããŸããðïŒã
ãµãŒããŒåŽãŸãã¯ã¯ã©ã€ã¢ã³ãåŽã®ã¬ã³ããªã³ã°ã決å®ããæ¹æ³ã䜿çšãããã£ãŒãã©ã€ãã©ãªãªã©ããšãã©ãæ¯æŽãå¿
èŠã«ãªãå¯èœæ§ããããŸãã
ç§ãåºæ¬çã«Goãç¥ããŸããããããã³ããšã³ãã®ç¥èãè±å¯ãªã®ã§ãããŸãããã¯ãã§ãããã¹ãŠãåããŠã§ãããŸããå°ãåã«Giteaã®ãããã³ã°ã«é£ã³èŸŒã¿ããã£ãã®ã§ãð
ãŸããæ¢åã®ãœãªã¥ãŒã·ã§ã³ãå解ããŠãå¿ èŠãªããŒã¿ãšå¯èœãªããŒã¿æ§é ãç¹å®ããŸãããã
ã³ã³ããªãã¥ãŒã·ã§ã³ããŒã¿ã®APIãšã³ããã€ã³ãã¯https://github.com/<owner>/<repo>/graphs/contributors-data
ã§ãã
è¿ãããJSONããŒã¿ã¯ãåºæ¬çã«ãªããžã§ã¯ãã®ãªã¹ãïŒããããã1人ã®å¯çš¿è ãè¡šãïŒã§ãããæãå°ãªãå¯çš¿ãæåã«ãœãŒãããæãå€ãã®å¯çš¿ãæåŸã«ãœãŒãããŸãã
[
{ ... }, // User with least contributions
...
{ ... }, // User with second most contributions
{ ... } // User with most contributions
]
æ§é ã¯ããã«èšèŒãããŠãããã®ãšã»ãŒåãã§ã次ã®ããã«ãªããŸãã
{
"author": {
"id": 12345,
"login": "octocat",
"avatar": "https://avatars3.githubusercontent.com/u/12345?s=60&v=4",
"path": "/octocat",
"hovercard_url": "/hovercards?user_id=12345"
},
"total": 123,
"weeks": [
// First week in which the repo existed
{
"w": 1391904000,
"a": 6898,
"d": 77,
"c": 10
},
// Second week in which the repo existed
{
"w": 1392508800,
"a": 2437,
"d": 439,
"c": 6
},
...
// Current week
{
"w": 1538265600,
"a": 0,
"d": 0,
"c": 0
}
]
}
"weeks"
é
åã®åã¡ã³ããŒã¯ã次ã®å±æ§ãæã£ãŠæ§æãããŠããŸãã
w
-é±ã®å§ãŸããUnixã¿ã€ã ã¹ã¿ã³ããšããŠæå®ãããŸããa
-è¿œå ã®æ°d
-åé€ã®æ°c
-ã³ãããæ°ãã®ãã¹ãŠã®æ å ±ã¯ããããã®ã«ãŒããäœæããããã«äœ¿çšãããŸãã
倧ããªè²¢ç®åºŠã®ã°ã©ãã¯ã1é±éã®åãŠãŒã¶ãŒããã®çµ±èšn
ïŒ 0 <= n <= weeks since the repo exists
ïŒãåèšããåé±ã®çŽ¯ç©å€ãããããããããšã§æããã«äœæã§ããŸãã
GitLab CEã¯ãªãŒãã³ãœãŒã¹ã§ãããããé¢é£ãããã¡ã€ã«ããããŸãã
APIãšã³ããã€ã³ãã¯https://gitlab.com/<owner>/<repo>/graphs/master?format=json
ã§ãã
è¿ãããJSONããŒã¿ã¯ã¯ããã«åçŽã§ãã
[
{ ... }, // Latest commit
{ ... }, // Second latest commit
...
{ ... }, // First commit
]
é åã®åã¡ã³ããŒã¯1ã€ã®ã³ããããè¡šããæåã«ææ°ã®ã³ããããæåŸã«æåã®ã³ãããããœãŒãããŸãã æ§é ã¯æ¬¡ã®ããã«ãªããŸãã
{
"author_name": "Some User",
"author_email": "[email protected]",
"date": "2018-10-02"
}
ãŠãŒã¶ãŒãåãæ¥ã«è€æ°ã®ã³ããããè¡ã£ãå Žåãã³ãããããšã«1ã€ãã€ãåããŠãŒã¶ãŒæ å ±ãšæ¥ä»ãæã€éè€ãããšã³ããªãååšããã ãã§ãã
ãŠãŒã¶ãŒããšã®ã¿ã€ã«ã«ã¯ãGitHubãããå°ãªãæ å ±ãå«ãŸããŸããããããã¯ã1æ¥ã®ã³ãããæ°ãX軞ã¯æéãY軞ã¯ã³ãããæ°ãååŸããããšã«ãã£ãŠè¡ãããŸãã ããã¯ããªããžããªå šäœïŒãŠãŒã¶ãŒåãç¡èŠïŒãšåãŠãŒã¶ãŒïŒç¹å®ã®æ¥ã«ç¹å®ã®ãŠãŒã¶ãŒã®ãã¹ãŠã®ã³ããããšã³ããªãååŸããïŒã®äž¡æ¹ã«å¯ŸããŠè¡ãããŸãã
ã©ã¡ãã®å Žåããã¬ã³ããªã³ã°ã¯ã¯ã©ã€ã¢ã³ãåŽã§å®è¡ãããŸããããã«ã¯ããºãŒã ã䜿çšããŠåçãªã°ã©ããäœæã§ãããšãã倧ããªå©ç¹ããããŸãã
ããã§ã®äžè¬çãªã¯ãŒã¯ãããŒã§æ©èœããå Žåã¯ããã®åé¡ã«å²ãåœãŠãããŠãåé¡ãããŸããã
ããã«ã€ããŠããå°ãèããŸãã ãã¡ãã建èšçãªãã£ãŒãããã¯ã¯å€§æè¿ã§ãïŒ
UIã«ããŒãžãªã³ã¯ãé 眮ãã
ããã¯ããŸãããã¯ãã§ããä»ã®ãšããäœãåæ§ç¯ããå¿ èŠã¯ãããŸããã
ãªã³ã¯ã«ã€ããŠèšãã°ãããŒãžã¯ããããhttps://git.example.com/<owner>/<repo>/contributors
ã«ããã¯ãã§ããããããããã«ããä»ã®ãã¹ãŠã®ãªã³ã¯ãæ©èœããæ¹æ³ã§ãã
ç§ã奜ãŸãªããã1ã€ã®ã¢ã€ãã¢ã¯ã[ã¢ã¯ãã£ããã£]ããŒãžã«æçš¿è ã°ã©ããé 眮ããããšã§ãã
ç§ã¯ããã€ãã®DOMç·šéãè¡ããŸããïŒ
ã¢ã€ã³ã³ãšããŠocticon-organization
ãéžæããŸãããã octicon-graph
ãæ©èœããå¯èœæ§ããããŸãã
ããã§ãGiteaã®GitHubã³ã³ããªãã¥ãŒã¿ãŒãã£ãŒãã§CSSããã°ããç·šéããç»åãããŒãžããŸãã
ããã¯ãåã ã®ãŠãŒã¶ãŒããšã®ã°ã©ããèæ ®ã«å ¥ããã«ãã©ã®ããã«èŠãããã«ã€ããŠã®éåžžã«å€§ãŸããªèãã§ãã
çŽ æŽãããèŠããŸã^-^
@linusgçŽ æŽãããïŒ ã©ããïŒ
@lunnyç§ã¯ä»ã¡ãã£ãšæ··ä¹±ããŠããŸãïŒ @Morlinestã¯èª°ã§ããããããŠåœŒã¯ãã®åé¡ã§ã©ã®ãããªåœ¹å²ãæãããŸããïŒ
ããã¯ããããééãã§ãããããããã圌ã¯ç§ãšäžç·ã«ããã€ãã®ç§å¯ã®èšç»ãæã£ãŠããŸãïŒD
@linusg @Morlinest :(ç³ãèš³ãããŸããã @ Morlinestãèšã£ããããªééãã§ãããã®åé¡ã@linusgã«å²ãåœãŠããã®ã§ãããéã¡ã³ãããšåé¡ã®ãã¹ã¿ãŒã«å²ãåœãŠãããšãã§ããªãããšãããããŸããã
ããããŸããã説æããŠãããŠããããšãïŒsmileïŒ
ãããã ããç§ã¯ä»ãããããªããã°ãªããªãã§ãããïŒD
èå³ã®ããæ¹ãžã®çã泚æäºé ïŒç§ã¯ã¯ãªã¹ãã¹äŒæäžã«ããã«åãçµã¿ããã£ãã®ã§ãããå€ãã®æéãèŠã€ããããšãã§ããŸããã§ããã åºæ¬çãªãã®ïŒããŒãžãã«ãŒãã£ã³ã°ãªã©ïŒãäœæããåŒãç¶ãäœæ¥ããäºå®ã§ãã
ã©ããããããšã^-^
çãããããã«å¥ã®ã¢ããããŒãã§ãã ç§ã¯ããããã®ç¶æ ã«ããããã«ç®¡çããŸããïŒ
ã¯ãªãã¯ããŠå±éïŒ
Gitea vs GitHubïŒå®éã®äŸïŒ
ïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50791201-6f7d9500-12c1-11e9-9a3d-7612c63e6b4a.pngïŒïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/ 19366641 / 50791210-7c9a8400-12c1-11e9-985c-b0dffcbfae3a.pngïŒ
æã
ïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50791412-0cd8c900-12c2-11e9-86e7-5fb4142a5bcc.pngïŒ
詳现ïŒ
æ®ã£ãŠããåé¡ïŒ
å¯èœãªæ©èœåŒ·åïŒ
å€æŽãæ¹åã®ã¢ã€ãã¢ãæè¿ããŸã-ç§ã¯ãããŸã§ã®ãšããçµäºããŠããŸãïŒ ïŒsmileïŒããããä»åŸã®ã³ãŒãã¬ãã¥ãŒãæããŠããŸãã
ãã£ãã...ããã«è¡ããŸãïŒ ä»åºŠã¯å€éšå ¥åã®æéã§ãã®ã§ãäžã®ç»åãã芧ãã ããã
ïŒGitHubããååŸããgiteaã¬ãïŒ
説æãããŠãã ããïŒ
giteaãŠãŒã¶ãŒDBã«å«ãŸããŠããªããŠãŒã¶ãŒã衚瀺ãããŸããããããã¡ã€ã«ãžã®ãªã³ã¯ã¯ãããŸããã çµ±èšã¯ãŠãŒã¶ãŒåã«ãã£ãŠèšç®ãããŸãïŒåã³ãããããšã«ãååããšãã¡ãŒã«ãã®ã¿ã䜿çšå¯èœã§ãïŒããã®ãããGitHubã«ã¯ãäžæãããUnknwonãããúé»ãããããŸãããGitHubã«ã¯ãUnknwonãã®ã¿ããããŸãããªããžããªã®ã¯ããŒã³ãäœæ/ã€ã³ããŒããããšãåããŠãŒã¶ãŒããã¹ãŠå€±ãããŸãã ç§ã¯ãããå©çšå¯èœãªæè¯ã®éžæè¢ã ãšæããŸããïŒ
GitHubã¯é±ããšã«çµ±èšãã³ã³ãã€ã«ããŸãããç§ã¯æ¯æ¥ã®çµ±èšã䜿çšããŸããã ãããå€æŽããå¿ èŠããããŸããïŒ
ããããGitHubã®Y軞ãçŽ150 [1é±éãããã®ã³ãããæ°]ã§çµäºããGiteaã®Y軞ã52 [1æ¥ãããã®ã³ãããæ°]ã§çµäºããçç±ã§ãã ãŸããGiteaã®ãã£ãŒããããå€ãã®ãã¹ãã€ã¯ãã§è¡šç€ºãããããã«ãªããŸãã ïŒè£éãå©çšã§ããŸããïŒ
GitHubã¯ããŒãžã³ããããçµ±èšããé€å€ããŸããç§ã¯ãã®çš®ã®ãã®ãå®è£ ããŸããã§ããïŒãããŠãéåžžã®ã³ããããšåºå¥ããã®ãã©ãã»ã©é£ãããããããŸããïŒã ãã®æ©èœãå¿ èŠã§ããïŒ
ãŠãŒã¶ãŒããšã®ã°ã©ãã«å¥ã®è²ã䜿çšããŸããïŒ
ä»ã«äœãæ¹åã§ãããšæããŸããïŒ
ããã©ãŒãã³ã¹ïŒ
ååã®æçš¿ã§ææãããã¹ãŠã®åé¡ãä¿®æ£ããããã©ãŒãã³ã¹ã®åé¡ã«æ»ããŸããã ç§ã®éçºãã·ã³ããã®ãã¹ãŠã®çµ±èšïŒ
Giteaããã°ãªããžããªã®å¯çš¿è ããŒãžã®èªã¿èŸŒã¿ã«ã¯1.1ç§ããããŸãããããã¯ããããåé¡ãããŸããïŒ_ããŒãžïŒ1090msãã³ãã¬ãŒãïŒ7ms_ïŒ
giteaã¡ã€ã³ã¬ãçšã®ãã®ã¯1å14ç§ãããã_ããŒãžïŒ74443msãã³ãã¬ãŒãïŒ47ms_ãå ±åããŸãã ãã ãã9幎ã®æŽå²ããããçŽ7kã®ã³ãããããããŸãã
èããããæ¹åç¹ïŒgitearepoã®å¯çš¿è ããŒãžã¯æçµçã«602ã®ãŠãŒã¶ãŒã«ãŒãã«ãªããŸããGitHubã¯100ã§ã«ãããªããããšæããŸããhttpsïŒ//github.com/go-gitea/gitea/graphs/contributorsãåç §ããŠãã ããã
ããã«ã€ããŠã©ãæãïŒ
ããŒãžã«ã¢ã¯ã»ã¹ãããã³ã«ã³ãããå±¥æŽå šäœããã©ããŒã¹ããããããçµ±èšããã£ãã·ã¥ããããšã§ç¶æ³ãæ¹åããããšãã§ããŸãã ãããçã«ããªã£ãŠããŠãå®è£ ãã©ã®ããã«èŠãããã«ã€ããŠã®æãããã¯ãããŸããã
å€æŽãããCSSãã¡ã€ã«ã衚瀺ããã«ã¯ãServiceWorkerã®ãã£ãã·ã¥ãã¯ãªã¢ããå¿ èŠããããŸããïŒéåžžã®ãã£ãã·ã¥ã®æŽæ°ã¯æ©èœããŸããïŒã OOTBã§åäœããããã«ãããã§äœãããå¿ èŠããããŸããïŒ
ãã®ä»ã®ã¹ã¯ãªãŒã³ã·ã§ãããã¯ãªãã¯ããŠå±é
ïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50845620-95f90a00-136d-11e9-94a1-dfcdbdcf8908.pngïŒïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/ 19366641 / 50845863-28011280-136e-11e9-8a93-a194dde3115c.pngïŒïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50846330-2be16480-136f-11e9-8aad-e814157d045f.pngïŒïŒ [ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50846507-9b575400-136f-11e9-9a6f-97f7a9ec28a1.pngïŒ
@linusgãç²ãæ§ã§ãã!!! ãªããžããªã倧ããå ŽåïŒã€ãŸãã1000ãè¶ ããã³ãããïŒã«cronãžã§ããšããŠæ©èœãããã®ã¯ã©ãã§ããïŒ æ§æã«å¿ããŠã1æ¥ä»¥äžå®è¡ã§ããŸãã ããã100ã§ååã ãšæããŸããããã§ãªãå Žåã¯ãããŒãžä»ãã®æ¹ãé©ããŠããŸãã
@linusg
- çµ±èšã¯ãã¹ã¿ãŒãã©ã³ãïŒããŒãã³ãŒããããŠããïŒçšã§ãããããã¯ç°¡åã«å€æŽããŠUIã³ã³ãããŒã«ãšããŠå ¬éã§ããŸã
å¥ã®ãªãã·ã§ã³ãäœæãã代ããã«ãããã©ã«ãã®ãã©ã³ããªãã·ã§ã³ã䜿çšã§ãããããããŸããã
ãã®åé¡ã¯ãæè¿ã®ã¢ã¯ãã£ããã£ããªããããèªåçã«å€ããã®ãšããŠããŒã¯ãããŠããŸãã ä»åŸ2é±é以å ã«ãã以äžã®æŽ»åãçºçããªããã°ãééãããŸãã è²¢ç®ããŠããã ãããããšãããããŸãã
ãããããŸã ããã«åãçµãã§ããŸã-誰ããstale
ã©ãã«ãåé€ããå¯èœæ§ããããŸãïŒ
ãããããŸã ããã«åãçµãã§ããŸã
ãã®æ©èœãéããªãç»å ŽããããšãæåŸ
ããŠãããã¯æå ±ã§ãã
ã©ãã§ããã£ãŒããã°ã©ãã£ãã¯ããŒã¿è¡šçŸãèŠãããã«èªå€§å®£äŒ...
ãã®æ©èœãéããªãç»å ŽããããšãæåŸ ããŠãããã¯æå ±ã§ãã
ããã«ïŒtmïŒ
æéã¯ééããªãç§ã«ãšã£ãŠåé¡ã§ã...ç§ã®åºæ¬çã«ååšããªãgolangã®ç¥èã®æ¬¡ã«ãããã
ç§ã¯ãã¹ãŠã®è奮ãèŠãŠããããã§ãïŒç§ãè奮ããŠããŸããããã§ãªããã°ããã«åãçµãããšã¯ãããŸããïŒïŒããããããªãããããååã«éãé²æ©ããŠããªããšæãããïŒãããŒãããã¯å幎以äžçµã£ãŠããŸãïŒãç§ã¯ãã¹ãŠã®å€æŽã§PRãè¡ãããšãã§ããä»ã®èª°ããæäŒãããšãã§ããŸããïŒ
ããã«â¢ïž
ð
ããããçããããããååãªéãã§é²æ©ããŠããªããšæããå Žå
Naaah ..æ©èœãéåžžã«åªããŠããŠæ©èœããŠããå Žåãæ©èœã«ãããæéãæ°ã«ãã人ã¯ããŸããïŒ
ç§ã¯ãã¹ãŠã®å€æŽã§PRãè¡ãããšãã§ããä»ã®èª°ããæäŒãããšãã§ããŸããïŒ
IDKãå€åããªãã¯ããGHã«ããªãã®ã¬ããå
¬ã«æçš¿ããããšãã§ããŸããããããã°ä»ã®äººãããªãã®ã¬ããPRããŠãããæ©èœãããããšãã§ããŸãã
ãŸãã¯ãå
¬åŒãªããžããªã§æ°ãããã©ã³ãã®PRãéãããšãã§ããŸãããããããçç·Žããæéã®ãã人ã
ããã©ãŒã¯ããŠäœæ¥ãã代ããã«ãã©ã³ãããã¹ã¿ãŒã«ããŒãžãããã®ãåŸ
ã€PRãè¡ãããšãã§ããŸã...
@linusgããªããäžåšã®ãšãã«èª°ããããªããå©ãããããããªãPRãéã£ãŠãã ããã
ãã®æ©èœã楜ãã¿ã«ããŠããŸãã ä»ã¯å€ããªã£ãŠããŸããïŒ .....ããããšã
ããã«ããã«ãã¥ãŒã¹ã¯ãããŸããïŒ
PRãæ¯åºãããã«æåºãããããšã¯ãããŸããïŒ
ç§ã¯ããã¯æããªãã @linusg
èªåã®å€æŽãããã·ã¥ããããšã¯ãªããšæããŸãã ç§ããŸã ããããæã£ãŠãããã©ããããããããŸãã-ããããªããïŒ
æãåèã«ãªãã³ã¡ã³ã
çãããããã«å¥ã®ã¢ããããŒãã§ãã ç§ã¯ããããã®ç¶æ ã«ããããã«ç®¡çããŸããïŒ
ã¯ãªãã¯ããŠå±éïŒ
Gitea vs GitHubïŒå®éã®äŸïŒ
ïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50791201-6f7d9500-12c1-11e9-9a3d-7612c63e6b4a.pngïŒïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/ 19366641 / 50791210-7c9a8400-12c1-11e9-985c-b0dffcbfae3a.pngïŒ
æã
ïŒ[ç»å]ïŒhttps://user-images.githubusercontent.com/19366641/50791412-0cd8c900-12c2-11e9-86e7-5fb4142a5bcc.pngïŒ
詳现ïŒ
æ®ã£ãŠããåé¡ïŒ
gitea DBã«ãªãïŒãªããžããªãã€ã³ããŒãããããªã©ã®çç±ã§ïŒã³ã³ããªãã¥ãŒã¿ãŒã¯è¡šç€ºãããŸãããâãã倧ããªãªããžããªã§ã®ããã©ãŒãã³ã¹ã®åé¡ãç§ãgolangn00bã§ããã ããããããŸãããX軞ããã®AM / PMã®ãã®ã®åé€ïŒã«ã¹ã¿ã ãã©ãŒããã¿ãŒãä»ããŠç°¡åã«å®è¡ã§ããŸãïŒâãŠãŒã¶ãŒã°ã©ãã®Y軞ã¹ã±ãŒã«ãä¿®æ£ããŸãã1ã€ã®ã³ãããã¯2ã€ã®ã³ãããã®ååã®é«ãã«ããå¿ èŠããããŸãâé©åãªããŒã¯ããŒãã®ãµããŒãïŒäžèšã®CSSã¯éçºããŒã«ã§èª¿æŽãããŸããïŒâå¯èœãªæ©èœåŒ·åïŒ
å€æŽãæ¹åã®ã¢ã€ãã¢ãæè¿ããŸã-ç§ã¯ãããŸã§ã®ãšããçµäºããŠããŸãïŒ ïŒsmileïŒããããä»åŸã®ã³ãŒãã¬ãã¥ãŒãæããŠããŸãã