Category: Notes

  • рдУрдкрдирдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдбреАрдкрд╕реАрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

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

    рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП

    рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рджреЛ рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

    • рдЖрдзреБрдирд┐рдХ рдЯрд░реНрдорд┐рдирд▓ред рд╡реЗрдЬрд╝рдЯрд░реНрдо, рдЕрд▓рд╛рдХреНрд░рд┐рдЯреНрдЯреА, рдШреЛрд╕реНрдЯреА, рдХрд┐рдЯреНрдЯреА рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдХрд░реЗрдЧрд╛ред
    • рдкреНрд░рджрд╛рддрд╛ рдХреА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреАред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреАрдкрд╕реАрдХред

    рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯ рдХреЛ рдорд╛рдирдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ Node.js рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ – рдмрд╛рдЗрдирд░реА рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

    рд╕реНрдерд╛рдкрдирд╛

    рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ:

    curl -fsSL https://opencode.ai/install | bash
    

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

    opencode --version
    

    рдпрджрд┐ рдЖрджреЗрд╢ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕рдлрд▓ рд░рд╣рд╛ред

    рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрдирд╛

    рдпрджрд┐ рдЖрдк рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред Node.js рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ:

    npm install -g opencode-ai
    

    рдмрди, рдкреАрдПрдирдкреАрдПрдо рдФрд░ рдпрд╛рд░реНрди рднреА рдпрд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

    bun install -g opencode-ai
    pnpm install -g opencode-ai
    yarn global add opencode-ai
    

    macOS рдФрд░ Linux рдореЗрдВ Homebrew рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдУрд░ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, рди рдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдлреЙрд░реНрдореВрд▓рд╛ – рдЗрд╕реЗ рдХрдо рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

    brew install anomalyco/tap/opencode
    

    рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдкрд░:

    sudo pacman -S opencode
    paru -S opencode-bin
    

    рдкрд╣рд▓рд╛ рдХрдорд╛рдВрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ – AUR рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

    рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди

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

    choco install opencode
    scoop install opencode
    npm install -g opencode-ai
    

    Mise рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ:

    mise use -g github:anomalyco/opencode
    docker run -it --rm ghcr.io/anomalyco/opencode
    

    рдЕрдВрдд рдореЗрдВ, рддреИрдпрд╛рд░ рдмрд╛рдЗрдирд░реА рдХреЛ рд╣рдореЗрд╢рд╛ GitHub рдкрд░ рд░рд┐рд▓реАрдЬрд╝ рдкреЗрдЬ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

    рдбреАрдкрд╕реАрдХ рдХреБрдВрдЬреА

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

    рдбреАрдкрд╕реАрдХ рдХрдиреЗрдХреНрд╢рди

    рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдПрдЬреЗрдВрдЯ рдХреЗ рдЕрдВрджрд░ рд╣реА рд╣реЛрддрд╛ рд╣реИ. рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдУрдкрдирдХреЛрдб рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

    opencode
    

    рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

    /connect
    

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

    ~/.local/share/opencode/auth.json
    

    рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ рдХреБрдЫ рдмрдЪрд╛ рд╣реИ рд╡рд╣ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ:

    /models
    

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

    рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

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

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "deepseek": {
          "options": {
            "baseURL": "https://api.deepseek.com"
          }
        }
      }
    }
    

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

    export DEEPSEEK_API_KEY=╨▓╨░╤И_╨║╨╗╤О╤З_deepseek
    opencode
    

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

    рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓рд╛ рд▓реЙрдиреНрдЪ

    рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдПрдЬреЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:

    cd ╨▓╨░╤И_╨┐╤А╨╛╨╡╨║╤В
    opencode
    

    рдкрд╣рд▓рд╛ рдХрджрдо рдЗрд╕реЗ рдЖрд░рдВрдн рдХрд░рдирд╛ рд╣реИ:

    /init
    

    рдУрдкрдирдХреЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ AGENTS.md рдмрдирд╛рдПрдЧрд╛ – рдЬреЛ рдПрдЬреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЧрд┐рдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд▓рд╛рдпрдХ рд╣реИ: рдпрд╣ рдПрдЬреЗрдВрдЯ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдкрдирд╛рдИ рдЧрдИ рдкрд░рдВрдкрд░рд╛рдУрдВ рдФрд░ рдкреИрдЯрд░реНрди рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред

    рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

    рдХрд╛рд░реНрдп рдХреЛ рдЕрдиреНрдп рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рддрд░рд╣ рд╣реА рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рддрд░рдХреАрдмреЗрдВ рдЬреЛ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЬрд╛рдирдиреА рдЪрд╛рд╣рд┐рдП:

    • рдпреЛрдЬрдирд╛ рдореЛрдбред рдЯреИрдм рдХреБрдВрдЬреА рдПрдЬреЗрдВрдЯ рдХреЛ рдпреЛрдЬрдирд╛ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдореЛрдб рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддреА рд╣реИред рдкрд╣рд▓реЗ рдореЗрдВ, рд╡рд╣ рдХреЗрд╡рд▓ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ – рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
    • рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд▓рд┐рдВрдХред @ рдХреБрдВрдЬреА рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдЬреЗрдВрдЯ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдЦреЛрдЬ рдЦреЛрд▓рддреА рд╣реИред
    • рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдирд╛ред /undo рдХрдорд╛рдВрдб рдЕрдВрддрд┐рдо рд╕рдВрдкрд╛рджрди рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдЕрдиреБрд░реЛрдз рд▓реМрдЯрд╛рддрд╛ рд╣реИ, /redo рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рдХрджрдо рдкреАрдЫреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
    • рдмрд╛рддрдЪреАрдд рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ред /share рдХрдорд╛рдВрдб рд╡рд░реНрддрдорд╛рди рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдХрд╣реАрдВ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

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

    рдХрд┐рд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ

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

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

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

    https://opencode.ai/
    https://opencode.ai/docs/
    https://opencode.ai/docs/providers/
    https://github.com/anomalyco/opencode
    https://platform.deepseek.com/api_keys
    https://api-docs.deepseek.com

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

    https://opencode.ai/docs/
    https://opencode.ai/docs/providers/#deepseek
    https://github.com/anomalyco/opencode/releases
    https://models.dev/

  • рдПрдо2 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд╛рд▓реЗ рдореИрдХрдмреБрдХ рдкрд░ рдЕрд╕рд╛рд╣реА рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

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

    рдЕрд╕рд╛рд╣реА рд▓рд┐рдирдХреНрд╕ рдХреНрдпрд╛ рд╣реИ

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

    рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рдЖрдк рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ macOS рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдбрд┐рд╕реНрдХ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмреВрдЯ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред macOS рдпрдерд╛рд╡рдд рд░рд╣рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдбреБрдЕрд▓ рдмреВрдЯ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдкрдирд╛ рд╕рд┐рд╕реНрдЯрдо рдЪреБрдиреЗрдВред

    рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

    • M2 рдЪрд┐рдк рдкрд░ рдореИрдХ – рдореИрдХрдмреБрдХ рдПрдпрд░, рдореИрдХрдмреБрдХ рдкреНрд░реЛ 13тА│, рд╕рд╛рде рд╣реА рдПрдо2 рдкреНрд░реЛ рдФрд░ рдПрдо2 рдореИрдХреНрд╕ рдХреЗ рд╕рд╛рде 14тА│ рдФрд░ 16тА│ред M1 рдХрд╛рд░реЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
    • рд╡рд░реНрддрдорд╛рди macOSред рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
    • рдЦрд╛рд▓реА рдЬрдЧрд╣ред рдиреНрдпреВрдирддрдо рд▓рдЧрднрдЧ 30 рдЬреАрдмреА, рдЖрд░рд╛рдорджрд╛рдпрдХ – 100 рдЬреАрдмреА рдпрд╛ рдЕрдзрд┐рдХред рдЬрдЧрд╣ APFS рдХрдВрдЯреЗрдирд░ рд╕реЗ рдХрдЯ рдЧрдИ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдПрдЧреАред
    • macOS рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкрд╛рд╕рд╡рд░реНрдбред рд╡рд┐рднрд╛рдЬрди рдХреЗ рджреМрд░рд╛рди рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЛрдб рдореЗрдВ рдмреВрдЯ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
    • рдмреИрдХрдЕрдкред рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди рдПрдХ рдРрд╕рд╛ рдСрдкрд░реЗрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдирдП рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

    рдЪрд░рдг 1. рдмреИрдХрдЕрдк рдФрд░ рдЕрджреНрдпрддрди

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

    рдЪрд░рдг 2. рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ

    MacOS рдкрд░ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

    curl https://alx.sh | sh
    

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

    curl https://fedora-asahi-remix.org/install | sh
    

    рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдмреЗрд╣рддрд░ рд╣реИ: рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреМрди рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдФрд░ рдпрд╣ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

    рдЪрд░рдг 3. рдбрд┐рд╕реНрдХ рд╡рд┐рднрд╛рдЬрди

    рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧреЗрдЧрд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рд▓реЗрдЖрдЙрдЯ рджрд┐рдЦрд╛рдПрдЧрд╛ред рддрдм рд╕рдВрд╡рд╛рдж рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:

    • MacOS рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП r рджрдмрд╛рдПрдБред
    • рдирдП рд▓рд┐рдирдХреНрд╕ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЖрдХрд╛рд░ рджрд░реНрдЬ рдХрд░реЗрдВред рдпрд╣ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдбрд┐рд╕реНрдХ рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЖрдк рдорд┐рдирдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ – рдлрд┐рд░ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╕рдВрднрд╡ рдЯреБрдХрдбрд╝рд╛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
    • рдЕрдХреНрд╖рд░ y рд╕реЗ рдЕрдВрдХрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред рдпрд╣ рдЪрд░рдг рд╕рдмрд╕реЗ рд▓рдВрдмрд╛ рд╣реИ: рд╕рд┐рд╕реНрдЯрдо рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ APFS рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ; рдмрдбрд╝реА рдбрд┐рд╕реНрдХ рдкрд░ рдЗрд╕рдореЗрдВ рдХрдИ рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред
    • рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рдирд╡ рдирд┐рд░реНрдорд┐рдд рдореБрдХреНрдд рд╡рд┐рднрд╛рдЬрди рдХреА рдУрд░ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП f рджрдмрд╛рдПрдВред

    рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ: рд▓рд┐рдирдХреНрд╕ рдПрдкреАрдПрдлрдПрд╕ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рднрд╛рдЬрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ macOS рдЕрдЫреВрддрд╛ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрд▓рдмреИрдХ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

    рдЪрд░рдг 4. рд╡рд┐рддрд░рдг рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рдЪрдпрди

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

    рдЪрд░рдг 5. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЛрдб рдореЗрдВ рдмреВрдЯ рдХрд░реЗрдВ

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

    • рдХрдо рд╕реЗ рдХрдо 25 рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ – рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ Apple рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
    • рдмреВрдЯ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рддрдХ рдкрд╛рд╡рд░ рдмрдЯрди рдХреЛ рджрдмрд╛рдХрд░ рд░рдЦреЗрдВред
    • рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╡реЙрд▓реНрдпреВрдо рдЪреБрдиреЗрдВ рдФрд░ рдЕрдкрдирд╛ macOS рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВред

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

    рдЪрд░рдг 6. рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

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

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

    рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ

    рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЖрдХрд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдЦреЛ рджреЗрдВрдЧреЗред M2 рд▓реИрдкрдЯреЙрдк рдкрд░ рд╕реНрдерд┐рддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

    рдХрд╛рд░реНрдп:

    • рд╡рд╛рдИ-рдлрд╛рдИ рдФрд░ рдмреНрд▓реВрдЯреВрде – рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдмрдВрдз рдХреЗред
    • рдПрдХреАрдХреГрдд рд╕реНрдХреНрд░реАрди рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ – рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рд╡рд▓реНрдХрди рд╕рд╣рд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рд┐рддред
    • рдореИрдХрдмреБрдХ рдПрдпрд░ рдФрд░ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рдкрд░ рд╡реЗрдмрдХреИрдо, рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдФрд░ рд╕реНрдкреАрдХрд░ред
    • рд╕реНрд▓реАрдк рдореЛрдб – рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
    • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡реАрдбрд┐рдпреЛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ – рдкреНрд▓реЗрдпрд░реНрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
    • рдпреВрдПрд╕рдмреА рдкреЛрд░реНрдЯ, рдЬрд┐рд╕рдореЗрдВ рдердВрдбрд░рдмреЛрд▓реНрдЯ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпреВрдПрд╕рдмреА 2 рдФрд░ рдпреВрдПрд╕рдмреА 3 рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

    рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдпрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

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

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

    рдлреЗрдпрд░реАрдбрд╕реНрдЯ рдХреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рдореЙрдирд┐рдЯрд░

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

    git clone https://github.com/bharambetejas/asahi-fairydust-display
    cd asahi-fairydust-display
    chmod +x asahi-fairydust-build.sh
    ./asahi-fairydust-build.sh
    

    рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреЗрдпрд░реАрдбрд╕реНрдЯ рд╢рд╛рдЦрд╛ рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреА рд╣реИ, рдХрд░реНрдиреЗрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рддреА рд╣реИ, рдЗрд╕реЗ рдорд╛рдирдХ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦрддреА рд╣реИ рдФрд░ GRUB рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИред рдЖрдкрдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 15 рдЬреАрдмреА рдЦрд╛рд▓реА рдЬрдЧрд╣, рдПрдХ рдпреВрдПрд╕рдмреА-рд╕реА тЖТ рдПрдЪрдбреАрдПрдордЖрдИ рдпрд╛ рдбрд┐рд╕реНрдкреНрд▓реЗрдкреЛрд░реНрдЯ рдПрдбрд╛рдкреНрдЯрд░ рдФрд░ 60-90 рдорд┐рдирдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд░реАрдмреВрдЯ рдХреЗ рдмрд╛рдж, GRUB рдореЗрдВ -fairydust рд▓реЗрдмрд▓ рд╡рд╛рд▓реЗ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рд╕рдмрд╕реЗ рд╕рд╛рдордиреЗ рд╡рд╛рд▓реЗ USB-C рдкреЛрд░реНрдЯ рдореЗрдВ рдбрд╛рд▓реЗрдВред

    рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЬрд╛рдВрдЪреЗрдВ:

    uname -r
    glxinfo | grep "OpenGL renderer"
    xrandr
    

    рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рддреНрдпрдп -рдлреЗрдпрд░реАрдбрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рджреВрд╕рд░реЗ рдХреЛ Apple M2 рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, llvmpipe рдирд╣реАрдВ, рддреАрд╕рд░реЗ рдХреЛ рдХрдиреЗрдХреНрдЯреЗрдб DP-1 рдЖрдЙрдЯрдкреБрдЯ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

    рдорд╛рдирдХ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЫреБрдЖ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ: рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЗрд╕реЗ GRUB рдореЗрдиреВ рдореЗрдВ рдЪреБрдиреЗрдВред

    рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рдмрдЬрд╛рдп рдмрд╛рд╣рд░реА рдбреНрд░рд╛рдЗрд╡

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

    рд▓рд┐рдирдХреНрд╕ рдореЗрдВ, рдпрд╣ рд╕реАрдорд╛ рд╣рдЯрд╛ рджреА рдЧрдИ рд╣реИ: USB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмрд╛рд╣рд░реА SSD рдПрдХ рдирд┐рдпрдорд┐рдд рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯ рдХреЛ /etc/fstab рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА, рд╕реНрдЯреАрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЗрдореЗрдЬ рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдореЙрдбрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдРрд╕рд╛ рдХрд░реЗрдВред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдЕрдкрдЧреНрд░реЗрдб рд╣реИ рдЬреЛ рдЗрд╕ рдХрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

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

    lsblk -f
    sudo blkid
    

    рдлрд┐рд░ /etc/fstab рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

    UUID=╨▓╨░╤И-uuid  /home  ext4  defaults,nofail  0  2
    

    рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╕реНрд╡рдпрдВ рдХреЙрдкреА рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд╣рд░реА рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдХреНрд╕рд░, рдкреВрд░реЗ /рдШрд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ – рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬреЛрдЦрд┐рдо рдХрдо рд╣реЛрддрд╛ рд╣реИред

    рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБред nofail рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ: рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдпрджрд┐ рдбрд┐рд╕реНрдХ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ рддреЛ рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред USB рдбреНрд░рд╛рдЗрд╡ рдХреА рдЧрддрд┐ рдЕрднреА рднреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд NVMe рд╕реЗ рдХрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд╛рд░-рдмрд╛рд░ I/O рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдбрд┐рд╕реНрдХ рдкрд░ рдЬрдЧрд╣ рдЫреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдФрд░ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ рд╕рдордп рдбрд┐рд╕реНрдХ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ – рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЕрдирдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред

    рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рдХреИрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ

    рдЬрдм рдЖрдк рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рд╡рд░ рдмрдЯрди рджрдмрд╛рдП рд░рдЦреЗрдВ – рдмреВрдЯ рдореЗрдиреВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЗрд╕рдореЗрдВ macOS рдФрд░ Linux рд╣реЛрдВрдЧреЗред рдЖрдк macOS рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: “рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ” тЖТ “рд╕рд╛рдорд╛рдиреНрдп” тЖТ “рд╕рд┐рд╕реНрдЯрдо рдбрд┐рд╕реНрдХ”ред рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдмрд┐рдирд╛ рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

    https://asahilinux.org/fedora/
    https://asahilinux.org/docs/
    https://asahilinux.org/docs/platform/feature-support/m2/
    https://fedoraproject.org/asahi-remix
    https://github.com/bharambetejas/asahi-fairydust-display
    https://github.com/AsahiLinux/linux/tree/fairydust

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

    https://asahilinux.org/docs/platform/feature-support/m2/
    https://discussion.fedoraproject.org/t/fedora-asahi-remix-installation-guide/
    https://github.com/AsahiLinux/docs
    https://github.com/bharambetejas/asahi-fairydust-display/blob/main/README.md
    https://github.com/bharambetejas/asahi-fairydust-display/blob/main/asahi-fairydust-build.sh

  • рдПрдЖрд░рдПрдо рдореИрдХ рдкрд░ рдЕрддрд┐рдерд┐ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

    ARM64 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд╛рд▓реЗ рдореИрдХ рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЧреЗрд╕реНрдЯ рдПрдбрд┐рд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ред

    рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛

    рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдХрд╛ ARM64 рдмрд┐рд▓реНрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЫрд╡рд┐ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕.рдПрдк рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред

    рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

    рд╣рдо рдПрдХ рдирдИ рдорд╢реАрди рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЙрдмрдВрдЯреВ рд╕рдВрд╕реНрдХрд░рдг (64-рдмрд┐рдЯ рдПрдЖрд░рдПрдо) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╣рдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

    • рдЯреАрдкреАрдПрдо – рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
    • UEFI – рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
    • рд░реИрдо – 4096 рдПрдордмреАред
    • рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдХ – VMSVGA (VBoxLinuxAdditions рдХреЗ рд▓рд┐рдП)ред
    • рдкреНрд░реЛрд╕реЗрд╕рд░ – 4 рдХреЛрд░.

    рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

    ARM64 рдХреЗ рд▓рд┐рдП Ubuntu рд╕рд░реНрд╡рд░ ISO рдЫрд╡рд┐ рдХреЛ CD-ROM рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред рдбрд╛рдЙрдирд▓реЛрдб рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдСрдкреНрдЯрд┐рдХрд▓ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд░рдЦреЗрдВред рд╣рдо рдорд╢реАрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред

    рдЬреБрдмрдВрдЯреВ-рдбреЗрд╕реНрдХрдЯреЙрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ

    XFCE рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

    sudo apt update
    sudo apt install -y xubuntu-desktop
    

    рд▓реЙрдЧрд┐рди рдкреНрд░рдмрдВрдзрдХ рдЪрдпрди рд╕рдВрд╡рд╛рдж рдореЗрдВ, рд▓рд╛рдЗрдЯрдбреАрдПрдо рдЪреБрдиреЗрдВред

    рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВ:

    sudo reboot
    

    рдЕрддрд┐рдерд┐ рдкрд░рд┐рд╡рд░реНрдзрди

    рдкрд╣рд▓реЗ рдмреВрдЯ рдХреЗ рдмрд╛рдж, рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

    sudo apt update
    sudo apt install -y build-essential linux-headers-$(uname -r)
    

    рд╣рдо рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрддрд┐рдерд┐ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдбрд┐рд╡рд╛рдЗрд╕ тЖТ рдорд╛рдЙрдВрдЯ рдЕрддрд┐рдерд┐ рдкрд░рд┐рд╡рд░реНрдзрди рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ред рдбрд┐рд╕реНрдХ рдЕрддрд┐рдерд┐ рдХреЗ рдЕрдВрджрд░ /media/$USER рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

    Xubuntu рдореЗрдВ рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ, рдорд╛рдЙрдВрдЯреЗрдб рдбрд┐рд╕реНрдХ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЪрд▓рд╛рдПрдВ:

    cd /media/$USER/*
    sudo ./VBoxLinuxAdditions-arm64.run
    

    рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВ:

    sudo reboot
    

    рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

    рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рд╣реИрдВ:

    lsmod | grep vbox
    

    рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ vboxguest рдФрд░ vboxsf рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

    рдорд╢реАрди рдЧреБрдгреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрддрд┐рдерд┐ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ:

    sudo mkdir -p /media/sf_shared
    sudo mount -t vboxsf shared /media/sf_shared
    

    рдХрд╛рдордХрд╛рдЬреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

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

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

    https://www.virtualbox.org/manual/topics/guestadditions.html
    https://forums.virtualbox.org/viewtopic.php?t=112886

  • рдбреАрдкрд╕реАрдХ рдХреЛ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

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

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

    рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ

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

    рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП

    рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдбреАрдкрд╕реАрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрджреЗрд╢ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
    1. Node.js 18 рдпрд╛ рдмрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП Git рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
    2. рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдпрдВ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
    3. рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ.

    npm install -g @anthropic-ai/claude-code
    claude --version
    

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

    рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

    рд╕рд╛рд░рд╛ рдПрдХреАрдХрд░рдг рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред MacOS рдФрд░ Linux рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

    export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
    export ANTHROPIC_AUTH_TOKEN=╨▓╨░╤И_╨║╨╗╤О╤З_deepseek
    
    export ANTHROPIC_MODEL=deepseek-flash[1m]
    export ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-flash[1m]
    export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek-flash[1m]
    export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek-flash
    export CLAUDE_CODE_SUBAGENT_MODEL=deepseek-flash
    
    export CLAUDE_CODE_EFFORT_LEVEL=max
    export CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432
    

    PowerShell рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрд▓рдЧ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрд░рд┐рдПрдмрд▓ рдирд╛рдо рд╕рдорд╛рди рд╣реИрдВ:

    $env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
    $env:ANTHROPIC_AUTH_TOKEN="╨▓╨░╤И_╨║╨╗╤О╤З_deepseek"
    $env:ANTHROPIC_MODEL="deepseek-flash[1m]"
    

    рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реИред `ANTHROPIC_BASE_URL` рд╡реИрд░рд┐рдПрдмрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдВрдереНрд░реЛрдкрд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреАрдкрд╕реАрдХ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред `ANTHROPIC_AUTH_TOKEN` рдЖрдкрдХреА рдХреБрдВрдЬреА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╢реЗрд╖ рдЪрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдореЙрдбрд▓ рдХрд┐рд╕ рднреВрдорд┐рдХрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред `[1m]` рдкреНрд░рддреНрдпрдп рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рд╣реИрдВ – рдпрд╣ рд▓рдЧрднрдЧ рджрд╕ рд▓рд╛рдЦ рдЯреЛрдХрди рдХреА рд╕рдВрджрд░реНрдн рд╡рд┐рдВрдбреЛ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬреЛ рдПрдЬреЗрдВрдЯ рдХреЛ рдПрдХ рд╕рдордп рдореЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, `CLAUDE_CODE_AUTO_COMPACT_WINDOW` рдХреЛ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдкреАрдбрд╝рди рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд╛рдо рди рдХрд░реЗред

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

    {
      "env": {
        "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
        "ANTHROPIC_AUTH_TOKEN": "╨▓╨░╤И_╨║╨╗╤О╤З_deepseek",
        "ANTHROPIC_MODEL": "deepseek-flash[1m]",
        "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-flash",
        "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-flash"
      }
    }
    

    рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдПрдЬреЗрдВрдЯ рдЪрд▓рд╛рдПрдБ:

    cd ╨▓╨░╤И_╨┐╤А╨╛╨╡╨║╤В
    claude
    

    рд╡реАрдПрд╕ рдХреЛрдб рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб

    рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рди рдХреЗрд╡рд▓ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдмрд▓реНрдХрд┐ рд╡реАрдПрд╕ рдХреЛрдб рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: Cmd+Shift+X рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреИрдирд▓ рдЦреЛрд▓реЗрдВ, “рдХреНрд▓рд╛рдЙрдб рдХреЛрдб” рдвреВрдВрдвреЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╡рд┐рд╕реНрддрд╛рд░ рдПрдиреНрдереНрд░реЛрдкрд┐рдХ рджреНрд╡рд╛рд░рд╛ рд╣реА рдирд┐рд░реНрдорд┐рдд рд╣реЛрддрд╛ рд╣реИред

    рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рд╕реАрдПрд▓рдЖрдИ рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди ~/.claude/settings.json рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдпрд╣рд╛рдВ рднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВ – рд▓реЗрдХрд┐рди рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде, рдЬреЛ рдЕрдХреНрд╕рд░ рднреНрд░рдо рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИред

    рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддрд╛ рд╣реИ

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

    рдЗрд╕реЗ рд╡реАрдПрд╕ рдХреЛрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: `claudeCode.environmentVariables` рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░реЗрдВ рдФрд░ рд▓реЙрдЧрд┐рди рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред

    {
      "claudeCode.environmentVariables": [
        { "name": "ANTHROPIC_BASE_URL", "value": "https://api.deepseek.com/anthropic" },
        { "name": "ANTHROPIC_AUTH_TOKEN", "value": "╨▓╨░╤И_╨║╨╗╤О╤З_deepseek" },
        { "name": "ANTHROPIC_MODEL", "value": "deepseek-flash[1m]" }
      ],
      "claudeCode.disableLoginPrompt": true
    }
    

    macOS рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ

    рдпрджрд┐ рдЖрдк рдбреЙрдХ рдпрд╛ рдлрд╛рдЗрдВрдбрд░ рд╕реЗ рд╡реАрдПрд╕ рдХреЛрдб рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ ~/.zshrc рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирдХ macOS рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдпрд╛рдиреА, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╢реЗрд▓ рдореЗрдВ `export ANTHROPIC_BASE_URL=…` рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ – рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдЗрд╕рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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

    code .
    

    рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛

    рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░рджрд╛рддрд╛ рдкрд░, рдХреБрдЫ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ claude.ai рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
    – рдХреНрд▓рд╛рдЙрдб рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд░, рд╡реЙрдпрд╕ рдЗрдирдкреБрдЯ рдФрд░ рд╡реЗрдм рдЯреИрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛;
    – рд▓реЙрдЧрдЖрдЙрдЯ рдЖрджреЗрд╢ рдореЗрдиреВ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ;
    – `/рдЙрдкрдпреЛрдЧ` рдпреЛрдЬрдирд╛ рд╕реАрдорд╛ рдХреЗ рдмрдЬрд╛рдп рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХреА рдЦрдкрдд рдФрд░ рдЯреЛрдХрди рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдПрдЧрд╛;
    – рдпрджрд┐ рдЖрдзрд╛рд░ рдкрддрд╛ рдПрдВрдереНрд░реЛрдкрд┐рдХ рдирд╣реАрдВ рд╣реИ рддреЛ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

    рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдФрд░ рдпрд╣ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реЗрдЯрдЕрдк рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред

    рдЕрд▓рдЧ рд╕реЗ, рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ JetBrains рдХрд╛ рдЕрдкрдирд╛ рдкреНрд▓рдЧрдЗрди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЗрд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд CLI рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХреАрдХреГрдд рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рд╕рд╛рде рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдЖрдИрдбреАрдИ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

    рдбреАрдкрд╕реАрдХ рдХреНрд▓рд╛рдЙрдб рдореЙрдбрд▓ рдирд╛рдореЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдордЭрддрд╛ рд╣реИ

    рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдореЙрдбрд▓реЛрдВ рдХреЛ рдХреНрд▓рд╛рдЙрдб-рдУрдкрд╕, рдХреНрд▓рд╛рдЙрдб-рд╕реЙрдиреЗрдЯ рдФрд░ рдХреНрд▓рд╛рдЙрдб-рд╣рд╛рдЗрдХреВ рдЬреИрд╕реЗ рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдбреАрдкрд╕реАрдХ рдЗрди рдирд╛рдореЛрдВ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдирд╛рдо рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ:
    – рдЬреЛ рдХреБрдЫ рднреА рдХреНрд▓рд╛рдЙрдб-рдУрдкрд╕ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ depseek-v4-pro рдкрд░ рдЬрд╛рддрд╛ рд╣реИ;
    – рдЬреЛ рдХреБрдЫ рднреА рдХреНрд▓рд╛рдЙрдб-рд╕реЙрдиреЗрдЯ рдпрд╛ рдХреНрд▓рд╛рдЙрдб-рд╣рд╛рдЗрдХреВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рд╡рд╣ рдбреАрдкрд╕реАрдХ-рдлреНрд▓реИрд╢ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ;
    – рдЕрдЬреНрдЮрд╛рдд рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо рднреА рдШрдЯрд╛рдХрд░ рдбреАрдкрд╕реАрдХ-рдлрд╝реНрд▓реИрд╢ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

    рдХрд┐рд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ

    рдЕрдиреБрдХреВрд▓рддрд╛ рдЕрдзреВрд░реА рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреАрдкрд╕реАрдХ рдХреЗрд╡рд▓ рдПрдВрдереНрд░реЛрдкрд┐рдХ рдПрдкреАрдЖрдИ рдХреА рдХреБрдЫ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реИ:

    – рдХреИрд╢рд┐рдВрдЧ рд╕рдВрдХреЗрддред `cache_control` рдлрд╝реАрд▓реНрдб рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╣реА рд╕рдВрджрд░реНрдн рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рднреБрдЧрддрд╛рди рди рдХрд░рдирд╛ рдкрдбрд╝реЗред рдпрд╣рд╛рдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рддреНрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐ рдЯреЛрдХрди рдХреАрдордд рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рдВрдЧреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рд╕рдВрд╡рд╛рдж рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рдордп-рд╕рдордп рдкрд░ рдПрдХ рдирдпрд╛ рд╕рдВрд╡рд╛рдж рд╢реБрд░реВ рдХрд░реЗрдВред
    – рд╕реЛрдЪ рдмрдЬрдЯред `рд╕реЛрдЪ` рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрдВрджрд░ `рдмрдЬрдЯ_рдЯреЛрдХрди` рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    – рд╡рд┐рд╡рд┐рдзред `top_k`, `service_tier`, `container` рдлрд╝реАрд▓реНрдб рдФрд░ API рд╕реЗ MCP рд╕рд░реНрд╡рд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рднреА рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
    – рдПрдорд╕реАрдкреАред рдбреАрдкрд╕реАрдХ рдкрдХреНрд╖ рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдорд╕реАрдкреА рд╕рд░реНрд╡рд░ рддрдВрддреНрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдХрд░рдг – рдлрд╛рдЗрд▓реЗрдВ рдкрдврд╝рдирд╛, рд╕рдВрдкрд╛рджрди, рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛, рдЦреЛрдЬ рдХрд░рдирд╛ – рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред

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

    рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рд░рд╛рдЙрдЯрд░

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

    рдпрд╣ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ

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

    рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ – рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ

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

    рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рддрд╛ рдФрд░ рд░рд╛рдЙрдЯрд░ рдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ ~/.claude-code-router/config.json рдореЗрдВ рдерд╛, рдФрд░ рд╕рдм рдХреБрдЫ `ccr рдХреЛрдб` рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдм рдпрд╣ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛. рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг (3.x) SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЕрднреА рддрдХ рдХреЛрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╣реАрдВ рд╣реИ рддреЛ рдкреБрд░рд╛рдиреЗ config.json рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ – рдЙрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕рдореЗрдВ рдХрд┐рдП рдЧрдП рд╕рдВрдкрд╛рджрди рдХреБрдЫ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

    рдпрд╛рдиреА, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ config.json рдФрд░ `ccr рдХреЛрдб` рдХрдорд╛рдВрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓реЗ рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛, рддреЛ рдЖрдк рдПрдХ рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЕрдм рдХреЛрдИ рдирд╣реАрдВ рдкрдврд╝рддрд╛ рд╣реИред рдпреЗ рддреБрдореНрд╣рд╛рд░реА рднреВрд▓ рдирд╣реА рд╣реИред

    рд╕реНрдерд╛рдкрдирд╛

    рдЖрдкрдХреЛ Node.js 22 рдпрд╛ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

    npm install -g @musistudio/claude-code-router
    ccr ui
    

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

    рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреНрд░рдмрдВрдзрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреЛрд░реНрдЯ 3458 рдкрд░ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд╡реЗ рд╕реНрд╡рдпрдВ рдкреЛрд░реНрдЯ 3456 рдкрд░ рд░рд╣рддрд╛ рд╣реИред

    рд╕реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

    рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ

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

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

    рдЙрджрд╛рд╣рд░рдг: рдУрдиреА-рдПрдХреНрд╕рдЯреЗрдВрдбреЗрдб

    рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдПрдХ рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг рдореЗрд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдУрдиреА-рдПрдХреНрд╕рдЯреЗрдВрдбреЗрдб рд╣реИ, рдЬреЛ рдРрдкреНрдкрд▓ рд╕рд┐рд▓рд┐рдХреЙрди рдХреЗ рд▓рд┐рдП рдЧреЗрдо рдУрдиреА (рдмреБрдВрдЧреА, 2001) рдХреЗ рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИред рдЦреЗрд▓ рдХреЗ рд╕реНрд░реЛрдд рд╕реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ рдФрд░ рд▓рдЧрднрдЧ рдмреАрд╕ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ; рдЙрдирдореЗрдВ рдХрднреА рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рд╣рдЬрд╝рд╛рд░реЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреАрдкрд╕реАрдХ рд╕реЗ рдХреНрд▓рд╛рдЙрдб рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИрдВ: F5/F9 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреЗрдЬрд╝ рдмрдЪрдд рдФрд░ рд▓реЛрдбрд┐рдВрдЧ, рдПрдХ рдХреБрдВрдЬреА рд╣реЛрд▓реНрдб рдмреНрд▓реЙрдХ, рдФрд░ рдПрдХ -рдиреЛрдбрдореЗрдЬ рд▓реЙрдиреНрдЪ рдлрд╝реНрд▓реИрдЧ рдЬреЛ рдХреНрд╖рддрд┐ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред

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

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

    https://platform.deepseek.com/api_keys
    https://api-docs.deepseek.com
    https://docs.anthropic.com/en/docs/claude-code
    https://github.com/anthropics/claude-code
    https://github.com/musistudio/claude-code-router
    https://ccrdesk.top/en/guides/cli/
    https://github.com/zefir1990/Oni-Extended

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

    https://api-docs.deepseek.com/guides/anthropic_api
    https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code
    https://ccrdesk.top/en/routing/
    https://code.claude.com/docs/en/vs-code

  • рдбреЛрдВрдХреА рд╣рд┐рд▓реНрд╕ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рд╕реНрдЯреАрдо рдкрд░ рд╣реИ!

    рдбреЛрдВрдХреА рд╣рд┐рд▓реНрд╕ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рд╕реНрдЯреАрдо рдкрд░ рд╣реИ!

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

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

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

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

    рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ! 👀
    рдЖрдкрдХреЛ рдирдИ рджрд┐рд╢рд╛ рдХреИрд╕реА рд▓рдЧреА? рдЦреЗрд▓ рдХреЗ рдорд╛рд╣реМрд▓ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдХреНрдпрд╛ рд░рд╛рдп рд╣реИ?

    рдЙрди рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдбреЛрдВрдХреА рд╣рд┐рд▓реНрд╕ рдХреЛ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛, рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ ❤️

    рдЖрдЧреЗ рдЕрднреА рднреА рдХрдИ рдкреНрд░рдпреЛрдЧ, рдирдИ рдпрд╛рдВрддреНрд░рд┐рдХреА рдФрд░ рдЕрдЬреАрдм рд░реЛрдорд╛рдВрдЪ рдмрд╛рдХреА рд╣реИрдВред

    https://store.steampowered.com/app/3476390/Donki_Hills/

  • рдЧреЗрдорд┐рдВрдЧ рд▓реИрдкрдЯреЙрдк рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдирд╛

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

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

    рд╡рд┐рдзрд┐ рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХрддрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:

    1. рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрдЪ рдпрд╛ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╡рд░ рд╡рд┐рдХрд▓реНрдк рдЦреЛрд▓реЗрдВред
    2. рд╕рдХреНрд░рд┐рдп рд╡рд┐рджреНрдпреБрдд рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдБред
    3. рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд╛рд╡рд░ рдкреНрд░рдмрдВрдзрди рд╢рд╛рдЦрд╛ рдвреВрдВрдвреЗрдВред
    4. рдЕрдзрд┐рдХрддрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдерд┐рддрд┐ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред
    5. рдкреНрд▓рдЧ рдЗрди рдХреЗ рд▓рд┐рдП, рдорд╛рди рдХреЛ 100% рд╕реЗ 80% рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдореЗрдВ рдмрджрд▓реЗрдВред

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

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

  • 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