Node.js: рдХреНрдпрд╛ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ?

рдЕрднрд┐рд╡рд╛рджрди, рдирд┐рд░реНрдпрд╛рдд .users.habrauser

рдПрдХ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ, рд╣рдм рдкрд░ рдПрдХ рд▓реЗрдЦ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ "рд╕рдорд╕реНрдпрд╛" рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛: Node.js рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреБрдЫ рддрд░реНрдХ рдирд┐рд╖реНрдкрдХреНрд╖ рдереЗ, рд▓реЗрдХрд┐рди, рдЕрдлрд╕реЛрд╕, рдирд┐рд░рд╛рдзрд╛рд░ред рдЕрдиреНрдп рддрд░реНрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрддреБрдХреЗ рдереЗ рдФрд░ рд╕рдЪ рдирд╣реАрдВ рдереЗред рдореИрдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдВрдХ рднреА рдирд╣реАрдВ рджреВрдВрдЧрд╛ (рддрд╛рдХрд┐ рд▓реЗрдЦ рдбреНрд░рд╛рдлреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рдП, рдпрд╣ рдХреЗрд╡рд▓ рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдореЗрдВ рд╣реА рд░рд╣рддрд╛ рд╣реИ)ред рдореИрдВ рд╕рд┐рд░реНрдл Node.js рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддреБрд▓рдирд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рд╣рд░ рдХреЛрдИ рджреЗрдЦрдиреЗ рдХреЗ рдЖрджреА рд╣реЛред

рдкрд░рд┐рдЪрдп


рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреА рдУрд░ рд░реБрдЦ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ рдХрд┐ Node.js рдФрд░ JavaScript рдХреНрдпрд╛ рд╣реИ:
Node рдпрд╛ Node.js, V8 рдЗрдВрдЬрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЬреИрд╕реЗ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╡рд┐рддрд░рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред Node.js рдкрд╛рдпрдерди рдХреЗ рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд░реВрдмреА рдХреЗ EventMachine рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ред
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк-рдЙрдиреНрдореБрдЦ рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред рдпрд╣ ECMAScript рдХреА рдПрдХ рдмреЛрд▓реА рд╣реИред

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

рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╢рдмреНрдж рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ ред рдпрд╣ рдкреВрд░реЗ Node.js. рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИ рдкреВрд░реНрд╡рдЧрд╛рдореА рд╕реЗ, рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Node.js рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдирдЯрд╛рдЗрдо рд╣реИ, рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддрд░рд╣, рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ DOM рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред DOM рдХреЗ рд╕рд╛рде - jsdom)ред

Google рдХреЛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?


рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛? рд╣рд╛рдВ, Node.js Google рд╕реЗ V8 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕рд╛ рд╣реИред рдпрд╣ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ Google рдХрд┐рд╕реА рддрд░рд╣ Node.js рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕рдВрдпреБрдХреНрдд рд░рд╛рдЬреНрдп рдЕрдореЗрд░рд┐рдХрд╛ рдореЗрдВ "рд░реВрд╕" рдХрд╣рдиреЗ рдФрд░ рдЯрдХрд╕рд╛рд▓реА "рднрд╛рд▓реВ", "рдмрд╛рд▓рд┐рдХрд╛" рдФрд░ "рд╡реЛрджрдХрд╛" рд╕реБрдирдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рд╢реБрд░реВ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд▓реЗрдЦрдХ рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛)ред рдкреНрд░рд╛рдпреЛрдЬрди рдХрд╛ рдиреЗрддреГрддреНрд╡ Google Joyent рдХреА рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВ ...


рдЖрдЗрдП Node.js рдФрд░ Chrome рдЬреИрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдХрд░ рдХреБрдЫ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдореИрдВ рддреБрдЪреНрдЫ рд╕рд╛рдВрддреНрд╡рдирд╛ рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛ред ("рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!"); рдореИрдВ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд▓реЗ рдЬрд╛рдКрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреВрдВрдЫ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреИрдХреНрдЯрд░рд┐рдпрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп:

var factorial = function (n, a) { return n < 2 ? a : factorial(n - 1, a * n); }; console.log(factorial(10, 1)); 

Node.js рдФрд░ Chrome рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ:





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

 var Celsius2Fahrenheit = function (val, unit) { this.val = val; this.unit = unit; }; Celsius2Fahrenheit.prototype.setVal = function (degrees) { var degreesArray = degrees.split(" "); this.val = degreesArray[0]; this.unit = degreesArray[1]; }; Celsius2Fahrenheit.prototype.convert = function (to) { if (this.unit != to) { this.unit = to; switch (to) { case "C": { this.val = Math.round((this.val - 32) * 5 / 9); } break; case "F": { this.val = Math.round(this.val * 9 / 5 + 32); } break; } } }; var c2f = new Celsius2Fahrenheit(30, "C"); console.log(c2f.val + c2f.unit); c2f.convert("F"); console.log(c2f.val + c2f.unit); c2f.setVal("100 F"); console.log(c2f.val + c2f.unit); c2f.convert("C"); console.log(c2f.val + c2f.unit); 

рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ "рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рдПрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ Node.js рдореЗрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ, рдпрд╣ рд╕рдорд╛рди рд╣реИ:
30C
86F
100F
38C


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


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЬ, рдХрд▓ Node.js


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

рддреЛ рдЕрдЧрд░ рдпреЗ рдПрдХ рд╣реА рд╕рд┐рдХреНрдХреЗ рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрдХреНрд╖ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ: "рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдЯреАрдпрд░рд┐рдВрдЧ рд╡реНрд╣реАрд▓ рдХреЛ рдХрд╣рд╛рдБ рдореЛрдбрд╝рддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдЖрдк рдореБрдбрд╝рддреЗ рд╣реИрдВред" рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд┐рд╕ рддрд░рдл рднреА рдЪрд▓ рд░рд╣реА рд╣реИ, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рдерд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ Node, js рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛: рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧреЛрдВ рдХреЛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдорд╛рди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдкреБрд░рд╛рдиреЗ рдкреБрд░рд╛рдиреЗ Ctrl-C Ctrl-V рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬрд▓реНрджреА рд╕реЗ PHP рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрдХреНрд╖ рдХреЛ Node.js рдкрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдХрд┐рд╕реА рднреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ред

рд╣рдо рд╕реНрдерд┐рд░рддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ!


рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдЖрдкрдХреЛ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рд╣рдореЗрд╢рд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рд░рдХ рд╣реЛрдЧрд╛ред рдФрд░ Node.js рдХреНрд░реЛрдо рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреА рддрд░рд╣ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕реЗ рдХрд╛рдлреА рдмрд╛рд░ (рд╣рд░ рджреЛ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░) рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдЖрд╡реЗрджрди рдХрд╛ рдХрд╛рдлреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрдЪрд╛рд▓рдиред рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдкрд╛рдк рд╣реИ ...

рдЕрдВрддрднрд╛рд╖рдг


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

Source: https://habr.com/ru/post/In182628/


All Articles