рд╣рд╛рдмрд░рд╛ рдХрд╛ рдХрд░реНрдо рд╢рд╛рдк

рдкреВрд░реА рдмрд╛рдд


рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо


"рд╣рдмрд░ рдХрд░реНрдо рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡" рдХрдо рд╕реЗ рдХрдо рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИ
"рдкрд┐рдХрд╛рдмрд╛" рдкрд░ рдХрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереАрдо

рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣реИрдмрд░ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЯреАрдХ рдХрдерди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╕рд╣реА рдереАрд╕рд┐рд╕ рд╣реЛрдЧреА: "рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣реИрдмрд░ рдХреЗ рд▓реЗрдЦ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ" - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рдереА рдХрд┐ рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕ рд╡рд╕рдВрдд рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рддрдХрдиреАрдХ рдХреА рджреБрдирд┐рдпрд╛ рдХреА рджрд┐рд▓рдЪрд╕реНрдк рдЦрдмрд░реЛрдВ рдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдЦрдмрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЪ рдЗрдВрдЬрди рд╕реЗ рд╣реИрдмрд░ рдЖрддрд╛ рд╣реИред рдЬрдм рддрдХ рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕ рд╕реЗ рдкреЛрд░реНрдЯрд▓ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖, рдЖрдк рд╣реБрдб рдХреЗ рддрд╣рдд рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдкреВрдЫрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдХрд░реНрдо рдХреЗ рдлрд┐рд╕рд▓рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдХрд░реНрдо рд▓рдЧрднрдЧ рд╕рднреА рдкреНрд░рдореБрдЦ рдкреЛрд░реНрдЯрд▓реЛрдВ рдкрд░ рд╣реИ (рдореИрдВ рднреЛрд▓реЗрдкрди рд╕реЗ рд╕реЛрдЪрд╛), рдпрд╣ рдСрдирд▓рд╛рдЗрди рд╕рдореБрджрд╛рдпреЛрдВ рдХреЗ рд╕реНрд╡-рд╡рд┐рдирд┐рдпрдорди рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИред

рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдореЗрдВ рдЕрдЪрд╛рдирдХ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЦреЛ рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕реЛрдЪрдирд╛ рдкрдбрд╝рд╛ред

рдЙрд╕реА рд╕рдордп, рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛: рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣рдореЗрд╢рд╛ рдЫрд┐рджреНрд░рдг рдереАрдВ, рдореЗрд░реА рд░реЗрдЯрд┐рдВрдЧ рдмрдврд╝ рд░рд╣реА рдереА - рдФрд░ рдЕрдЪрд╛рдирдХ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдирдХрд╛рд░рд╛рддреНрдордХ рдХрд░реНрдо рдереЗред рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рдВрдЪрд╛рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рднреА рдЖрджрддреЛрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рдореЗрд░реЗ рдкреВрд░реЗ рд▓рдВрдмреЗ рдЕрдиреБрднрд╡ рдиреЗ рдореБрдЭреЗ рдЪрд┐рд▓реНрд▓рд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЧрд▓рддреА рдереА: рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдиреБрдореЛрджрди рд╕рдВрдХреЗрддрдХ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдЙрда рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЧрд┐рд░ рд╕рдХрддрд╛ рд╣реИ! рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрдВрдзреЗ рдХреЛ рдХрд╛рдЯ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрдиреБрд╕рдВрдзрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ (рдХрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд░рд╛рдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп (рдЦрд╛рддрд╛ рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ)ред

рдХрд░реНрдо рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреБрджреНрдз рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдмрд╣реБрдд рд╕рдореГрджреНрдз рдирд┐рдХрд▓рд╛ред рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рдЕрд╡рд░реБрджреНрдз рдкреАрдбрд╝рд┐рдд рдФрд░ рдХрдИ рд╣рдЯрд╛рдП рдЧрдП рд▓реЗрдЦ рд╣реИрдВред рдФрд░, рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ (рдЧреНрд░реЗрдб рдФрд░ рдХрд░реНрдо рдХреЗ рдмреАрдЪ рд╡рд┐рд╕рдВрдЧрддрд┐) рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рддрд░реНрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ - рдЦреБрд▓реЗ рдПрдкреАрдЖрдИ рдХреЗ рджреМрд░рд╛рди рднреА, рдЗрди рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рднреА рдХреЗ рдХрд░реАрдм, рдХреЗрд╡рд▓ рдПрдХ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░ рдХреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛:
"рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ: рдХреНрдпрд╛ рд▓реЛрдЧ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдзрди рдХреЗ рд╕рд╛рде рдХрд░реНрдо-рджрд┐рдорд╛рдЧ рд░рдЦрддреЗ рд╣реИрдВ?"
https://habr.com/ru/company/habr/blog/437072/#comment_19650144

рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рднрд╛рдЧ рдореЗрдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рд╛рдБ, рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдмрд┐рдирд╛ рднреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдордЭрд╛ред

рдпрд╣рд╛рдБ рдПрдХ рджрд╢рдХ рдкрд╣рд▓реЗ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реИ:
рд╣рдм рдкрд░ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдЬреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд░реНрдо рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдбрд╛рд▓рддреЗ рд╣реИрдВ: "рдЖрд╣, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд░рд╛рдп рд╣реИ рдЬреЛ рдЦрд╛рди рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдпрд╣рд╛рдБ рдХрд░реНрдо рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рд╣реИред" рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рддрд░реНрдХрдкреВрд░реНрдг рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд┐рдкрд░реАрдд рд╡рд┐рдкрд░реАрдд рд╕реНрдерд┐рддрд┐ рднреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╢реВрдиреНрдп рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдЦрдХ рдХреЗ рдХрд░реНрдо рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдмреЗрд░рд╛ рдкрд░ рддрд░реНрдХрдкреВрд░реНрдг рд╡рд┐рд╡рд╛рджреЛрдВ рдХреА рдХреЛрдИ рд╕рдВрд╕реНрдХреГрддрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдХ рдордЬрдмреВрдд рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рд▓рд┐рдП рд╕рдореНрдорд╛рди рд╣реИ, рдХрдИ рд▓реЛрдЧ рд╕рд┐рд░реНрдл рдЕрдкрдиреА рдЯреЛрдкреА рдлреЗрдВрдХрддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд░рд╛рдп рд╣реИ рдХрд┐ рд░реЗрдЯрд┐рдВрдЧ рдХреЛ рджреЛ рдХрд╛рдЙрдВрдЯрд░реЛрдВ "рд░реЗрдЯрд┐рдВрдЧ" рдФрд░ "рдХрд░реНрдо" рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдФрд░ рдЗрд╕рд▓рд┐рдП рдЧрд▓рдд рдФрд░ рдЕрдХреНрд╖рдо рд╣реИред
https://habr.com/ru/post/92426/#comment_2800908

рдпрд╣рд╛рдВ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣реИ:
рдХреЗрд╡рд▓ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдХрд░реНрдо рдХреЛ рдХрдо рд╕реЗ рдХрдо 15 рдЗрдХрд╛рдЗрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╕реНрд╡реАрд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, 30% рд╕реЗ 70% рдХрд╛ рдЕрдиреБрдкрд╛рддред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░, рдХрд░реНрдореЛрдВ рдХреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
https://habr.com/ru/post/192376/

рдпрд╣рд╛рдВ рддреАрди рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдкреНрд░рд╕реНрддрд╛рд╡:
рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдкреНрддрд╛рд╣) рдореЗрдВ рдХрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред рдпрджрд┐ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХреБрдЫ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдХрд░реНрдо рдХреЛ рд▓реАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдпрдо рдХреЛ рдХреЗрд╡рд▓ рд░реАрдб рдЦрд╛рддреЛрдВ рддрдХ рдирд╣реАрдВ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╡реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░реНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдЯрд┐рдкреНрдкрдгреА:
рдмрд╣реБрдд рдмрд╛рд░, Habr рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░реНрдо рдирд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ 2012 рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡реЛрдЬ рдФрд░ рдЕрдм рд╡рд╣рд╛рдБред
https://github.com/limonte/dear-habr/issues/49

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╡рд┐рд╖рдп рдкрд░ рддреАрди рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ рдФрд░ рд╕рдВрд╡рд╛рдж рд╣реИ:
DrMetallius
рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ (рдореИрдВ рдЗрд╕реЗ рдЕрдкрд╡рд╛рдж рдмрдирд╛рдКрдВрдЧрд╛): рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд░реНрдо рдЕрд░реНрдЬрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рд▓реЗрдЦ рд▓рдЧрд╛рддрд╛рд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЦреЛрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдореИрдВ рд╡рд┐рд╡рд╛рдж рдореЗрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рдерд╛, рдореИрдВрдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХреБрдЫ рддрдереНрдп рдЧрд▓рдд рдереЗ, рдпрд╛ рдмрд╕ рдпрд╣ рдХрд┐ рд╡рд╣ рдмреБрд░реЗ рдореВрдб рдореЗрдВ рдерд╛ред

maxshopen
рдЬреА рд╣рд╛рдВ, рдпрд╣ рд╣реИрдмреНрд░рд╛рд╕рд┐рд╕реНрдЯрдо рдХреА рдПрдХ рдкреНрд░рд╛рдЪреАрди рдмреАрдорд╛рд░реА рд╣реИред рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХрд░реНрдо рд╣реИрдВ рд╡реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ рдФрд░ рдмрд╕ рдХрд┐рд╕реА рдХреЛ рдЛрдг рдирд╣реАрдВ рджреЗрдВрдЧреЗред рдЬрдм рд╕рдм рдХреБрдЫ рдФрд░ рднреА рдмрджрддрд░ рдерд╛ - рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдХрд░реНрдо, рдЙрддрдирд╛ рдмрдбрд╝рд╛ рдЛрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣ рд╢рд░реНрдд рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рддрд╛рд░рд╛рдВрдХрд┐рдд" рд╣реИрдмрд░рд╕рд░реНрд╕ рдХреЗ рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдмрд╛рдИрдВ рдУрд░ рдФрд░ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд╣реИ, рдЬрд┐рд╕реЗ -6, -8 рдорд┐рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдПрдХ рдореЗрдВ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд░реНрдо рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рд╢реБрд░реВ рдореЗрдВ рдЧреБрдордирд╛рдореА рдХреА рд╡реНрдпрд╛рдкрдХрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ рдХрд┐ рдЬрдм рдХрд┐рд╕реА рдХреЛ рд╡реЛрдЯ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХрд░реНрдо рд╕реЗ рдЗрд╕рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд╛рд╢рд┐ рдбреЗрдмрд┐рдЯ рд╣реЛрддреА рд╣реИред рдмрд╣реБрдд рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ - 0.2-0.5 рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЗрд╕рд╕реЗ рдорддрджрд╛рддрд╛рдУрдВ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рдмрд╣реБрдд рдмрдврд╝ рдЬрд╛рдПрдЧреА рдЬрдм рдХрд┐рд╕реА рдХреЛ рд╡реЛрдЯ рджреЗрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
https://habr.com/ru/post/276383/#comment_8761911

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рд╡рд░реНрд╖ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгреА:
рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рдЖрддреНрдо-рдирд┐рдпрдорди рдХреЗ рд▓рд┐рдП рдХрд░реНрдо рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдПрдХ рд╡реНрдпрдХреНрддрд┐ (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐) рд╕реЗ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ, рд╡реЗ рдЕрдХреНрд╕рд░ рдХрд░реНрдо рдореЗрдВ рдЖрдХрд▓рди рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реИ рдХрд┐ рдХрд░реНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╡рд┐рд▓рдп рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪрддрд╛ рд╣реИ - рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рд░рд╛рдп рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рд╡реЗ рдХрд░реНрдо рдХреЛ рдорд░реНрдЬ рдФрд░ рдорд░реНрдЬ рдХрд░ рджреЗрдВрдЧреЗ, рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рд░рд╛рдп рдмрдиреА рд╣реБрдИ рд╣реИ, рдФрд░ рд╕рднреА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рднреАрдбрд╝ рд╣реИред
https://habr.com/ru/company/habr/blog/437072/#comment_19647340

рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ "рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░реНрдо рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдЪрд╛рддрд╛ рд╣реИ:
рд▓реЗрдЦ рдХрд░реНрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЕрд╕рдлрд▓ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рдХрд░реНрдо рдХреЗ рдЕрд▓рдЧрд╛рд╡ рдХреА рд╣реИред рд╕рд┐рд░ рдореЗрдВ, рд▓реЛрдЧ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
1. рд╕рд╛рдордЧреНрд░реА рд░реЗрдЯрд┐рдВрдЧ рд▓реЗрдЦ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред
2. рдХрд░реНрдо рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкреНрд░рддрд┐ рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ
рдЕрдВрдд рдореЗрдВ
1. рдпрджрд┐ рдЖрдкрдиреЗ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЖрдкрдХреЛ рд▓реЗрдЦ рдореЗрдВ (рд░реЗрдЯрд┐рдВрдЧ рдореЗрдВ) рдмрд╣реБрдд рд╕рд╛рд░реЗ рдлрд╛рдпрджреЗ рджреЗрдВрдЧреЗ рдФрд░ рдЕрдкрдиреЗ рдорд┐рд╢рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
2. рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреА рд╣реИ рдХрд┐ "рдзрд╛рд░рд╛ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ", рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЬрд┐рд╕реЗ рдЖрдк рд╢рд╛рдпрдж рдРрд╕рд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЖрдк рдФрд░ рдХрд░реНрдоред
https://habr.com/ru/company/habr/blog/437072/#comment_19649262


рдХрд░реНрдо рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЕрд╕рдВрддреБрд╖реНрдЯ рдХрдИ рд▓реЛрдЧ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдЦреБрдж рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреНрд░рд╢рд╛рд╕рди рдХреА рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдиреАрддрд┐ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдпрд╛ рдЗрд╕рдореЗрдВ ред рдмреЗрд╢рдХ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдмреВрдд рд╣реИрдВ:
  • рдПрдкреАрдЖрдИ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рддрд╛рдХрд┐ рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рд╕рдВрднрд╡ рди рд╣реЛ;
  • рд╣рдордиреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд░реЗрдЯрд┐рдВрдЧ рдмрдирд╛рдИ рддрд╛рдХрд┐ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реАрдзреЗ рдХреБрд▓ рд░реЗрдЯрд┐рдВрдЧ рдХреЛ рджреЗрдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ;
  • рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ "рдХрд░реНрдореЛрдЧреНрд░рд╛рдл" рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ minuses рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд▓рд╕ рд╣реИрдВ (рдХрд░реНрдо рдФрд░ рд░реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдкрд╛рдд рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ);
  • рдмрд╣реБрдд рд╕рд╛рд░реЗ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд░реНрдо рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ (рдЬреЛ рдЖрдБрдХрдбрд╝реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдВрдХреЗрддрдХреЛрдВ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рднреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╣реАрдВ рднреА рдФрд░ рдХрднреА рднреА рдХрд░реНрдо рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдФрдЪрд┐рддреНрдп рдХреЛ рдЙрд╕ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдореМрдЬреВрдж рд╣реИред

рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрди рд╖рдбреНрдпрдВрддреНрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдЙрдирдореЗрдВ рдирд╣реАрдВ рд╣реИ - рдЬреЛ рд▓реЛрдЧ рдХрд░реНрдо-рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВ рдЙрдирдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдЙрдирдХреА рдзрд╛рд░реНрдорд┐рдХрддрд╛ рдореЗрдВ рдПрдХ рдЕрднреЗрджреНрдп рд╡рд┐рд╢реНрд╡рд╛рд╕, рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рдЬреЛ рдЖрдкрд╕реЗ рдЕрд╕рд╣рдордд рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ "рдмреБрд░рд╛ рд╡реНрдпрдХреНрддрд┐" рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╣реЗрдмрд░ рдХреЗ рдиреЗрддрд╛рдУрдВ рдиреЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ - рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЙрдиреНрд╣реЗрдВ рджрд╕ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдирд╣реАрдВ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд░реИрдВрдХрд┐рдВрдЧ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдЧрд▓рдд рддрд░реАрдХрд╛ рд╣реИред рд╡реЗ рд╕реНрдорд╛рд░реНрдЯ рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдкреВрд░рд╛ рдкреЛрд░реНрдЯрд▓ рдмрдирд╛рдпрд╛ рд╣реИред рддреЛ рдЖрдк рдЕрдкрдирд╛ рд╣реИрдмрд░ рдмрдирд╛рддреЗ рд╣реИрдВ - рдФрд░ рдлрд┐рд░ рд╣рдо рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ (рд╡реИрд╕реЗ, рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ рд╣реИ рдХрд┐ рд╕рдЪрдореБрдЪ рдРрд╕реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд░реНрдо рдХреЗ рд░рдХреНрд╖рдХ рдореЗрд░реЗ рд▓рд┐рдП рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ , "рдкрд╣рд▓реЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ")

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдо рдпреЛрдЬрдирд╛ рдЦреБрдж рд▓реЗрдкрд░рд╛ рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдИ рдереА, рдЬрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрдбрд╝реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреЛрд░реНрдЯрд▓реНрд╕ рдХреЗ рд╡рд░реНрддрдорд╛рди рдорд╛рд▓рд┐рдХ рдПрдХ рд╕рдордп рдореЗрдВ рдмрд╛рд╣рд░ рдШреВрдо рд░рд╣реЗ рдереЗред рд╣реЗрдмрд░ рдЙрд╕реА рд▓реЗрдкреНрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ - рдПрдХ рдмрдВрдж рдХреНрд▓рдм рдЬрд┐рд╕рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдФрд░ рдЖрдкрд╕реА рд░реЗрдЯрд┐рдВрдЧ рдереЗ, рдЕрд╕рдВрддреБрд╖реНрдЯ - рдХреНрд▓рдм рд╕реЗ рджреВрд░ рдЪрд▓рд╛ рдЧрдпрд╛ред рд╡реЗ рджрд┐рди рд▓рдВрдмреЗ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ, рдХреНрд▓рдм рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмрдВрдж рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рд░реЗрдЯрд┐рдВрдЧ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ "рдХреНрд▓рдм рдХреЗ рдПрдХ рдФрд░ рд╕рджрд╕реНрдп" рдХреЛ рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдзрд╛рд░рдг рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд▓реЗрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреА рдЧрдИ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдВрддрд░рд┐рдХ рдЕрднрд┐рдЬрд╛рддреНрдпрд╡рд╛рдж рдкреНрд░рд╢рд╛рд╕рди рдХреЛ рдЪрд▓рдиреЗ рдирд╣реАрдВ рджреЗрддрд╛ред рд╣рд░ рдХреЛрдИ рд╕реЛрдЪрддрд╛ рд╣реИ - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдиреЗ рдПрдХ рдмрдбрд╝рд╛ рд▓рд╛рднрджрд╛рдпрдХ рдкреЛрд░реНрдЯрд▓ рдмрдирд╛рдпрд╛ рд╣реИ, рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рддрдХрдиреАрдХреА рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ - рд╡реЗ рдХреБрдЫ рдХреИрд╕реЗ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ? рддреЛ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИ, рддреЛ рд╡реЗ, рдЦрд▓рдирд╛рдпрдХ, рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗрд╡рд▓ рдмрдЪрдкрди рдореЗрдВ рдлрдВрд╕ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдкреЛрд░реНрдЯрд▓ рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рдФрд░ рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛрдЧрд╛, рдЙрддрдирд╛ рд╣реА рдореБрд╢реНрдХрд┐рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭреЗ рдЧрдП рдЕрднрд┐рдорд╛рди рд╕реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ред

рднрд╛рдЧреАрджрд╛рд░реА



рдпреЗ рдЧрд╣рд░реЗ рдкрд╛рдиреА, рд╡рд╛рдЯрд╕рди, рдЧрд╣рд░реЗ рдкрд╛рдиреА рд╣реИрдВред рдореИрдВрдиреЗ рдмрд╕ рдбрд╛рдЗрд╡рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреАред
рд╢рд░реНрд▓рдХ рд╣реЛрдореНрд╕ рдХрд╛ рд╡рд┐рд╢реЗрд╖ рдЕрдВрдХ

рдиреАрдЪреЗ рдореИрдВ рдХрд░реНрдо рдХреЗ рд▓рд┐рдП "рдХрд░реНрдо" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛, рдФрд░ рд╢рдмреНрдж "рдореВрд▓реНрдпрд╛рдВрдХрди" рдпрд╛ "рдХреБрд▓ рдореВрд▓реНрдпрд╛рдВрдХрди" - рд▓реЗрдЦ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╕рднреА рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдХреЗ рд▓рд┐рдПред

рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЪрдХреНрд░ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╕рдВрдмрдВрдз рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрд╖ рд╕реЗ рдерд╛ - рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХреБрд▓ рд░реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рд╡реЗ рдПрдХ рд╕рдВрджрд┐рдЧреНрдз рд░реЗрдЯрд┐рдВрдЧ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ - рдореИрдВ рдХреЗрд╡рд▓ рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд▓реЗрдЦрдХ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЗрдЯрд┐рдВрдЧ рд╕реЗ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣реА рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╣рд░ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА рдЦреЛрд▓ рджрд┐рдпрд╛, рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рд▓реЗрдЦ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдирд╛рдо рдирд┐рдХрд╛рд▓ рд▓рд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХреЗ рдЙрдкрдирд╛рдо рдФрд░ рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдХреАред

рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдкрд╛рд░реНрд╕рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИред
import requests
from bs4 import BeautifulSoup
import csv

def get_doc_by_id(pid):
    fname = r'files/' + 'habrbase' + '.csv'
    with open(fname, "a", newline="") as file:
        try:
            writer = csv.writer(file)
            r = requests.head('https://habr.com/ru/post/' +str(pid) + '/')
            if r.status_code == 404: #   
                pass
            else:
                r = requests.get('https://habr.com/ru/post/' +str(pid) + '/')
                soup = BeautifulSoup(r.text, 'html5lib')
                if not soup.find("span", {"class": "post__title-text"}):
                    pass
                else:
                    doc = []
                    cmt = []
                    doc.append(pid) #
                    doc.append(soup.find("span", {"class": "user-info__nickname"}).text) #
                    doc.append(soup.find("span", {"class": "voting-wjt__counter"}).text) #
                    writer.writerow(doc)
                    comments = soup.find_all("div", {"class": "comment"})
                    for x in comments:
                        if not x.find("div", {"class": "comment__message_banned"}):
                            cmt.append(x['id'][8:]) #
                            cmt.append(x.find("span", {"class": "user-info__nickname"}).text) #
                            cmt.append(x.find("span", {"class": "voting-wjt__counter"}).text) #
                            writer.writerow(cmt)
                            cmt = []
        except requests.exceptions.ConnectionError:
            pass

x = int(input())
y = int(input())

for i in range(x, y):
    get_doc_by_id(i)
    print(i)



habrbase:



┬л тАФ ┬╗ habrauthors.csv. . , - , , .

:
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd

def len_checker():
    fname = r'files/' + 'habrdata' + '.csv'
    with open(fname, "r") as file:
        try:
            authorsList = len(file.readlines())#   
        except:
            authorsList = 0
        return authorsList

def profile_check(nname):
    try:
        r = requests.head('https://m.habr.com/ru/users/' +nname + '/')
        if r.status_code == 404: #   
            pass
        else:
            ValUsers = []
            r = requests.get('https://m.habr.com/ru/users/' +nname + '/')
            soup = BeautifulSoup(r.text, 'html5lib') # instead of html.parser
            if not soup.find("div", {"class": "tm-user-card"}):
                valKarma = 0
                valComments = 0
                valArticles = 0
            else:
                valKarma = soup.find("span", {"class": "tm-votes-score"}).text #
                valKarma = valKarma.replace(',','.').strip()
                valKarma = float(valKarma)
                tempDataBlock = soup.find("div", {"class": "tm-tabs-list__scroll-area"}).text.replace('\n', '') # 
                mainDataBlock = tempDataBlock.split(' ')
                valArticles = mainDataBlock[mainDataBlock.index('')+1]
                if valArticles.isdigit() == True:
                    valArticles = int(valArticles)
                else:
                    valArticles = 0
                valComments = mainDataBlock[mainDataBlock.index('')+1]
                if valComments.isdigit() == True:
                    valComments = int(valComments)
                else:
                    valComments = 0
            ValUsers.append(valKarma)
            ValUsers.append(valComments)
            ValUsers.append(valArticles)
    except requests.exceptions.ConnectionError:
        ValUsers = [0,0,0]
    return ValUsers


def get_author_by_nick(x):
    finalRow = []
    df = pd.DataFrame
    colnames=['nick', 'scores']
    df = pd.read_csv(r'files\habrauthors.csv', encoding="ANSI", names = colnames, header = None)
    df1 = df.loc[x:]

    fname = r'files/' + 'habrdata' + '.csv'

    with open(fname, "a", newline="") as file:
        writer = csv.writer(file)
        for row in df1.itertuples(index=True, name='Pandas'):
            valName = getattr(row, "nick")
            valScore = getattr(row, "scores")
            valAll = profile_check(valName)
            finalRow.append(valName)
            finalRow.append(valScore)
            finalRow.append(valAll[0])
            finalRow.append(valAll[1])
            finalRow.append(valAll[2])
            writer.writerow(finalRow)
            print(valName)
            finalRow = []

n = len_checker()
get_author_by_nick(n)



, , - . , 2001 ? , , , : ┬л (intermediate value).map is not a function┬╗. , , 2001 . , тАФ . 250, тАФ .

habrdata : ['nick', 'scores', 'karma', 'comments','articles','regdate']. .



. , .

20062007200820092010201120122013201420152016201720182019
204511668124635028534613686116109614970365948926782559123673


114 343 , - . , :



, , tabloo.

, . , alizar (UPD) 268 ! , - 30 . тАФ Zelenyikot 1509, - 500. , , .



-10



, , , , . , - . , , тАФ CSV R, SPSS. , тАФ , , ( ). 4235 . . 2866 , , .



3-4 114 , . , . 4652. , , .

: 114 343
< 5: 89 447
.. : 67 890
.. : 4 652
>= 5 : 24 896

, ┬л┬╗. " ", . , . , ┬л , ┬╗ тАФ .

:
: 114 343
<5: 57 223
.. : 26 207
.. : 9 737
>=5 : 57 120

, , , , . , , .. ! тАФ , 90.

, , ┬л ┬╗, . тАФ >=5 24 ( 900 - 5 ; ). 36 тАФ .

, ? , , 90% , , 4 тАФ . , ┬л ┬╗. , , ┬л ┬╗. . ┬л , ┬╗ .

, 2016 2018 , ┬л ┬╗. 90% , 5 . ┬л ┬╗ 60-70% .

, :

78205 114 343 0. , .
24 896 114 343 . , , , .

. , , тАФ , . , . , , ┬л ┬╗.


     ,       !


, , , .

:
  1. , .
  2. 1/3 , .
  3. , ( 10-20 )

, , ?

, . , :
, , тАж :
тАФ .
тАФ
тАФ
тАФ
, , .
.
, тАФ , .
https://habr.com/ru/post/467875/#comment_20639397

, тАФ , .

,



, ?


, . , ( ).

.

1.
. : . , тАФ : .

: , , , ┬л┬╗ . тАФ . . , . .

. , . тАФ тАФ . тАФ . , , , тАФ ; тАФ , , , . , . тАФ . тАФ .

. . . . . , тАФ .



. .

2.
.

тАФ . , . , . , . , : , тАФ , , . 2013 , , . ; , , , .

тАФ , , . ┬л ┬╗, , , . тАФ , . , , .

, ┬л┬╗ ┬л┬╗, . , , . тАФ , .

, . , , тАФ ? тАФ , ? . , . , тАФ , , .

тАФ . , ┬л ┬╗, . , , . -, .

, , : , . .

тАФ . , , . тАФ (), , , . ┬л ┬╗ тАФ тАФ , .

, . . , тАФ , .
, тАФ . .
https://habr.com/ru/company/habr/blog/437072/#comment_19649328

, , тАФ -, ┬л ┬╗. , , .

.

3.
, . тАФ , -, , .. . , .

тАФ , . . тАФ ┬л ┬╗, . , ┬л ┬╗; , тАФ , ( ) .

. , тАФ , , , , . , , , , .

pragmatik,
, ., , - / тАФ .

, , . , +100, -10? ? , , - ? .

. , . , , , . . ┬л┬╗, ┬л ┬╗ , .

, . , . ┬л-25┬╗, , . тАФ , ┬л ┬╗. , , . , , . ! .
┬л :
: ┬л, , . , , , . тАФ , . .┬╗
, тАФ . andorro : ┬л ┬╗.┬╗
https://habr.com/ru/company/habr/blog/437072/#comment_19822200

, . тАФ (.. ). ┬л ┬╗. тАФ , . ┬л ┬╗, . , , IRC, , ┬л ┬╗ ┬л ┬╗. тАФ , .

Episode Three



тАФ ?
тАФ , ,

┬л ┬╗

?

-, , , , . , , . тАФ , , , , . , , , .

-, . 10 20 , ? 118, - 100, -100 , , , 10.

-, , , (.. ). ┬л ┬╗ тАФ , : , .

-, , .. ┬л ┬╗ тАФ - . , , - ┬л ┬╗. , ; , тАФ .

-, , ┬л ┬╗. . тАФ , тАФ . .

тАФ , . - ┬л , , ┬╗ - .

Source: https://habr.com/ru/post/hi468491/


All Articles