WebAssembly- рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдХрд┐рдЯ, рд╡рд╛рд╕рдорд░ 2.0 рдЙрдкрд▓рдмреНрдз рд╣реИ

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

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

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

WebAssembly рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд░рдирдЯрд╛рдЗрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд╛рд╕рдорд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдЬреЛ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЖрддрд╛ рд╣реИ ("рдХрд░реНрд▓ https://get.wasmer.io -sSfL | sh"), рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдПрдВ ("wasmer test.wasm" ). рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рдпрдорд┐рдд WebAssembly рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ WAPM рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕рдорд░ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рдХреЛ рд░рд╕реНрдЯ, рд╕реА/рд╕реА++, рд╕реА#, рдбреА, рдкрд╛рдпрдерди, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЧреЛ, рдкреАрдПрдЪрдкреА, рд░реВрдмреА, рдПрд▓рд┐рдХреНрд╕рд┐рд░ рдФрд░ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрдкрдХреЛ рдореВрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдХрд░реАрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред WebAssembly рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд┐рд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдорд╢реАрди рдХреЛрдб ("wasmer compile -native" рдкреНрд░реАрдХрдВрдкрд┐рд▓реНрдб .so, .dylib рдФрд░ .dll рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд░рдирдЯрд╛рдЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд╛рд╕рдорд░ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдРрдб-рдСрди рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рдФрд░ рд╡рд╛рд╕рдо-рд╕реА-рдПрдкреАрдЖрдИ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИред

рд╡рд╛рд╕рдорд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдЖрдВрддрд░рд┐рдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╢реБрд░реВрдЖрдд рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, 99% рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ, рдХреНрд░рдордмрджреНрдз рд╡рд╛рд╕рдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреА рдмрджрд▓рд╛рд╡ рд╣реИ (рд╡рд╛рд╕рдорд░ 1.0 рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдореЙрдбреНрдпреВрд▓ рд╡рд╛рд╕рдорд░ 2.0 рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗрдВрдЧреЗ)ред рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди:

  • SIMD (рдПрдХрд▓ рдирд┐рд░реНрджреЗрд╢, рдПрдХрд╛рдзрд┐рдХ рдбреЗрдЯрд╛) рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрд┐рди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ SIMD рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрдирдореЗрдВ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ, рд╡реАрдбрд┐рдпреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ, рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рднреМрддрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд┐рдореБрд▓реЗрд╢рди рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣реЗрд░рдлреЗрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рд╕рдВрджрд░реНрдн рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рд╡рд╛рд╕рдо рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдХрд┐рдП рдЧрдП рд╣реИрдВ. рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрд▓рдПрд▓рд╡реАрдПрдо рд░рдирдЯрд╛рдЗрдо рдХреА рдЧрддрд┐ рд▓рдЧрднрдЧ 50% рдмрдврд╝рд╛ рджреА рдЧрдИ рд╣реИред рдХрд░реНрдиреЗрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдХрд╛рдлреА рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 40% рдХреА рд╡реГрджреНрдзрд┐ рдХреА рдЧрдИ рд╣реИред рдбреЗрдЯрд╛ рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдордп рдХрдо рд╣реЛ рдЧрдпрд╛ред
    WebAssembly- рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдХрд┐рдЯ, рд╡рд╛рд╕рдорд░ 2.0 рдЙрдкрд▓рдмреНрдз рд╣реИ
    WebAssembly- рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЯреВрд▓рдХрд┐рдЯ, рд╡рд╛рд╕рдорд░ 2.0 рдЙрдкрд▓рдмреНрдз рд╣реИ
  • рд╕рд╛рд░ рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдВрдЬрдиреЛрдВ рдХреЗ рдирд╛рдо рдмрджрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВ: JIT тЖТ рдпреВрдирд┐рд╡рд░реНрд╕рд▓, рдиреЗрдЯрд┐рд╡ тЖТ Dylib (рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА), рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ тЖТ рд╕реНрдЯреЗрдЯрд┐рдХрд▓рд┐рдм (рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА)ред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ