рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдЖрдкрдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛рддреА рд╣реИ

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

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

рдЗрд╕рд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдпрд╛ Node.js. рдЪрд▓рд╛рддреЗ рд╕рдордп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдЪрд▓рд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрдИ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ (рд░рдирдЯрд╛рдЗрдо) рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рдпрджрд┐ рдЖрдк рдХрднреА рднреА рдмрд╛рдж рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рддрднреА рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВрдЧреЗ рдЬрдм рдЖрдк рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

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

рдлреНрд▓реЛ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ ReasonML

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

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

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

рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

let add = (a, b) => a + b; 

рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдпреЗ рддрд░реНрдХ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рддрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдлреНрд▓реЛ рдореЗрдВ, рдЗрди рддрд░реНрдХреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 let add = (a: number, b: number) => a + b 

рдЕрдм рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЛ рдЕрдВрддрд░ рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреЛ рдлрд╝реНрд▓реЛрдЯ рдпрд╛ рджреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдирд╣реАрдВ, рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдирдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рдЖрдЗрдП рд░реАрдЬрд╝рди рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 let add = (a: string, b: number) => a + b add('some string', 5) // outputs: "some string5" 

рдпрд╣ рдлреАрдЪрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдФрд░ рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд░реАрдЬрд╝рди рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдордЭрддрд╛ рд╣реИ?

 let add = (a, b) => a + b; add("some string", 5); /* This has type: string but somewhere wanted: int */ 

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрддрд░ рдкрд░ рдЦрд╛рдорд┐рдпрд╛рдВ рдереАрдВред рдЗрдВрдЯ, рдлреНрд▓реЛрдЯ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░рдг рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрдЯрд░ рд╣реИрдВред

рдЗрд╕ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд "рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ" рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рди рдЧрд┐рд░рд╛рдПред

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

рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдЕрдиреБрднрд╡

рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рд╕реБрдзрд╛рд░ рдпрд╛ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рджреЗрдЦрддреЗ рд╣реИрдВред

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

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

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

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

рдпрджрд┐ рдЖрдк рд░реАрдЬрд╝рди рдореЗрдВ рд░реВрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рдкреНрд░рд▓реЗрдЦрди рдпрд╣рд╛рдБ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ @jordwalke , @jaredforsyth рдФрд░ @sgrove рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдлреЙрд▓реЛ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдХрд╛рд░рдг / OCaml рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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


All Articles