рд░рд╛рдорджрд╛ рд╕реНрдЯрд╛рдЗрд▓ рдерд┐рдВрдХрд┐рдВрдЧ: рдЗрдореНрдпреБрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдПрдВрдб рдЕрд░реНрд░реЗрд╕

1. рдкрд╣рд▓рд╛ рдХрджрдо
2. рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВ
3. рдЖрдВрд╢рд┐рдХ рдЙрдкрдпреЛрдЧ (рдХрд░реА)
4. рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
5. рдХреНрд╡реЗрдВрдЯреЗрд╕рд┐рд╡ рдиреЛрдЯреЗрд╢рди
6. рдЕрдкрд░рд┐рд╣рд╛рд░реНрдпрддрд╛ рдФрд░ рд╡рд╕реНрддреБрдПрдБ
7. рдЕрдкрд░рд┐рд╣рд╛рд░реНрдпрддрд╛ рдФрд░ рд╕рд░рдгрд┐рдпрд╛рдБ
8. рд▓реЗрдВрд╕
9. рдирд┐рд╖реНрдХрд░реНрд╖


рдпрд╣ рдкреЛрд╕реНрдЯ рд░рд╛рдорджрд╛ рд╕реНрдЯрд╛рдЗрд▓ рдерд┐рдВрдХрд┐рдВрдЧ рдирд╛рдордХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╕рд╛рддрд╡рд╛рдВ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред


рдЫрдареЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╢реИрд▓реА рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред


рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред


рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдкрдврд╝рдирд╛


рдЫрдареЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд░рд╛рдорджрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛, рдЬреИрд╕реЗ рдХрд┐ prop , pick рдФрд░ has ред рд░рд╛рдорджрд╛ рдореЗрдВ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЕрдзрд┐рдХ рддрд░реАрдХреЗ рд╣реИрдВред


рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП prop рдмрд░рд╛рдмрд░ nth рд╣реИ ; pick рд▓рд┐рдП рдмрд░рд╛рдмрд░ рд╕реНрд▓рд╛рдЗрд╕ рд╣реИ , рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд░рд╛рдмрд░ рд╕рдорд╛рд╣рд┐рдд рд╣реИ ред рдЖрдЗрдП рдЙрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред


 const numbers = [10, 20, 30, 40, 50, 60] nth(3, numbers) // => 40 (  ) nth(-2, numbers) // => 50 (     ) slice(2, 5, numbers) // => [30, 40, 50] (. ) contains(20, numbers) // => true 

рд╕реНрд▓рд╛рдЗрд╕ рджреЛ рдЗрдВрдбреЗрдХреНрд╕ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдмрд░реНрд░реЗ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ) рдФрд░ рджреВрд╕рд░реЗ рдЗрдВрдбреЗрдХреНрд╕ рддрдХ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рддрддреНрд╡ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рдЕрдВрддрд┐рдо рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░рд╛рдорджрд╛ рдЗрди рдорд╛рдорд▓реЛрдВ, рд╕рд┐рд░ рдФрд░ рдЖрдЦрд┐рд░реА рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ ( рдкреВрдВрдЫ ), рд╕рднреА рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо ( init ), рдкрд╣рд▓реЗ N рддрддреНрд╡реЛрдВ ( рд▓реЗ (N) ), рдФрд░ рдЕрдВрддрд┐рдо N рддрддреНрд╡реЛрдВ ( takeLast (N) ) рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рдЙрди рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддреЗ рд╣реИрдВред


 const numbers = [10, 20, 30, 40, 50, 60] head(numbers) // => 10 tail(numbers) // => [20, 30, 40, 50, 60] last(numbers) // => 60 init(numbers) // => [10, 20, 30, 40, 50] take(3, numbers) // => [10, 20, 30] takeLast(3, numbers) // => [40, 50, 60] 

рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдВ


рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рдЕрджреНрдпрддрди рдХрд░рдиреЗ, рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рдирд╛, dissoc рдФрд░ omit рд╕реАрдЦрд╛ред


рдЪреВрдВрдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдСрд░реНрдбрд░ рдХреА рдЧрдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрдо рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реИрдВ рдФрд░ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рд░рд╛рдорджрд╛ рдПрдХ рд╕рд░рдгреА рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдкреЗрдВрдб рдФрд░ рдкреНрд░реАрдкреЗрдВрдб рддрд░реАрдХреЗ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред insert , append , рдФрд░ prepend рд╕рд░рдгреА рдореЗрдВ рдирдП рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВ; update "рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ" рдПрдХ рдирдП рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ред


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


 const numbers = [10, 20, 30, 40, 50, 60] insert(3, 35, numbers) // => [10, 20, 30, 35, 40, 50, 60] append(70, numbers) // => [10, 20, 30, 40, 50, 60, 70] prepend(0, numbers) // => [0, 10, 20, 30, 40, 50, 60] update(1, 15, numbers) // => [10, 15, 30, 40, 50, 60] 

рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдореЗрдВ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдкрд╣рд▓реЗ merge рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛ред Ramda рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреИрдЯ рд╡рд┐рдзрд┐ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


 const numbers = [10, 20, 30, 40, 50, 60] concat(numbers, [70, 80, 90]) // => [10, 20, 30, 40, 50, 60, 70, 80, 90] 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреВрд╕рд░рд╛ рд╕рд░рдгреА рдкрд╣рд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдХреЛрдб рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди merge рддрд░рд╣, рдпрд╣ рддрд░реНрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдЬреИрд╕рд╛ рд╣рдо рдЕрдкрдиреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕рдорд╛рд░реЛрд╣ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдкрд╛рдпрд╛ рдЧрдпрд╛, concatAfter : const concatAfter = flip(concat) , рдЗрд╕реЗ рдореЗрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред


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


 const numbers = [10, 20, 30, 40, 50, 60] remove(2, 3, numbers) // => [10, 20, 60] without([30, 40, 50], numbers) // => [10, 20, 60] drop(3, numbers) // => [40, 50, 60] dropLast(3, numbers) // => [10, 20, 30] 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдПрдХ рд░рд╛рд╢рд┐ рдХреЛ remove , рдЬрдмрдХрд┐ slice рджреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрд╕рдВрдЧрддрддрд╛ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддреА рд╣реИред


рддрддреНрд╡ рд░реВрдкрд╛рдВрддрд░рдг


рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдореВрд▓ рдорд╛рди рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╕рд░рдгреА рддрддреНрд╡ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред


 const numbers = [10, 20, 30, 40, 50, 60] //      10 update(2, multiply(10, nth(2, numbers)), numbers) // => [10, 20, 300, 40, 50, 60] 

рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рд╛рдорджрд╛ рдПрдХ рд╕рдорд╛рдпреЛрдЬрди рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП evolve рд╣реЛрдиреЗ рдЬреИрд╕рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди evolve рд╡рд┐рдкрд░реАрдд, рд╕рд░рдгреА рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо adjust ред


 const numbers = [10, 20, 30, 40, 50, 60] //      10 adjust(multiply(10), 2, numbers) 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ adjust рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рджреЛ рддрд░реНрдХ update рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдПрдХ рдЖрдВрд╢рд┐рдХ рдЖрд╡реЗрджрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП adjust(multiply(10)) рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдпрд╣ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рдХреЗ рдХрд┐рд╕ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖


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


рдЖрдЧреЗ


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

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


All Articles