рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

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

рдкреЛрд░реНрдЯреЗрдирд░

  • ╨б╨░╨╣╤В; GitHub; рдЧреНрд░рд┐рдб.
  • рд▓рд╛рдЗрд╕реЗрдВрд╕: рдУрдкрди рд╕реЛрд░реНрд╕ (рдЬрд╝реНрд▓рд┐рдм рд▓рд╛рдЗрд╕реЗрдВрд╕ рдФрд░ рдЕрдиреНрдп)ред
  • рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬрд╝ред
  • рднрд╛рд╖рд╛рдПрдБ/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рдЧреЛ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдХреЛрдгреАрдп)ред
  • рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг (рдПрдбрдорд┐рди/рдЯреНрд░рд╛рдЗрдкреЛрд░реНрдЯрд░).

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдкреЛрд░реНрдЯреЗрдирд░ (рдкреВрд░реНрд╡ рдореЗрдВ рдбреЙрдХрд░ рдХреЗ рд▓рд┐рдП рдпреВрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛) рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рдФрд░ рдбреЙрдХрд░ рдЭреБрдВрдб рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред рдЗрд╕реЗ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рддреИрдирд╛рдд рдХрд░рдХреЗ, рдЬрд┐рд╕реЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рдХреЗ рдкрддреЗ/рд╕реЙрдХреЗрдЯ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░, рдЫрд╡рд┐рдпрд╛рдВ (рдЙрдиреНрд╣реЗрдВ рдбреЙрдХрд░ рд╣рдм рд╕реЗ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ), рдиреЗрдЯрд╡рд░реНрдХ, рд╡реЙрд▓реНрдпреВрдо, рд░рд╣рд╕реНрдп рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбреЙрдХрд░ 1.10+ (рдФрд░ рдбреЙрдХрд░ рдЭреБрдВрдб 1.2.3+) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдЖрдБрдХрдбрд╝реЗ (рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ), рд▓реЙрдЧ, рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрдиреЗрдХреНрд╢рди (xterm.js рд╡реЗрдм рдЯрд░реНрдорд┐рдирд▓) рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрд╡рдпрдВ рдХреА рдкрд╣реБрдВрдЪ рд╕реВрдЪрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

рдХрд┐рдЯреЗрдореЗрдЯрд┐рдХ (рдбреЙрдХрд░ рдЯреВрд▓рдмреЙрдХреНрд╕)

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

Mac OS рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рд╣рдм рд╕реЗ рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛, рдмреБрдирд┐рдпрд╛рджреА рдХрдВрдЯреЗрдирд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рд╡реЙрд▓реНрдпреВрдо, рдиреЗрдЯрд╡рд░реНрдХ рд╕рд╣рд┐рдд) рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛, рд▓реЙрдЧ рджреЗрдЦрдирд╛ рдФрд░ рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╢рд┐рдкрдпрд╛рд░реНрдб

  • ╨б╨░╨╣╤В; GitHub.
  • рд▓рд╛рдЗрд╕реЗрдВрд╕: рдУрдкрди рд╕реЛрд░реНрд╕ (рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0)ред
  • рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ред
  • рднрд╛рд╖рд╛рдПрдБ/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: Go, Node.js.

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

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

рдПрдбрдорд┐рд░рд▓

  • ╨б╨░╨╣╤В; GitHub.
  • рд▓рд╛рдЗрд╕реЗрдВрд╕: рдУрдкрди рд╕реЛрд░реНрд╕ (рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0)ред
  • рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬрд╝ред
  • рднрд╛рд╖рд╛рдПрдБ/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рдЬрд╛рд╡рд╛ (рд╡реАрдПрдорд╡реЗрдпрд░ рдЬрд╝реЗрдиреЙрди рдлреНрд░реЗрдорд╡рд░реНрдХ)ред

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

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

рдбреЙрдХ рд╕реНрдЯреЗрд╢рди

  • ╨б╨░╨╣╤В; GitHub (рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдмрд┐рдирд╛).
  • рд▓рд╛рдЗрд╕реЗрдВрд╕: рдорд╛рд▓рд┐рдХрд╛рдирд╛ (рдлреНрд░реАрд╡реЗрдпрд░)ред
  • рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬрд╝ред
  • рднрд╛рд╖рд╛рдПрдБ/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди (рдХреНрд░реЛрдорд┐рдпрдо, Node.js)ред

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

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

рд╕рд░рд▓ рдбреЙрдХрд░ рдпреВрдЖрдИ

  • GitHub.
  • рд▓рд╛рдЗрд╕реЗрдВрд╕: рдУрдкрди рд╕реЛрд░реНрд╕ (рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕)ред
  • рдУрдПрд╕: рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬрд╝ред
  • рднрд╛рд╖рд╛рдПрдБ/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди, Scala.js (+ Scala.js рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛)ред

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

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

рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк

рд╕рдореАрдХреНрд╖рд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ:

  • рдХреНрд╖реЗрддреНрд░ рд▓рдЧрд╛рдиреЗрд╡рд╛рд▓рд╛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдмрдВрдзрди рдордВрдЪ рд╣реИред рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд (рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0); рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ. рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рд░реИрдВрдЪрд░ рдпреВрдЖрдИ Node.js рдкрд░
  • рдХреЛрдВрдЯреЗрдирд╛ - "рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрд╡рд▓рдкрд░-рдЕрдиреБрдХреВрд▓ рдордВрдЪ", рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдзрд┐рдХ рддреИрдпрд╛рд░ "рдЖрдЙрдЯ рдСрдл рдж рдмреЙрдХреНрд╕" рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реАрдПрд▓рдЖрдИ рдФрд░ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ (рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ) рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдЙрд╕рдХреЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕, рд╕реЗрд╡рд╛рдУрдВ, рд╡реЙрд▓реНрдпреВрдо, рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕рд╣рд┐рдд), рдЖрдВрдХрдбрд╝реЗ/рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд (рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0); рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ.
  • рдбреЗрдЯрд╛ рдЪрд░рдЦреА - рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЬрд┐рд╕рдореЗрдВ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдп рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╣реЛрдВред рдУрдкрди рд╕реЛрд░реНрд╕ (рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕); рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИ); рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд╣рдм, рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
  • Panamax - рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд┐рд╕рдХрд╛ рд▓рдХреНрд╖реНрдп "рдЬрдЯрд┐рд▓ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рддреИрдирд╛рддреА рдХреЛ рдбреНрд░реИрдЧ-рдПрди-рдбреНрд░реЙрдк рдЬрд┐рддрдирд╛ рд╕рд░рд▓ рдмрдирд╛рдирд╛" рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреА рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдИ (рдкрдирд╛рдорд╛рдХреНрд╕ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕), рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдбреЙрдХрд░ рд╣рдм рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпреЛрдВ/рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд (рдЕрдкрд╛рдЪреЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ 2.0); рд▓рд┐рдирдХреНрд╕, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ. рдХреЛрд░рдУрдПрд╕ рдФрд░ рдлреНрд▓реАрдЯ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрддред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, 2015 рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред
  • рдбреЙрдХрд▓реА - рдмреНрд░реИрдХрдЯ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдФрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИред рдУрдкрди рд╕реЛрд░реНрд╕ (рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕); JavaScript/Node.js рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдВрддрддрдГ: рдбреЙрдХрд▓реА рдореЗрдВ GUI рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рд╕рд╛рд╡рдзрд╛рди, GIF 3,4 рдПрдордмреА рдкрд░!рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬреАрдпреВрдЖрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдкреБрдирд╢реНрдЪ

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рднреА рдкрдврд╝реЗрдВ:

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

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