рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рдЕрджреГрд╢реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреНрд░реЛрдЬрди рд╕реНрддреНрд░реЛрдд рд╣рд▓реНрд▓рд╛

рдХреЗрдВрдмреНрд░рд┐рдЬ рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рддреАрд▓ рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА рдкреАрдЕрд░-рд░рд┐рд╡реНрд╣реНрдпреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдбрдордзреНрдпреЗ рджреБрд░реНрднрд╛рд╡рдирд╛рдпреБрдХреНрдд рдХреЛрдб рд╢рд╛рдВрддрдкрдгреЗ рдШрд╛рд▓рдгреНрдпрд╛рдЪреЗ рддрдВрддреНрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рд╣рд▓реНрд▓рд╛ рдкрджреНрдзрдд (CVE-2021-42574) рдЯреНрд░реЛрдЬрди рд╕реЛрд░реНрд╕ рдпрд╛ рдирд╛рд╡рд╛рдиреЗ рд╕рд╛рджрд░ рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рддреА рд╕рдВрдХрд▓рдХ/рджреБрднрд╛рд╖реА рдЖрдгрд┐ рдХреЛрдб рдкрд╛рд╣рдгрд╛рд▒реНрдпрд╛ рд╡реНрдпрдХреНрддреАрд╕рд╛рдареА рднрд┐рдиреНрди рджрд┐рд╕рдгрд╛рд░реНтАНрдпрд╛ рдордЬрдХреБрд░рд╛рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рдкрджреНрдзрддреАрдЪреА рдЙрджрд╛рд╣рд░рдгреЗ C, C++ (gcc рдЖрдгрд┐ clang), C#, JavaScript (Node.js), Java (OpenJDK 16), Rust, Go рдЖрдгрд┐ Python рд╕рд╛рдареА рдкреБрд░рд╡рд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдХрдВрдкрд╛рдпрд▓рд░ рдЖрдгрд┐ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рд╕рд╛рдареА рджрд╛рдЦрд╡рд▓реА рдЬрд╛рддрд╛рдд.

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

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

рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рдЕрджреГрд╢реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреНрд░реЛрдЬрди рд╕реНрддреНрд░реЛрдд рд╣рд▓реНрд▓рд╛

рдХреЛрдбрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рддрд╛рдирд╛, рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рд╡рд░реНрдгрд╛рдВрдЪреНрдпрд╛ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдСрд░реНрдбрд░рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ рдЖрдзреБрдирд┐рдХ рдордЬрдХреВрд░ рд╕рдВрдкрд╛рджрдХ, рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд┐рдВрд╡рд╛ IDE рдордзреНрдпреЗ рдПрдХ рдЧреИрд░-рд╕рдВрд╢рдпрд╛рд╕реНрдкрдж рдЯрд┐рдкреНрдкрдгреА рджрд┐рд╕реЗрд▓, рдкрд░рдВрддреБ рдХрдВрдкрд╛рдпрд▓рд░ рдЖрдгрд┐ рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ рд╡рд░реНрдгрд╛рдВрдЪреНрдпрд╛ рддрд╛рд░реНрдХрд┐рдХ рдХреНрд░рдорд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреАрд▓. рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреАрд▓ рджреНрд╡рд┐рджрд┐рд╢рд╛рддреНрдордХ рдордЬрдХреБрд░рд╛рдХрдбреЗ рд▓рдХреНрд╖ рди рджреЗрддрд╛, рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЕрдВрддрд░реНрднреВрддрддреЗрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рд╛. рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╡рд┐рдз рд▓реЛрдХрдкреНрд░рд┐рдп рдХреЛрдб рдПрдбрд┐рдЯрд░ (VS рдХреЛрдб, Emacs, Atom), рддрд╕реЗрдЪ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬрдордзреАрд▓ рдХреЛрдб рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕ (GitHub, Gitlab, BitBucket рдЖрдгрд┐ рд╕рд░реНрд╡ Atlassian рдЙрддреНрдкрд╛рджрдиреЗ) рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ.

рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рдЕрджреГрд╢реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреНрд░реЛрдЬрди рд╕реНрддреНрд░реЛрдд рд╣рд▓реНрд▓рд╛

рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреГрддреА рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА рдкрджреНрдзрдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдЕрдиреЗрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд: рд▓рдкрд╡рд┐рд▓реЗрд▓реЗ "рд░рд┐рдЯрд░реНрди" рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЬреЛрдбрдгреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдХрд╛рд░реНрдп рд╡реЗрд│реЗрдкреВрд░реНрд╡реА рдкреВрд░реНрдг рд╣реЛрддреЗ; рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рд╡реИрдз рд░рдЪрдирд╛ рдореНрд╣рдгреВрди рджреГрд╢реНрдпрдорд╛рди рдЕрд╕рдгрд╛рд░реНтАНрдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдВрд╡рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд╣рддреНрддреНрд╡рд╛рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА); рдЗрддрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдпреЗ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреЗ рдЬреНрдпрд╛рдореБрд│реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ рдмрджрд▓ рд╕реБрдЪрд╡реВ рд╢рдХрддреЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдУрд│ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ: if access_level != "рд╡рд╛рдкрд░рдХрд░реНрддрд╛{U+202E} {U+2066}// рдкреНрд░рд╢рд╛рд╕рдХ{U+2069} {U+2066}" {

рдЬреЗ рд░рд┐рд╡реНрд╣реНрдпреВ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдЬрд╕реЗ access_level != тАЬрд╡рд╛рдкрд░рдХрд░реНрддрд╛тАЭ { // рдкреНрд░рд╢рд╛рд╕рдХ рдЖрд╣реЗ рдХрд╛ рддреЗ рддрдкрд╛рд╕рд╛

рдпрд╛ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдгрдЦреА рдПрдХ рдЖрдХреНрд░рдордг рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ (CVE-2021-42694), рд╕рдорд░реВрдкрддреЗрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд, рд╡рд░реНрдг рдЬреЗ рджрд┐рд╕рд╛рдпрд▓рд╛ рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЕрд░реНрдерд╛рдиреЗ рднрд┐рдиреНрди рдЖрд╣реЗрдд рдЖрдгрд┐ рднрд┐рдиреНрди рдпреБрдирд┐рдХреЛрдб рдХреЛрдб рдЖрд╣реЗрдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд░реНрдг тАЬ╔СтАЭ рд╕рд╛рд░рдЦрд╛ рджрд┐рд╕рддреЛ. a", "╔б" - "g", "╔й" - "l"). рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреА рджрд┐рд╢рд╛рднреВрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреНрдпрд╛ рдирд╛рд╡рд╛рд╡рд░ рддрддреНрд╕рдо рдЕрдХреНрд╖рд░реЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрднреЗрджреНрдп рдирд╛рд╡рд╛рдВрд╕рд╣ рджреЛрди рдХрд╛рд░реНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЬреА рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдд. рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╢рд┐рд╡рд╛рдп, рдпрд╛ рджреЛрди рдлрдВрдХреНрд╢рдиреНрд╕рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдард┐рдХрд╛рдгреА рдореНрд╣рдгрддрд╛рдд рд╣реЗ рддреНрд╡рд░рд┐рдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдд рдирд╛рд╣реА.

рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рдЕрджреГрд╢реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреНрд░реЛрдЬрди рд╕реНрддреНрд░реЛрдд рд╣рд▓реНрд▓рд╛

рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди, рдпреБрдирд┐рдХреЛрдб рд╡рд░реНрдгрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░реЗ рдХрдВрдкрд╛рдЗрд▓рд░, рджреБрднрд╛рд╖реА рдЖрдгрд┐ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд╛рдзрдиреЗ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЯрд░рд▓реНрд╕рдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рдЖрдЙрдЯрдкреБрдЯрдЪреА рджрд┐рд╢рд╛ рдмрджрд▓рдгрд╛рд░реЗ рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ (U+202A, U+202B, U+202C, U+202D, U+202E, U+2066, U+2067, U+2068, U+2069, U+061C, U+200E рдЖрдгрд┐ U+200F). рдЕрд╢рд╛ рд╡рд░реНрдгрд╛рдВрдирд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЖрдгрд┐ рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рдЖрдгрд┐ рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪрд╛ рдЖрджрд░ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.

рдкрд░рд┐рд╢рд┐рд╖реНрдЯ 1: GCC, LLVM/Clang, Rust, Go, Python рдЖрдгрд┐ binutils рд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рдкреЕрдЪ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. GitHub, Bitbucket рдЖрдгрд┐ Jira рдиреЗ рджреЗрдЦреАрд▓ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ. GitLab рд╕рд╛рдареА рдирд┐рд░рд╛рдХрд░рдг рдкреНрд░рдЧрддреАрдкрдерд╛рд╡рд░ рдЖрд╣реЗ. рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдХреЛрдб рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА, рдХрдорд╛рдВрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ: grep -r $'[\u061C\u200E\u200F\u202A\u202B\u202C\u202D\u202E\u2066\u2067\u2068\u2069/' рд╕реНрд░реЛрдд

рдкрд░рд┐рд╢рд┐рд╖реНрдЯ 2: Russ Cox, рдкреНрд▓реЕрди 9 OS рдЖрдгрд┐ Go рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖реЗрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдкреИрдХреА рдПрдХ, рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрдХреНрд░рдордг рдкрджреНрдзрддреАрдХрдбреЗ рдЬрд╛рд╕реНрдд рд▓рдХреНрд╖ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдЯреАрдХрд╛ рдХреЗрд▓реА, рдЬреА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдЬреНрдЮрд╛рдд рдЖрд╣реЗ (Go, Rust, C++, Ruby) рдЖрдгрд┐ рдЧрд╛рдВрднреАрд░реНрдпрд╛рдиреЗ рдШреЗрддрд▓реЗ рдЧреЗрд▓реЗ рдирд╛рд╣реА. . рдХреЙрдХреНрд╕рдЪреНрдпрд╛ рдорддреЗ, рд╕рдорд╕реНрдпрд╛ рдореБрдЦреНрдпрддрдГ рдХреЛрдб рдПрдбрд┐рдЯрд░ рдЖрдгрд┐ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреАрд▓ рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдпреЛрдЧреНрдп рдкреНрд░рджрд░реНрд╢рдирд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ, рдЬреА рдкреБрдирд░рд╛рд╡рд▓реЛрдХрдирд╛рджрд░рдореНрдпрд╛рди рдпреЛрдЧреНрдп рд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд╛рдкрд░реВрди рд╕реЛрдбрд╡рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рддреНрдпрд╛рдореБрд│реЗ, рд╕рдЯреНрдЯрд╛ рд╣рд▓реНрд▓реНрдпрд╛рдВрдХрдбреЗ рд▓рдХреНрд╖ рд╡реЗрдзрдгреНрдпрд╛рдРрд╡рдЬреА, рдХреЛрдб рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдгреЗ рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдард░реЗрд▓.

рд░рд╛рд╕ рдХреЙрдХреНрд╕рдЪрд╛ рдЕрд╕рд╛рд╣реА рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрдВрдкрд╛рдпрд▓рд░ рд╣реЗ рдпреЛрдЧреНрдп рдард┐рдХрд╛рдг рдирд╛рд╣реА, рдХрд╛рд░рдг рдХрдВрдкрд╛рдпрд▓рд░ рд╕реНрддрд░рд╛рд╡рд░ рдзреЛрдХрд╛рджрд╛рдпрдХ рдЪрд┐рдиреНрд╣рд╛рдВрд╡рд░ рдмрдВрджреА рдШрд╛рддрд▓реНрдпрд╛рдиреЗ, рдпрд╛ рдЪрд┐рдиреНрд╣рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд░рд╛рд╣рддреЗ, рдЬрд╕реЗ рдХреА рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо, рдЕрд╕реЗрдВрдмрд▓рд░, рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрдгрд┐ рд╡рд┐рд╡рд┐рдз рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЖрдгрд┐ рдбреЗрдЯрд╛. рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди, рд░рд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджрд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░рдордзреНрдпреЗ LTR/RTL рдХреЛрдбрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХрд╛рд░реНрдЧреЛ рдкреЕрдХреЗрдЬ рдореЕрдиреЗрдЬрд░рдордзреНрдпреЗ рдирд┐рд░рд╛рдХрд░рдг рдЬреЛрдбрд▓реЗ рдирд╛рд╣реА, рдЬреЗ Cargo.toml рдлрд╛рдЗрд▓рджреНрд╡рд╛рд░реЗ рд╕рдорд╛рди рдЖрдХреНрд░рдордгрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ, BUILD.bazel, CMakefile, Cargo.toml, Dockerfile, GNUmakefile, Makefile, go.mod, package.json, pom.xml рдЖрдгрд┐ requirements.txt рд╕рд╛рд░рдЦреНрдпрд╛ рдлрд╛рдпрд▓реА рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪреЗ рд╕реНрд░реЛрдд рдмрдиреВ рд╢рдХрддрд╛рдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛