рдкреНрд░рд╡реЗрд╢
рд╣рд╛рдп!
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рдЖрдЗрдП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЖрд░реЗрдЦреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, рддреИрдпрд╛рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ, рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рддрдХрдиреАрдХреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рднреА рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВред
рдкрдврд╝рдиреЗ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!
рд╕рдорд╕реНрдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж
рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджрд╕-рдмрд┐рдВрджреБ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЖрдХрд░реНрд╖рдг рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрд╣рди рд╕реНрддрд░ рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реМрдЯреЗрдВрдЧреЗред
рдЕрдм рд╣рдо рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЧреБрдЬрд░реЗрдВрдЧреЗ, рдФрд░ рд╕рдордЧреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рдмрд╛рддрдЪреАрдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред
рдЖрдХрд░реНрд╖рдг рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдХрд╛рд░реНрдп рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рдлрд╝реЛрдЯреЛ рдореЗрдВ рдЪреЗрд╣рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛
- рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рд░реЗрдЯрд┐рдВрдЧ
- рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ
рдкрд╣рд▓реЗ рдХреЛ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдмрд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЖрд░реЗрдЦ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ
рдПрдХ рдПрдордПрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЬреАрд╡рди рдЪрдХреНрд░
рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ - рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдбреБрдмреЛ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЧрдИ:
- рдПрдХреАрдХреГрдд рд▓реЙрдЧ рднрдВрдбрд╛рд░рдг - рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд▓реЙрдЧ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
- рдореВрд▓реНрдпрд╛рдВрдХрди рд╕реЗрд╡рд╛ рдХреА рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ - рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдмрд╛рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ
- рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рдЖрдЙрдЯрд▓реЗрд░реНрд╕ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП
- рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдХ рджреЛрдиреЛрдВ рдХреА рддреЗрдЬрд╝ (рдкреБрдирдГ) рддреИрдирд╛рддреА
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред
рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдХреЛ рдлреНрд░рдВрдЯрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рддреИрдпрд╛рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЖрд░реЗрдЦ рдХреЛ рджреЗрдЦреЗрдВ, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдФрд░ рд╕рдлрд▓ рдЫрд╡рд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рднреА рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдВред
рддреИрдпрд╛рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдЖрд░реЗрдЦ
рдЖрдЗрдП рдЖрд░реЗрдЦ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВ, рдЫрд╡рд┐ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХрд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рджрд░реНрд╢рд╛рддреЗ рд╣реБрдПред
рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ "рдПрдЯреНрд░реЗ-рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдмреЙрдЯ"
рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕рднреА рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред 2 рдореБрдЦреНрдп рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ: рдПрдХ рдХрд╕реНрдЯрдо рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдПрдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдЖрдЗрдП рджреЛрдиреЛрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рджреЗрдЦреЗрдВред
рдХрд┐рд╕реА рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдХрд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп:
- рдирд┐рд╕реНрдкрдВрджрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдБрдЪреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдЗрд╖реНрдЯрддрдо рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛
- рдХрддрд╛рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
- рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдкрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рдЫрд╡рд┐ рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИ
- рдПрдХ рдХрд╛рд░реНрдп "to_estimate" рдХрддрд╛рд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕реНрдерд┐рдд рдЫрд╡рд┐ рдХрд╛ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ
- рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдЪрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░реЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдиреБрдорд╛рдирд┐рдд рдЫрд╡рд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреА рдЧрдгрдирд╛ рдХрддрд╛рд░ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдХрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕, рдПрдХ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреА рддрд░рд╣, "рдЖрдлреНрдЯрд░_рдПрд╕реНрдЯрд┐рдореЗрдЯ" рдХрддрд╛рд░ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рдЬреЛ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИред
"after_estimate" рд╕реЗ рдирдпрд╛ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп:
- рдпрджрд┐ рдЫрд╡рд┐ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрддреЗ рд╣реИрдВ; рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдЙрд╕ рдЫрд╡рд┐ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЬреЛ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ
рдореВрд▓реНрдпрд╛рдВрдХрди рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ "рдПрдЯреНрд░рд╛рдИ-рдЖрдХрд▓рдирдХрд░реНрддрд╛"
рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдПрдХ рд╕реЗрд▓реЗрд░реА рд╡рд░реНрдХрд░ рд╣реИ рдФрд░ рдЫрд╡рд┐ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдХрд╛рд░реНрдпрд╢реАрд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИ - рдЖрдЗрдП рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред
"to_estimate" рд╕реЗ рдХреЛрдИ рдирдпрд╛ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп:
- рдЖрдЗрдП рдЫрд╡рд┐ рдХреЛ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдПрдВ:
- рдЫрд╡рд┐ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
- рд╣рдо рдЫрд╡рд┐ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ
- рд╕рднреА рдЪреЗрд╣рд░реЗ рдвреВрдБрдврдирд╛ (MTCNN)
- рд╣рдо рд╕рднреА рдЪреЗрд╣рд░реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВ (рд╣рдо рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдкрд╛рдП рдЧрдП рдЪреЗрд╣рд░реЛрдВ рдХреЛ рдПрдХ рдмреИрдЪ рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ рдФрд░ ResNet34 рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ)
- рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ
- рдЖрдЗрдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдмрдирд╛рдПрдВ
- рд░реЗрдЯрд┐рдВрдЧ рдирд┐рдХрд╛рд▓рдирд╛
- рдПрдХ рдХрд╕реНрдЯрдо (рдореВрд▓) рдЫрд╡рд┐ рд╣рдЯрд╛рдирд╛
- рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
- рд╣рдордиреЗ рдХрд╛рд░реНрдп рдХреЛ "after_estimate" рдХрддрд╛рд░ рдореЗрдВ рд░рдЦрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдКрдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ "attrai-telegram-bot" рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рд╕реБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЧреНрд░реЗрд▓реЙрдЧ (+ mongoDB + Elasticsearch)
рдЪреБрдирд╛рд╡ рдЙрд╕ рдкрд░ рдкрдбрд╝рд╛, рд╕рд╛рдорд╛рдиреНрдп рдкрд░ рдирд╣реАрдВ
рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕рдиреЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ рдИрдПрд▓рдХреЗ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рдЧреНрд░реЗрд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдиреБрднрд╡ рд╣реБрдЖред рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ рдЬреЛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИ рд╡рд╣ рдЧреНрд░реЗрд▓реЙрдЧ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдХрд┐рдмрд╛рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╢реНрд░реЗрд╖реНрдарддрд╛ рд╣реИред
RabbitMQ
рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛
Redis
рдХрднреА-рдХрднреА рд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрдбрд┐рд╕ "telegram_user_id => рдХрддрд╛рд░ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛" рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рд╣реИрд╢рдореИрдк рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдп рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, DoS рд╣рдорд▓реЛрдВ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред
рдЖрдЗрдП рд╕рдлрд▓ рдЫрд╡рд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдирд╛рдПрдВ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдХреЛ рдПрдХ рдЫрд╡рд┐ рднреЗрдЬрддрд╛ рд╣реИ
- "рдПрдЯреНрд░рд╛рдИ-рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдмреЙрдЯ" рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ
- рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрддрд╛рд░ "to_estimate" рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рдпреЛрдЬрд┐рдд рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдордп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
- "attrai-estimate" "to_estimate" рдХрддрд╛рд░ рд╕реЗ рдПрдХ рдХрд╛рд░реНрдп рд▓реЗрддрд╛ рд╣реИ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдорд╛рди рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ "after_estimate" рдХрддрд╛рд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
- "attrai-telegram-bot" "after_estimate" рдХрддрд╛рд░ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрддрд╛ рд╣реИ
DevOps
рдЕрдВрдд рдореЗрдВ, рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рдорд╛рди рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ - DevOps рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдбреЛрдХрд░ рдЭреБрдВрдб
"рдЭреБрдВрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдорд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ 2 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдФрд░ рдкреНрд░рдмрдВрдзрдХред рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдорд╢реАрдиреЛрдВ рдкрд░, рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рдореВрд╣ (рд╕реНрдЯреИрдХ) рддреИрдирд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдорд╢реАрдиреЗрдВ рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рд╕рдВрддреБрд▓рди рдФрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддреА рд╣реИрдВ
рдПрдХ рд▓реАрдбрд░ рдореИрдиреЗрдЬрд░ рдФрд░ рддреАрди рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░
рдиреНрдпреВрдирддрдо рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдЖрдХрд╛рд░ 1 рдиреЛрдб рд╣реИ; рдПрдХ рдорд╢реАрди рдПрдХ рд╕рд╛рде рд▓реАрдбрд░ рдореИрдиреЗрдЬрд░ рдФрд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧреАред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдкрд╣рд▓реА рдЙрддреНрдкрд╛рджрди рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬреЛ рдЬреВрди рдХреЗ рдордзреНрдп рдореЗрдВ рдереА, рдЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрдЧрдарди рд╕реЗ рдЬреБрдбрд╝реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ (рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд╕рдВрдЧрдарди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд┐рд╕реА рднреА рдордзреНрдпрдо-рдмрдбрд╝реЗ рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ) рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ, рдЬреЛ рджреЛрд╖ рд╕рд╣рдирд╢реАрд▓рддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдзреАрди рд╣реИрдВ)ред
рдбреЙрдХрд░ рд╕реНрдЯреИрдХ
рдЭреБрдВрдб рдореЛрдб рдореЗрдВ, рд╡рд╣ рд╕реНрдЯреИрдХ (рдбреЙрдХрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕реЗрдЯ) рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ
рдпрд╣ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд┐рдд рдереЗ (рд╣рдо рдПрди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдПрди рдХреЛрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рд╣реА рд╣рдо PyTorch рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ)
attrai_estimator:
image: 'erqups/attrai_estimator:1.2'
deploy:
replicas: 4
resources:
limits:
cpus: '4'
restart_policy:
condition: on-failure
тАж
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд░реЗрдбрд┐рд╕, рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдФрд░ рдЧреНрд░реЗрд▓реЙрдЧ рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ "рдЕрдЯреНрд░реЗ-рдПрд╕реНрдЯреАрдореЗрдЯрд░" рдЬрд┐рддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рд╢реНрди рдХрд╛ рдкреВрд░реНрд╡рд╛рднрд╛рд╕ - рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫреЛрдЯреЗ рдФрд░ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдУрд╡рд░рд╣реЗрдб рд╣реИ; рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдбреЙрдХрд░ рдЭреБрдВрдб рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреЗ рд▓рд┐рдП рдХрдо рдмрд╛рдзрд╛ рднреА рд╣реИред
рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░
рдпрд╣ рд╕рдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реАрдбреАрдПрд╕ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рд╕реАрдкреАрдпреВ: 4 рдХреЛрд░ Intel┬о Xeon┬о рдЧреЛрд▓реНрдб 5120 CPU @ 2.20GHz
- рд░рд╛рдо: 8 рдЬреАрдмреА
- рдПрд╕рдПрд╕рдбреА: 160 рдЬреАрдмреА
рд╕реНрдерд╛рдиреАрдп рд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рднрд╛рд░реА рдЖрдордж рдХреЗ рд╕рд╛рде, рдпрд╣ рдорд╢реАрди рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧреАред
рд▓реЗрдХрд┐рди, рддреИрдирд╛рддреА рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдореИрдВрдиреЗ рд╕реАрдЖрдИрдПрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрдореЗрдЬрдмреЛрд░реНрдб рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ (рд╣рд╛рдБ, рд╡рд╣реА), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд▓реЛрдЧреЛрдВ рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рдмрдврд╝реА рдФрд░ рдХреБрдЫ рд╣реА рдШрдВрдЯреЛрдВ рдореЗрдВ рд╕реЗрд╡рд╛ рдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╣рдЬрд╛рд░реЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред рд╡рд╣реАрдВ, рдЪрд░рдо рдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕реАрдкреАрдпреВ рдФрд░ рд░реИрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЖрдзрд╛ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдХреБрдЫ рдФрд░ рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕
рджрд┐рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрджреНрд╡рд┐рддреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЕрдиреБрдорд╛рди рд╕рдордп рд╡рд┐рддрд░рдг
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рдЦреБрдж рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЪрд░рдо рдХреНрд╖рдгреЛрдВ рдореЗрдВ рднреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдореЗрдВ рдХреЛрдИ рдЧрд┐рд░рд╛рд╡рдЯ рдпрд╛ рд╢рд┐рдерд┐рд▓рддрд╛ рдирд╣реАрдВ рдереАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫреЛрдЯреА рдФрд░ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЬреЛ рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реАрдкреАрдпреВ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ, рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдирд╛ рд╕рдХрддреА рд╣реИрдВред
рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╢реБрд░реВ рдореЗрдВ рд▓реЗрдЦ рд▓рдВрдмрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреЛрд╕реНрдЯ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ рдЙрди рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВрдЧреЗред
рдЖрдк рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдмреЙрдЯ рдХреЛ рдкреЛрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - @AttraiBot, рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╢рд░рдж рдЛрддреБ 2020 рдХреЗ рдЕрдВрдд рддрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рди рддреЛ рдореВрд▓ рдЫрд╡рд┐рдпрд╛рдВ, рди рд╣реА рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдкрд░рд┐рдгрд╛рдо - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрд░реЛрдд: www.habr.com