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

рдпрд╣ рд▓реЗрдЦ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рдЕрднрд┐рдирд╡ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЕрдм рдирд╣реАрдВред рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдХреЛрдб рд╣реИ, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ!
рдкреНрд░рд╛рдЪреАрди рд╕рдордп рдореЗрдВ, рдЕрд░реНрдерд╛рдд, 2015 рдореЗрдВ, рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛
рдХрд┐ рдХреЛрдЯрд▓рд┐рди рдореЗрд░реА рдЕрдЧрд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА , рдФрд░ 2016 рдореЗрдВ рдореИрдВрдиреЗ
рдЧреНрд░реЗрдЧрд▓ рдФрд░ рдЯреНрд░рдлрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛:
рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреЛ рдХрдЯреНрдЯрд░рдкрдВрдереА рдЕрдиреБрд╕рдВрдзрд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЬреЛ рди рдХреЗрд╡рд▓ рд░реВрдмреА рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рд▓рд╛рддреА рд╣реИрдВред , рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдирд┐рд░реНрдмрд╛рдз рдЗрдВрдЯрд░рд▓реЗрдВрдЬреЗрдЬ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдореЗрдВ рдЕрд╡рддрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВред рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдбрд╛рдпрдиреЗрдорд┐рдХ (JIT) рдХрдВрдкрд╛рдЗрд▓рд░ рдпрд╛ OpenJDK рдХреЛ рдПрдХ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдиреЛрдЯреЗрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛рддрд╛рдУрдВ рдХреЛ рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ JIT рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ ... рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗред
2019 рдореЗрдВ рдЗрди рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдореИрдВ рдЖрдкрдХреЛ рддреАрди рдЪреАрдЬреЗрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
- рдЫреЛрдЯреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рдЬреЛ рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдЬрд╛рд╡рд╛ рдпрд╛ рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рд▓рд┐рдЦреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдХреЛрдб рд╕реЗ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ред
- рд╕рднреА рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЬрд╛рд╡рд╛ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдЪреАрдЬ рд╣реИ, рдордЫрд▓реА рдХреЗ рддреЗрд▓ рдХреА рдЧрд┐рдирддреА рдирд╣реАрдВред
- рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ, рдЬреЛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛ-рд╕рд░реНрд╡рд┐рд╕-рдЙрдиреНрдореБрдЦ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ GraalVM рдФрд░ OpenJDK рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЬрд╛рд╡рд╛ рдФрд░ рдХреЛрдЯрд▓рд┐рди рд╕реЗ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╣рдо рдХреЗрд╡рд▓ рддреАрди рд╕рд░рд▓ рдХрджрдо рдЙрдард╛рдПрдВрдЧреЗ:
- GraalVM рдХреЛ рд▓реЗрдВред рдпрд╣ рдкреИрдЪреЗрдЬрд╝ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬреЛ OpenJDK рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╕рдордп рдореЗрдВ рд╣реА рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛: рдпрд╣ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рднреА JVM рдмрд╛рдЗрдЯ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рд╣рдо рдЕрдкрдиреЗ NodeJVM рдЯреВрд▓рдХрд┐рдЯ рдХреЛ рдЬреАрдердм рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрде рдкрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
nodejvm
рдХреЛ nodejvm
рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдмрджрд▓реЗрдВред рд╡рд╣ рд╕рдм рд╣реИ!
рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдореИрдВ рдереЛрдбрд╝рд╛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рддрдХ рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд╢реИрд▓реА рдХреЛ рд╕рд╣рдирд╛ рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ: рдЖрдкрдХреЛ рдЕрднреА рднреА рдореЙрдбреНрдпреВрд▓ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

NodeJVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдореВрдирд╛ рдХреЛрдб
рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрд┐рдПред рд╣рд╛рдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ: рдХреЛрдЯрд▓рд┐рди рдПрдХ рдмрд┐рд▓реНрдЯ-рдЗрди рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕реНрдерд┐рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреЗрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдпрд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рд╕рдорд╛рди рд╕рдВрдЪрд╛рд▓рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрдВрдЯреЗрд▓реАрдЬ рд╕рдордЭрддрд╛ рд╣реИред рдРрд╕реЗ рдЕрд╡рд╕рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдИрдбреАрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдЗрд╕рдХреЗ рд▓рд┐рдП NodeJVM рдХреЗ рд▓рд┐рдП рд░реАрдбрдореА рдкрдврд╝реЗрдВ), рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрджрд┐ IntelliJ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЕрдВрддрддрдГ
run
рдпрд╛
eval
рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЗрд╕реЗ рдПрдореНрдмреЗрдбреЗрдб JS рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣рд╛рдВ рдореИрдВ рдХреЛрдЯрд▓рд┐рди рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдкреНрд░рд┐рдЯрд┐рдпрд░ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдХреБрдЫ рдореИрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рднреА рдЬрд╛рд╡рд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
nodejs {}
рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ nodejs {}
ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ "рдиреЛрдб рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред nodejs {}
рдмреНрд▓реЙрдХ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдРрд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдереНрд░реЗрдб рдореЗрдВ рд╣реИрдВред рддреЛ, рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдХрд┐рд╕реА рднреА рдЬреЗрдПрд╕-рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЗрд╕реЗ рдЬрд┐рддрдиреА рдмрд╛рд░ рдЪрд╛рд╣реЗрдВ рдЙрддрдиреЗ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕реНрдерд╛рди рдкрд░ рдРрд╕реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓рдмреИрдХ рдХреЛ рдиреЛрдб рдереНрд░реЗрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЕрдиреНрдп рд╕рднреА рдереНрд░реЗрдб nodejs
рдмреНрд▓реЙрдХ рддрдХ рдкрд╣реБрдВрдЪ рд╕реЗ рд╡рдВрдЪрд┐рдд nodejs
, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдпрд╛ рдЪрд┐рдХрдиреА рдЬреАрдпреВрдЖрдИ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ, рддреЛ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВред var x by bind(SomeObject())
рд╕рд┐рдВрдЯреИрдХреНрд╕ var x by bind(SomeObject())
рдХреЗрд╡рд▓ nodejs
рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЧреНрд▓реЛрдмрд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреЛрдк рдореЗрдВ рдЙрд╕реА рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдм рдПрдХреНрд╕ рдХреЛрдЯрд▓рд┐рди рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬреЗрдПрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрд╣рд╛рдБ рдореИрдВ JS рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛ File
рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдБредeval
method рд▓реМрдЯрддрд╛ рд╣реИ ... рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реНрдЯреИрдЯрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЗ рд╕реЗред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╣реИ рдФрд░, рдХреЗрд╡рд▓ рдЙрд╕ рдЗрдХрд╛рдИ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ eval рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдпрд╛ Java / Kotlin / Scala / etc рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдбрд╛рд▓реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, MemoryUsage
рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рдореЗрдВ rss()
рдФрд░ heapTotal()
рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВред рд╡реЗ рдЙрд╕реА рдирд╛рдо рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреБрдгреЛрдВ рдХреЛ рдореИрдк рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдиреЛрдб рдПрдкреАрдЖрдИ process.memoryUsage()
рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ JS рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ "рд╕рд╛рдорд╛рдиреНрдп" рдЬрд╛рд╡рд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд▓реЗрдЦрди GraalVM рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рдкрд░рд┐рдгрд╛рдореА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХрд╣реАрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдзрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, nodejs
рдмреНрд▓реЙрдХ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд╕рд░рд▓ рдореИрдкрд┐рдВрдЧ рднреА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреА рдкреНрд░рдХреГрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдРрд╕реЗ рдореИрдкрд┐рдВрдЧ рдХреЛ рдХрд┐рд╕реА рдордЬрдмреВрдд рдЯрд╛рдЗрдк рдХреА рд╣реБрдИ рдЪреАрдЬрд╝ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕ рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред
- рдЖрдк
require
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ node_modules
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред
рдКрдкрд░ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ
рдбреАрдПрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╕рд╣рдХрд░реНрдореА рд╕реЗ рд╕рд╣рдХрд░реНрдореА рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдмрд┐рдЯрдЯреЛрд░реЗрдВрдЯ рд╕реЗ рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрди рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рд╣реИред рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдбреАрдПрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ (рдП) рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдпрд╛ рдмреБрд░рд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдард╛рда рдФрд░ (рдмреА) рд╣реИ, рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рднреА рдЙрдЪрд┐рдд рд╕рдордп рдореЗрдВ рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛ред
рдпрд╣ рдЬрд╛рд╡рд╛ рд╕реЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
import net.plan99.nodejs.NodeJS; public class Demo { public static void main(String[] args) { int result = NodeJS.runJS(() -> NodeJS.eval("return 2 + 3 + 4").asInt() ); System.out.println(result); } }
рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдХреЛрдЯрд▓реАрди рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдЦрдж рдЪрд░ рдмрдВрдзрди рдФрд░ рдСрдЯреЛ-рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдЬрд╛рд╡рд╛ (
int
) рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ "рдиреЛрдб рд╕реНрдЯреНрд░реАрдо" рд╕реЗ "рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдЬрд╛рд╡рд╛ рд╕реНрдЯреНрд░реАрдо NodeJS рд╕реНрдЯреНрд░реАрдо
рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рд╣рдо рдЗрди рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмреАрдЪ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред
NodeJVM GraalVM рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдЖрд╡рд░рдг рд╣реИред рдпрд╣ рдХреЛрдб рдХреА рдПрдХ рдорд╣рддреНрд╡рд╣реАрди рд░рд╛рд╢рд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдпрд╛ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реИ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд╛ 99.99% GraalVM рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрдзрд╛рд░ рдХреЗ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рджрд┐рдП рдЧрдП рд╣реИрдВ:
- рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдорд╛рд╡реЗрди рд╕рдордиреНрд╡рдп рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд╡рд╛ рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред
- рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рдЪрд▓рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ "рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ" рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ JAR рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ NodeJS рдЕрднреА рднреА рдлрд╝рд╛рдЗрд▓ I / O рдХреЛ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╝рд┐рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓рдВрдмрд╛: рд╣рд╛рдБ, рдпрджрд┐ рдЖрдк рдХрдард┐рди рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ)ред
- рдЕрдзрд┐рдХ рднрд╛рд╖рд╛рдПрдБ: рдкрд╛рдпрдерди рдФрд░ рд░реВрдмреА рдХреЛ рдереНрд░реЗрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП "рдЧреЛрдВрдж" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд┐ NodeJS рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд╕ рдирд┐рдпрдорд┐рдд GraalVM Polyglot API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрдЯрд▓рд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЪрд░ рдХреЗ рд▓рд┐рдП рдХрд▓рд╛рдХрд╛рд░реЛрдВ / рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
- рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рд╕рдорд░реНрдердиред
- рдЧреНрд░реИрдбрд▓ рдкреНрд▓рдЧрдЗрди рддрд╛рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдорд┐рд╢реНрд░рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реВрдЪреА рдмрдирд╛ рд╕рдХреЗрдВ
native-image
рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг, рддрдерд╛рдХрдерд┐рдд SubstrateVM; рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рд░рди-рд╡реЗ рдкрд░ рд╣реЙрдЯрд╕реНрдкреЙрдЯ рдХреЗ рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЧреЛрд▓рдВрдЧ рд╢реИрд▓реА рдореЗрдВ рдЫреЛрдЯреЗ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред- рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рд╡рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдирд╡рд░реНрдЯрд░, рддрд╛рдХрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдерд┐рд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрддрд░ рд╕рдХреЗрдВред
рдкреИрдЪ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА?
рд╢рд╛рдпрдж рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ: "рд╡рд╛рд╣, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╣рдо, рд╡рд┐рдХрд╕рд┐рдд, рдЕрдм рдЖрдкрд╕реА рдкреНрдпрд╛рд░, рдЖрдкрд╕реА рд╕рдореНрдорд╛рди рдФрд░ рд╕рджреНрднрд╛рд╡ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ!"

рдЖрджрд░реНрд╢рд┐рдд рдЙрддреНрд╕рд╛рд╣реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд░реАрдм рд╣реЛрдВрдЧреЗ:

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЬрд╛рд╡рд╛ рд╕рд┐рд░реНрдл рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИрдВред рдпреЗ рд╕рдВрд╕реНрдХреГрддрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдХреБрдЫ рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдкреНрдпрд╛рд░рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ CULTURAL WARS!
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рдХрдо рд╕реЗ рдХрдо рдмреБрдХрдорд╛рд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдЖрдк рдЕрдкрдиреЗ рдХреАрдорддреА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдкрд░ рдЖрдХреНрд░рдордг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ $ OTHER_LANG рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдмрдВрджреВрдХ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
- рдпрджрд┐ рдЖрдк рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рддреЛ рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрджреНрд╡рд┐рддреАрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ рдЬреЛ рдЬреЗрд╡реАрдПрдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреАрдПрдЯреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рдХреЗ рд╕рдордХрдХреНрд╖ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рд╕реЗ рдирдлрд░рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдмрдирд╛ рд╣реБрдЖ рд╣реИ: рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдУрдкрди рд╕реЛрд░реНрд╕ рдПрдирдкреАрдПрдо рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВред рдЖрдк рднрд╛рд╖рд╛ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯрд░реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рд╡реЗрдм рдлреНрд░рдВрдЯ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХрд╛ рднреА рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдк NodeJS рдореЗрдВ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдзреАрд░реЗ-рдзреАрд░реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЕрдЪрд╛рдирдХ рдпрд╣ рдХрд╛рдо рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдпрджрд┐ рдЖрдк рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рддреЛ рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрджреНрд╡рд┐рддреАрдп JVM рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рддрдХ рдЖрд╕рд╛рди рдкрд╣реБрдВрдЪ рд╣реИ, рдЬреЛ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдпрд╛ рддреЛ рдПрдХ рд╕реАрдзрд╛ рд╕рдордХрдХреНрд╖ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛ред рд▓реНрдпреВрд╕рд┐рди , рдХреНрд░реЙрдирд┐рдХрд▓ рдореИрдк ) рдпрд╛ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рдкреНрд░рд▓реЗрдЦрд┐рдд, рдЕрдкрд░рд┐рдкрдХреНрд╡ рдпрд╛ рдХрдо рдЕрд╡рдзрд┐ рдХреЗ рдПрдирд╛рд▓реЙрдЧреНрд╕ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ HTML рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЧреЛрд░реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП GUI рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХрдИ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рддрдХ рднреА рдкрд╣реБрдВрдЪ рдорд┐рд▓рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реВрдмреА рдФрд░ рдЖрд░ред рдЬреЗрд╡реАрдПрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдиреЛрдбреЗрдЬ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реБрдП , рдпрджрд┐, рдЖрдкрдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЗ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╡рд╛рд▓реЗ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдзреАрд░реЗ-рдзреАрд░реЗ NodeJS рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЕрдЪрд╛рдирдХ рдпрд╣ рдХрд╛рдо рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕реАрдЦрддреЗ рд╣реИрдВ , рддреЛ рдЖрдк рдмрд╣реБрднрд╛рд╖реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреЙрд▓реАрдЧреНрд▓реЙрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирдлрд░рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХреГрддрд┐ рд╕реЗ рдЖрддрд╛ рд╣реЛред рд╡реЗ рдкреБрдирд░реНрдЬрд╛рдЧрд░рдг рдЫрд╛рддреНрд░реЛрдВ рдХреА рддрд░рд╣ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рддреБрд░рдВрдд рдЕрдВрдЧреНрд░реЗрдЬреА, рдлреНрд░реЗрдВрдЪ рд▓реИрдЯрд┐рди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ ... рдпреЗ рд╕рднреА рднрд╛рд╖рд╛рдПрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВред рд╡реЗ Java, Kotlin, JavaScript, Scala, Python, Ruby, Lisp, R, Rust, Smalltalk, C / C ++ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ FORTRAN рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ GraalVM рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╕рд╛рдл рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рд╕рд┐рд▓рд╛рдИ рдХрд░рддреЗ рд╣реИрдВред
- рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрдк рдПрдХ рдЦреБрд╢ NodeJS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдПрдБ рдЖрдкрдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рддреЛ рдЖрдк рдЕрднреА рднреА GraalVM рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
NodeJS V8 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╣реИ рдЬреЛ рдкреАрд╕реА рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Google рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди V8 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред OpenJDK рдХреЛ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рджрд╢рдХреЛрдВ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ
рдЬреЗрдбрдЬреАрд╕реА рдФрд░
рд╢реЗрдирдбреЛрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рджреЛ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдЬреЛ рдиреНрдпреВрдирддрдо рд╡рд┐рд▓рдВрдмрддрд╛, рдЙрдкрдХрд░рдг рдЬреЛ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХреЗ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХреЗрдВрдб рдХреЗ рд╕рд╛рде рд░реБрдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЖрдк
рдЕрдЦрдВрдбрддрд╛ рдХрд╛ рдкрд░рд┐рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛,
рдЙрддреНрдХреГрд╖реНрдЯ GraalVM рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд░реВрдмреА рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдпреБрдХреНрдд рдвреЗрд░ рджреЗрдЦреЗрдВ

CPU рдореЗрдЯреНрд░рд┐рдХреНрд╕ HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ

рдЕрд▓реНрдЯреНрд░рд╛-рдбреАрдк рдПрдХреНрд╕рдкрд░реНрдЯ рдбрд╛рдпрдЧреНрдиреЙрд╕реНрдЯрд┐рдХреНрд╕ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛
рд╣рдо рдЖрдЦрд┐рд░реА рд╡рд┐рд╖рдп рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдХрднреА-рдХрднреА рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдХрд┐рд╕реА рдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдореБрдЭреЗ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ: "
рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рд╕рднреА рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рд╣рдореЗрдВ рдпрд╣ рд╕рдм рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ? рдХреА рд╡рдЬрд╣ рд╕реЗ рдкреВрд░рд╛ рдЙрдкрджреНрд░рд╡ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рдХрд┐ рдореБрдЭреЗ рдмрд╣реБрднрд╛рд╖реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрдпреЛрдВ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡рд╕реНрде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕рд┐рд╕реНрдЯрдореНрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рд╛рдБ, рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдХрдИ рддрд░рд╣ рдХреЗ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ Google рдкрд░ 7 рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓рдЧрднрдЧ рд░реЛрдЬрд╛рдирд╛ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдмреЛрд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ "рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕" рд▓рд┐рдЦрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЦрд╛ рд▓рд┐рдпрд╛ред рдЕрдиреНрдпрдерд╛, рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рд╣рдЬрд╛рд░реЛрдВ рдорд╢реАрдиреЛрдВ рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА!
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдЪреНрдЪ рдХреАрдордд рдЪреБрдХрд╛рдиреА рд╣реЛрдЧреА:
- рдХреНрд░рдордмрджреНрдзрддрд╛ред рдпрд╣ рддреБрд░рдВрдд рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдХрдореА рдХрд╛ рдирддреАрдЬрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдо рд╕реЗ рдХрдо рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рд░рд▓ рдкреЗрдбрд╝реЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПред JSON рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрддреЗ рд╕рдордп, рдЖрдк рд╕рд╛рдзрд╛рд░рдг рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрдИ рдмрдбрд╝реА рд╡рд╕реНрддреБрдУрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рд╣реИрдВ (рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
- рд╕рдВрд╕реНрдХрд░рдгред рдпрд╣ рдЬрдЯрд┐рд▓ рд╣реИред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдЕрдХреНрд╕рд░ рдЗрд╕ рдХрдард┐рди рд▓реЗрдХрд┐рди рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдЕрдиреБрд╢рд╛рд╕рди рдХреЛ рдирд╣реАрдВ рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдВ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рд░реЛрд▓рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рд╕рдм рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЖрдкрдХреА рдЬрдЧрд╣ рд▓реЗрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЧреИрд░-рдкрд░рдорд╛рдгреБ рд░реЛрд▓рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рд╡рд┐рддрд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ, рдореИрдВрдиреЗ рдХрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдкрджрд╛рдУрдВ рдХреЛ рджреЗрдЦрд╛, рдЬреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЙрдм рдЧрдП рдереЗ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рднрдЯрдХ рдЧрдП рдереЗред
- рдЬреБрдЯрдирд╛ ред рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдХреЗ рднреАрддрд░ рдкрд░рдорд╛рдгреБ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕реБрд╕рдВрдЧрдд рддрд╕реНрд╡реАрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдИ рдорд╢реАрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдбреЗрдЯрд╛ рд╢рд╛рд░реНрдкрдирд┐рдВрдЧ рдЙрдирдХреЗ рдмреАрдЪ рд╣реЛрддреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди рдЕрдЪреНрдЫреЗ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдореБрдЭреЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВ: Google рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдиреЗ рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рджрд╢рдХреЛрдВ рдмрд┐рддрд╛рдП рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХреА рддрд░рд╣ рджрд┐рдЦреЗред
- рдкреБрди: рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди ред рдЪреВрдВрдХрд┐ рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЙрд▓ рдорд╣рдВрдЧреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдиреЗ рдРрд╕реА рдХрдИ рдХреЙрд▓ рдирд╣реАрдВ рдХреА рд╣реИрдВ, рдФрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред Google рдиреЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдП рд╣реИрдВ, рдЬреЛ рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ; рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рднреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдРрд╕реЗ рдХреЛрдб рдХреЛ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
рддреЛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИ?
рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ рддреЛ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд▓реЛрд╣рд╛ред рдпрд╣ рд╡рд┐рдзрд┐ рдмреЗрддреБрдХрд╛ рджрд╛рджрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рд▓рд╛рдЧрдд рд▓рдЧрд╛рддрд╛рд░ рдХрдо рд╣реЛ рд░рд╣реА рд╣реИ, рдХрдИ рд╡рд░реНрдХрд▓реЛрдб рдХреЛ "рд╡реИрд╢реНрд╡рд┐рдХ рд╡реИрд╢реНрд╡рд┐рдХ" рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЬреЛ рдЦрд░реНрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХрд╛ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдЖрдкрдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдПрдХ рдХрдирд╛рдбрд╛рдИ рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддрд╛рдЬрд╝рд╛
рдореВрд▓реНрдп рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:

рд░реИрдо рдХреЗ рдПрдХ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд╛рд▓реАрд╕-рдкрд░рдорд╛рдгреБ рдорд╢реАрди рдФрд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд▓рдЧрднрдЧ рдПрдХ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдХреА рдХреАрдордд рдЖрдЬ рд▓рдЧрднрдЧ $ 6k рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреВрд░реЗ рдЬреАрд╡рди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдЯреАрдо рдХреЛ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛, рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рддрдирд╛ рдЦрд░реНрдЪ рдХрд░реЗрдЧрд╛ред
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдЬ рдХреА рд╕рднреА рдХрдВрдкрдирд┐рдпрд╛рдВ рд╡реИрд╢реНрд╡рд┐рдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИрдВ?
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдирд╣реАрдВред
рджреБрдирд┐рдпрд╛ рдРрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рд╕реЗ рднрд░реА рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рддреНрдп рд╣реИ:
- рд╡реЗ рд╕реНрдерд┐рд░ рдмрд╛рдЬрд╛рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
- рд╡реЗ рдЪреАрдЬреЗрдВ рдмреЗрдЪрдХрд░ рдХрдорд╛рддреЗ рд╣реИрдВред
- рдирддреАрдЬрддрди, рдЙрдирдХреЗ рдЧреНрд░рд╛рд╣рдХ рдЖрдзрд╛рд░ рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рджрд╕рд┐рдпреЛрдВ рд╕реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрд░рдмреЛрдВ рдореЗрдВ рдирд╣реАрдВред
- рдЙрдирдХреЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдРрд╕реА рдХрдВрдкрдиреА рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдмреИрдВрдХ рд╣реИред рдмреИрдВрдХ "рд╣рд╛рдЗрдкрд░ рдЧреНрд░реЛрде" рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, "рд╡рд╛рдпрд░рд▓" рдирд╣реАрдВ рдмрдирддреЗ рд╣реИрдВред рдЙрдирдХрд╛ рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдордзреНрдпрдо рдФрд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реИ (рдмреИрдВрдХ рдХреНрд╖реЗрддреНрд░реАрдп рд╣реИрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрддреГрдкреНрдд рдмрд╛рдЬрд╛рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ)ред рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЕрдореЗрд░рд┐рдХреА рдмреИрдВрдХ рдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдЖрдзрд╛рд░ рд▓рдЧрднрдЧ 50 рдорд┐рд▓рд┐рдпрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рд░ рдЫрд╣ рдорд╣реАрдиреЗ рдореЗрдВ рджреЛрдЧреБрдирд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреНрдпрд╛ рдпрд╣ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдореЗрдирдлреНрд░реЗрдо рдЕрднреА рднреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреИрдВрдХ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ? рдмреЗрд╢рдХ, рд░рд╕рдж рдХрдВрдкрдирд┐рдпреЛрдВ, рд╡рд┐рдирд┐рд░реНрдорд╛рдг рдлрд░реНрдореЛрдВ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╕рдЪ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реА рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рд░реЛрдЯреА рдФрд░ рдордХреНрдЦрди рд╣реИред
рдРрд╕реЗ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдореЗрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЙрдирд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рд╕рд┐рд░реНрдл рдПрдХ рдмрдбрд╝реА рдорд╢реАрди рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╣рд╛рдБ, рдЖрдЬ рднреА рдХреБрдЫ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рд╛рдЗрдЯреЗрдВ рдПрдХ рдорд╢реАрди рдкрд░ рдлрд┐рдЯ рд╣реИрдВред 2015 рдореЗрдВ, Maciej Tseglovsky рдиреЗ "
рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдореЛрдЯрд╛рдкреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдХрдЯ " рдкрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╛рдЦреНрдпрд╛рди рджрд┐рдпрд╛ рдФрд░ рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдмреБрдХрдорд╛рд░реНрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдЙрдирдХреА рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рд▓рд╛рднрджрд╛рдпрдХ рдереА, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкреНрд░рддрд┐рдпреЛрдЧреА рдиреЗ AWS рдкрд░ рдПрдХ рд╣реА рд╕рд╛рдЗрдЯ рдкреЛрд╕реНрдЯ рдХреА - рдФрд░ рдЦреЛ рджрд┐рдпрд╛, рдХреЗрд╡рд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЧрддреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЙрдкрдХрд░рдг рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдзрд╛рд░рдгрд╛рдПрдВред
рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдкрд░ рдПрдХ рдЕрдзреНрдпрдпрди рдореЗрдВ
, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ PlentyOfFish рд▓рдЧрднрдЧ ~ рдПрдХ рдореЗрдЧрд╛рд╕рд░реНрд╡рд░ (2009 рд╕реЗ рд▓реЗрдЦ рдХреА рддрд╛рд░реАрдЦреЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╡рд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдЙрдкрдХрд░рдг рдХреА рдХреАрдорддреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рд▓реЗрдЦрдХ рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд░реНрд╡рд░ рдЙрддрдирд╛ рдмреЗрд╡рдХреВрдл рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрдк Hadoop рдФрд░ Big Data рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ
2013 рдХреЗ рдЗрд╕
Microsoft рд╢реЛрдз рд▓реЗрдЦ рдХреЛ рджреЗрдЦреЗрдВ, рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ Microsoft, Yahoo, рдФрд░ Facebook рдХреЗ Hadoop рдХреЗ рдХрдИ рдХрд╛рд░реНрдпрднрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдмрдбрд╝реА рдорд╢реАрди рдкрд░ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ 6 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛! рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рддрдм рд╕реЗ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЬреЛрд░ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЪрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЬреБрдбрд╝реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рдмреЗрд╣рдж рдорд╣рдВрдЧреЗ рдХрд╛рдо рдХреЗ рд╕рдордп рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде, рдЬреЛ рдХрд┐ рдЫреЛрдЯреЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рдиреЗ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдЪрджрд╛рд░ рдорд╛рдВрдЧ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреЛрдЦрд┐рдо рднрд░рд╛ рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╡реАрдирддрдо рдЦрд┐рд▓реМрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реЛрдВред рдЖрдк SQL, SOLID рд▓реЗрдирджреЗрди, рдПрдХреАрдХреГрдд рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреНрд░реЙрд╕-рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдЬреИрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдЦреЛ рджреЗрдВрдЧреЗред рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛рдПрдВрдЧреЗ рддреЛ рдЯрд╛рдЗрдк рд╕реЗрдлреНрдЯреА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреАред рдЖрдкрдХреЛ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ, рдЬреЛ рд╕рдордп-рд╕рдордп рдкрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЧрддрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрддреНрдпрдзрд┐рдХ рдУрд╡рд░рд╣реЗрдб, рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмреИрдХ рдкреНрд░реЗрд╢рд░ рдлрд╝реЗрд▓реНрдпреЛрд░, рдлреИрдВрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдЗрдВрдЬрди, рдФрд░ ... рдУрд╣, рдпрд╛рджреЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╛рдврд╝ рдЖ рдЧрдИрдВред рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА Google рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рдореЗрд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдПрдХ рдореЛрдЯреА рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдмрдЬрдЯ рдерд╛, рд▓реЗрдХрд┐рди рдЖрдЬ рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рддрдм рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрджреНрдпрдо рдХрд░реВрдВрдЧрд╛ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред
рдЕрдиреБрднрд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рдмрдбрд╝реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ - рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реНрд╡рдпрдВ рдПрдХ рдЦрд░рд╛рдм рд╡рд┐рдХрд╕рд┐рдд рддрдХрдиреАрдХ рдереА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╖рдп рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЕрдХрд╛рджрдорд┐рдХ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред , ZGC Shenandoah, , 80 тАУ . , -, тАУ , .
, ? тАУ , ? тАУ : , , тАж .
рдирд┐рд╖реНрдХрд░реНрд╖
NodeJVM тАУ , GraalVM. NPM Java/Kotlin, JS , Kotlin JavaScript, JS , V8.
, JS Java, Java JS .
, 4 , тАУ тАУ , . .