рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╡рд┐рдирд╛рд╢рд╛рд╕рд╣ рдЖрдордЪрд╛ рд▓реЗрдЭрд░ рд╢реЛрдз рдХрд╕рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЗ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрдд рдЖрд╣реЛрдд. рдорд╛рдЧреАрд▓ рдордзреНрдпреЗ рд╕реБрд░реВ рдХрд░рд╛
рдПрдХреВрдг, рдЧреЗрдордЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрдордзреНрдпреЗ 6 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдпреБрдирд┐рдЯреНрд╕ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдЪреЗ рдЖрдореНрд╣реА рдпрд╛ рд▓реЗрдЦрд╛рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВ:
- рдЧреЗрдо рдпрдВрддреНрд░рдгрд╛рдВрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЧреЗрдо рдШрдЯрдХрд╛рдВрдЪрд╛ рдмреЕрдХрдПрдВрдб
- VPS рд╡рд░ рдмреЕрдХрдПрдВрдб рдЖрдгрд┐ рд╕рд╛рдЗрдЯ рдбреЗрдЯрд╛ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдмрд╕
- рдмреЕрдХрдПрдВрдб рд╡рд┐рдирдВрддреНрдпрд╛ (рдЧреЗрдо рдШрдЯрдХ) рдкрд╛рд╕реВрди Arduino рдЖрдгрд┐ рд╕рд╛рдЗрдЯрд╡рд░реАрд▓ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдордзреНрдпреЗ рдЕрдиреБрд╡рд╛рджрдХ
- рд░рд┐рд▓реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрд░реНрдбрд┐рдиреЛрд▓рд╛ рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдЖрджреЗрд╢ рдорд┐рд│рд╛рд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдиреА рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рдо рдХреЗрд▓реЗ
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЗ: рдкрдВрдЦрд╛, рд╣рд╛рд░, рдлрд░рд╢реАрд╡рд░реАрд▓ рджрд┐рд╡реЗ рдЗ.
- рдлреНрд░рдВрдЯрдПрдВрдб - рдлрд╛рд▓реНрдХрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реНрд╡рддрдГ, рдЬреНрдпрд╛рд╡рд░реВрди рдЦреЗрд│рд╛рдбреВ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛рдд
рдЪрд▓рд╛ рддреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рддреВрди рдЬрд╛рдКрдпрд╛.
рдЧреЗрдо рдШрдЯрдХрд╛рдВрдЪрд╛ рдмреЕрдХрдПрдВрдб
рдмреЕрдХрдПрдВрдб рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдореНрд╣рдгреВрди рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛: рддреНрдпрд╛рдд рдЕрдиреЗрдХ рд╡рд┐рд╢реНрд░рд╛рдВрддреА рдирд┐рдпрдВрддреНрд░рдХ, рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЖрдгрд┐ рдЧреЗрдо рд▓реЙрдЬрд┐рдХрд╕рд╣ рд╕реЗрд╡рд╛ рд╣реЛрддреНрдпрд╛.
рддреЗрдереЗ рдлрдХреНрдд рддреАрди рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛрддреЗ:
- рдореЗрдЧрд╛рдЯреНрд░реЙрди. рд╡рд░реНрддрдорд╛рди рдореЗрдЧрд╛рдЯреНрд░реЙрди рдкреГрд╖реНрда GET рд╡рд┐рдирдВрддреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдкрд╛рдард╡рд▓реЗ рдЧреЗрд▓реЗ: рдкреЙрд╡рд░ рдЪрд╛рд▓реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдгрд┐ рдирдВрддрд░. POST рд╡рд┐рдирдВрддреАрджреНрд╡рд╛рд░реЗ рд▓реЗрд╕рд░ рдЙрдбрд╛рд▓реЗ.
- рдЯрд┐рд▓реНрдб рдкреГрд╖реНрдареЗ рдореЕрдк рдХрд░рдгреЗ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рдкреГрд╖реНрдард╛рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдиреЗ рджрд┐рд▓реЗ рдЬрд╛рддреАрд▓. Tilde рдореВрд│ рдирд╛рд╡рд╛рдВрд╕рд╣ рдирд╛рд╣реА рддрд░ рдЕрдВрддрд░реНрдЧрдд рдЖрдпрдбреА рдЖрдгрд┐ рдЕрдиреБрдкрд╛рд▓рди рдорд╛рд╣рд┐рддреАрд╕рд╣ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреГрд╖реНрдареЗ рддрдпрд╛рд░ рдХрд░рддреЗ.
- рд╕реНрдпреВрдбреЛ-рд╣рд╛рдп-рд▓реЛрдб рд╕рд░реНрд╡реНрд╣рд░ рдХреЕрдкреНрдЪрд╛ рд╕рд░реНрд╡реНрд╣ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЕрдкреНрдЪрд╛ рдХрдВрдЯреНрд░реЛрд▓рд░.
рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЧреЕрдЭреЗрдЯ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЧреЗрд▓рд╛: рджрд┐рд╡реЗ, рдорд╛рд▓рд╛ рдЖрдгрд┐ рдкрддреНрд░реЗ. рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдЪреА рд╕рджреНрдп рд╕реНрдерд┐рддреА рд╕рд░реНрд╡ рдЦреЗрд│рд╛рдбреВрдВрдирд╛ рд╕рдордХрд╛рд▓рд┐рдХрдкрдгреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗ рдЧреЗрд▓реЗ: рддреЗ рдЪрд╛рд▓реВ рдХрд┐рдВрд╡рд╛ рдмрдВрдж, рд╕рдХреНрд░рд┐рдп рдЖрд╣реЗ рдХреА рдирд╛рд╣реА, рднрд┐рдВрддреАрд╡рд░ рд╕рдзреНрдпрд╛ рдХреЛрдгрддрд╛ рд░рдВрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЖрд╣реЗ. рд▓реЗрдЭрд░ рдЪрд╛рд▓реВ рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХрдареАрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╣рд╛рд░ рдЖрдгрд┐ рд▓реЗрд╕рд░рд▓рд╛ рд╕рдорд╛рди рд▓реЙрдЧрд┐рди рдЖрдгрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдЕреЕрдбрдорд┐рди/рдЕреЕрдбрдорд┐рдирд╕рд╣ рдЕрдзрд┐рдХреГрддрддрд╛ рдЬреЛрдбрд▓реА.
рдЦреЗрд│рд╛рдбреВ рдорд╛рд▓рд╛ рдЪрд╛рд▓реВ рдХрд░реВрди рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рд▓реЗрд╕рд░рдиреЗ рддреЗрдЪ рдХрд░реВ рд╢рдХрддрд╛рдд.
рдЦреЗрд│рд╛рдбреВрдВрдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд╡рдбреАрдореБрд│реЗ рддреНрд░рд╛рд╕ рд╣реЛрдК рдирдпреЗ рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рдЕрд╢реА рдХреНрд╖реБрд▓реНрд▓рдХ рд▓реЙрдЧрд┐рди-рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбреА рдирд┐рд╡рдбрд▓реА.
рдХрд╛рд░реНрдп рдереЛрдбреЗ рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдЦреЛрд▓реАрдд рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдореНрд╣рдгреВрди mongodb рдЪреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдпрдбреА рд╡рд╛рдкрд░рд▓реЗ рдЧреЗрд▓реЗ.
ObjectId рдордзреНрдпреЗ рдПрдХ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдЖрд╣реЗ: рджреЛрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдпреЗ, рдЬреНрдпрд╛рдкреИрдХреА рдПрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░реА рддреА рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ pid рдЖрдгрд┐ рдХрд╛рдЙрдВрдЯрд░ рдореВрд▓реНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рдорд▓рд╛ рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рдиреЗ рдЖрдгрд┐ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ pid рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╣ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реЗ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ рдмрдирд╡рд╛рдпрдЪреЗ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдЙрдВрдЯрд░рд╕рд╣, рдЬреЗрдгреЗрдХрд░реВрди рд▓реЗрд╕рд░ рдЙрдкрдХрд░рдг рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХрд╛рдЪреА рдирд┐рд╡рдб рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рдЕрд╕реЗрд▓. рддрдерд╛рдкрд┐, рд╢реЗрд╡рдЯреА, рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХрд╛рдВрд╕рд╣ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдЬреА рдХреЗрд╡рд│ рдХрд╛рдЙрдВрдЯрд░ рд╡реНрд╣реЕрд▓реНрдпреВрдордзреНрдпреЗ рднрд┐рдиреНрди рд╣реЛрддреА. рдпрд╛рдореБрд│реЗ рдХрджрд╛рдЪрд┐рдд рдкрд╛рдпрд░реА рдЦреВрдк рд╕реЛрдкреА рдЭрд╛рд▓реА рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯрдЖрдпрдбреА рд╕рдВрд░рдЪрдиреЗрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрд╡рд╢реНрдпрдХ рдирд╕реЗрд▓.
рдмреЕрдХрдПрдВрдб рд╡рд┐рдирдВрддреНрдпрд╛рдВрдордзреВрди рдЕрдиреБрд╡рд╛рджрдХ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ RabbitMQ рд░рд╛рдВрдЧреЗрд▓рд╛ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ рд░рд╛рдВрдЧреЗрддреВрди Arduino рд╡рд░ рд╡рд┐рдирдВрддреНрдпрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛. рддреНрдпрд╛рдиреЗ рд╕рдорд╛рдВрддрд░ рдкреНрд░рдХрд╛рд╢ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧрдЪреЗ рддрд░реНрдХ рджреЗрдЦреАрд▓ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ: рдХрд╛рд╣реА рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╣, рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░реАрд▓ рдкреНрд░рдХрд╛рд╢ рдЪрд╛рд▓реВ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬреЗрд╡реНрд╣рд╛ рдореЗрдЧрд╛рдЯреНрд░реЙрдирд▓рд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рд╡реАрдЬ рдкреБрд░рд╡рд▓реА рдЧреЗрд▓реА рддреЗрд╡реНрд╣рд╛ рддреА рд╕реНрдЯреЗрдЬ рд▓рд╛рдЗрдЯрдиреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реА. рд╕рдВрдкреВрд░реНрдг рджреГрд╢реНрдпрд╛рдЪреНрдпрд╛ рд╕рд┐рдиреЗрдореЕрдЯреЛрдЧреНрд░рд╛рдлреАрд╕рд╛рдареА рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдбрд┐рдЭрд╛рдЗрди рд╣реА рдЖрдордЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рд╕рд╣-рдирд┐рд░реНрдорд╛рддрд╛ рдЖрдгрд┐ рдкреНрд░реЙрдбрдХреНрд╢рди рдбрд┐рдЭрд╛рдпрдирд░ рдЗрд▓реНрдпрд╛ рд╕реЗрд░реЛрд╡реНрд╣ рдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдЪреА рдПрдХ рд╡реЗрдЧрд│реА рдХрдерд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рддреНрдпрд╛рдмрджреНрджрд▓ рд╡реЗрдЧрд│реНрдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рд╕рд╛рдВрдЧреВ.
рдЯрд╛рдпрдорд░ рд╡рд╛рдкрд░реВрди рд╢реНрд░реЗрдбрд░ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрдгрд┐ рдЯреАрд╡реНрд╣реАрд╡рд░ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рддрд░реНрдХрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдЕрдиреБрд╡рд╛рджрдХ рдЬрдмрд╛рдмрджрд╛рд░ рд╣реЛрддрд╛: рд╢реНрд░реЗрдбрд░ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯрд╛рдЗрдорд░, рдПрдХ рдУрд░рдбрдгрд╛рд░рд╛ рдХреЕрдкреАрдмрд╛рд░рд╛, рдЧреЗрдордЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ.
рдореЗрдЧрд╛рдЯреНрд░реЙрди рдЯреЛрдХрди рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рдЪреЗ рддрд░реНрдХ рдХрд╕реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ
рдЪрд╛рдЪрдгреА рд╢реЙрдЯ
рдкреНрд░рддреНрдпреЗрдХ 25 рд╕реЗрдХрдВрджрд╛рд▓рд╛ рдПрдХ рдирд╡реАрди рдЯреЛрдХрди рддрдпрд╛рд░ рд╣реЛрддреЗ рдЖрдгрд┐ 10/10 рдкреЙрд╡рд░рд╡рд░ 255 рд╕реЗрдХрдВрджрд╛рдВрд╕рд╛рдареА рд▓реЗрд╕рд░ рдЪрд╛рд▓реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд▓рд╛ рд▓рд┐рдВрдХ рдХрд░рд╛
рд▓реЗрд╕рд░ рдирдВрддрд░ 1 рдорд┐рдирд┐рдЯрд╛рд╕рд╛рдареА рдердВрдб рдЭрд╛рд▓реЗ - рдпрд╛ рдХрд╛рд│рд╛рдд рддреЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрддреЗ рдЖрдгрд┐ рдирд╡реАрди рд╢реЙрдЯ рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛ рдирд╛рд╣реАрдд.
рд╣реА рд╢рдХреНрддреА рджреЛрд░реАрддреВрди рдЬрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╢реА рдирд╡реНрд╣рддреА, рдкрд░рдВрддреБ рдХреЛрдгрддрд╛рд╣реА рдЦреЗрд│рд╛рдбреВ рдореЗрдЧрд╛рдЯреНрд░реЙрдирд▓рд╛ рдлрд╛рдпрд░ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рд▓реЗрдЭрд░ рдмреАрдо рдХреГрддреАрдд рдкрд╛рд╣реВ рд╢рдХрддреЛ.
рдЯреЛрдХрди рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА MD5 рд╣реЕрд╢рд┐рдВрдЧ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рд▓рд╛ рдЧреЗрд▓рд╛. рдЖрдгрд┐ рдпреЛрдЬрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдЭрд╛рд▓реА MD5 рд╡рд░реВрди MD5 + рдХрд╛рдЙрдВрдЯрд░ + рдЧреБрдкреНрдд рд▓рдврд╛рдК рдЯреЛрдХрдирд╕рд╛рдареА рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдЯреЛрдХрдирд╕рд╛рдареА рдЧреБрдкреНрддрддреЗрд╢рд┐рд╡рд╛рдп.
MD5 рд╣рд╛ рдПрдХрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рд╕рдВрджрд░реНрдн рдЖрд╣реЗ рдЬреЛ рдкрд╛рд╡реЗрд▓, рдЖрдордЪреНрдпрд╛ рдкрд╛рдареАрд░рд╛рдЦреНрдпрд╛рдиреЗ рдХреЗрд▓рд╛ рд╣реЛрддрд╛. рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд MD5 рд╡рд╛рдкрд░рд▓рд╛ рд╣реЛрддрд╛, рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдиреЗ рдкреНрд░рдХрд▓реНрдк рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯрд▓рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдХреА рддреЗ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрд╣реЗ, рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдВрдиреА MD5 рд╡рд░реВрди MD5 рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА. рдЖрдореНрд╣реА рд╕рд░реНрд╡рд╛рдд noob рдкреНрд░рдХрд▓реНрдк рд╢рдХреНрдп рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓реНрдпрд╛рдореБрд│реЗ, рддреНрдпрд╛рд▓рд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрдард╡рд▓реЗ рдЖрдгрд┐ рдПрдХ рдЫреЛрдЯрд╛рд╕рд╛ рд╕рдВрджрд░реНрдн рджреЗрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.
рд▓рдврд╛рдК рд╢реЙрдЯ
рдореЗрдЧрд╛рдЯреНрд░реЙрдирдЪрд╛ рд▓рдврд╛рдК рдореЛрдб 100 рд╡реЕрдЯреНрд╕рд╡рд░ 3% рд▓реЗрд╕рд░ рдкреЙрд╡рд░ рдЖрд╣реЗ. рд╡рдЬрди рдзрд░рд▓реЗрд▓реНрдпрд╛ рджреЛрд░реАрддреВрди рдЬрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдорддреНрд╕реНрдпрд╛рд▓рдп рддреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдкрд╛рдгреНрдпрд╛рдиреЗ рднрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ 2 рдорд┐рдирд┐рдЯреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.
рдЖрдореНрд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ Github рд╡рд░ рдХрд╛рд╣реА рд╕реВрдЪрдирд╛ рд╕реЛрдбрд▓реНрдпрд╛ рдЖрд╣реЗрдд: рдореНрд╣рдгрдЬреЗ, рдЯреЛрдХрди рдЬрдирд░реЗрд╢рди рдХреЛрдб, рдЬреНрдпрд╛рд╡рд░реВрди рд╣реЗ рд╕рдордЬреВ рд╢рдХрддреЗ рдХреА рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рд▓рдврд╛рдК рдЯреЛрдХрди рд╕рдорд╛рди рдХрд╛рдЙрдВрдЯрд░ рдЗрдВрдбрд┐рдХреЗрдЯрд░рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд▓рдврд╛рдК рдЯреЛрдХрдирдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдХрд╛рдЙрдВрдЯрд░ рд╡реНрд╣реЕрд▓реНрдпреВ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдПрдХ рдореАрда рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рджреЛрди рд╡рд░реНрдгрд╛рдВрдЪрд╛ рдЕрдкрд╡рд╛рдж рд╡рдЧрд│рддрд╛ рд╣рд╛ рднрд╛рд╡рд╛рд░реНрде рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рдЗрддрд┐рд╣рд╛рд╕рд╛рдд рдЬрд╡рд│рдЬрд╡рд│ рдкреВрд░реНрдгрдкрдгреЗ рд╢рд┐рд▓реНрд▓рдХ рдЖрд╣реЗ.
рд╣рд╛ рдбреЗрдЯрд╛ рдЬрд╛рдгреВрди рдШреЗрддрд▓реНрдпрд╛рдиреЗ, рдореАрдард╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 2 рдЪрд┐рдиреНрд╣рд╛рдВрдордзреВрди рдХреНрд░рдорд╡рд╛рд░реА рд▓рд╛рд╡рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рд╣реЗ рд╢реЛрдзрдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдХреА рд▓реЙрд╕реНрдЯрдордзреАрд▓ рд╕рдВрдЦреНрдпрд╛, рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА.
рддреНрдпрд╛рдирдВрддрд░ рдЦреЗрд│рд╛рдбреВрдВрдирд╛ рдХрд╛рдЙрдВрдЯрд░ рд╡реНрд╣реЕрд▓реНрдпреВ (рдЪрд╛рдЪрдгреА рдЯреЛрдХрдирдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрди) рдкрдХрдбрд╛рдпрдЪреЗ рд╣реЛрддреЗ рдЖрдгрд┐ рдкреБрдвреАрд▓ рдХрд╛рдЙрдВрдЯрд░ рд╡реНрд╣реЕрд▓реНрдпреВ рдЖрдгрд┐ рдорд╛рдЧреАрд▓ рдкрд╛рдпрд░реАрд╡рд░ рдирд┐рд╡рдбрд▓реЗрд▓реЗ рдореАрда рд╡рд╛рдкрд░реВрди рд▓рдврд╛рдК рдЯреЛрдХрди рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ рд╣реЛрддреЗ.
рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рдЪрдгреА рд╢реЙрдЯрд╕рд╣ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ 25 рд╕реЗрдХрдВрджрд╛рдВрдиреА рдХрд╛рдЙрдВрдЯрд░ рдлрдХреНрдд рд╡рд╛рдврддреЛ. рдЖрдореНрд╣реА рдпрд╛рдмрджреНрджрд▓ рдХреБрдареЗрд╣реА рд▓рд┐рд╣рд┐рд▓реЗ рдирд╛рд╣реА, рд╣реЗ рдПрдХ рд▓рд╣рд╛рди рдЧреЗрдо рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрдгрд╛рд░ рд╣реЛрддреЗ.
рдХреЕрдкреНрдЪрд╛ рд╕рдВрд╡рд╛рдж рд╕реЗрд╡рд╛
рдЧреЗрдорд┐рдВрдЧрдЪреНрдпрд╛ рдЬрдЧрд╛рдд, рд╣рд╛ рддреЛрдЪ рдХреЕрдкреНрдЪрд╛ рд╣реЛрддрд╛ рдЬреЛ рдкрдВрдЦрд╛ рдЪрд╛рд▓реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЗрд╢рд╛рд░рд╛ рджреЗрдКрди рдлреНрд▓рд┐рдкрдЪрд╛рд░реНрдЯ рдЙрдШрдбрдгреНрдпрд╛рд╕рд╛рдареА рд▓реЛрдб рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ. рдХреЕрдореЗрд▒реНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреЗ рд▓реЛрдб рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЕрд╕рд▓реЗрд▓рд╛ рд▓реЕрдкрдЯреЙрдк рд╣реЛрддрд╛.
рдЬрд░ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ 5 рд╕реЗрдХрдВрджрд╛рдд рдХреЕрдкреНрдЪрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 50 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡рд┐рдирдВрддреНрдпрд╛ рдЖрд▓реНрдпрд╛, рддрд░ рд▓реЛрдб рдирд┐рд╢реНрдЪрд┐рдд + рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░рдгрд╛рдВрдиреА рд╡рд╛рдврд▓рд╛. 100% рднрд╛рд░ рджреЛрди рдорд┐рдирд┐рдЯрд╛рдВрдд рдорд┐рд│реВ рд╢рдХрддреЛ рдЕрд╢реА рдЧрдгрдирд╛ рдХреЗрд▓реА рдЧреЗрд▓реА.
рдЦрд░рдВ рддрд░, рдЕрдВрддрд┐рдо рдЧреЗрдордордзреНрдпреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╕реЗрд╡реЗрдордзреНрдпреЗ рдЕрдзрд┐рдХ рддрд░реНрдХ рд╣реЛрддрд╛: рдЖрдореНрд╣реА рдореЙрдирд┐рдЯрд░ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдареЗрд╡рд▓рд╛ рдХреА рдХреЗрд╡рд│ CPU рдлреЕрдирдЪреЗ рд░реЛрдЯреЗрд╢рди рджреГрд╢реНрдпрдорд╛рди рд╣реЛрддреЗ.
рд╢реЛрдзрд╛рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рддреНрдпрд╛рдВрдирд╛ рдлрд╛рд▓реНрдХрди рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░реВрди рдЧреНрд░рд╛рдлрдирд▓рд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╕реЛрдбрд╛рдпрдЪреЗ рд╣реЛрддреЗ. рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдмреЕрдХрдПрдВрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╣рд╡рд╛рд▓рд╛рддреАрд▓ рд╕реНрдкреНрд░рд┐рдВрдЧрдмреВрдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рджреЗрдЦреАрд▓ рдЖрд╣реЗрдд, рдЬреЗ рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╡реЗрд│ рдирд╡реНрд╣рддрд╛, рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рддреНрдпрд╛рдд рдкреНрд░рд╡реЗрд╢ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рдЖрдгрд┐ рдЕрдЧрджреА рдмрд░реЛрдмрд░ - рдЕрдЧрджреА рд╢реЛрдзрд╛рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕, рдХрд╛рд╣реА рдЦреЗрд│рд╛рдбреВрдВрдиреА рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рд▓рд╛ рдХреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдкреНрд░рд┐рдВрдЧрдмреВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдХрд╛рд╣реА рд╕реЗрд╡рд╛рдВрдЪреА рдирд╛рд╡реЗ рджреЗрдЦреАрд▓ рдЦреЛрджрд▓реА рдЖрд╣реЗрдд.
рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдмрд╕
рдмреЕрдХрдПрдВрдбрд╡рд░реВрди рд╕рд╛рдЗрдЯрд╡рд░ рдорд╛рд╣рд┐рддреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзрди, VPS рд╕рд░реНрд╡реНрд╣рд░ рдЬреНрдпрд╛рд╡рд░ RabbitMQ рдЪрд╛рд▓реВ рд╣реЛрддреЗ.
рдмреЕрдХрдПрдВрдб рдЖрдгрд┐ рдбреЗрдЯрд╛ рдмрд╕ рдЪрд╛рд▓реВ рдареЗрд╡рд▓реА рд╣реЛрддреА
DDoSa рдкрд╛рд╕реВрди рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА Cloudflare рд╡рд╛рдкрд░рд▓реЗ.
рд╣реЗ рд╕рд╛рдВрдЧрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ рдХреА рд╡реНрд╣реАрдкреАрдПрд╕рдиреЗ рд╕рдиреНрдорд╛рдирд╛рдиреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕рд╣рди рдХреЗрд▓реЗ.
рд░рд┐рд▓реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрд░реНрдбрд┐рдиреЛрд▓рд╛ рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдЖрджреЗрд╢ рдорд┐рд│рд╛рд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдиреА рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рдо рдХреЗрд▓реЗ
рд╣рд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рднрд╛рдЧрд╛рдмрджреНрджрд▓ рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдЪрд╛ рд╡рд┐рд╖рдп рдЖрд╣реЗ: рдмреЕрдХрдПрдВрдбрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рд┐рд▓реЗ рдЪрд╛рд▓реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рд▓реНрдпрд╛. рдЕрд╕реЗ рдШрдбрд▓реЗ рдХреА рдмреЕрдХрдПрдВрдбрд▓рд╛ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рд╕рдВрд╕реНрдерд╛ рдорд╛рд╣рд┐рдд рд╣реЛрддреНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рддреВрди рдЖрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ "рд╣реА рд╕рдВрд╕реНрдерд╛ рдЪрд╛рд▓реВ рдХрд░рд╛" рд╕рд╛рд░рдЦреНрдпрд╛ рджрд┐рд╕рдд рд╣реЛрддреНрдпрд╛. рдЖрдореНрд╣реА рд╕рд╛рдЗрдЯрдЪреНрдпрд╛ рд▓рд╡рдХрд░ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рд╣реЗ рдХреЗрд▓реЗ (рдЖрдореНрд╣реА рдЕрджреНрдпрд╛рдк рд╕рд░реНрд╡ Arduino рдЖрдгрд┐ рд░рд┐рд▓реЗ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдирд╡реНрд╣рддреЗ), рд╢реЗрд╡рдЯреА рдЖрдореНрд╣реА рд╕рд░реНрд╡рдХрд╛рд╣реА рдЕрд╕реЗрдЪ рд╕реЛрдбрд▓реЗ.
рдлреНрд░рдВрдЯрдПрдВрдб
рдЖрдореНрд╣реА рддреНрд╡рд░реАрдд рдЯрд┐рд▓реНрдбрд╡рд░ рд╕рд╛рдЗрдЯ рддрдпрд╛рд░ рдХреЗрд▓реА, рдпрд╛рд╕ рдПрдХ рдХрд╛рдордХрд╛рдЬрд╛рдЪрд╛ рджрд┐рд╡рд╕ рд▓рд╛рдЧрд▓рд╛ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рдмрдЬреЗрдЯрдордзреНрдпреЗ рдЖрдореНрд╣рд╛рд▓рд╛ 30 рд╣рдЬрд╛рд░рд╛рдВрдЪреА рдмрдЪрдд рдЭрд╛рд▓реА.
рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдЖрдореНрд╣реА рдлрдХреНрдд рд╕рд╛рдЗрдЯ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдгрд┐ рдЖрдореНрд╣реА рдЧрд╣рд╛рд│ рдЕрд╕рд▓реЗрд▓реЗ рддрд░реНрдХ рдЬреЛрдбрдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдордзреНрдпреЗ рдЧреЗрд▓реЛ рдЬреНрдпрд╛рдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдХреЗрд▓реА.
рдЖрдореНрд╣реА рдкрд░рд╡рд╛рдиреНрдпрд╛рдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдирд╡реНрд╣рддреЛ, рдореНрд╣рдгреВрди рджреЛрди рдкрд░реНрдпрд╛рдп рд╣реЛрддреЗ: рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реНрд╡рддрдГ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдЯрд┐рд▓реНрдбрд╛рд╢реА рдереЗрдЯ рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрдгреЗ, рдкреНрд░рдХрд▓реНрдкрд╛рдмрджреНрджрд▓ рдмреЛрд▓рдгреЗ рдЖрдгрд┐ рдХреЛрдб рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдорд╛рдЧрдгреЗ.
рдЖрдореНрд╣реА рджреБрд╕рд░рд╛ рдкрд░реНрдпрд╛рдп рдирд┐рд╡рдбрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдиреА рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЗрд╡рд│ рдЕрд░реНрдзреНрдпрд╛ рд░рд╕реНрддреНрдпрд╛рдиреЗрдЪ рднреЗрдЯрд▓реЗ рдирд╛рд╣реА рддрд░ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрд╖ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╡реНрдпрд╡рд╕рд╛рдп рдЦрд╛рддреЗ рджреЗрдЦреАрд▓ рджрд┐рд▓реЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреЗ рдЦреВрдк рдЖрднрд╛рд░реА рдЖрд╣реЛрдд. рддреНрдпрд╛рдВрдирд╛ Sokol рдЪреЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЭрд╛рдЗрди рджрд╛рдЦрд╡рдгреЗ рдЦреВрдк рдЕрд╕реНрддрд╛рд╡реНрдпрд╕реНрдд рд╣реЛрддреЗ.
рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣реА рдкреНрд░рд╛рдердорд┐рдХ рдЙрдкрдХрд░рдгрд╛рдВрдирд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдлреНрд░рдВрдЯрдПрдВрдбрд▓рд╛ js рд▓реЙрдЬрд┐рдХ рд╕рдВрд▓рдЧреНрди рдХреЗрд▓реЗ рдЖрдгрд┐ рдЧреЗрдо рдШрдЯрдХ рдЪрд╛рд▓реВ рдЖрдгрд┐ рдмрдВрдж рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрдЯрдгрд╛рдВрдЪреНрдпрд╛ рд╢реИрд▓реАрдВрдордзреНрдпреЗ рдХрд┐рдВрдЪрд┐рдд рдмрджрд▓ рдХреЗрд▓рд╛.
рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЭрд╛рдЗрди
рд╢реЛрдзрд╛рдВрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕, рдЬреЛ рдПрдХ рд╡реЗрдЧрд│рд╛ рдЕрдзреНрдпрд╛рдп рдЖрд╣реЗ.
рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЗрд╡рд│ рдЬреБрдиреНрдпрд╛ рдкрджреНрдзрддреАрдЪреА рд╕рд╛рдЗрдЯрдЪ рдирд╛рд╣реА рддрд░ рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рд╕рд░реНрд╡ рдореВрд▓рднреВрдд рдирд┐рдпрдорд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдгрд╛рд░реА рдкреВрд░реНрдгрдкрдгреЗ рдШреГрдгрд╛рд╕реНрдкрдж рд╕рд╛рдЗрдЯ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреА рд╣реЛрддреА. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рд░рд╛рдЦрдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рд╣реЛрддреЗ: рддреНрдпрд╛рдд рдИрдПрдирдЯреА рдХрдерд╛ рдЦрдВрдбрд┐рдд рд╣реЛрдК рдирдпреЗ, рд▓реЗрдЦрдХрд╛рдЪрд╛ рджрд┐рдЦрд╛рдКрдкрдгрд╛ рджрд╛рдЦрд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рдЦреЗрд│рд╛рдбреВрдВрдирд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓ рдХреА рдЕрд╢реА рд╕рд╛рдЗрдЯ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕реВ рд╢рдХрддреЗ рдЖрдгрд┐ рдЧреНрд░рд╛рд╣рдХ рджреЗрдЦреАрд▓ рдЖрдгреВ рд╢рдХрддрд╛рдд. рдЖрдгрд┐ рддреНрдпрд╛рдиреЗ рддреЗ рдЖрдгрд▓реЗ! рдЦреЗрд│ рд╕реБрд░реВ рдЕрд╕рддрд╛рдирд╛, рд╡реЗрдмрд╕рд╛рдЗрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдордЪреНрдпрд╛рд╢реА рджреЛрдирджрд╛ рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд▓рд╛ рдЧреЗрд▓рд╛.
рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдореА рд╕реНрд╡рддрдГ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ, рдЕрдзрд┐рдХ gif рдЖрдгрд┐ рдЪрдордХрджрд╛рд░ рдШрдЯрдХ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛. рдкрд░рдВрддреБ рдорд╛рдЭреНрдпрд╛ 10 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдбрд┐рдЭрд╛рдпрдирд░ рдкрддреАрдиреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдЦрд╛рдВрджреНрдпрд╛рд╡рд░ рдкрд╛рд╣рд┐рд▓реЗ рдЖрдгрд┐ рддреЗ "рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ" рдореНрд╣рдгреВрди рдирд╛рдХрд╛рд░рд▓реЗ. рдбрд┐рдЭрд╛рдЗрди рдирд┐рдпрдо рддреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреЗ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЕрд╕реЗ рдЕрдиреЗрдХ рд░рдВрдЧ рд╕рдВрдпреЛрдЬрди рдЖрд╣реЗрдд рдЬреЗ рдШреГрдгрд╛рд╕реНрдкрдж рднрд╛рд╡рдирд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛рдд: рд╣рд┐рд░рд╡рд╛ рдЖрдгрд┐ рд▓рд╛рд▓ рд╕рдорд╛рди рд╕рдореГрджреНрдзреА, рд░рд╛рдЦрд╛рдбреА рдЖрдгрд┐ рдЧреБрд▓рд╛рдмреА, рдирд┐рд│рд╛ рдЕрдзрд┐рдХ рддрдкрдХрд┐рд░реА. рд╕рд░рддреЗрд╢реЗрд╡рдЯреА, рдЖрдореНрд╣реА рдореВрд│ рд░рдВрдЧ рдореНрд╣рдгреВрди рд▓рд╛рд▓ рдЖрдгрд┐ рд╣рд┐рд░рд╡реНрдпрд╛ рд░рдВрдЧрд╛рдЪреНрдпрд╛ рд╕рдВрдпреЛрдЬрдирд╛рд╡рд░ рд╕реЗрдЯрд▓ рдЭрд╛рд▓реЛ, рдорд╛рдВрдЬрд░реАрд╕рд╣ gif рдЬреЛрдбрд▓реЗ рдЖрдгрд┐ рд╕реНрдЯреЙрдХ рдлреЛрдЯреЛрдордзреВрди рд╕реНрд╡рддрдГ рд╕реЛрдХреЛрд▓реЛрд╡реНрд╣рдЪреЗ 3-4 рдлреЛрдЯреЛ рдирд┐рд╡рдбрд▓реЗ. рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рдХрд╛рд╣реА рдЧрд░рдЬрд╛ рд╣реЛрддреНрдпрд╛: рдПрдХ рдордзреНрдпрдорд╡рдпреАрди рдорд╛рдгреВрд╕, рдПрдХ рдЕрдпреЛрдЧреНрдп рд╕реВрдЯ рдШрд╛рддрд▓реЗрд▓рд╛, рджреЛрди рдЖрдХрд╛рд░ рдЦреВрдк рдореЛрдард╛ рдЖрдгрд┐ "рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕реНрдЯреБрдбрд┐рдУ рдлреЛрдЯреЛ рд╢реВрдЯ" рдкреЛрдЭрдордзреНрдпреЗ. рдЪрд╛рдЪрдгреАрд╕рд╛рдареА, рддреНрдпрд╛рдВрдиреА рддреЗ рдорд┐рддреНрд░рд╛рдВрдирд╛ рджрд╛рдЦрд╡рд▓реЗ рдЖрдгрд┐ рд╡рд┐рдЪрд╛рд░рд▓реЗ "рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдХрд╕реЗ рдЖрд╡рдбрддреЗ?"
рдбрд┐рдЭрд╛рдЗрди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди, рдорд╛рдЭреНрдпрд╛ рдкрддреАрд▓рд╛ рджрд░ рдЕрд░реНрдзреНрдпрд╛ рддрд╛рд╕рд╛рд▓рд╛ рдЭреЛрдкрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ; рд╣реЗрд▓рд┐рдХреЙрдкреНрдЯрд░ рдЙрдбреВ рд▓рд╛рдЧрд▓реЗ. рддреНрдпрд╛рдЪреНрдпрд╛ рдбреЛрд│реНрдпрд╛рдВрдЪреЗ рд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА - рдлреНрд░рдВрдЯрдПрдВрдб рдкреВрд░реНрдг рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдкрд╛рд╢рд╛рдиреЗ рдмрд╣реБрддреЗрдХ рд╕реНрдХреНрд░реАрдирд╡рд░ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдХрдиреНрд╕реЛрд▓ рдЙрдШрдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛.
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЗ
рдкрдВрдЦреЗ рдЖрдгрд┐ рджрд┐рд╡реЗ рд╕реЙрд▓рд┐рдб-рд╕реНрдЯреЗрдЯ рд░рд┐рд▓реЗрджреНрд╡рд╛рд░реЗ рдорд╛рдЙрдВрдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рддрд╛рдмрдбрддреЛрдм рдкреВрд░реНрдг рдкреЙрд╡рд░рд╡рд░ рдЪрд╛рд▓реВ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд - рдЬреЗрдгреЗрдХрд░реВрди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрдЪреНрдпрд╛ рд╕рдорд╛рдВрддрд░ рд╢рдХреНрддреА рд╡рд╛рдвреЗрд▓.
рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдпрд╛рдмрджреНрджрд▓ рдкреБрдвреАрд▓ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ, рдЧреЗрдордЪреНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рднрд╛рдЧрд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рд╕рд╛рдЗрдЯрдЪреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рдВрдзрдХрд╛рдорд╛рдмрджреНрджрд▓ рдмреЛрд▓реВ.
рд░рд╣рд╛!
рд╕рд░реНрд╡реНрд╣рд░ рдирд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢реЛрдзрд╛рдмрджреНрджрд▓ рдЗрддрд░ рд▓реЗрдЦ
рдЦреЗрд│рд╛рдЪреА рд╕реБрд░реБрд╡рд╛рдд рдкрд╣рд┐рд▓рд╛ рдЗрд╢рд╛рд░рд╛ рд╢реНрд░реЗрдбрд░ рдХреЛрдгреА рдерд╛рдВрдмрд╡рд▓реЗ рдХрд┐рдВрд╡рд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рдирд╛рд╢ рдХрд░реВрди рд╢реЛрдз рдкреВрд░реНрдг рдХрд░рдгреЗ рдХрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ
рд╕реНрддреНрд░реЛрдд: www.habr.com