PHP рдореЗрдВ рдмрд┐рдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП Liam Hammett : Bitmask Constant Arguments рджреНрд╡рд╛рд░рд╛ PHP рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдБред

PHP рдореЗрдВ рдХрдИ рдорд╛рдирдХ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмреВрд▓рд┐рдпрди рддрд░реНрдХреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрдИ рдмреВрд▓рд┐рдпрди рдЭрдВрдбреЗ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдХрд▓ рддрд░реНрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред


рд╡реЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред




рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ PHP рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ


PHP 7.2, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рд╣рд┐рдд, рдореЗрдВ 1800 рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг PHP 7.3 рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд░реВрдкрд╛рдВрддрд░рдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП json_encode рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


 json_encode($value, JSON_THROW_ON_ERROR); 

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ | (рдпрд╛) рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрдЯрд░, рдХрдИ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред PHP рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг :


 json_encode($value, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); 

рдХреБрдЫ рднреА рдирд╣реАрдВред


рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


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


рдкреВрд░реНрдгрд╛рдВрдХ рджрд╢рдорд▓рд╡ (рдЖрдзрд╛рд░ 10), рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ (рдмреЗрд╕ 16), рдСрдХреНрдЯрд▓ (рдмреЗрд╕ 8), рдпрд╛ рдмрд╛рдЗрдирд░реА (рдмреЗрд╕ 2) рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред [...]
рдмрд╛рдЗрдирд░реА рдиреЛрдЯреЗрд╢рди рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирдВрдмрд░ 0 рдмреА рд╕реЗ рдкрд╣рд▓реЗ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
- php.net

рдмрд╛рдЗрдирд░реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг:


 const A = 0b0001; // 1 const B = 0b0010; // 2 const C = 0b0100; // 4 const D = 0b1000; // 8 

рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЕрдиреБрдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдирд░реА рдорд╛рди рдЕрдВрдд рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢реВрдиреНрдп рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдЙрдЪреНрдЪ рдореВрд▓реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред 0b рдФрд░ 1 рдХреЗ рдмреАрдЪ рд╢реВрдиреНрдп рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рджреЛ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред


рдмрд┐рдЯрд╡рд╛рд░ рдпрд╛


рд╕рдВрдЪрд╛рд▓рдХ рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВ | ( рдмрд┐рдЯрд╡рд╛рдЗрдЬ "рдпрд╛" ) рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде || ( рддрд╛рд░реНрдХрд┐рдХ "OR" ), рдЬреЛ рдЖрдорддреМрд░ рдкрд░ if else рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ "OR" рдПрдХ рдмрд╛рдЗрдирд░реА рдСрдкрд░реЗрд╢рди рд╣реИ, рдЬрд┐рд╕рдХреА рдХреНрд░рд┐рдпрд╛ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рдмрд╛рдЗрдирд░реА рдЕрднреНрдпрд╛рд╡реЗрджрди рдореЗрдВ рд╕рдорд╛рди рдкрджреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рдмрд┐рдЯреНрд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд░реНрдХрд┐рдХ "OR" рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдСрдкрд░реЗрдВрдб рдХреЗ рджреЛрдиреЛрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдЯреНрд╕ 0 рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдмрд┐рдЯ 0 рд╣реИ; рдпрджрд┐ рдЬреЛрдбрд╝реА рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд┐рдЯ 1 рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдмрд┐рдЯ 1 рд╣реИред


рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдСрдкрд░реЗрд╢рди "рдпрд╛" рдХрд╛ рдЙрджрд╛рд╣рд░рдг:


 const A = 0b0001; const B = 0b0010; const C = 0b0100; const D = 0b1000; A | B === 0b0011; A | C | D === 0b1101; 

рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдФрд░ (AND)


рдЗрд╕реА рддрд░рд╣, & рдСрдкрд░реЗрдЯрд░ ( рдмрд┐рдЯрд╡рд╛рдЗрдВрдб рдПрдВрдб ) рдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ && рдСрдкрд░реЗрдЯрд░ ( рддрд╛рд░реНрдХрд┐рдХ рдФрд░ ) рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдФрд░ рдПрдХ рдмрд╛рдЗрдирд░реА рдСрдкрд░реЗрд╢рди рд╣реИ, рдЬрд┐рд╕рдХреА рдХреНрд░рд┐рдпрд╛ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рдмрд╛рдЗрдирд░реА рдЕрднреНрдпрд╛рд╡реЗрджрди рдореЗрдВ рд╕рдорд╛рди рдкрджреЛрдВ рдкрд░ рд╕реНрдерд┐рдд рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдмрд┐рдЯреНрд╕ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдСрдкрд░реЗрдВрдб рдХреЗ рджреЛрдиреЛрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдЯ 1 рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдирд░реА рдмрд┐рдЯ 1 рд╣реИ; рдпрджрд┐ рдЬреЛрдбрд╝реА рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд┐рдЯ 0 рд╣реИ, рддреЛ рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдирд░реА рдмрд┐рдЯ 0 рд╣реИред


 const A = 0b0001; const B = 0b0010; const C = 0b0100; const D = 0b1000; const VALUE = 0b1010; A & B === 0b0000; //      A  B A & C & D === 0b0000; //      A, B  C A & A === 0b0001; //      A  A & VALUE === 0b0000; //      A  VALUE B & VALUE === 0b0010; //  1    B,    VALUE 

рдХреНрдпрд╛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рдмреВрд▓рд┐рдпрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?


рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ PHP рдореЗрдВ "рдЯрд╛рдЗрдк рдореИрдирд┐рдкреБрд▓реЗрд╢рди " ( рдкреНрд░рдХрд╛рд░ рдХреА рдЬреБрдЧрд▓рдмрдВрджреА ) рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреА рднрд╛рд╖рд╛ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ (PHP) рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдирдВрдмрд░ 0 рдПрдХ рдмреВрд▓рд┐рдпрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдиреЗ рдкрд░ false рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ true рд╣реЛрдВрдЧреАред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдореВрд▓реНрдп рдЬреЛ рд╣рдо рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ?


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ!


рдЕрдм рд╣рдо рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рддрднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо 0b0000 (рдпрд╛ 0 , рдЬреЛ рдХрд┐ false рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ) рдирд╣реАрдВ рд╣реИред


 const A = 0b0001; const B = 0b0010; function f($arg = 0) { if ($arg & A) { echo 'A'; } if ($arg & B) { echo 'B'; } } f(); // nothing f(A); // 'A' f(B); // 'B' f(A | B); // 'AB' 

рдЕрдиреНрдп рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд PHP рдлрд╝рдВрдХреНрд╢рди (рдЬреИрд╕реЗ json_encode ) рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред


рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ?


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


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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред




рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдкрдврд╝рдирд╛ рдХреНрд░рд┐рдпрд╛ рдФрд░ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рд╣реИ рдЬреЛ рдЙрдирдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ ред

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


All Articles