рдПрдХрд╛рдЪ рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрдирд╡рд░ рдбреЙрдХрд░ рдЖрдгрд┐ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рдХрд╛рд░реНрдп рд╕реЛрдкреЗ рд╣реЛрддреЗ, рд╡рд┐рдВрдбреЛрдЬрд╕рд╣ рдорд╛рдЭреНрдпрд╛ рд╡рд░реНрдХ рд▓реЕрдкрдЯреЙрдкрд╡рд░ рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдкреНрд░рд╛рдгреАрд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рдЖрд╣реЗ. рдореА рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓рд╛, рдХрдВрдЯреЗрдирд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ, рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдорд▓рд╛ рддреНрд╡рд░реАрдд рдЖрдврд│рд▓реЗ рдХреА VMWare рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рдирдиреЗ рддреНрд░реБрдЯреАрд╕рд╣ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд▓реЙрдиреНрдЪ рдХрд░рдгреЗ рдерд╛рдВрдмрд╡рд▓реЗ:

VMware Workstation and Device/Credential Guard are not compatible. VMware Workstation can be run after disabling Device/Credential Guard.

рдХрд╛рдо рдерд╛рдВрдмрд▓реЗ рдЖрд╣реЗ, рддреЗ рддрд╛рддрдбреАрдиреЗ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ

рдПрдХрд╛рдЪ рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрдирд╡рд░ рдбреЙрдХрд░ рдЖрдгрд┐ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рдЧреБрдЧрд▓рд┐рдВрдЧ рдХрд░реВрди, рдЕрд╕реЗ рдЖрдврд│реВрди рдЖрд▓реЗ рдХреА рд╣реА рддреНрд░реБрдЯреА рдПрдХрд╛рдЪ рдорд╢реАрдирд╡рд░реАрд▓ VMWare рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЖрдгрд┐ рд╣рд╛рдпрдкрд░-V рдЪреНрдпрд╛ рд╡рд┐рд╕рдВрдЧрддрддреЗрдореБрд│реЗ рдЙрджреНрднрд╡рддреЗ. рд╕рдорд╕реНрдпрд╛ рдЬреНрдЮрд╛рдд рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛рд╕рд╛рд░рдЦреЗ рдЕрдзрд┐рдХреГрдд VMWare рдЙрдкрд╛рдп рдЖрд╣реЗ рдирд┐рд░рд╛рдХрд░рдг, Microsoft рдЬреНрдЮрд╛рди рдмреЗрд╕рдЪреНрдпрд╛ рджреБрд╡реНрдпрд╛рд╕рд╣ рд╡рд┐рдВрдбреЛрдЬ рдбрд┐рдлреЗрдВрдбрд░ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдЧрд╛рд░реНрдб рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛. рдЙрдкрд╛рдп рдореНрд╣рдгрдЬреЗ рдбрд┐рдлреЗрдВрдбрд░ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдЧрд╛рд░реНрдб рдЕрдХреНрд╖рдо рдХрд░рдгреЗ (рдбрд┐рд╕реЗрдмрд▓ рд╡рд┐рдВрдбреЛрдЬ рдбрд┐рдлреЗрдВрдбрд░ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдЧрд╛рд░реНрдб рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рдкреЙрдЗрдВрдЯ 4 рдиреЗ рдорд▓рд╛ рдорджрдд рдХреЗрд▓реА):

mountvol X: /s
copy %WINDIR%System32SecConfig.efi X:EFIMicrosoftBootSecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "EFIMicrosoftBootSecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /d

рддреБрдореНрд╣реА рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рд╡рд┐рдВрдбреЛрдЬ рддреБрдореНрд╣рд╛рд▓рд╛ рдбрд┐рдлреЗрдВрдбрд░ рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓ рдЧрд╛рд░реНрдб рдЕрдХреНрд╖рдо рдХрд░рд╛рдпрдЪреЗ рдХреА рдирд╛рд╣реА рд╣реЗ рд╡рд┐рдЪрд╛рд░реЗрд▓. рд╣реЛрдп! рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рдирд╡рд░ рдкрд░рдд рдпреЗрдИрд▓ рдЖрдгрд┐ рдЖрдореНрд╣реА рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреНрдпрд╛рдЪ рдард┐рдХрд╛рдгреА рдЕрд╕реВ.

рдорд▓рд╛ рдЕрджреНрдпрд╛рдк рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рдЖрдгрд┐ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рдирдордзреНрдпреЗ рд╕рд╛рдордВрдЬрд╕реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд╛рдп рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА, рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рддреЗ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдорд┐рддреНрд░ рдмрдирддреАрд▓.

рджреБрд╕рд░рд╛ рдорд╛рд░реНрдЧ

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

рдбреЙрдХрд░ рдорд╢реАрди тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд╡рд░ рдбреЙрдХрд░ рдЗрдВрдЬрд┐рди рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рджреВрд░рд╕реНрдердкрдгреЗ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареА рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рд╕реБрд╕рдВрдЧрддрддрд╛ рдбреНрд░рд╛рдЗрд╡реНрд╣рд░ рдЖрд╣реЗ, github рд▓рд╛ рджреБрд╡рд╛

рдореА рд╡рд┐рд╢реЗрд╖рддрдГ рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реВрдЪрдирд╛ рдкреБрдиреНрд╣рд╛ рд╕рд╛рдВрдЧрдгрд╛рд░ рдирд╛рд╣реА, рдлрдХреНрдд рдШрдЯрдХрд╛рдВрдЪреА рдпрд╛рджреА:

  1. рдбреЙрдХрд░ рдЯреВрд▓рдмреЙрдХреНрд╕ (рдбреЙрдХрд░ рдорд╢реАрди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ)
  2. рдбреЙрдХрд░ рдорд╢реАрди рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдбреНрд░рд╛рдпрд╡реНрд╣рд░
  3. рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк

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

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

рдкрд░рд┐рдгрд╛рдореА, рдЖрдЬреНрдЮрд╛:

$ docker-machine create --driver=vmwareworkstation dev

Boot2Docker рд╡рд░реВрди рдПрдХ dev рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓, рдЬреНрдпрд╛рдордзреНрдпреЗ рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рд╣реЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд╕рдВрдмрдВрдзрд┐рдд vmx рдлрд╛рдЗрд▓ рдЙрдШрдбреВрди VMWare рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рд╢реА рд╕рдВрд▓рдЧреНрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдкрд░рдВрддреБ рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА, рдХрд╛рд░рдг VSCode рд▓рд╛ рдЖрддрд╛ PowerShell рджреНрд╡рд╛рд░реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореНрд╣рдгреВрди рд▓рд╛рдБрдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, docker-machine рдЖрдгрд┐ docker-machine-driver-vmwareworkstation рдмрд┐рди рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рд╕рдВрдкрд▓реЗ рдЖрд╣реЗ):

cd ~/bin
./docker-machine env dev | Invoke-Expression
code

VSCode рд╕реНрдерд╛рдирд┐рдХ рдорд╢реАрдирд╡рд░реАрд▓ рдХреЛрдб рдЖрдгрд┐ рдЖрднрд╛рд╕реА рдорд╢реАрдирдордзреНрдпреЗ рдбреЙрдХрд░рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдШрдбреЗрд▓. рдкреНрд▓рдЧрдЗрди рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рдХреЛрдбрд╕рд╛рдареА рдбреЙрдХрд░ рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рди рдЬрд╛рддрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рдХрдВрдЯреЗрдирд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реЛрдпреАрд╕реНрдХрд░рдкрдгреЗ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЕрдбрдЪрдгреА:

рдбреЙрдХрд░-рдорд╢реАрдирдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрджрд░рдореНрдпрд╛рди, рдорд╛рдЭреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧреЛрдард▓реА:

Waiting for SSH to be available...

рдПрдХрд╛рдЪ рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрдирд╡рд░ рдбреЙрдХрд░ рдЖрдгрд┐ рд╡реНрд╣реАрдПрдорд╡реЗрдЕрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рдЖрдгрд┐ рдХрд╛рд╣реА рдХрд╛рд│рд╛рдирдВрддрд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╣ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рдпрддреНрдирд╛рдВрд╕рд╣ рддреЗ рд╕рдорд╛рдкреНрдд рдЭрд╛рд▓реЗ.

рд╣реЗ рд╕рд░реНрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдзреЛрд░рдгрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ. рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрд╕реЗрд▓ ~.dockermachinemachinesdev. рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдордзреНрдпреЗ SSH рджреНрд╡рд╛рд░реЗ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдлрд╛рдЗрд▓реНрд╕ рдЕрд╕рддреАрд▓: id_rsa, id_rsa.pub. OpenSSH рддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдирдХрд╛рд░ рджреЗрдК рд╢рдХрддреЗ рдХрд╛рд░рдг рддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреНрдпрд╛рдВрдирд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд. рдлрдХреНрдд рдбреЙрдХрд░-рдорд╢реАрди рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реАрд╣реА рд╕рд╛рдВрдЧрдгрд╛рд░ рдирд╛рд╣реА, рддреЗ рдХрдВрдЯрд╛рд│рд╡рд╛рдгреЗ рд╣реЛрдИрдкрд░реНрдпрдВрдд рддреЗ рдкреБрдиреНрд╣рд╛ рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓.

рдЙрдкрд╛рдп: рдирд╡реАрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреА рдирд┐рд░реНрдорд┐рддреА рд╕реБрд░реВ рд╣реЛрддрд╛рдЪ, ~.dockermachinemachinesdev рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрд╡рд░ рдЬрд╛ рдЖрдгрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реАрдВрдЪреЗ рдЕрдзрд┐рдХрд╛рд░ рдПрдХрд╛ рд╡реЗрд│реА рдПрдХ рдмрджрд▓рд╛.

рдлрд╛рдИрд▓рдЪрд╛ рдорд╛рд▓рдХ рд╡рд░реНрддрдорд╛рди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдлрдХреНрдд рд╡рд░реНрддрдорд╛рди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рдкреВрд░реНрдг рдкреНрд░рд╡реЗрд╢ рдЖрд╣реЗ, рдкреНрд░рд╢рд╛рд╕рдХ рдЧрдЯ рдЖрдгрд┐ рд╕реНрд╡рддрдГ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрд╕рд╣ рдЗрддрд░ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╣рдЯрд╡рд┐рд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

рд╕реНрддреНрд░реЛрдд: www.habr.com

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