Author: demensdeum

  • Surreal рдЗрдВрдЬрди C++ рдХреЛ WebAssembly рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛

    рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдиреЗ Surreal рдЗрдВрдЬрди рдЧреЗрдо рдЗрдВрдЬрди рдХреЛ WebAssembly рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред
    https://demensdeum.com/demos/SurrealEngine/”
    рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЬрди – рдПрдХ рдЧреЗрдо рдЗрдВрдЬрди рдЬреЛ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЬрди 1 рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдЗрдВрдЬрди рдкрд░ рдкреНрд░рд╕рд┐рджреНрдз рдЧреЗрдо – рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ 99, рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдбреНрдпреВрд╕ рдПрдХреНрд╕, рдЕрдирдбрд╛рдЗрдВрдЧред рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ рдЗрдВрдЬрдиреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
    рдореВрд▓ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдорди рдореЗрдВ рдПрдХ рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд▓реЗрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рднреА рдЙрдЪрд┐рдд рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЯреНрд╡рд┐рдЪ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЕрдкрдиреА рдкрд╣рд▓реА рд╕реНрдЯреНрд░реАрдо рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдЕрдЪрд╛рдирдХ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ Emscripten рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Surreal рдЗрдВрдЬрди C++ рдХреЛ WebAssembly рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╕рдВрднрд╡ рдерд╛ред

    рдПрдХ рдорд╣реАрдиреЗ рдмрд╛рдж, рдореИрдВ WebAssembly рдкрд░ рдЕрдкрдирд╛ рдлрд╝реЛрд░реНрдХ рдФрд░ рдЗрдВрдЬрди рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ:
    https://demensdeum.com/demos/SurrealEngine/
    рдирд┐рдпрдВрддреНрд░рдг, рдореВрд▓ рдХреА рддрд░рд╣, рдХреАрдмреЛрд░реНрдб рддреАрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдирд┐рдпрдВрддреНрд░рдг (рдЯреИрдЪреА) рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рд╣реА рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдФрд░ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ 99 рд░реЗрдВрдбрд░ рдХреА рдЕрдиреНрдп рдЧреНрд░рд╛рдлрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

    рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?

    рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ Emscripten рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C++ рд╕реЗ WebAssembly рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХрдорд╛рддреНрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд┐рддрдиреА рдкреВрд░реНрдг рд╣реЛрдЧреАред рдРрд╕рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреБрдиреЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЛрд░реНрдЯ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдВ; Surreal рдЗрдВрдЬрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдмрд╣реБрдд рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЬрди SDL 2, OpenAL – рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп. рд╡реЗ рджреЛрдиреЛрдВ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд▓реНрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ HTML5 рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, WebGPU рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдбреНрд░рд╛рдлреНрдЯ рдЪрд░рдг рдореЗрдВ рднреА рд╣реИ, рдФрд░ рдпрд╣ рднреА рдЕрдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдирдХреАрдХреГрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж Vulkan рд╕реЗ WebGPU рддрдХ рдХрд╛ рдкреЛрд░реНрдЯ рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ Surreal рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдореВрд▓ OpenGL-ES/WebGL рд░реЗрдВрдбрд░рд░ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ред

    рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг

    Surreal рдЗрдВрдЬрди рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдБ – рд╕реАрдПрдордХреЗ, рдЬреЛ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рднреА рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯрди рдЕрдкрдиреЗ рдореВрд▓ рдмрд┐рд▓реНрдбрд░реЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ – рдПрдордореЗрдХ, рдПрдордореЗрдХред
    Surreal рдЗрдВрдЬрди рдкреЛрд░реНрдЯ WebGL/OpenGL ES рдФрд░ C++ рдореЗрдВ рдбреЗрде-рдорд╛рд╕реНрдХ рдирд╛рдордХ рдореЗрд░реЗ рдирд╡реАрдирддрдо рдЧреЗрдо рдХреЗ рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдмрд╣реБрдд рд╕рд░рд▓ рдерд╛, рдореЗрд░реЗ рдкрд╛рд╕ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рдлрд╝реНрд▓реИрдЧ рдФрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдереЗред
    CMakeLists.txt рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ Emscripten рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдлрд╝реНрд▓реИрдЧ рд╣реИ, рдиреАрдЪреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

    set(CMAKE_CXX_FLAGS "-s MIN_WEBGL_VERSION=2 
    -s MAX_WEBGL_VERSION=2 
    -s EXCEPTION_DEBUG 
    -fexceptions 
    --preload-file UnrealTournament/ 
    --preload-file SurrealEngine.pk3 
    --bind 
    --use-preload-plugins 
    -Wall 
    -Wextra 
    -Werror=return-type 
    -s USE_SDL=2 
    -s ASSERTIONS=1 
    -w 
    -g4 
    -s DISABLE_EXCEPTION_CATCHING=0 
    -O3 
    --no-heap-copy 
    -s ALLOW_MEMORY_GROWTH=1 
    -s EXIT_RUNTIME=1")
    

    рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ:

    clear
    emmake make -j 16
    cp SurrealEngine.data /srv/http/SurrealEngine/SurrealEngine.data
    cp SurrealEngine.js /srv/http/SurrealEngine/SurrealEngine.js
    cp SurrealEngine.wasm /srv/http/SurrealEngine/SurrealEngine.wasm
    cp ../buildScripts/Emscripten/index.html /srv/http/SurrealEngine/index.html
    

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

    рдореБрдЦреНрдп рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди

    рдлрд┐рд░ рд╣рдореЗрдВ рдЧреЗрдо рдХреЗ рдЧреЗрдо рд▓реВрдк рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛, рдЖрдк рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ, рдЗрд╕рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝реНрд░реАрдЬрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ emscripten_set_main_loop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ 2017 рдиреЛрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ ” target=’_blank’>SDL C++ рдЧреЗрдореНрд╕ рдХреЛ HTML5 (Emscripten) рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛тАЭ
    рд╣рдо while рд▓реВрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ if рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЧреЗрдо рд▓реВрдк рд╣реЛрддрд╛ рд╣реИ, рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ, рдФрд░ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЧреЗрдо рд▓реВрдк рдЪрд░рдг рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛:

    #if __EMSCRIPTEN__
    #include <emscripten.h>
    Engine *EMSCRIPTEN_GLOBAL_GAME_ENGINE = nullptr;
    void emscripten_game_loop_step() {
    	EMSCRIPTEN_GLOBAL_GAME_ENGINE->Run();
    }
    #endif
    

    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЛрдИ рдкреГрд╖реНрдарднреВрдорд┐ рдереНрд░реЗрдб рдирд╣реАрдВ рд╣реИрдВ; рдпрджрд┐ рд╣реИрдВ, рддреЛ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВ, рдпрд╛ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯрди рдореЗрдВ phtread рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    Surreal рдЗрдВрдЬрди рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдереНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЧреАрдд рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореБрдЦреНрдп рдЗрдВрдЬрди рдереНрд░реЗрдб рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЯреНрд░реИрдХ, рд╕рдВрдЧреАрдд рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╛ рдЙрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрддрд╛ рд╣реИ, рдлрд┐рд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдереНрд░реЗрдб рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдИ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирдпрд╛ рд╕рдВрдЧреАрдд рдмрдЬрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди рд╕рдВрдЧреАрдд рдХреЛ рдмрдлрд╝рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдереНрд░реЗрдб рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    рдкрд╛рдереНрд░реЗрдб рдХреЗ рд╕рд╛рде рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХреЗ рд▓рд┐рдП рд╕рд░рд░рд┐рдпрд▓ рдЗрдВрдЬрди рдмрдирд╛рдиреЗ рдХреЗ рдореЗрд░реЗ рдкреНрд░рдпрд╛рд╕ рдЕрд╕рдлрд▓ рд░рд╣реЗ, рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдбреАрдПрд▓2 рдФрд░ рдУрдкрдирдПрдПрд▓ рдкреЛрд░реНрдЯ рдмрд┐рдирд╛ рдкрд╛рдереНрд░реЗрдб рд╕рдорд░реНрдерди рдХреЗ рдмрдирд╛рдП рдЧрдП рдереЗ, рдФрд░ рдореИрдВ рд╕рдВрдЧреАрдд рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрдЧреАрдд рд╕реНрдЯреНрд░реАрдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред C++ рдХреЛрдб рд╕реЗ pthread рдХреЙрд▓реНрд╕ рдХреЛ рд╣рдЯрд╛рдХрд░, рдореИрдВрдиреЗ рдмрдлрд╝рд░рд┐рдВрдЧ рдФрд░ рд╕рдВрдЧреАрдд рдкреНрд▓реЗрдмреИрдХ рдХреЛ рдореБрдЦреНрдп рдереНрд░реЗрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рддрд╛рдХрд┐ рдХреЛрдИ рджреЗрд░реА рди рд╣реЛ, рдореИрдВрдиреЗ рдмрдлрд╝рд░ рдХреЛ рдХреБрдЫ рд╕реЗрдХрдВрдб рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ред
    рдЖрдЧреЗ, рдореИрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдФрд░ рдзреНрд╡рдирд┐ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

    рд╡рд▓реНрдХрди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ!

    рд╣рд╛рдБ, Vulkan HTML5 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рднреА рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдмреНрд░реЛрд╢рд░ Vulkan рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рд╡реНрдпрд╛рдкрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореБрдЭреЗ рд╕рд░рд▓реАрдХреГрдд OpenGL рдкреНрд░рдХрд╛рд░ – рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдореВрд▓ рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд░ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ред рдИрдПрд╕, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдЗрд╕рдореЗрдВ рдЖрдзреБрдирд┐рдХ рдУрдкрдирдЬреАрдПрд▓ рдХреА рдлреИрд╢рдиреЗрдмрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реЗрдмрдЬреАрдПрд▓ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЬреАрдпреВрдЖрдИ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЯрд╛рдЗрд▓ рд░реЗрдВрдбрд░рд┐рдВрдЧ, рдмреАрдПрд╕рдкреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рд▓рд┐рдЦрдирд╛ рдФрд░ рдореЙрдбрд▓ + рдореИрдк рд░реЗрдВрдбрд░ рдХрд░рдирд╛ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рд╢рд╛рдпрдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рдерд╛ред Surreal рдЗрдВрдЬрди рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреА рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдмрд╣реБрдд рдХрд╛рдо рдмрд╛рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдардХреЛрдВ рдХреА рдХрд┐рд╕реА рднреА рдорджрдж рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

    OpenAL рд╕рдорд░реНрдерд┐рдд!

    рдмрдбрд╝реА рдХрд┐рд╕реНрдордд рдпрд╣ рд╣реИ рдХрд┐ Surreal рдЗрдВрдЬрди рдСрдбрд┐рдпреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП OpenAL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред OpenAL рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рдЗрд╕реЗ Emscripten рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebAssembly рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд┐рддрдирд╛ рд╕рд░рд▓ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдзреНрд╡рдирд┐ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
    рдХрдИ рдШрдВрдЯреЛрдВ рдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдПрдореНрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрди рдХреЗ рдУрдкрдирдПрдПрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдИ рдмрдЧ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдореЛрдиреЛ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдзрд┐ рдПрдХ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддреА рд╣реИ, рдФрд░ рдЕрдирдВрдд рдЖрдХрд╛рд░ рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, C++ рдЕрдкрд╡рд╛рдж рд╡реЗрдХреНрдЯрд░::рд▓реЗрдВрде_рдПрд░рд░ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
    рд╣рдо рдореЛрдиреЛ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 2048 рддрдХ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдХреЗ рдЗрд╕рд╕реЗ рдирд┐рдЬрд╛рдд рдкрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ:

    		alcGetIntegerv(alDevice, ALC_MONO_SOURCES, 1, &monoSources);
    		alcGetIntegerv(alDevice, ALC_STEREO_SOURCES, 1, &stereoSources);
    
    #if __EMSCRIPTEN__
    		monoSources = 2048; // for some reason Emscripten's OpenAL gives infinite monoSources count, bug?
    #endif
    
    

    рдХреНрдпрд╛ рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ?

    Surreal рдЗрдВрдЬрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдСрдирд▓рд╛рдЗрди рдЦреЗрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмреЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрди рдмреЙрдЯреНрд╕ рдХреЗ рд▓рд┐рдП AI рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк Websockets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebAssembly/Emscripten рдкрд░ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЧреЗрдо рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

    рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг Surreal рдЗрдВрдЬрди рдХреА рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд╛рдлреА рд╕реБрдЪрд╛рд░реВ рд╣реЛ рдЧрдИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП Emscripten рдкреЛрд░реНрдЯ рд╣реИрдВ, рд╕рд╛рде рд╣реА Emscripten рдкрд░ WebAssembly рдХреЗ рд▓рд┐рдП C++ рдореЗрдВ рдПрдХ рдЧреЗрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкрд┐рдЫрд▓рд╛ рдЕрдиреБрднрд╡ рднреА рд╣реИред рд╡рд┐рд╖рдп рдкрд░ рдЬреНрдЮрд╛рди рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдФрд░ рднрдВрдбрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВред
    рдПрдо-рдПрдо-рдПрдо-рд░рд╛рдХреНрд╖рд╕ рд╣рддреНрдпрд╛!
    рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрдзрд┐рдорд╛рдирддрдГ рд╡реЗрдмрдЬреАрдПрд▓/рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛрдб рдХреЗ рд╕рд╛рде, рддреЛ рдореБрдЭреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд▓рд┐рдЦреЗрдВ:
    https://t.me/demenscave

    рд▓рд┐рдВрдХ

    https://demensdeum.com/demos/SurrealEngine/

    https://github.com/demensdeum/SurrealEngine-Emscripten

    https://github.com/dpjudas/SurrealEngine

  • рдЫреЗрдиреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯ рдЕрдЧреНрд░реЗрд╖рдг: L3 рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдкреНрдб-рдбрд╛рдЙрди рд╕реБрд░рдВрдЧ

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

    рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЫреЗрдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ – рдПрдХ рдЯреАрд╕реАрдкреА/рдпреВрдбреАрдкреА рд╕реБрд░рдВрдЧ рдЬреЛ HTTP рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддреА рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдЗрд╕ рдиреЛрдЯ рдореЗрдВ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдПрдХ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рджреВрд╕рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рддрдХ рдкреЛрд░реНрдЯ рдХреЛ “рдлреЙрд░рд╡рд░реНрдб” рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред

    рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

    рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ A (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХрд╛ рд╣реЛрдо рд╕рд░реНрд╡рд░), рдХреНрд▓рд╛рдЗрдВрдЯ B (рдЖрдкрдХрд╛ рдХрд╛рд░реНрдп рд▓реИрдкрдЯреЙрдк) рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рдкрддреЗ рд╡рд╛рд▓рд╛ рдПрдХ VPS рд╣реИред рдЧреНрд░рд╛рд╣рдХ рдП рдФрд░ рдмреА рд╡реАрдкреАрдПрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдирд╣реАрдВред

    рдЕрдЧреНрд░реЗрд╖рдг рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧреА:
    1. рдХреНрд▓рд╛рдЗрдВрдЯ рдП рд╡реАрдкреАрдПрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ “рд░рд┐рд╡рд░реНрд╕” рдкреЛрд░реНрдЯ рдЦреЛрд▓рддрд╛ рд╣реИред рдЕрдм рд╕рд░реНрд╡рд░ рдХреЗ рдкреЛрд░реНрдЯ X рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬрд╝ рдХреНрд▓рд╛рдЗрдВрдЯ A рдХреЗ рдкреЛрд░реНрдЯ Y рдкрд░ рдЬрд╛рддреА рд╣реИред
    2. рдХреНрд▓рд╛рдЗрдВрдЯ рдмреА рд╡реАрдкреАрдПрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯ Z рдХреЛ рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рдкреЛрд░реНрдЯ X рддрдХ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
    3. рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХреНрд▓рд╛рдЗрдВрдЯ B localhost:Z рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ A:Y рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

    рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд╣рд╛рдВ рд╡реАрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдПрд▓ 3 рдкрд░рдд рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмреАрдЪ рд░реВрдЯрд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкреЛрд░реНрдЯ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

    рдЪрд░рдг 1: рд╕рд░реНрд╡рд░ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

    рдЕрдкрдиреЗ VPS рдкрд░, рдмрд╕ Chisel рдХреЛ рд╕рд░реНрд╡рд░ рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдПрдБред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдкреЛрд░реНрдЯ рдЦреЛрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП <рдХреЛрдб>–рд░рд┐рд╡рд░реНрд╕ рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

    chisel server --port 8080 --reverse
    

    рдЪрд░рдг 2: рдХреНрд▓рд╛рдЗрдВрдЯ рдП (рд╕реНрд░реЛрдд) рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

    рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдП рдкреЛрд░реНрдЯ 3000 рдкрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╡реЗрдм рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╡рд╣ рд╡реАрдкреАрдПрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ: “рд╕рд░реНрд╡рд░ рдкрд░ рдкреЛрд░реНрдЯ 2000 рд░рд┐рдЬрд░реНрд╡ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдореБрдЭреЗ 3000 рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВред”

    chisel client vps-ip:8080 R:2000:127.0.0.1:3000
    

    рдЕрдм рд╡реАрдкреАрдПрд╕ (рд▓реВрдкрдмреИрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░) рдкрд░ рдкреЛрд░реНрдЯ 2000 рдХреНрд▓рд╛рдЗрдВрдЯ рдП рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

    рдЪрд░рдг 3: рдХреНрд▓рд╛рдЗрдВрдЯ рдмреА (рдЙрдкрднреЛрдХреНрддрд╛) рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

    рдЕрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдмреА рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣ рдЙрд╕реА рд╡реАрдкреАрдПрд╕ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкреЛрд░реНрдЯ 8080 рдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рдкреЛрд░реНрдЯ 2000 рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред

    chisel client vps-ip:8080 8080:127.0.0.1:2000
    

    рддреИрдпрд╛рд░! рдЕрдм, рдЬрдм рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдмреА рдкрд░ http://localhost:8080 рдЦреЛрд▓реЗрдВрдЧреЗ, рддреЛ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдП рдкрд░ рдЪрд▓ рд░рд╣реА рд╕реЗрд╡рд╛ рджреЗрдЦреЗрдВрдЧреЗред

    рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ

    рдЪрд┐рд╕реЗрд▓ --auth рдзреНрд╡рдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ TUN/TAP рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдЬрдЯрд┐рд▓ рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдк-рдбрд╛рдЙрди рд╕реБрд░рдВрдЧ рд╣реИ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдмрд╛рдВрдзрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдкреЛрд░реНрдЯ 443 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╕реЗрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

    рдЖрдЙрдЯрдкреБрдЯ

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

    рд▓рд┐рдВрдХ

    https://github.com/jpillora/chisel

  • рдореИрдВ рдмрдЧ рдареАрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛?

    рдЖрдк рдХреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ, рдкрд░рд┐рдХрд▓реНрдкрдирд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ, рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдЧ рдЕрднреА рднреА рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдЪрд┐рдд рд▓рдЧ рд░рд╣рд╛ рд╣реИ? рд╣рддрд╛рд╢рд╛ рдХреА рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдХреНрд╕рд░ “рднреВрдд рд╢рд┐рдХрд╛рд░” рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдкрдХреЗ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ рдЬреАрд╡рди рдЬреА рд░рд╣рд╛ рд╣реИред

    рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо – рдФрд░ рд╕рдмрд╕реЗ рдХрд╖реНрдЯрдкреНрд░рдж – рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рдЬрдЧрд╣ рдкрд░ рддреНрд░реБрдЯрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░рдирд╛ред

    “рдЭреВрдареЗ рд▓рдХреНрд╖рдгреЛрдВ” рдХрд╛ рдЬрд╛рд▓

    рдЬрдм рд╣рдо рдХреЛрдИ рддреНрд░реБрдЯрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрд╕рдиреЗ “рд╢реВрдЯ” рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ, рдЬрд╣рд╛рдВ рдмрдЧ рд╣реЛрддрд╛ рд╣реИ (рдХреНрд░реИрд╢ рдпрд╛ рдЧрд▓рдд рдорд╛рди) рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЕрдВрдд рдорд╛рддреНрд░ рд╣реИред рдЬрдм рдЖрдк рдЕрдВрдд рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд▓рдХреНрд╖рдгреЛрдВ рд╕реЗ рд▓рдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдмреАрдорд╛рд░реА рд╕реЗ рдирд╣реАрдВред

    рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдлрд╝реНрд▓реЛрдЪрд╛рд░реНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрддреА рд╣реИред

    рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

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

    рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭреЗ рдмрд┐рдирд╛, рдбреЗрд╡рд▓рдкрд░ рдЕрдХреНрд╕рд░ рдЕрдВрдзреЗрд░реЗ рдореЗрдВ рдЯрдЯреЛрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рдЖрдк рддрд░реНрдХ рдХреЛ рдПрдХ рд╢рд░реНрдд рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рдХреЗ рдХрд╛рд░рдг) рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рднреА рдирд╣реАрдВ рдерд╛ред

    <рдмреНрд▓реЙрдХрдХреЛрдЯ>
    рдкрд░рд┐рдгрд╛рдо: рдЖрдк рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ “рдкрд░рдлреЗрдХреНрдЯ” рдХреЛрдб рдлрд┐рдХреНрд╕ рдкрд░ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рджреВрд╕рд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

    <рдШрдВрдЯрд╛ />

    рдмрдЧ рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо

    рдмрдВрдж рджрд░рд╡рд╛рдЬреЗ рдкрд░ рдкрд┐рдЯрд╛рдИ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рджрд╛рди рдХреЗ рдкреНрд░рддрд┐ рдЕрдкрдирд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

    • рдкрд░рд┐рдгрд╛рдо рдЯреНрд░реА рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдвреВрдВрдвреЗрдВ:рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдкрде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗ рд▓рд┐рдпрд╛ рд╣реИред рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рддрд░реНрдХ рдиреЗ рдЧрд▓рдд рдореЛрдбрд╝ рд▓реЗ рд▓рд┐рдпрд╛? рдХрд┐рд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ (рд░рд╛рдЬреНрдп) рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИ?
    • рдкреБрдирд░реБрддреНрдкрд╛рджрди 80% рд╕рдлрд▓рддрд╛ рд╣реИ: рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдмрдЧ “рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ” рд╣реИ, рддреЛ рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИред
    • рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдиреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд▓реЙрдЧ, рдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг, рдбрд┐рд╡рд╛рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░, рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ (рд╡рд╛рдИ-рдлрд╛рдИ/5рдЬреА) рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреВрд░рд╕рдВрдЪрд╛рд░ рдСрдкрд░реЗрдЯрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред

    рддреНрд░реБрдЯрд┐ рдХреЗ рдХреНрд╖рдг рдХрд╛ “рдлрд╝реЛрдЯреЛрдЧреНрд░рд╛рдлрд╝”

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

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

    <рдШрдВрдЯрд╛ />

    рдПрдЖрдИ рдХреЗ рдпреБрдЧ рдореЗрдВ “рдорд╛рдпрд╛рд╡реА” рд╕реНрдерд┐рддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛

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

    рдРрд╕рд╛ рдЖрдзреБрдирд┐рдХ рдЙрддреНрдкрд╛рджрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рдЧреИрд░-рдирд┐рдпрддрд┐рд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ:

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

    рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, “рдЙрд╕реА рд╕реНрдерд┐рддрд┐” рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реА рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИред

    <рдШрдВрдЯрд╛ />

    рдЬрдм рддрд░реНрдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВ

    рдпрджрд┐ рдЖрдк “рдЕрд╕реБрд░рдХреНрд╖рд┐рдд” рднрд╛рд╖рд╛рдУрдВ (C рдпрд╛ C++) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдмрдЧ рдореЗрдореЛрд░реА рдХрд░рдкреНрд╢рди рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

    рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреА рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ?

    рдРрд╕реЗ “рд░рд╣рд╕реНрдпрдордп” рдмрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдзреБрдирд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

    • рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрдЯрд░реНрди:рд╕реНрдкрд╖реНрдЯ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред
    • рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛рдПрдБ: рдЙрдкрдХрд░рдг рдЬреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдореЗрдореЛрд░реА рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ:
      • рдЬрдВрдЧ: рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкреНрд░рдгрд╛рд▓реА рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреА рд╣реИред
      • рд╕реНрд╡рд┐рдлреНрдЯ 6 рдХрдВрдХрд░реЗрдВрд╕реА:рдордЬрдмреВрдд рдбреЗрдЯрд╛ рдЕрд▓рдЧрд╛рд╡ рдЬрд╛рдВрдЪред
      • рдПрд░рд▓рд╛рдВрдЧ: рдЕрднрд┐рдиреЗрддрд╛ рдореЙрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд▓рдЧрд╛рд╡ред

    рд╕рд╛рд░рд╛рдВрд╢

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

  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЖрдкрдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд┐рддреНрд░ рдХреНрдпреЛрдВ рд╣реИ?

    (рдФрд░ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдЬреЛ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рднреА рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЗрдВ)

    “рдРрдкреНрд╕ рдХреЗрд╡рд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд░реНрддрдорд╛рди рд╢рд┐рдкрд┐рдВрдЧ рдУрдПрд╕ рдкрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред” рдРрдкреНрдкрд▓ рдРрдк рд╕рдореАрдХреНрд╖рд╛ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢

    рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рдХрд┐рд╕реА рдирдП рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЦреБрдж рдХреЛ рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реБрдП рдкрд╛рдпрд╛ рд╣реИ: “рдЕрдм рдореИрдВ рдЦреБрдж рд╣реА рд╕рдм рдХреБрдЫ рд╕рдордЭ рд▓реВрдВрдЧрд╛, рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ,” рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдХреЗрд▓реЗ рдирд╣реАрдВ рд╣реИрдВред рд╣рдордореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдЦреЛрдЬреА рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИ: рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦреЗрдВред рдФрд░ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ.

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

    рдХрднреА-рдХрднреА рдХреЗрд╡рд▓ “рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╣реА рд╕рдордЭ рд▓реЗрдирд╛” рдкрд░реНрдпрд╛рдкреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛрддрд╛?

    рдлреНрд░реЗрдорд╡рд░реНрдХ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдВрдж рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЬрдЯрд┐рд▓ рдФрд░ рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВред рд╡реЗ рдЕрдХреНрд╕рд░ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ:

    *рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИрдВ;
    *рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд╛рд░рдВрдЯреА рди рджреЗрдВ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рднреА рдмрдирд╛ рд░рд╣реЗрдЧрд╛;
    * рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ;
    * рдЗрд╕рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

    рдЬрдм рд╣рдо рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рджрд╕реНрддрд╛рд╡реЗрдЬреА рдирд┐рдпрдореЛрдВ рдХреЗ рдмрдЬрд╛рдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрд╡рд▓реЛрдХрдиреЛрдВ рдкрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХреЗ рдкреНрд░рддрд┐ рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

    рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдХ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдорд░реНрдерди рд╣реИ

    рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдбреЗрд╡рд▓рдкрд░ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

    * рд╕реНрдерд┐рд░рддрд╛;
    * рд╕рд╣рд╛рдпрддрд╛;
    * рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдп рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╡рд╣рд╛рд░ред

    рдЗрди рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рдЬрд╛рдХрд░, рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдЦрд┐рдо рдЙрдард╛рддреЗ рд╣реИрдВ, рдФрд░ рдРрд╕реЗ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

    рдкреНрд░рдпреЛрдЧ? рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рд▓реЗрдХрд┐рди рд╕реАрдорд╛рдУрдВ рдХреА рд╕рдордЭ рдХреЗ рд╕рд╛рде.
    рдХрд┐рд╕реА рдбреЗрд╡рд▓рдкрд░ рдореЗрдВ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╣реЛрдирд╛ рдПрдХ рдорд╣рд╛рди рдЧреБрдг рд╣реИред рдирдИ рдЪреАрдЬрд╝реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдЬрд╝рдорд╛рдирд╛ рдирд┐рддрд╛рдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЗрдЪреНрдЫрд╛ рд╣реИ:

    рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд░рд╛рдорджрд╛рдпрдХ рддрд░реАрдХрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реИред

    рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкрде рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ рдФрд░ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

    рдПрдХ рдмрд╛рд╣рд░реА рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп: рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреА рд╕рд▓рд╛рд╣

    рд╣рдо рдЕрдХреНрд╕рд░ рдЕрдиреБрднрд╡реА рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рд╕реЗ рд╕реАрдЦрддреЗ рд╣реИрдВ:

    *рд╡реЗ рдЙрдкрдпреЛрдЧреА рдкрд╛рдареНрдпрдХреНрд░рдо рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ,
    *рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдмреЛрд▓реЗрдВ,
    *рдЕрджреНрднреБрдд рдХрд┐рддрд╛рдмреЗрдВ рдФрд░ рдмреНрд▓реЙрдЧ рд▓рд┐рдЦреЗрдВ,
    * рдЙрдирдХреЗ рдЕрдиреВрдареЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

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

    рдРрд╕реЗ “рдЕрдиреБрднрд╡рдЬрдиреНрдп рдкреИрдЯрд░реНрди” рдХрднреА-рдХрднреА:

    * рдХреЗрд╡рд▓ рдврд╛рдВрдЪреЗ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░реЗрдВ;
    * рдЕрджреНрдпрддрдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓;
    * рдЕрд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

    SOLID рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛

    SOLID рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рддреАрди рд╡рд┐рдЪрд╛рд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ:

    * рдЦреБрд▓рд╛/рдмрдВрдж рд╕рд┐рджреНрдзрд╛рдВрдд: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдЫрд┐рдкреЗ рд╣реБрдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд┐рд░реНрднрд░ рди рд░рд╣реЗрдВред
    * рд▓рд┐рд╕реНрдХреЛрд╡ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд┐рджреНрдзрд╛рдВрдд: рдЕрдиреБрдмрдВрдз рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдирд╣реАрдВред рдЕрдиреНрдпрдерд╛, рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
    * рдирд┐рд░реНрднрд░рддрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдордг: рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдирд╣реАрдВ, рдЕрдореВрд░реНрддрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдмрдирд╛рдПрдБред

    рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдврд╛рдВрдЪреЗ рдХреЗ рдЖрдВрддрд░рд┐рдХ, рдЧреИрд░-рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд┐рд╡рд░рдг рд╕реЗ рдмрдВрдзрд╛ рд╣реЛрдирд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднрдВрдЧреБрд░ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред
    рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

    * рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдХреЛрдб рдХрд╛ рдмреЗрд╣рддрд░ рдЕрд▓рдЧрд╛рд╡;
    * рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЖрд╕рд╛рдиреА;
    * рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдпрддрд╛ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ред

    рдЕрдЧрд░ рдХреЛрдИ рдмрдЧ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

    рдРрд╕рд╛ рднреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЙрдореНрдореАрджреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдврд╛рдБрдЪреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддреЗред рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ:

    * рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реЛред
    * рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░рд▓реЗрдЦрд┐рдд рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред
    * рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬреЗрдВ – рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХрд╛рдо рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдЧреА рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧреАред

    рдпрджрд┐ рдЙрджрд╛рд╣рд░рдг рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрдЧрд╛ред

    рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

    *рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ.
    * рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХреЛрдВ рдФрд░ рдЕрдиреБрд╢рдВрд╕рд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
    * рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рднреАрддрд░ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
    * рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рд╕рд▓рд╛рд╣ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
    * рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддреЗ рд╣реБрдП рдмрдЧреНрд╕ рдХрд╛ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХрд░реЗрдВред

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

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

    рдореИрдиреБрдЕрд▓ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЙрддреНрдХреГрд╖реНрдЯ рд╕рдорд░реНрдерди рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

    рд╕реНрд░реЛрдд

    https://developer.apple.com/app-store/review/guidelines/
    https://en.wikipedia.org/wiki/SOLID
    https://en.wikipedia.org/wiki/API
    https://en.wikipedia.org/wiki/RTFM

  • Linux рдкрд░ iOS рдХреЗ рд▓рд┐рдП C++ SDL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг

    рдЗрд╕ рдиреЛрдЯ рдореЗрдВ, рдореИрдВ Linux рдкрд░ iOS рдХреЗ рд▓рд┐рдП C++ SDL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ, рд╕рд╢реБрд▓реНрдХ Apple рдбреЗрд╡рд▓рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд┐рдирд╛ IPA рд╕рдВрдЧреНрд░рд╣ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдФрд░ рдЬреЗрд▓рдмреНрд░реЗрдХ рдХреЗ рдмрд┐рдирд╛ macOS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдлрд╝ рдбрд┐рд╡рд╛рдЗрд╕ (iPad) рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

    рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП Linux рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдЯреВрд▓рдЪреЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ:
    https://github.com/tpoechtrager/cctools-port

    рдЯреВрд▓рдЪреЗрди рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЛрдбреЛрдЯ рдЗрдВрдЬрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
    https://docs.godotengine.org/ru/latest/development/compiling/cross-compiling_for_ios_on_linux.html

    рдлрд┐рд▓рд╣рд╛рд▓, рдЖрдкрдХреЛ cctools-port рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Xcode dmg рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ sdk рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдЪрд░рдг рдХреЛ macOS рдкрд░ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ; рдмрд╕ рд╕реНрдерд╛рдкрд┐рдд Xcode рд╕реЗ рдЖрд╡рд╢реНрдпрдХ sdk рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рд╕рдлрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдмрд╛рдж, рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреВрд▓рдЪреЗрди рдХрд╛ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред
    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк iOS рдХреЗ рд▓рд┐рдП SDL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд▓рд┐рдП cmake рдЦреЛрд▓реЗрдВ рдФрд░ C++ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдЬреЛрдбрд╝реЗрдВ:

    SET(CMAKE_SYSTEM_NAME Darwin)
    SET(CMAKE_C_COMPILER arm-apple-darwin11-clang)
    SET(CMAKE_CXX_COMPILER arm-apple-darwin11-clang++)
    SET(CMAKE_LINKER arm-apple-darwin11-ld)
    
    

    рдЕрдм рдЖрдк рд╕реЗрдореЗрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд░ рдЯреВрд▓рдЪреЗрди рдореЗрдВ $PATH рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ:

    
    PATH=$PATH:~/Sources/cctools-port/usage_examples/ios_toolchain/target/bin
    
    

    рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдПрд╕рдбреАрдПрд▓ рдХреЗ рд╕рд╛рде рд╕рд╣реА рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реАрдПрдордХреЗ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЧреЗрдо рд╕реНрдкреЗрд╕ рдЬрдЧреБрдЖрд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ:

    
    target_link_libraries(
    ${FSEGT_PROJECT_NAME}
    ${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/libclang_rt.ios.a
    ${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/libSDL2.a
    ${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/libSDL2_mixer.a
    ${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/libSDL2_image.a
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/CoreServices.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/ImageIO.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/Metal.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/AVFoundation.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/GameController.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/CoreMotion.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/CoreGraphics.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/AudioToolbox.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/CoreAudio.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/QuartzCore.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/OpenGLES.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/UIKit.framework"
    "${FLAME_STEEL_PROJECT_ROOT_DIRECTORY}/scripts/buildScripts/ios/resources/libs/Foundation.framework"
    )
    
    

    рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, SDL, SDL_Image, SDL_mixer рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА macOS рдкрд░ Xcode рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдлреНрд░реЗрдорд╡рд░реНрдХ Xcode рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ред libclang_rt.ios.a рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ iOS-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдирдЯрд╛рдЗрдо рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП isOSVersionAtLeastред рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореИрдХреНрд░реЛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд╕рдорд╛рди рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
    рд╕рднреА рдирд┐рд░реНрдорд╛рдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╣рд╛рде рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓ рдХреА рдЧрдИ рдмрд╛рдЗрдирд░реА рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рдЬреЗрд▓рдмреНрд░реЗрдХ рдХреЗ рдмрд┐рдирд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЕрд╕реЗрдВрдмрд▓ рдмрд╛рдЗрдирд░реА рдЪрд▓рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
    MacOS рдкрд░, рдбреЗрд╡рд▓рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдП рдмрд┐рдирд╛, Xcode рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, Apple рдкреЛрд░реНрдЯрд▓ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдХрд░реЗрдВред Xcode рдореЗрдВ рдПрдХ рдЦрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ -> рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ -> рдЦрд╛рддреЗ, рдПрдХ рд░рд┐рдХреНрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдмрдирд╛рдПрдВред рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди, рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдкрдХреЗ рдирд┐рдГрд╢реБрд▓реНрдХ рдбреЗрд╡рд▓рдкрд░ рдЦрд╛рддреЗ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрд╕реЗрдВрдмрд▓реА рдФрд░ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЗрдиреЗрд░рд┐рдХ iOS рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдЙрддреНрдкрд╛рдж рдЪреБрдиреЗрдВ -> рдкреБрд░рд╛рд▓реЗрдЦред рдПрдХ рдмрд╛рд░ рд╕рдВрдЧреНрд░рд╣ рдмрди рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕рдореЗрдВ рд╕реЗ Embedded.mobileprovision рдФрд░ PkgInfo рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд┐рдХрд╛рд▓реЗрдВред рдмрд┐рд▓реНрдб рд▓реЙрдЧ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ, рд╕рд╣реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХреЛрдбрд╕рд╛рдЗрди рд▓рд╛рдЗрди рдвреВрдВрдвреЗрдВ, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдРрдк.xcent рдХреЗ рд╕рд╛рде рдПрдВрдЯрд╛рдЗрдЯреЗрд▓рдореЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде, рдЗрд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред
    рд╕рдВрдЧреНрд░рд╣ рд╕реЗ .app рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ, рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдХреЛ Linux рдореЗрдВ рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдПрдХ рд╕реЗ рдмрджрд▓реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SpaceJaguar.app/SpaceJaguar), рдлрд┐рд░ .app рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВ, рд╕рдВрдЧреНрд░рд╣ рд╕реЗ .app рдореЗрдВ PkgInfo рдФрд░ рдПрдореНрдмреЗрдбреЗрдб.mobileprovision рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред рд╣рдо рдХреЛрдбрд╕рд╛рдЗрди рдХрдорд╛рдВрдб – рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ .app рдкрд░ рдкреБрдирдГ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдбрд╕рд╛рдЗрди рдХреЛ рд╕рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдВрдЯрд╛рдЗрдЯреЗрд▓рдореЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде (.plist рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
    рдкреБрди: рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдкреЗрд▓реЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ, .app рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╡рд╣рд╛рдВ рд▓реЗ рдЬрд╛рдПрдВ, рд░реВрдЯ рдореЗрдВ рдкреЗрд▓реЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдмрдирд╛рдПрдВ, .ipa рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, Xcode рдореЗрдВ, рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдЦреЛрд▓реЗрдВ рдФрд░ рдирдП рдЖрдИрдкреАрдП рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЦреАрдВрдЪреЗрдВ рдФрд░ рдЫреЛрдбрд╝реЗрдВ; Apple рдХреЙрдиреНрдлрд┐рдЧрд░реЗрдЯрд░ 2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдкреБрди: рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдП рдмрд╛рдЗрдирд░реА рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди 7-рджрд┐рд╡рд╕реАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде iOS рдбрд┐рд╡рд╛рдЗрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, iPad) рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

    рд╕реНрд░реЛрдд

    https://github.com/tpoechtrager/cctools-port

    https://docs.godotengine.org/ru/latest/development/compiling/cross-compiling_for_ios_on_linux.html

    https://jonnyzzz.com/blog/2018/06/13/link-error-3/

    https://stackoverflow.com/questions/6896029/re-sign-ipa-iphone

    https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html

  • Ubuntu MinGW CMake рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ

    рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЙрдмрдВрдЯреВ рдкрд░ MinGW32 рдЯреВрд▓рдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
    рд╡рд╛рдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдорд┐рдВрдЧрд╡:

    sudo apt-get install wine mingw-w64
    

    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП C/C++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

    # C
    i686-w64-mingw32-gcc helloWorld.c -o helloWorld32.exe      # 32-bit
    x86_64-w64-mingw32-gcc helloWorld.c -o helloWorld64.exe    # 64-bit
     
    # C++
    i686-w64-mingw32-g++ helloWorld.cc -o helloWorld32.exe     # 32-bit
    x86_64-w64-mingw32-g++ helloWorld.cc -o helloWorld64.exe   # 64-bit
    

    рдПрдХрддреНрд░рд┐рдд рдПрдХреНрд╕рдИ рдХреЛ рд╡рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдЗрдП CMake рдмрд┐рд▓реНрдб, CMakeLists.txt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ MinGW рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬрд╝реЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП:

    if (MINGW32)
    set(CMAKE_SYSTEM_NAME Windows)
    SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
    SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
    SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
    set(CMAKE_RANLIB i686-w64-mingw32-ranlib)
    endif()
    
    // ╨┤╨╗╤П ╤Б╨▒╨╛╤А╨║╨╕ shared dll
    elseif (MINGW32)
    add_library(FlameSteelEngineGameToolkit.dll SHARED ${SOURCE_FILES})
    else()
    
    // ╨╛╨▒╤П╨╖╨░╤В╨╡╨╗╤М╨╜╨╛ ╨╗╨╕╨╜╨║╤Г╨╡╨╝ ╤Б╨╛ ╨▓╤Б╨╡╨╝╨╕ ╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В╤П╨╝╨╕
    if (MINGW32)
    target_link_libraries(
                            FlameSteelEngineGameToolkit.dll 
                            -static-libgcc
                            -static-libstdc++
                            SDL2 
                            SDL2_mixer 
                            /home/demensdeum/Sources/cube-art-project-bootstrap/FlameSteelFramework/FlameSteelCore/FlameSteelCore.dll
                            /home/demensdeum/Sources/cube-art-project-bootstrap/FlameSteelFramework/FlameSteelBattleHorn/FlameSteelBattleHorn.dll
                            /home/demensdeum/Sources/cube-art-project-bootstrap/FlameSteelFramework/FlameSteelCommonTraits/FlameSteelCommonTraits.dll)
    
    set_target_properties(FlameSteelEngineGameToolkit.dll PROPERTIES
            PREFIX ""
            SUFFIX ""
            LINK_FLAGS "-Wl,--add-stdcall-alias"
            POSITION_INDEPENDENT_CODE 0 # this is to avoid MinGW warning; 
            # MinGW generates position-independent-code for DLL by default
    )
    else()
    

    рд╣рдо рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ:

    cmake -DMINGW32=1 .
    make
    

    рдЖрдк рдЬреЛ рдПрдХрддреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдбреАрдПрд▓рдПрд▓ рдпрд╛ рдПрдХреНрд╕рдИ рд╣реЛрдЧрд╛ред рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдирдП рдХреНрдпреВрдм-рдЖрд░реНрдЯ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдЙрд╕рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рднрдВрдбрд╛рд░ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
    https://gitlab.com/demensdeum/cube-art-project

    https://gitlab.com/demensdeum/FlameSteelEngineGameToolkitFSGL

    https://gitlab.com/demensdeum/cube-art-project-bootstrap

    рд╕реНрд░реЛрдд
    https://arrayfire.com/cross-compile-to-windows-from-linux/

  • Ubuntu OSXCross CMake рдХреЗ рд▓рд┐рдП macOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг

    рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ CMake рдФрд░ osxcross рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Ubuntu рдмрд┐рд▓реНрдб рдорд╢реАрди рдкрд░ macOS рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо C++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
    рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, osxcross рдЯреВрд▓рдЪреЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
    https://github.com/tpoechtrager/osxcross
    рд╕реНрдерд╛рдкрдирд╛ 3 рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ:

    cd tools
    ./get_dependencies.sh
    

    рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Apple рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ XCode.xip рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдлрд┐рд░ XCode рд╕реЗ SDK рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

    ./gen_sdk_package_pbzx.sh /media/demensdeum/2CE62A79E62A4404/LinuxSupportStorage/xcode111.xip
    

    рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ XCode рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЕрдиреБрдмрдВрдз рдкрдврд╝рд╛ рд╣реЛрдЧрд╛? рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрд╡рд╢реНрдпрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЯреВрд▓рдЪреЗрди рдмрдирд╛рдПрдВ:

    INSTALLPREFIX=/home/demensdeum/Apps/osxcross ./build.sh 
    

    рдЕрдм рдЖрдк рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреА рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ osxcross рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП CMake рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрд┐рд▓реНрдб рдореИрдХреНрд░реЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬрд╝реЗрдВ рд▓рд┐рдЦреЗрдВ:

    if (OSXCROSS)
    SET(CMAKE_SYSTEM_NAME Darwin)
    SET(CMAKE_C_COMPILER o64-clang)
    SET(CMAKE_CXX_COMPILER o64-clang++)
    SET(CMAKE_C_COMPILER_AR x86_64-apple-darwin19-ar)
    SET(CMAKE_CXX_COMPILER_AR x86_64-apple-darwin19-ar)
    SET(CMAKE_LINKER x86_64-apple-darwin19-ld)
    SET(ENV{OSXCROSS_MP_INC} 1)
    endif()
    

    рдбрд╛рдпрдирд╛рдорд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдлрд▓ рдирд╣реАрдВ рд░рд╣реА, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:

    if (OSXCROSS)
    add_library(FlameSteelCore STATIC ${SOURCE_FILES})
    else()
    

    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ osxcross рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рд╣реИ, SDL2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред osxcross рддреИрдпрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ – рдореИрдХрдкреЛрд░реНрдЯреНрд╕ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, SDL2-рдорд┐рдХреНрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛:

    osxcross-macports -v install libsdl2_mixer
    

    рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╕реЗрдореЗрдХ-рдореЗрдХ рд▓рд┐рдВрдХ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА/рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред

    рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдореИрдиреНрдпреБрдЕрд▓ рдЕрд╕реЗрдВрдмрд▓реА

    рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореБрдЭреЗ рд╕реНрдереИрддрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЧрд▓рдд рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ; рдЕрдВрддрд┐рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ:

    file was built for archive which is not the architecture being linked (x86_64)
    

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

    ar x ../libFlameSteelCore.a
    rm ../libFlameSteelCore.a
    x86_64-apple-darwin19-ar rcs ../libFlameSteelCore.a *.o
    

    рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕реАрдзреЗ рдЙрдмрдВрдЯреВ рдкрд░ рдореИрдХрдУрдПрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде)ред рдмреЗрд╢рдХ, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ darling, рд▓реЗрдХрд┐рди рд╕рдорд░реНрдерди рдЕрднреА рднреА рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдмрд╛рдХреА рд╣реИред

    рд╕реНрд░реЛрдд

    https://github.com/tpoechtrager/osxcross

  • рд╕реНрдерд╛рдиреАрдп рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг: рдХреЙрдореНрдлреАрдпреВрдЖрдИ рдФрд░ рдлреНрд▓рдХреНрд╕ рдореЙрдбрд▓

    рдЖрдЬрдХрд▓, рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ: рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ ComfyUI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЖрдзреБрдирд┐рдХ FLUX рдореЙрдбрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред

    ComfyUI рдиреЛрдб-рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
    – рдкреАрдврд╝реА рдХреЗ рд╣рд░ рдЪрд░рдг рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦреЗрдВред
    – рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдпрд╛рд░ “рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝” рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ

    FLUX рдПрдХ рдмрдбрд╝рд╛ рдореЙрдбрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ SD 1.5 рдпрд╛ SDXL рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ:
    рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб (рдЬреАрдкреАрдпреВ): 12 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рдпрд╛ рдЙрдЪреНрдЪрддрд░ (рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЖрд░рдЯреАрдПрдХреНрд╕ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 8 рдЬреАрдмреА рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрд░рд┐рдорд╛рдгрд┐рдд рд╕рдВрд╕реНрдХрд░рдг (рдЬреАрдЬреАрдпреВрдПрдл рдпрд╛ рдПрдирдПрдл4) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
    рд░реИрдВрдбрдо рдПрдХреНрд╕реЗрд╕ рдореЗрдореЛрд░реА (рд░реИрдо): рдиреНрдпреВрдирддрдо 16 рдЬреАрдмреА (рдЕрдзрд┐рдорд╛рдирддрдГ 32 рдЬреАрдмреА рдФрд░ рдЕрдзрд┐рдХ)ред
    рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди: рдореЙрдбрд▓реЛрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 20-50 рдЬреАрдмреАред

    FLUX рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдмрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдлрд╝реНрд▓рдХреНрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдЯреВ рдЗрдореЗрдЬ рдЦреЛрдЬреЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

    `рдЯреЗрдХреНрд╕реНрдЯ рдЯреВ рдЗрдореЗрдЬ (рдлреНрд▓рдХреНрд╕.1 рдбреЗрд╡)` рдиреЛрдб рдореЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рд▓рд┐рдЦреЗрдВ, рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ (рдлреНрд▓рдХреНрд╕ 1024×1024 рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдФрд░ RUN рджрдмрд╛рдПрдБред

    рдкрд╣рд▓реА рдкреАрдврд╝реА рдореЗрдВ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбрд▓реЛрдВ рдХреЛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

    https://github.com/comfyanonymous/ComfyUI

  • рд╕реНрдерд╛рдиреАрдп рд╡рд╛рдЗрдм рдХреЛрдбрд┐рдВрдЧ: рдПрд▓рдПрдо рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╡реАрдПрд╕ рдХреЛрдб рдФрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ

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

    рд╕реНрдерд╛рдиреАрдп рд╡рд╛рдЗрдм рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг

    рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рддреАрди рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
    рдПрд▓рдПрдо рд╕реНрдЯреВрдбрд┐рдпреЛ: рд╕реНрдерд╛рдиреАрдп рдПрд▓рдПрд▓рдПрдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиред рдпрд╣ GGUF рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рднреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ OpenAI API рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
    рд╡реАрдПрд╕ рдХреЛрдб: рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдФрд░ рдкрд░рд┐рдЪрд┐рдд рдХреЛрдб рд╕рдВрдкрд╛рджрдХред
    рдЬрд╛рд░реА рд░рдЦреЗрдВ: рд╡реАрдПрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕реАрдзреЗ рдХрд╛рд░реНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЪреИрдЯ рдХрд░рдиреЗ, рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡рдд: рдкреВрд░реНрдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

    рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

    рд╕реНрдерд╛рдиреАрдп рднрд╛рд╖рд╛ рдореЙрдбрд▓ рд╕реНрдореГрддрд┐ рдЧрд╣рди рд╣реИрдВ:
    рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб (рдЬреАрдкреАрдпреВ): 8 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ (7-8 рдмрд┐рд▓рд┐рдпрди рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП)ред рднрд╛рд░реА рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП 16 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
    рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди: рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 500 рдЬреАрдмреАред

    рд▓рд┐рдВрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

    рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЬрдЯрд┐рд▓ рд╣реЗрд░рдлреЗрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:
    1. рдПрд▓рдПрдо рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдХреНрд╡реЗрди рдХреЛрдбрд░ рдпрд╛ gemma3:12b рдЬреИрд╕реЗ рд╣рд▓реНрдХреЗ рдореЙрдбрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
    2. рдПрд▓рдПрдо рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ, рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ `http://localhost:1234/v1` рдкрд░ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдЧрд╛ред
    3. рд╡реАрдПрд╕ рдХреЛрдб рдЦреЛрд▓реЗрдВ рдФрд░ рдкреНрд▓рдЧрдЗрди рд╕реНрдЯреЛрд░ рд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
    4. рдЬрд╛рд░реА рд░рдЦреЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ `рдУрдкрдирд╛рдИ` рдкреНрд░рджрд╛рддрд╛ рдФрд░ рдПрд▓рдПрдо рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдЬреЛрдбрд╝реЗрдВред

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

    рдпрд╣ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

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

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

    рдЖрдЙрдЯрдкреБрдЯ

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

    рд▓рд┐рдВрдХ

    https://code.visualstudio.com/
    https://lmstudio.ai/
    https://continue.dev/

    рд╕реНрд░реЛрдд

    https://youtu.be/IqqCwhG46jY
    https://www.youtube.com/watch?v=7AImkA96mE8

  • рд╕реНрдерд╛рдиреАрдп рд╡реАрдбрд┐рдпреЛ рдкреАрдврд╝реА: рдХреЙрдореНрдлрд╝реАрдпреВрдЖрдИ рдФрд░ рдПрд▓рдЯреАрдПрдХреНрд╕-2.3

    рдкрд╣рд▓реЗ, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдирд╛ рд░рдирд╡реЗ рдпрд╛ рд▓реВрдорд╛ рдЬреИрд╕реА рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдерд╛ред рдЖрдЬ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдзреБрдирд┐рдХ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рд╣реИ, рддреЛ рдЖрдк рд╕реАрдзреЗ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рд╡реАрдбрд┐рдпреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ ComfyUI рдФрд░ рдкреНрд░рднрд╛рд╡реА LTX-2.3 рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдиреАрдп рд╡реАрдбрд┐рдпреЛ рдкреАрдврд╝реА рдХреИрд╕реЗ рд╕реЗрдЯ рдХреА рдЬрд╛рдПред

    рд╡реАрдбрд┐рдпреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг

    рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
    ComfyUI: рдиреЛрдб-рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛ рдЖрдкрдХреЛ рдкреАрдврд╝реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
    LTX-2.3: рд▓рд╛рдЗрдЯрд░рд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рдореЙрдбрд▓, рдЬреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдордзреНрдпрдо рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рдЬ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред

    рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

    рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдмрдирд╛рдирд╛ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ:
    рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб (рдЬреАрдкреАрдпреВ): 8 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЖрд░рдЯреАрдПрдХреНрд╕ 768×512 рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рд╣реИред рдЖрд░рд╛рдорджрд╛рдпрдХ рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд▓рд┐рдП, 16-24 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рд╣реЛрдирд╛ рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред
    рд░реИрдВрдбрдо рдПрдХреНрд╕реЗрд╕ рдореЗрдореЛрд░реА (рд░реИрдо): рдиреНрдпреВрдирддрдо 32 рдЬреАрдмреАред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╡реАрдбрд┐рдпреЛ рдореЙрдбрд▓ рдФрд░ VAE рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВред
    рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди: рдореЙрдбрд▓ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 500 рдЬреАрдмреАред

    рд╕реЗрдЯрдЕрдк рдФрд░ рд▓реЙрдиреНрдЪ

    ComfyUI рдореЗрдВ LTX-2.3 рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
    1. ComfyUI рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ: рдореЙрдбрд▓ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
    2. рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ LTX рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ JSON рдЯреЗрдореНрдкрд▓реЗрдЯ рдвреВрдВрдврдирд╛ рд╣реИред рд╡реАрдбрд┐рдпреЛ рдЕрд╡реНрдпрдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЛрдбреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
    3. рд╕рдВрдХреЗрдд рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░: рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рджреГрд╢реНрдп рдХрд╛ рд╡рд┐рд╡рд░рдг рджрд░реНрдЬ рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ LTX-2.3 рдЧрддрд┐ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП “рдХреИрдорд░рд╛ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддрд╛ рд╣реИ”, “рддреЗрдЬ рдЧрддрд┐”)ред

    LTX-2.3 рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

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

    рд╕реНрдерд╛рдиреАрдп рд╡реАрдбрд┐рдпреЛ рдкреАрдврд╝реА рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ, рдФрд░ LTX-2.3 “рд╣реЛрдо рд╣реЙрд▓реАрд╡реБрдб” рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИред

    рд▓рд┐рдВрдХ

    https://github.com/comfyanonymous/ComfyUI
    https://huggingface.co/Lightricks/LTX-Video

  • рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреАрдд рдкреАрдврд╝реА: рдХреЙрдореНрдлреАрдпреВрдЖрдИ рдФрд░ рдПрд╕реАрдИ-рд╕реНрдЯреЗрдк-1.5 рдореЙрдбрд▓

    рдЖрдЬрдХрд▓, рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ: рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рд╕рдВрдЧреАрдд рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ ComfyUI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЖрдзреБрдирд┐рдХ ACE-Step-1.5 рдореЙрдбрд▓ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПред

    ComfyUI рдиреЛрдб-рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
    – рдСрдбрд┐рдпреЛ рдЬреЗрдирд░реЗрд╢рди рдХреЗ рд╣рд░ рдЪрд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВред
    – рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдпрд╛рд░ “рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝” рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

    рдПрд╕реАрдИ-рд╕реНрдЯреЗрдк-1.5 рд╕рдВрдЧреАрдд рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдиреНрдирдд рдореЙрдбрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдХрдИ рд╕рд░рд▓ рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИрдВ:
    рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб (рдЬреАрдкреАрдпреВ): рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рдЖрд░рд╛рдорджрд╛рдпрдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП 8 рдЬреАрдмреА рд╡реАрдЖрд░рдПрдПрдо рдпрд╛ рдЙрдЪреНрдЪрддрд░ (12 рдЬреАрдмреА+ рдЕрдиреБрд╢рдВрд╕рд┐рдд) рдХреЗ рд╕рд╛рде рдПрдирд╡реАрдбрд┐рдпрд╛ рдЖрд░рдЯреАрдПрдХреНрд╕ред
    рд░реИрдВрдбрдо рдПрдХреНрд╕реЗрд╕ рдореЗрдореЛрд░реА (рд░реИрдо): рдиреНрдпреВрдирддрдо 16 рдЬреАрдмреА (рдЕрдзрд┐рдорд╛рдирддрдГ 32 рдЬреАрдмреА рдФрд░ рдЕрдзрд┐рдХ)ред
    рдкреНрд░реЛрд╕реЗрд╕рд░ (рд╕реАрдкреАрдпреВ): AVX/CUDA рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рдорд▓реНрдЯреА-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ред
    рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди: рдореЙрдбрд▓реЛрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 20-50 рдЬреАрдмреАред

    ACE-Step-1.5 рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рддреИрдпрд╛рд░ рдСрдбрд┐рдпреЛ рдЬреЗрдирд░реЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдмрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рдВрдЧреАрдд рдЯреЗрдХреНрд╕реНрдЯ рд╕реЗ рдСрдбрд┐рдпреЛ рдЦреЛрдЬреЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

    `рдкреНрд░реЙрдореНрдкреНрдЯ рдЗрдирдкреБрдЯ` рдиреЛрдб рдореЗрдВ рд╢реИрд▓реА рдФрд░ рдордиреЛрджрд╢рд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрдХреЗрдд рд▓рд┐рдЦреЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, “рднрд╛рд░реА рдмрд╛рд╕ рдХреЗ рд╕рд╛рде рдЙрддреНрдерд╛рди рд╕рд┐рдВрдерд╡реЗрд╡ рдЯреНрд░реИрдХ”)ред рд╡рд╛рдВрдЫрд┐рдд рдЕрд╡рдзрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ RUN рджрдмрд╛рдПрдБред
    рдкрд╣рд▓реА рдкреАрдврд╝реА рдореЗрдВ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбрд▓реЛрдВ рдХреЛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬрдЯрд┐рд▓ рдзреНрд╡рдирд┐рдХ рдкреИрдЯрд░реНрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

    https://github.com/comfyanonymous/ComfyUI
    https://www.youtube.com/watch?v=UAlLD5fS7-c

  • рдУрд▓рд╛рдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдерд╛рдиреАрдп рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ

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

    рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ Apple M2 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдореИрдХрдмреБрдХ рдкрд░ рднреА рдЪрд▓рд╛рдпрд╛, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ AMD рдХреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреЗ рдирд╡реАрдирддрдо рдореЙрдбрд▓ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

    MacOS рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ollama рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдБ:
    https://ollama.com/download/mac

    “MacOS рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ” рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЖрдк ollama-darwin.zip рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ, рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдВрджрд░ Ollama.app рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ “рдПрдкреНрд▓рд┐рдХреЗрд╢рди” рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, Ollama.app рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдкрд░ рд╣реЛрдЧреАред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЯреНрд░реЗ рдореЗрдВ рдЖрдкрдиреЗ рдУрд▓рд╛рдорд╛ рдЖрдЗрдХрди рджреЗрдЦрд╛, рдЯреНрд░реЗ рдШрдбрд╝реА рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИред

    рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдирд┐рдпрдорд┐рдд macOS рдЯрд░реНрдорд┐рдирд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рдФрд░ рдХрд┐рд╕реА рднреА рдУрд▓рд╛рдорд╛ рдореЙрдбрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВред рдЙрдкрд▓рдмреНрдз рдореЙрдбрд▓реЛрдВ, рд╡рд┐рд╡рд░рдгреЛрдВ рдФрд░ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдУрд▓рд╛рдорд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
    https://ollama.com/search

    рдпрджрд┐ рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордп рдпрд╣ рдЖрдкрдХреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рдмреИрдарддрд╛ рд╣реИ рддреЛ рд╕рдмрд╕реЗ рдХрдо рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓рд╛ рдореЙрдбрд▓ рдЪреБрдиреЗрдВред

    рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, llama3.1:рдирд╡реАрдирддрдо рдореЙрдбрд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢:

    ollama run llama3.1:latest
    

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

    рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ
    https://www.youtube.com/watch?v=Wjrdr0NU4Sk
    https://ollama.com

  • ffmpeg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рд╕реНрдерд┐рд░реАрдХрд░рдг

    рдпрджрд┐ рдЖрдк рд╡реАрдбрд┐рдпреЛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреИрдорд░рд╛ рд╢реЗрдХ рдХреЛ рджреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ `ffmpeg` рдЯреВрд▓ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ `vidstabdetect` рдФрд░ `vidstabtransform` рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдЬрдЯрд┐рд▓ рд╡реАрдбрд┐рдпреЛ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкреЗрд╢реЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    рдХрд╛рдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА

    рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ `ffmpeg` `vidstab` рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЖрдк рдЗрд╕реЗ рдХрдорд╛рдВрдб рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

    bash  
    ffmpeg -filters | grep vidstab  
    

    рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

    sudo apt install ffmpeg libvidstab-dev  
    

    рдмреНрд░реВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ macOS рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди:

    brew install libvidstab
    brew install ffmpeg
    

    рдЕрдм рдЪрд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

    рдЪрд░рдг 1: рдЧрддрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

    рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╡реАрдбрд┐рдпреЛ рдХреА рдЧрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдерд┐рд░реАрдХрд░рдг рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреА рд╣реЛрдЧреАред

    ffmpeg -i input.mp4 -vf vidstabdetect=shakiness=10:accuracy=15 transfile=transforms.trf -f null -  
    

    рдкреИрд░рд╛рдореАрдЯрд░:

    рдЕрд╕реНрдерд┐рд░рддрд╛: рд╡реАрдбрд┐рдпреЛ рд╢реЗрдХ рд╕реНрддрд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 5, рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП 10 рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
    рд╕рдЯреАрдХрддрд╛: рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдЯреАрдХрддрд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 15)ред
    рдЯреНрд░рд╛рдВрд╕рдлрд╝рд╛рдЗрд▓: рдЧрддрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдоред

    рдЪрд░рдг 2: рд╕реНрдерд┐рд░реАрдХрд░рдг рд▓рд╛рдЧреВ рдХрд░реЗрдВ

    рдЕрдм рдЖрдк рдкрд░рд┐рд╡рд░реНрддрди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд┐рд░реАрдХрд░рдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

    ffmpeg -i input.mp4 -vf vidstabtransform=input=transforms.trf:zoom=5 output.mp4
    

    рдкреИрд░рд╛рдореАрдЯрд░:

    рдЗрдирдкреБрдЯ: рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛)ред
    рдЬрд╝реВрдо: рдХрд╛рд▓реЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝реВрдо рдХрд╛рд░рдХ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 5 – рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рддрдХ рдСрдЯреЛ рдЬрд╝реВрдо)ред

  • рдЯреНрдпреВрд░рд┐рдВрдЧ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдорд╢реАрдиреЗрдВ

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

    рд▓реЗрдЦ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд╛ рдкреВрд░рд╛ рдЕрдиреБрд╡рд╛рдж рдЕрдореЗрд░рд┐рдХреА рд▓реЛрдХрдкреНрд░рд┐рдп рдЪрд╛рд░реНрд▓реНрд╕ рдкреЗрдЯрдЬрд╝реЛрд▓реНрдб рдХреА рдкреБрд╕реНрддрдХ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╣реИ “рд░реАрдбрд┐рдВрдЧ рдЯреНрдпреВрд░рд┐рдВрдЧ: рдП рдЬрд░реНрдиреА рдереНрд░реВ рдЯреНрдпреВрд░рд┐рдВрдЧ рд╣рд┐рд╕реНрдЯреЛрд░рд┐рдХрд▓ рдЖрд░реНрдЯрд┐рдХрд▓ рдСрди рдХрдореНрдкреНрдпреВрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдПрдВрдб рдЯреНрдпреВрд░рд┐рдВрдЧ рдорд╢реАрдиреНрд╕” (рдЖрдИрдПрд╕рдмреАрдПрди 978-5-97060-231-7, 978-0-470-22905-7)

    рдореВрд▓ рд▓реЗрдЦ:
    https://www.astro.puc.cl/~rparra/tools/PAPERS/turing_1936.pdf

    рд╕рдорд╛рдзрд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЧрдгрдиреАрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░

    рдП. рдПрдо. рдЯреНрдпреВрд░рд┐рдВрдЧ

    [28 рдордИ 1936 рдХреЛ рдкреНрд░рд╛рдкреНрдд – 12 рдирд╡рдВрдмрд░ 1936 рдХреЛ рдкрдврд╝реЗрдВ]

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

    рдкреИрд░рд╛рдЧреНрд░рд╛рдл 9 рдФрд░ 10 рдореЗрдВ рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд░реНрдХ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рд╡реЗ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдХреБрдЫ рдмрдбрд╝реЗ рд╡рд░реНрдЧ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╣реИрдВред рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдмреАрдЬрдЧрдгрд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрд╛рдЧ, рдмреЗрд╕реЗрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╢реВрдиреНрдп рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрд╛рдЧ, рд╕рдВрдЦреНрдпрд╛рдПрдБ ╧А, рдИ рдФрд░ рдЕрдиреНрдпред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рд╕рднреА рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред

    рдпрджреНрдпрдкрд┐ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдЧ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдЧрдгрдирд╛ рдпреЛрдЧреНрдп рд╣реИред ┬з8 рдореЗрдВ рдореИрдВ рдХреБрдЫ рдРрд╕реЗ рддрд░реНрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рддрд░реНрдХ рджреЗрддреЗ рдкреНрд░рддреАрдд рд╣реЛрдВрдЧреЗред рдЬрдм рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рддрд░реНрдХ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдЧреЛрдбреЗрд▓* рдХреЗ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (┬з11), рд╕рдорд╛рдзрд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред

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

    1. рдХрдВрдкреНрдпреВрдЯрд░

    рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдХрд╣ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдЧрдгрдиреАрдп рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╡реЗ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдирдХреЗ рджрд╢рдорд▓рд╡ рд╕реНрдерд╛рди рдкрд░рд┐рдорд┐рдд рд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЧрд┐рдирдиреЗ рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм рддрдХ рд╣рдо ┬з9 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗ, рдпрд╣ рд▓реЗрдЦ рдпрд╣рд╛рдВ рджреА рдЧрдИ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдиреЛрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ (рдЗрд╕рдХреЗ рд▓рд┐рдП) рддрд╛рд░реНрдХрд┐рдХ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирд╡ рд╕реНрдореГрддрд┐, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ, рд╕реАрдорд┐рдд рд╣реИред

    рдЖрдЗрдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдПрдХ рдРрд╕реА рдорд╢реАрди рд╕реЗ рдХрд░реЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢рд░реНрддреЛрдВ q1, q2, …, qR рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ; рдЖрдЗрдП рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ “рдПрдо-рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди” рдХрд╣реЗрдВред рдпрд╣ (рдЕрд░реНрдерд╛рдд, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд) рдорд╢реАрди рдПрдХ “рдЯреЗрдк” (рдХрд╛рдЧрдЬ рдХреЗ рдЕрдиреБрд░реВрдк) рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИред рдорд╢реАрди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рдпрд╣ рдмреЗрд▓реНрдЯ рдЦрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рдЖрдЗрдП рдЙрдиреНрд╣реЗрдВ “рд╡рд░реНрдЧ” рдХрд╣реЗрдВред рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдореЗрдВ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ “рдкреНрд░рддреАрдХ” рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдХреНрд╖рдг, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдРрд╕рд╛ рд╡рд░реНрдЧ рд╣реЛрддрд╛ рд╣реИ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╡рд╛рдВ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдкреНрд░рддреАрдХ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ “рдЗрд╕ рдорд╢реАрди рдореЗрдВ рд╣реИред” рдЖрдЗрдП рдРрд╕реЗ рд╡рд░реНрдЧ рдХреЛ “рд╕реНрдХреИрди рдХрд┐рдпрд╛ рд╣реБрдЖ рдкреНрд░рддреАрдХ” рдХрд╣реЗрдВред рдПрдХ “рд╕реНрдХреИрди рдХрд┐рдпрд╛ рд╣реБрдЖ рдкрд╛рддреНрд░” рд╣реА рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рдкрд╛рддреНрд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╢реАрди рдХреЛ, рдРрд╕рд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, “рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдкрддрд╛” рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдкрдиреЗ рдПрдо-рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдХрд░, рдорд╢реАрди рдЙрди рдХреБрдЫ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдпрд╛рдж рд░рдЦ рд╕рдХрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрд╕рдиреЗ рдкрд╣рд▓реЗ “рджреЗрдЦрд╛” (рд╕реНрдХреИрди рдХрд┐рдпрд╛ рд╣реИ)ред рдХрд┐рд╕реА рднреА рдХреНрд╖рдг рдорд╢реАрди рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреНрдпреВрдПрди рдФрд░ рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рдкреНрд░рддреАрдХ*** рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдкреНрд░рддреАрдХреЛрдВ рдХреА рдЗрд╕ рдЬреЛрдбрд╝реА рдХреЛ qn, “рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди” рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд┐рд╕реА рджреА рдЧрдИ рдорд╢реАрди рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЬрд┐рдирдореЗрдВ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрдЧ рдЦрд╛рд▓реА рд╣реИ (рдпрд╛рдиреА, рдХреЛрдИ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИ), рдорд╢реАрди рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдкрд░ рдПрдХ рдирдпрд╛ рд╡рд░реНрдг рд▓рд┐рдЦрддреА рд╣реИ, рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдпрд╣ рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рд╡рд░реНрдг рдХреЛ рдорд┐рдЯрд╛ рджреЗрддреА рд╣реИред рдпрд╣ рдорд╢реАрди рджреВрд╕рд░реЗ рд╡рд░реНрдЧ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдпрд╣ рдХреЗрд╡рд▓ рджрд╛рдПрдВ рдпрд╛ рдмрд╛рдПрдВ рдмрдЧрд▓ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рддрдХ рд╣реА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╢реАрди рдХрд╛ рдПрдо-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рд▓рд┐рдЦрд┐рдд рд╡рд░реНрдг рдЕрдВрдХреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдмрдирд╛рдПрдВрдЧреЗ, рдЬреЛ рдЧрдгрдирд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рджрд╢рдорд▓рд╡ рднрд╛рдЧ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдмрд╛рдХреА “рд╕реНрдореГрддрд┐ рдХреА рд╕рд╣рд╛рдпрддрд╛” рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдЪрд┐рд╣реНрдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреЗрд╡рд▓ рдЙрдкрд░реНрдпреБрдХреНрдд рдЧрд▓рдд рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рд╣реА рдорд┐рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

    рдореЗрд░рд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЬрд┐рди рдСрдкрд░реЗрд╢рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрдирдореЗрдВ рд╡реЗ рд╕рднреА рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЧрдгрдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╢реАрди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рд╕рдордЭ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрдерди рдХрд╛ рддрд░реНрдХ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореИрдВ “рдорд╢реАрди”, “рдЯреЗрдк”, “рд╕реНрдХреИрди” рдЖрджрд┐ рд╢рдмреНрджреЛрдВ рдХреЗ рдЕрд░реНрде рдХреА рд╕рдордЭ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред

    *рдЧреЛрдбреЗрд▓ “рдкреНрд░рд┐рдВрд╕рд┐рдкрд┐рдпрд╛ рдЧрдгрд┐рдд рдХреЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирд┐рд░реНрдгреАрдд рд╡рд╛рдХреНрдпреЛрдВ рдкрд░ (рд╡реНрд╣рд╛рдЗрдЯрд╣реЗрдб рдФрд░ рд░рд╕реЗрд▓ рджреНрд╡рд╛рд░рд╛ 1910, 1912 рдФрд░ 1913 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд) рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд┐рд╕реНрдЯрдо, рднрд╛рдЧ I,” рдЧрдгрд┐рдд рдХрд╛ рдЬрд░реНрдирд▓ред рднреМрддрд┐рдХреА, рдЬрд░реНрдорди рдореЗрдВ рдорд╛рд╕рд┐рдХ рдмреБрд▓реЗрдЯрд┐рди рд╕рдВрдЦреНрдпрд╛ 38 (1931 рдХреЗ рд▓рд┐рдП, рдкреГ. 173-198)ред
    ** рдЕрд▓реЛрдВрдЬреЛ рдЪрд░реНрдЪ, “рдкреНрд░рд╛рдердорд┐рдХ рд╕рдВрдЦреНрдпрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдПрдХ рдЕрдирд┐рд░реНрдгреАрдд рд╕рдорд╕реНрдпрд╛,” рдЧрдгрд┐рдд рдХреЗ рдЕрдореЗрд░рд┐рдХреА рдЬреЗ., рдирдВрдмрд░ 58 (1936), рдкреАрдкреА. 345-363ред
    *** рдЕрд▓реЛрдВрдЬреЛ рдЪрд░реНрдЪ, “рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕рдорд╕реНрдпрд╛ рдкрд░ рдПрдХ рдиреЛрдЯ,” рд╕рд┐рдореНрдмреЛрд▓рд┐рдХ рд▓реЙрдЬрд┐рдХ рдХреЗ рдЬреЗ., рдирдВрдмрд░ 1 (1936), рдкреАрдкреА. 40-41

  • рдбреЛрдВрдХреА рд╣рд┐рд▓реНрд╕

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

    рдЧреЗрдо рд╕реНрдЯреАрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ:
    https://store.steampowered.com/app/3476390/Donki_Hills/

  • рдЪрд┐рдирд╛рдИ рдПрдЖрд░

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

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

    рдЦреЗрд▓:
    https://demensdeum.com/games/masonry-ar/client/

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/zefir1990/Masonry-AR

  • рдЯреЗрдлреНрд▓рдЪрд░


    Teflecher рдПрдХ рддреЗрдЬрд╝, рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреНрд╡рд┐рдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдХреЛрдЯрд▓рд┐рди рдорд▓реНрдЯреАрдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (KMP) рдФрд░ рдорд▓реНрдЯреАрдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рджреВрд░рд╕реНрде URL рд╕реЗ рд╕рд╣рдЬрддрд╛ рд╕реЗ рдХреНрд╡рд┐рдЬрд╝ рд▓реЛрдб рдХрд░рдиреЗ, рдмрд╣реБрд╡рд┐рдХрд▓реНрдкреАрдп рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ, рд╕рд╣реА рдЙрддреНрддрд░реЛрдВ рдкрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрдиреЗ рдФрд░ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

    рд╡реЗрдм:
    https://demensdeum.com/software/teflecher/

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/zefir1990/teflecher

    рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдпрдирд┐рдХ + рдХреИрдкреЗрд╕рд┐рдЯрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯреЗрдлреНрд▓рдЪрд░ рд╕рдВрдкрд╛рджрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрдиреЛрддреНрддрд░реА рд╕рдВрдкрд╛рджрдХ

    рд╡реЗрдм:
    https://demensdeum.com/software/teflecher-editor/

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/zefir1990/teflecher-editor

  • рднреВрдд рд╕рдВрдкрд░реНрдХ


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

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

    рдСрдирд▓рд╛рдЗрди рдЖрд╡реЗрджрди:
    https://demensdeum.com/software/ghost-contacts/

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/demensdeum/GhostContacts

  • рдШрди рдХрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ 2

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

    рдХреНрдпреВрдм рдЖрд░реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ 2 рдХреНрдпрд╛ рд╣реИ?

    рдпрд╣ рдПрдХ рд░рдЪрдирд╛рддреНрдордХ рдЧреЗрдо рд╣реИ рдЬреЛ рдЖрдкрдХреА рд╕реНрдХреНрд░реАрди рдХреЛ 3рдбреА рдкреЗрдВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рд╕рд╛рдлрд╝ рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╕реНрдерд╛рди рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ, рдЖрдХреГрддрд┐рдпреЛрдВ рдФрд░ рдЪрдордХреАрд▓реЗ рд░рдВрдЧреЛрдВ рд╕реЗ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

    рдкреНрд░рдмрдВрдзрди

    • WASD – рдХреИрдорд░рд╛ рдореВрд╡рдореЗрдВрдЯ
    • рдорд╛рдЙрд╕ – рдХреИрдорд░рд╛ рд░реЛрдЯреЗрд╢рди рдФрд░ рдирд┐рд░реАрдХреНрд╖рдг
    • рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (GUI) – рд░рдВрдЧ рдЪрдпрди рдФрд░ рд╕рдорд╛рдпреЛрдЬрди

    рдЦреЗрд▓:
    https://demensdeum.com/software/cube-art-project-2/

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/zefir1990/cube-art-project-2

  • Raiden Video Ripper

    рд░реИрдбреЗрди рд╡реАрдбрд┐рдпреЛ рд░рд┐рдкрд░ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╡реАрдбрд┐рдпреЛ рд╕рдВрдкрд╛рджрди рдФрд░ рдкреНрд░рд╛рд░реВрдк рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ Qt 6 (Qt рдХреНрд░рд┐рдПрдЯрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡реАрдбрд┐рдпреЛ рдХреЛ MP4, GIF рдФрд░ WebM рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдФрд░ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рд╡реАрдбрд┐рдпреЛ рд╕реЗ рдСрдбрд┐рдпреЛ рднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рдПрдордкреА3 рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

    рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реНрдЯреЛрд░:
    https://apps.microsoft.com/detail/9nvzjs98smgc

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/demensdeum/RaidenVideoRipper/releases

  • рдордВрдЧрд▓ рдЦрдирд┐рдХ

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

    рдордВрдЧрд▓ рдЦрдирд┐рдХ рдХреНрдпрд╛ рд╣реИрдВ?

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

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

    рдорд╛рд░реНрд╕ рдорд╛рдЗрдирд░реНрд╕ рдЦреЗрд▓реЗрдВ

  • рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓: рдбреЗрде рдорд╛рд╕реНрдХ 2

    рдФрджреНрдпреЛрдЧрд┐рдХ рдореЗрдЧрд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЗ рдЕрдВрддрд╣реАрди рдЧрд▓рд┐рдпрд╛рд░реЛрдВ рдореЗрдВ, рдардВрдбреА рд░реЛрд╢рдиреА рд╕реЗ рд╕рд░рд╛рдмреЛрд░, рдПрдХ рдирдИ рдЪреБрдиреМрддреА рдЖрдкрдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИред рд╣рдо рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓: рдбреЗрде рдорд╛рд╕реНрдХ 2 рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реИрдВ, рдЬреЛ рдПрдХ 3рдбреА рдбрдВрдЧрдСрди рдХреНрд░реЙрд▓рд░ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реМрдВрджрд░реНрдпрд╢рд╛рд╕реНрддреНрд░ рдХреЛ рдЖрдзреБрдирд┐рдХ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЧреЗрдордкреНрд▓реЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИред

    рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓: рдбреЗрде рдорд╛рд╕реНрдХ 2 рдХреНрдпрд╛ рд╣реИ?

    рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рднреВрд▓рднреБрд▓реИрдпрд╛ рдореЗрдВ рдЬрд╛рдЧрдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ “рдлрд╝рд┐рд▓реНрдЯрд░” рдирд╛рдордХ рдПрдХ рд╢рддреНрд░реБрддрд╛рдкреВрд░реНрдг рдЗрдХрд╛рдИ рд╣рд░ рдореЛрдбрд╝ рдкрд░ рдЫрд┐рдкреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓: рдбреЗрде рдорд╛рд╕реНрдХ 2 рдореЗрдВ рдЖрдк рдПрдХ рд╕рд╛рдзрдХ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓ рдЗрдВрдЬрди 2 (рдереНрд░реА.рдЬреЗрдПрд╕ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде) рдкрд░ рдмрдиреА рджреБрдирд┐рдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

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

    рдореБрдЦреМрдЯреЗ рдХреЗ рдкреАрдЫреЗ рдХреА рддрдХрдиреАрдХ

    рдЧреЗрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

    • рдлреНрд░рдВрдЯрдПрдВрдб: рд╕рд╣рдЬ 3рдбреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╢реБрджреНрдз рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓ рдЗрдВрдЬрди 2 (рдереНрд░реА.рдЬреЗрдПрд╕ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд░ рдХреЗ рд╕рд╛рде)ред
    • рдмреИрдХрдПрдВрдб: рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Node.jsред
    • рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛: рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП MongoDB рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕реНрдерд╛рдирд┐рдХ рдЕрдиреБрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП Redis

    рдлреНрд▓реЗрдо рд╕реНрдЯреАрд▓ рдЦреЗрд▓реЗрдВ: рдбреЗрде рдорд╛рд╕реНрдХ 2

  • рдЙрд╢рдХреА рд░реЗрдбрд┐рдпреЛ

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


    https://demensdeum.com/software/ushki-radio

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

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

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

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

    рдЧрд┐рдЯрд╣рдм:
    https://github.com/demensdeum/Ushki-Radio

    рдЧреВрдЧрд▓ рдкреНрд▓реЗ:
    https://play.google.com/store/apps/details?id=com.demensdeum.ushkiradio

  • рдЧреНрд▓реЗрдЬрд╝рдХреА рдЯреАрд╡реА: рдЗрдВрдЯрд░рдиреЗрдЯ рдЯреЗрд▓реАрд╡рд┐рдЬрди рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдкреНрд▓реЗрдпрд░

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

    рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

    • рдЪреИрдирд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ: рдЖрд╕рд╛рди рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧреАрдХреГрдд рд╣рдЬрд╛рд░реЛрдВ рдЪреИрдирд▓ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВред
    • рдЦреЛрдЬреЗрдВ: рдЬрд┐рди рдЪреИрдирд▓реЛрдВ рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдирд╛рдо рд╕реЗ рдвреВрдВрдвреЗрдВред
    • рдкрд╕рдВрджреАрджрд╛: рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЪреИрдирд▓ рд╕рд╣реЗрдЬреЗрдВ (рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛)ред
    • рдбреАрдк рд▓рд┐рдВрдХрд┐рдВрдЧ: рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рд▓рд┐рдВрдХ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
    • рдереАрдо рд╕рдорд░реНрдерди: рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдбрд╛рд░реНрдХ рдпрд╛ рд▓рд╛рдЗрдЯ рдереАрдо рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
    • рд╡реЗрдм рд╕рдорд░реНрдерди: рдкреНрд▓реЗрдпрд░ URL рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИред

    рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ

    рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:

    • рдлреНрд░реЗрдорд╡рд░реНрдХ: рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ + рдПрдХреНрд╕рдкреЛ
    • Video Player: expo-video (╨╖╨░╨╝╨╡╨╜╨░ ╤Г╤Б╤В╨░╤А╨╡╨▓╤И╨╡╨╝╤Г expo-av)
    • рдпреВрдЖрдИ рдЯреВрд▓рдХрд┐рдЯ: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓-рдкреЗрдкрд░
    • рдкреНрд▓реЗрд▓рд┐рд╕реНрдЯ рдкрд╛рд░реНрд╕рд░: iptv-playlist-parser

    рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг:
    https://demensdeum.com/software/glazki-tv/

    рдЧреВрдЧрд▓ рдкреНрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг:
    https://play.google.com/store/apps/details?id=com.demensdeum.glazkitv

  • рдЬрд╝реЗрдлрд┐рд░1990


    рдЬрд╝реЗрдлрд┐рд░1990 – рдЗрд▓реНрдпрд╛ рдкреНрд░реЛрдЦреЛрд░реЛрд╡, рдореИрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ 15 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рд╡рд╛рд▓рд╛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдбреЗрдореЗрдВрд╕ рдбреНрдпреВрдо рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ, рдЬреЛ рдореЛрдмрд╛рдЗрд▓, рд╡реЗрдм рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЧреЗрдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб 2 рдкрд░ рдкрд╣рд▓рд╛ 3рдбреА рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ 2 рдЧреЗрдо рдореИрдб рд░реЗрд╕рд░ 2010 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдЧреЗрдо рдбрд┐рдЬрд╛рдЗрдирд░ рдереЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рдВрдЧреАрддрдХрд╛рд░ рдПрдВрдЯреЛрди рджрд┐рдорд┐рддреНрд░реАрд╡ (рдХреВрд▓рд╕реНрдкреЙрдЯрдбреНрд░реАрдорд░) рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдерд╛, рдЧреЗрдо рдХреЗ рд╕рдлрд▓ рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рд╡рд╣ рдЕрдиреБрдмрдВрдз рдХреЗ рддрд╣рдд рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рдХрд╕реНрдЯрдо рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рдереЗред рдЧреНрд░рд╛рд╣рдХреЛрдВ рдореЗрдВ рдбреЗрдХрд╛рдерд▓реЙрди, рдкреНрд▓реЗрдмреЙрдп, рдлрд┐рдЯрдмрд┐рдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

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

    рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдБ: рдПрдПрд╕рдПрдо, рд╕реА, рд╕реА++, рдУрдмреАрдЬреЗрд╕реА, рдкрд╛рдпрдерди, рдХреЛрдЯрд▓рд┐рди, рд╕реНрд╡рд┐рдлреНрдЯ, рдЬрд╛рд╡рд╛, рд░рд╕реНрдЯ, рдЧреЛ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╕реА#, рдбрд╛рд░реНрдЯ, рдкреАрдПрдЪрдкреАред

    рд▓рд┐рдВрдХреНрдбрдЗрди: linkedin.com/in/zefir1990
    GitHub: github.com/zefir1990
    рдЯреЗрд▓реАрдЧреНрд░рд╛рдо: t.me/zefir1990
    рдИрдореЗрд▓: ceo@demensdeum.com
    рдЪрд┐рдХреЛрдЯреА: twitch.tv/zefir1990
    рдпреВрдЯреНрдпреВрдм: youtube.com/zefir1990