рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВ

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



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


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

рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ, рдорд╛рд░реНрдХ рдХреНрд░рд╛рд╕рдиреЛрдбрд░ рджреЗрд╡реЛрджрд░ рдбреЗрд╡рд▓рдкрд░ рдбреЗрдЬрд╝ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, 19 рдЖрдИрдЯреА рд╕рдореБрджрд╛рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд┐рдирдХреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдордиреЗ рдореЙрд╕реНрдХреЛ рдореЗрдВ рдлреНрд░рдВрдЯреЗрдВрдб рдХреЙрдиреНрдл рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг


рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рд╣реИрдВред


рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди , рд╣рдо рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ (рдореЙрдбреНрдпреВрд▓) рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╡реЗ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рдереЗред

рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдПрдХ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред


рд╡реЗ рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдЬ рд╣рдо рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗред

рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг


рдХреЛрдИ рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдиреНрдпреВрдирддрдо рд╕реНрдерд┐рд░рддрд╛ рдЪрд╛рд╣рддреА рд╣реИ, рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд░рд╣реА рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

class Signal { on(callback) { ... } off(callback) { const callbackIndex = this.listeners.indexOf(callback); if (callbackIndex === -1) { return; } this.listeners = [ ...this.listeners.slice(0, callbackIndex - 1), ...this.listeners.slice(callbackIndex) ]; } trigger() { ... } } 

рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдХреНрд▓рд╛рд╕ рд╣реИ - рдпрд╣ рдПрдХ рдЗрд╡реЗрдВрдЯ рдПрдорд┐рдЯрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ рдФрд░ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдВрдж рд╡рд┐рдзрд┐ рд╣реИ - рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЙрд▓рдмреИрдХ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рд╕рд░рдгреА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдПрдХ рдЯреНрд░рд┐рдЧрд░ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧреАред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рдСрди рдФрд░ рдСрдл рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯреНрд░рд┐рдЧрд░, рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЙрд▓рдмреИрдХ рдХреЛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рдорд┐рд▓рд╛ред

 test('off method should remove listener', () => { const signal = new Signal(); let wasCalled = false; const callback = () => { wasCalled = true; }; signal.on(callback); signal.off(callback); signal.trigger(); expect(wasCalled).toBeFalsy(); }); 

рдЧреБрдгрд╡рддреНрддрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдорд╛рдирджрдВрдб


рдРрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдорд╛рдирджрдВрдб рд╣реИрдВ?

рдХреЛрдб рдХрд╡рд░реЗрдЬ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдорд╛рдирджрдВрдб рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреЛрдб рдХреА рдХрд┐рддрдиреА рдкреНрд░рддрд┐рд╢рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЖрдкрдХреЗ рдкрд╛рд╕ 70%, 80%, рдпрд╛ рд╕рднреА 90% рдХреЛрдб рдХрд╡рд░реЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рдпрд╛ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЖрдЗрдП рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред

рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреА рд╢рд╛рдо, рдЖрдк рдердХреЗ рд╣реБрдП рд╣реИрдВ, рдЖрдк рдЕрдЧрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕ рдХреЛрдб рдкрд░ рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд╕рд╣рдпреЛрдЧреА рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдФрд░ рдбрд░рд╛рд╡рдирд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

  ...this.listeners.slice(0, callbackIndex - 1), ...this.listeners.slice(callbackIndex) 

рдЖрдкрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдЖрдк рд╕рдВрднрд╡рддрдГ рдХреЗрд╡рд▓ рд╕рд░рдгреА рдХреЛ рд╕рд╛рдлрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 class Signal { ... off(callback) { const callbackIndex = this.listeners.indexOf(callback); if (callbackIndex === -1) { return; } this.listeners = []; } ... } 

рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ред рдЯреЗрд╕реНрдЯ рдкрд╛рд╕ рд╣реБрдЖ - рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдФрд░ рд╡рд╣ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдЪрд▓рд╛ рдЧрдпрд╛ред



рд▓реЗрдХрд┐рди рдЕрдЪрд╛рдирдХ, рджреЗрд░ рд░рд╛рдд, рд░рд┐рд╕реАрд╡рд░ рдореЗрдВ рдПрдХ рдХреЙрд▓ рдЖрдпрд╛, рдХрд┐ рд╕рдм рдХреБрдЫ рдЧрд┐рд░ рд░рд╣рд╛ рдерд╛, рд▓реЛрдЧ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡реНрдпрд╛рдкрд╛рд░ рдиреЗ рдкреИрд╕реЗ рдмрд░реНрдмрд╛рдж рдХрд┐рдП! рдЖрдк рдЬрд▓рддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд░реНрдЦрд╛рд╕реНрддрдЧреА рдХреА рдзрдордХреА рджреА рдЬрд╛рддреА рд╣реИред



рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ? рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдРрд╕реА рдЖрджрд┐рдо рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрдХрдбрд╝рд╛ рдЬрд╛рдП? рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреМрди рдХрд░реЗрдЧрд╛?

рдмреЗрд╢рдХ, рдЖрдк рдХреНрдпреВрдП рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдПрдХ рд╕реЗрдирд╛ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рдмреИрдардиреЗ рджреЗрдВ рдФрд░ рдмрд╕ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рддрд╛рд▓реА рдмрдЬрд╛рдПрдВред



рдпрд╛ рдХреНрдпреВрдП рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдВред рдЙрдиреНрд╣реЗрдВ рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рджреЛрд╖реА рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрджрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд▓реЛрдЧ рд╣реИрдВ рддреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдВ?

рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдорд╣рдВрдЧрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЬ рд╣рдо рдореНрдпреВрдЯреЗрд╢рдирд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдпрд╛ рдореНрдпреВрдЯреЗрд╢рдирд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдкрд░реАрдХреНрд╖рдг


рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЕрдкреНрд░рднрд╛рд╡реА рдФрд░ рдЕрдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рд╣реИ ред

рд╡рд┐рдЪрд╛рд░ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ, рдЙрди рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдЧрд┐рд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЕрдкреВрд░реНрдг рд╣реИрдВред

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


рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рдмрди рдЬрд╛рддрд╛ рд╣реИред

рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ:

  1. рдорд╛рд░реЗ рдЧрдП - рд╡реЗ рдЬрд┐рдирдореЗрдВ рд╣рдо рд╡рд┐рдЪрд▓рди рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдЬрд┐рд╕ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЧрд┐рд░ рдЧрдпрд╛ред
  2. рдЬреЛ рдмрдЪреЗ рд╣реИрдВ, рд╡реЗ рд╣рдорд╕реЗ рджреВрд░ рднрд╛рдЧрддреЗ рд╣реИрдВ рдФрд░ рдмрдЧ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВред

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

рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдерд╛, рдФрд░ рдЕрдм рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рдзрд╛рди


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдореНрдпреВрдЯреЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдЯреВрд▓ рд╣реИ - рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ ред рдпрд╣ рдирд╛рдо рдПрдХреНрд╕-рдореИрди рд╡рд┐рд▓рд┐рдпрдо рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдХреЗ рдЪрд░рд┐рддреНрд░ рдХреЗ рд╕рдореНрдорд╛рди рдореЗрдВ рд╕рд╛рдзрди рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - "рд╡реЗрдкрди рдПрдХреНрд╕" рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рд╕рднреА рдореНрдпреВрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рдбрд╝рд╛рдХреВред



рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдХрд░реНрдо рдпрд╛ рдЬреЗрд╕реНрдЯ рдХреА рддрд░рд╣ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХ рдирд╣реАрдВ рд╣реИ; рди рд╣реА рдпрд╣ рдореЛрдЪрд╛ рдпрд╛ рдЬреИрд╕реНрдореАрди рдХреА рддрд░рд╣ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред рдпрд╣ рдПрдХ рдореНрдпреВрдЯреЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдкреВрд░рдХ рдмрдирд╛рддрд╛ рд╣реИред

рдкреНрд▓рдЧрдЗрди рдкреНрд░рдгрд╛рд▓реА


рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдмрд╣реБрдд рд▓рдЪреАрд▓рд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд▓рдЧ-рдЗрди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред


рдЬреЗрд╕реНрдЯ, рдХрд░реНрдорд╛ рдФрд░ рдореЛрдЪрд╛ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред рдореЛрдЪрд╛ (рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-рдореЛрдЪрд╛-рдлреНрд░реЗрдорд╡рд░реНрдХ) рдЬреИрд╕реНрдореАрди (рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-рдЬреИрд╕реНрдореАрди) рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реАрдпреВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдореНрдпреВрдЯреЗрдЯрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╣реИред

  • рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-mutator;
  • рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-рдЯрд╛рдЗрдкрдкреНрд░рддрд┐;
  • рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-Vue-mutatorред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдореНрдпреВрдЯреЗрдЯрд░ рд╕реНрдЯреНрд░рд╛рдЗрдХрд░-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдореНрдпреВрдЯреЗрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╡реЗрдмрдкреИрдХ, рдмреИрдмрд▓ рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдпрд╣ рд╕рдм рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд┐рдиреНрдпрд╛рд╕


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рдЖрдкрдХреЛ рдХреЗрд╡рд▓ JSON рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рдирд░ (рдФрд░ / рдпрд╛ рдЯреЗрд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ / рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдкрд┐рд▓рд░) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде npm рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред

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

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдЬреАрд╡рди рдЪрдХреНрд░ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реИрдВ:

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



рдКрдкрд░ рд╕реНрдЯреНрд░реАрдХрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

  • рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ;
  • рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрдврд╝рддрд╛ рд╣реИ;
  • рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ;
  • рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдЧрд╛;
  • рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ;
  • 152 рдореНрдпреВрдЯреЗрдВрдЯ рдмрдирд╛рддрд╛ рд╣реИ;
  • 8 рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реАрдкреАрдпреВ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░)ред

рдпрд╣ рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХреБрдЫ CI / CD рд╕рд░реНрд╡рд░ рдкрд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

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

рдпреЗ рдРрд╕реА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦреА рдЧрдИ рдереАрдВред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


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

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

рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░
- рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВ? рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рддреНрд░реБрдЯрд┐ рднреА рд╣реИред рдкрд╣рд▓реА рдЗрдХрд╛рдИ-рдкрд░реАрдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрд╡рд░реЗрдЬ 90% рдерд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдорд╛рдорд▓реЗ рдлрд┐рд╕рд▓ рдЧрдП рдЬрдм рд╕рдм рдХреБрдЫ рдЧрд┐рд░ рдЧрдпрд╛ рдФрд░ рдЖрдЧ рд▓рдЧ рдЧрдИред рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрд╣рд╕рд╛рд╕ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрди рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ?

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

- рдЕрдХреНрд╕рд░ рдЖрдкрдХреЗ рдкрд╛рд╕ "рд╕реНрддрдмреНрдз рдФрд░ рдмрд╛рдПрдВ" рдХреА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред

- рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдРрд╕реА рдЪреАрдЬреЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХрд╡рд░реЗрдЬ рд╕рдм рдХреБрдЫ рдЬрд╛рдВрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

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

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

- рдХреЛрдб рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреВрд░реНрдгрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдЪреБрдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ?

- рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред рд╕реНрдЯреНрд░реАрдХрд░ рдХреЛ рдПрдХ рд╣реА рдХреЛрдб рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред

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

- рд╣рд╛рдВ, рдпрд╣ рдЙрдирдХрд╛ рдЕрд░реНрде рд╣реИ, рдХрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

- рддреЛ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ?

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

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

- рдЙрдирдХреЗ рдкрд╛рд╕ HTML- рд░рд┐рдкреЛрд░реНрдЯрд░ рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рд░рд┐рдкреЛрд░реНрдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реИред рд╢рд╛рдпрдж рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдо рдЕрднреА рднреА рдмрд┐рдВрджреБ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ TeamCity рдФрд░ рд╕рдорд╛рди CI / CD рдЯреВрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред

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

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

"рдлрд┐рд░ рднреА, рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдордп рдпрд╣ рдХрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рд╡реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдереЗред"

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

- рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдЪреЗрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд▓рд╛рдЗрдб рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд╛рдЗрд░рд┐рдВрдЧреНрд╕ рд╣реИрдВ, рд╡реЗ рдХреНрд░рд┐рдЯрд┐рдХрд▓ рд╣реИрдВ рдпрд╛ рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдирд╣реАрдВ рд╣реИрдВред рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВ?

- рд╕реВрдХреНрд╖реНрдо рдкреНрд░рд╢реНрди рд╡рд╣ рд╣реИ рдЬреЛ рдЕрд╕рддреНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯреАрдо рдХреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рд╣реБрдИрдВред рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдерд╛ред рд╕реНрдЯреНрд░рд╛рдЗрдХрд░ рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдиреЗ рддреНрд░реБрдЯрд┐ рдкрд╛рда рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдЬрд╛рдо рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдореВрд▓реА рд╣реИред

- рддреЛ рдЖрдк рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдореИрдиреБрдЕрд▓ рдореЛрдб рдореЗрдВ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ?

"рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкреЙрдЯ рдЪреЗрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд╛рдБред"

- рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рд╢реНрди рд╣реИред рдЬрдм рдЖрдкрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдЖрдк рдХрд┐рддрдиреЗ рдкреНрд░рддрд┐рд╢рдд рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЕрд╕рдлрд▓ рд░рд╣реЗ рдереЗ?

- рд╣рдордиреЗ рдЗрд╕реЗ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред

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

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


All Articles