рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ code_swarm рдФрд░ gource рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдБрдХрдбрд╝реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХрд╛ рд╢реМрдХреАрди рд░рд╣рд╛ рд╣реВрдБред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ
Google рдкреНрд▓рд╕ рдХреЗ рд▓рд┐рдП Google рдПрдк рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдЖрдирд╛ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЙрдкрд░реНрдпреБрдХреНрдд рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдпрд╣ рд▓реЗрдЦ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ред
рдореИрдВрдиреЗ рдХреНрдпрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛?
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб
github (
рдЗрдВрд╕реНрдЯреЙрд▓рд░ ) рдкрд░ рд╣реИред
рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ
рдкрд╣рд▓реА рдмрд╛рдд рдореИрдВрдиреЗ js рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ
рд▓реЛрдЧреЛрдВ рдкрд░ рдПрдХ рдкреЗрдЬ рдмрдирд╛рдпрд╛ред рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
var request = gapiред рдЧреНрд░рд╛рд╣рдХ ред рдкреНрд▓рд╕ ред рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ ред рд╕реВрдЪреА ( {
'userId' : рдкреНрд░реЛрдлрд╛рдЗрд▓рдЖрдИрдбреА ,
'рд╕рдВрдЧреНрд░рд╣' : 'рдЬрдирддрд╛' ,
'maxResults' : NextCount ,
'рдкреЗрдЬрдЯреЛрдХрди' : рдиреЗрдХреНрд╕реНрдЯрдкреЗрдЬ
} ) ред execute ( createLog ) ;
рддрдм рдХрд╛рд░реНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдерд╛ред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ:
- fnc = filePattern [ рдУ ] ред рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ ред рдЯреНрд░рд┐рдо ( ) ;
- fnc = fncред рдмрджрд▓реЗрдВ ( / рдкреНрд░рдХрд╛рд░ / рдЬреАрдЖрдИ, "рдЯрд┐рдкреНрдкрдгреА" )
- ред рдмрджрд▓реЗрдВ ( / рдкреЛрд╕реНрдЯрдЖрдИрдбреА / рдЬреАрдЖрдИ, рдкреЛрд╕реНрдЯ рдЖрдИрдбреА )
- ред рдмрджрд▓реЗрдВ ( / рдЖрдИрдбреА / рдЬреАрдЖрдИ, рдЯрд┐рдкреНрдкрдгреАред рдЖрдИрдбреА )
- ред рдмрджрд▓реЗрдВ ( / рдкреЛрд╕реНрдЯрдПрдХреНрдЯрд░ / рд╕реИрдирд┐рдХ, рдкреЛрд╕реНрдЯред рдЕрднрд┐рдиреЗрддрд╛ )
- ред рдмрджрд▓реЗрдВ ( / рдЕрднрд┐рдиреЗрддрд╛ / рд╕реИрдирд┐рдХ, рдЯрд┐рдкреНрдкрдгреАред рдЕрднрд┐рдиреЗрддрд╛ ред рдЖрдИрдбреА )
- ред рдмрджрд▓реЗрдВ ( / рдкреЛрд╕реНрдЯрдбреЗрдЯ / рдЬреАрдЖрдИ, рдкреЛрд╕реНрдЯ рдХреА рддрд╛рд░реАрдЦ )
- ред рдмрджрд▓реЗрдВ ( / рддрд╛рд░реАрдЦ / рдЬреАрдЖрдИ, рддрд╛рд░реАрдЦ )
- ред рдмрджрд▓реЗрдВ ( / рд╢реЗрдпрд░рдкрде / рдЬреАрдЖрдИ, fns )
- ред рдмрджрд▓реЗрдВ ( / рдкреЛрд╕реНрдЯрдлрд┐рд▓рдиреЗрдо / рдЬреАрдЖрдИ, рдПрдлрдПрди )
- ред рдмрджрд▓реЗрдВ ( //// gi, '/');
рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐, рдирд┐рд░реНрдорд╛рдг: рдкрдж, рдЯрд┐рдкреНрдкрдгреА, рдкреБрдирд░реНрд╡рд╕рди, рдкреНрд▓рд╕рд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рдиред рд▓реЙрдЧ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдЗрд╕ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреА рдУрд░ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИред
рдЗрд╕ рдкреГрд╖реНрда рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
Gource
- рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
- Google рдкреНрд▓рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдордзреБрдордХреНрдЦреА рд╣реИрдВред
- рдЕрдВрдХ (рдкреЛрд╕реНрдЯ, рдЯрд┐рдкреНрдкрдгреА, рдЖрджрд┐) - рдордзреБрдХреЛрд╢ рддрддреНрд╡, рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдХреЗ рдмрд┐рдВрджреБред
- рдмрд┐рдВрджреБ рдкреНрд░рдХрд╛рд░
- рдкрдиреНрдирд╛ - рдкрдж
- рд╣рд░рд╛ - рдЯрд┐рдкреНрдкрдгреА
- рдиреАрд▓рд╛ - рдкреНрд▓рд╕
- рд╣рд▓реНрдХрд╛ рд╣рд░рд╛ - рд░реЗрдкреЛрд╕реНрдЯ
- рдФрд░ рдЗрд╕реА рддрд░рд╣
- рдХрд┐рд░рдгреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░
- рд╣рд░рд╛ - рдЖрдЗрдЯрдо рдирд┐рд░реНрдорд╛рдг
- рдирд╛рд░рдВрдЧреА - рдЯрд┐рдкреНрдкрдгреА, рдкреНрд▓рд╕, рд░реЗрдкреЛрд╕реНрдЯ
- рдордзреБрдордХреНрдЦрд┐рдпрд╛рдВ рдПрдХ рдЫрддреНрддреЗ (рдХреБрдПрдВ, рдпрд╛ рдПрдХ рдЕрдгреБ) рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрддреА рд╣реИрдВред
- рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ, рдиреАрдЪреЗ рд╕реЗ, рдФрд░ рдлрд┐рд░ рдмрд╛рдИрдВ рдУрд░, рдпреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдореБрдЦреНрдп рдкрдж рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдереАред
- рджрд╛рдИрдВ рдУрд░ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджреВрд╕рд░реЛрдВ рд╕реЗ рдмрдирд╛рдП рдЧрдП рд░рд┐рдкреЙрд╕реНрдЯ рд╣реИрдВ, рдЙрдирдХреА рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдФрд░ рдлрд╛рдпрджреЗ рд╣реИрдВред
Code_swarm
- рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
- Kroogi - Google рдкреНрд▓рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
- рд▓рд╛рдЗрдЯреНрд╕ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ (рдкреЛрд╕реНрдЯ, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рдкреНрд▓рд╕ рдФрд░ рдЕрдзрд┐рдХ рдмрдирд╛рдирд╛)
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдзрдХреНрдХрд╛
- рд░реЛрд╢рдиреА рд╕реЗ рд░реЛрд╢рдиреА рдмрд┐рдЦрд░ рдЬрд╛рддреА рд╣реИ
- рд░реЛрд╢рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреА рд╣реИ, рдЬреЛ рдЙрд╕ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддрд╛ рд╣реИред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╣реА рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЙрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдИрдбреА рд╕реЗ рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд░реЛрд╢рдиреА рдХреЗ рд╕рдореВрд╣ рднреА рд╣реИрдВред рдпрд╣ рдЗрд╕ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реИрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рднреА рдирдИ рдШрдЯрдирд╛рдПрдВ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ C # рдореЗрдВ рдПрдХ рдЖрд╡реЗрджрди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЕрдм рд╕реА #
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ
рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред рдпрд╣рд╛рдБ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ:
- [ STAThread ]
- рд╕реНрдерд┐рд░ рд╢реВрдиреНрдп рдореБрдЦреНрдп ( рд╕реНрдЯреНрд░рд┐рдВрдЧ [ ] args )
- {
- // рд╣реИрдбрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдФрд░ рдирдореВрдиреЗ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
- рдкрд╛рд░реНрдЯрд┐рд╢рди рдореМрдЬреВрджред EnableExceptionHandling ( ) ;
- рдкрд╛рд░реНрдЯрд┐рд╢рди рдореМрдЬреВрджред DisplayGoogleSampleHeader ( "рдкреНрд▓рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐" ) ;
- // рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдБред
- var рд╕реЗрд╡рд╛ = new PlusService ( ) ;
- RunSample ( рд╕реЗрд╡рд╛ ) ;
- рдкрд╛рд░реНрдЯрд┐рд╢рди рдореМрдЬреВрджред PressAnyKeyToExit ( ) ;
- }
- рдирд┐рдЬреА рд╕реНрдереИрддрд┐рдХ рд╢реВрдиреНрдп RunSample ( рдкреНрд▓рд╕ рд╕реЗрд╡рд╛ )
- {
- // рдЕрдиреБрд░реЛрдз рдЪрд▓рд╛рдПрдБред
- рдкрд╛рд░реНрдЯрд┐рд╢рди рдореМрдЬреВрджред WriteAction ( "рдирд┐рд╖реНрдкрд╛рджрди рд╕реВрдЪреА-рдЕрдиреБрд░реЛрдз ..." ) ;
- var рдкрд░рд┐рдгрд╛рдо = рд╕реЗрд╡рд╛ред рдХреНрд░рд┐рдпрд╛рдПрдБред рд╕реВрдЪреА ( "рдореЗрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдЖрдИрдбреА" , Googleред рдПрдкрд┐рд╕ рдкреНрд▓рд╕ ред V1 ред рдХреНрд░рд┐рдпрд╛рдПрдБResource ред рд╕рдВрдЧреНрд░рд╣ ред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ) ред рд▓рд╛рдпреЗрдВ ( ) ;
- // рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
- рдпрджрд┐ ( рдкрд░рд┐рдгрд╛рдоред рдЖрдЗрдЯрдо ! = рдЕрд╢рдХреНрдд )
- {
- foreach ( рдкрд░рд┐рдгрд╛рдо рдореЗрдВ var рдЖрдЗрдЯрдоред рдЖрдЗрдЯрдо )
- {
- рдкрд╛рд░реНрдЯрд┐рд╢рди рдореМрдЬреВрджред WriteResult ( рдЖрдЗрдЯрдоред рдЖрдИрдбреА , itmeред рдЕрднрд┐рдиреЗрддрд╛ ред DisplayName ) ;
- }
- }
- }
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ Google рдкреНрд▓рд╕ рдПрдкрд┐рд╕ рдпрд╛ рд╕рдВрдХрд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ,
рдЗрд╕ рдЧрд╛рдЗрдб рд╕реЗ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЧрд┐рдЯрд╣рдм рдкрд░ рдЖрд╡реЗрджрди рдХреЗ рд╕реНрд░реЛрддред
рдпрд╣рд╛рдБ рдирд┐рд░реНрд╡рд╛рд╕рдиCode_swarm рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЬрдирд░реЗрд╢рди рдмрджрд▓реЗрдВ
рдЪреВрдВрдХрд┐ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдВрдХреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛ рдкреЛрд╕реНрдЯ (рдЗрд╕рдХреА рдЖрдИрдбреА) рд╣реЛрдЧреА рдФрд░ рд╕рднреА рдЧрддрд┐рд╡рд┐рдзрд┐ (рдлрд╝рд╛рдЗрд▓ рдирд╛рдо) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рдПрдЧреАред рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рдЧрддрд┐рд╡рд┐рдзрд┐ (рдЯрд┐рдкреНрдкрдгреА, рдкреБрдирд░реНрд╡рд╕рди, рдкреНрд▓рд╕, рдЖрджрд┐) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЭреБрдВрдбреЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдХрд┐ рдХреМрди рдФрд░ рдХреИрд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реИред рд╣рд╛рдВ, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ:

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рджреГрд╢реНрдп рдкрд░рд┐рдгрд╛рдо
Code_swarm
- рд╕рд░реНрдХрд▓ рдореЗрдВ рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ (рдпрд╛ рд╕рд░реНрдХрд▓ рдХрд╛ рдХреЗрдВрджреНрд░) рдкреЛрд╕реНрдЯ рд╣реИред
- рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рдбреЙрдЯреНрд╕ - рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рдкреНрд▓рд╕рд╕, рд░реЗрд╕рд░реНрд╕ред
рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдмрд┐рдВрджреБ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╣реИрдВ рдФрд░ рдкреЛрд╕реНрдЯ рд╕реЗ рдкреЛрд╕реНрдЯ рддрдХ рдЙрдбрд╝рддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред
Gource
- рдмрдХрд╛рдЗрди рдбреЙрдЯреНрд╕ - рд░реЗрд╕рд╣рд░ред
- рд╣рд▓реНрдХреЗ рд╣рд░реЗ рд░рдВрдЧ рдХреА рдбреЙрдЯреНрд╕ - рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред
- рдлрд╝рд┐рд░реЛрдЬрд╝рд╛ рдбреЙрдЯреНрд╕ рдкреНрд▓рд╕рд╕ рд╣реИрдВред
- рддреАрди рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдмрд┐рдВрджреБ рдкрдж рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рддрдХрдиреАрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░реЗрд░рдгрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рджреГрд╢реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╣реБрдд рдЙрддреНрддреЗрдЬрдХ рд╣реИред
Google Analytics рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдЖрдБрдХрдбрд╝реЛрдВ рдХрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдиреЗ рдХреА рднреА рдпреЛрдЬрдирд╛ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рднреА рдШрдЯрдирд╛рдХреНрд░рдо рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ api last.fm рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред
рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред
UPD: рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,
рд▓реЙрдЧрд╕реНрдЯреИрд▓реНрдЬрд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЬрдирд░реЗрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдпрд╣рд╛рдБ рджреГрд╢реНрдп рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ: