ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ github
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub?
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ «ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ·ΡΠΊΠ°», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π§Π°ΡΡΠΎ Ρ Ρ ΠΎΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅. 500 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, 100 000 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ/ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΠΎΠΏΡΠΎΡ » ΠΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git » ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git, Π½ΠΎ:
Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ «Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°».
ΠΠ’ΠΠΠ’Π«
ΠΡΠ²Π΅Ρ 1
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, cloc-git
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Installation
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΎ Π΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ URL, ΠΊΠΎΡΠΎΡΡΠΉ git clone ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ https://github.com/evalEmpire/perl5i.git (HTTPS) ΠΈΠ»ΠΈ [email protected]:evalEmpire/perl5i.git (SSH). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ URL Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° GitHub, Π½Π°ΠΆΠ°Π² «ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ».
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠΈΠ½Π³Π²ΠΈΡΡ
ΠΡΠ²Π΅Ρ 2
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ β
ΠΡΠ²Π΅Ρ 3
ΠΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ·:

ΠΡΠ²Π΅Ρ 4
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²/Π²ΠΊΠ»Π°Π΄ΡΠΈΠΊΠΎΠ², Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ΅ΠΏΠΎ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΡΠ»ΠΈ Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ, Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΠ· ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΏΠΎ. (EDIT: ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Ρ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ». ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ orbitbot Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.)
ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² GitHub API. ΠΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π±ΡΡΡΡΡΠΉ script Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΡΡΠ΅ΡΠ°:
ΠΡΠ²Π΅Ρ 5
Π₯ΠΎΡΡ Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ ΡΡΠΎ Ρ ΡΠΎΠ»ΡΡ, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ YAML ΠΈ JSON, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, Π½ΠΎ API Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ.
ΠΡΠ²Π΅Ρ 6
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Github.com ΠΈΠ»ΠΈ ΠΈΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ» Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ», ΡΡΠΎ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° github.com. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΠΈΡΡΠ±Π°, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ.
ΠΡΠ²Π΅Ρ 7
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API GitHub, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ sloc ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
ΠΠΈΡΠ½ΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ SLOC ΠΊΠ°ΠΊ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² github, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ api.
ΠΡΠ²Π΅Ρ 8
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Firefox Github SLOC
Π― Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°Π΄Π΄ΠΎΠ½ firefox, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° github: Github SLOC
ΠΡΠ²Π΅Ρ 9
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: «ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π§ΠΠ‘ΠΠ ΠΠΠΠΠ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ github», ΠΎΡΠ²Π΅Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΡΠ²Π΅ΡΠ°ΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² «ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ SCALE ΠΏΡΠΎΠ΅ΠΊΡΠ°», Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π³Π»ΡΠ΄Ρ Π½Π° Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π΅Π»ΡΡΠ° ΠΈΠ· Π²ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅Π»ΠΈΠΊ ΠΏΡΠΎΠ΅ΠΊΡ «Π΄ΠΎΠΊΠ΅Ρ»?
Π Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ api.github.com/repos/ORG_NAME/PROJECT_NAME ΡΠΎ Π΅ΡΡΡ api.github.com/repos/docker/docker
Π Ρ ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π°ΡΡΠΈΠ±ΡΡ size:
ΠΡΠ²Π΅Ρ 10
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ
ΠΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git
ΠΠ°ΠΊ Π±Ρ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»Π°Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git?
git ls-files Π΄Π°Π΅Ρ ΠΌΠ½Π΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ git.
Π― ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ cat Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π§ΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
xargs Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅:
ΠΠΎ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ:
ΠΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΡΡΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°. Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΡΠ»Π° Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ:
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΡΠΎΡ ΡΡΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅ΡΡΡ Π²ΡΠ²ΠΎΠ΄ CLOC (Β«ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°Β»), ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΠ°Π·Π±ΠΈΠ²ΠΊΡ Π·Π½Π°ΡΠΈΠΌΡΡ ΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΠ·ΡΠΊΡ.
ΠΡΠ²Π΅ΡΠ°Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΈΠ»ΠΈΡΠ° wc Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Ρ Β«totalΒ»? Π― Π½Π°ΡΠ΅Π» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄:
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Linux ΠΈ OS X. ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² Windows.
ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ, Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊ,
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠ°ΡΠΎΠ² 1.68:
ΠΠΎΡ ΡΡΠΎ Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ:
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Π²ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΌΠΈ Π²Π°Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ Ρ. Π., ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠ»ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π° github https://github.com/flosse/sloc ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ / ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΅ΡΡΡ Π΄Π²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Github?
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Github Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Β«ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ·ΡΠΊΠ°Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π§Π°ΡΡΠΎ Ρ Ρ ΠΎΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅. 500 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, 100 000 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ / ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Github, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π· ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ( ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git ) ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git, Π½ΠΎ:
Π ΡΠ΅Π»ΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Β«Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°Β».
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, cloc-git
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ½ΡΠ°ΠΆ
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΡΡΠ½ΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
Π»ΠΈΠ½Π³Π²ΠΈΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ² / Π²ΠΊΠ»Π°Π΄ΡΠΈΠΊΠΎΠ², Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ΅ΠΏΠΎ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΡΠ»ΠΈ Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΏΡΡΡΠΈΠ», Π²ΡΡΠΈΡΠ°Ρ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΠ· ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΏΠΎ. (Π ΠΠΠΠΠ’ΠΠ Π: ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Ρ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ». ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ orbitbot Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.)
ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² API GitHub. ΠΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» Π±ΡΡΡΡΡΠΉ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΡΡΠ΅ΡΠ°:

Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Github.com ΠΈΠ»ΠΈ ΠΈΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ» Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ», ΡΡΠΎ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° github.com. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΠΈΡΡΠ±Π°, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ.
ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, ΠΎΡΠ²Π΅Ρ Π ΠΎΡΠΈ Π’ΠΠ΅ΠΉΠ½Π° β Π±Π»Π΅ΡΡΡΡΠ°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° cloc ΠΈ Π½Π΅Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΠΊΠ»ΠΎΠ½ repo.
Π₯ΠΎΡΡ Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ ΡΡΠΎ Ρ ΡΠΎΠ»ΡΡ, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ YAML ΠΈ JSON, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΏΡΠΈΠ·Π½Π°Π΅Ρ, Π½ΠΎ API Π½Π΅Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ GitHub, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ sloc ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
ΠΠΈΡΠ½ΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ SLOC ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² github, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ api.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Firefox GITUB SLOC
Π― Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°Π΄Π΄ΠΎΠ½ Firefox, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° github: Github SLOC
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π§ΠΠ‘ΠΠ ΠΠΠΠΠ Π ΠΠΠ£ΠΠΠ ΠΠΠΠΠΠ― githubΒ», ΠΎΡΠ²Π΅Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΡΠ²Π΅ΡΠ°ΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ SCALE ΠΏΡΠΎΠ΅ΠΊΡΠ°Β», Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π³Π»ΡΠ΄Ρ Π½Π° Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π΅Π»ΡΡΠ° ΠΈΠ· Π²ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΎΠΊ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Β«Π΄ΠΎΠΊΠ΅ΡΒ»?
Π ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ api.github.com/repos/ORG_NAME/PROJECT_NAME, Ρ.Π΅. api.github.com/repos/docker/docker
Π Ρ ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π°ΡΡΠΈΠ±ΡΡ size:
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub?
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ «ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ·ΡΠΊΠ°», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π§Π°ΡΡΠΎ Ρ Ρ ΠΎΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅. 500 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, 100 000 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ/ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ°ΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
Π Π²ΠΎΠΏΡΠΎΡΠ΅ » ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git » ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git, Π½ΠΎ:
Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ «Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°».
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, cloc-git
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Installation
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Shell, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠΈΠ½Π³Π²ΠΈΡΡ
ΠΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ·:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ β
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ²/ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ΅ΠΏΠΎ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ.
ΠΡΠ»ΠΈ Ρ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΏΡΡΡΠΈΠ», Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ ΠΈΠ· ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΏΠΎ. (Π ΠΠΠΠΠ’ΠΠ ΠΠΠΠ’Π¬: ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ» Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ². ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ orbitbot Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.)
ΠΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Chrome DevTools, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ «ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ».
ΠΡΠΊΠ°Π· ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ (ΡΠΏΠ°ΡΠΈΠ±ΠΎ lovasoa ):
ΠΠΎΠ·ΡΠΌΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΡΠ°ΡΡΠΈΡΠΊΠΎΠΉ ΡΠΎΠ»ΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (sorich87/bootstrap-tour) ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌΠΈ ΠΈΠ· API GitHub.
ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π°Π΄Π΅ΠΆΠ΅Π½. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ orbitbot Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Github.com ΠΈΠ»ΠΈ ΠΈΡ API
Π― ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ» ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ», ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° github.com. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Github, ΡΠ°ΠΊ ΡΡΠΎ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GitHub API Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ sloc, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠΈΡΠ½ΠΎ Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ chrome, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ SLOC ΠΊΠ°ΠΊ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² github, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉ Π»ΠΈΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ API.
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Firefox Github SLOC
Π― Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π°Π΄Π΄ΠΎΠ½ Firefox, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° github: Github SLOC
ΠΡΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡ «ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ ΠΠΠΠΠ Π ΠΠΠ GitHub», ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Ρ .
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ «ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π± ΠΏΡΠΎΠ΅ΠΊΡΠ°», Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π³Π»ΡΠ΄Ρ Π½Π° Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π΅Π»ΡΡΡ ΠΎΡ Π²ΡΠ΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΎΠΊ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅Π»ΠΈΠΊ ΠΏΡΠΎΠ΅ΠΊΡ «Π΄ΠΎΠΊΠ΅Ρ»?
Π ΡΠ²ΠΎΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ api.github.com/repos/ORG_NAME/PROJECT_NAME, Ρ.Π΅. api.github.com/repos/docker/docker
Π Ρ ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π°ΡΡΠΈΠ±ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°:
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub?
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GitHub Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ βΡΠ·ΡΠΊΠΎΠ²ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. Π§Π°ΡΡΠΎ Ρ Ρ ΠΎΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±Π΅ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅. 500 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, 100 000 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ / ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠ°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ GitHub, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π· Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΠΎΠΏΡΠΎΡ » ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ git β Π·Π°Π΄Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git, Π½ΠΎ:
Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎ Π΄Π»Ρ βquickly checking the scale of a projectβ.
14 ΠΎΡΠ²Π΅ΡΠΎΠ²
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Github API V3, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΈΠ»ΠΎΠΊ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ: GET /repos/:owner/:repo/forks ΠΠ°ΠΏΡΠΎΡ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΠΌΠ½Π΅ ΡΠΎΠ»ΡΠΊΠΎ 30 ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠ΅, Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ» ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ API Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 30 ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ shell, cloc-git
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ shell Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΡΠΆΠ΄Π°ΡΡ ΡΠ΅Π±Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡΠ° shell, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠΈΠ½Π³Π²ΠΈΡΡ
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» Ρ ΠΈΠ³ΡΠ°ΡΡ Π²ΠΎΠΊΡΡΠ³ Ρ API Github, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π» Octokit ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ README, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅



