Node.js рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ



"Node.js рдЧрдВрднреАрд░ рд╕рд╛рдЗрдЯреЛрдВ рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рдПрдкреАрдЖрдИ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред"
рдпрд╣ рдмреИрд▓ * рд╣рд┐рдЯ рд╣реИред рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реА рдкрдбрд╝реЗрдЧрд╛ред

рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рд╣рд╛рд▓ рд╣реА рдореЗрдВ, Ionut-Cristian Florescu рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ coderwall.com рдкрд░ рдирд┐рдпрдорд┐рдд ("рдорд╛рдирдХ") рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд▓реЗрдЦ рдХреЗ рд╢реАрд░реНрд╖рдХ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореЗрд░реА рд░рд╛рдп рдХреБрдЫ рдмрджрд▓ рдЧрдИ рд╣реИред рд▓реЗрдЦрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рддрд░реНрдХ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреА рдЗрд╕ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рд╣реИ, рддреЛ рдЗрд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВред

рдореИрдВрдиреЗ рдЗрди рд╢рдмреНрджреЛрдВ рдХреЛ рдЗрддрдиреА рдмрд╛рд░ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╣реА рдкрд░реЗрд╢рд╛рди рдХрд░ рдЪреБрдХреЗ рдереЗред рдореВрд▓ рд░реВрдк рд╕реЗ, рд╡реЗ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ "рдЫрджреНрдо-рдбреЗрд╡рд▓рдкрд░реНрд╕" рдпрд╛ "рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧреЛрдВ" рд╕реЗ рдореВрд▓ рдЯреВрдбреВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЦреЗрд▓рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЕрдм рдЪрд▓рди рдореЗрдВ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕реНрд╡рдпрдВ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ рдХреБрдЫ рднреА рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИред

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

рдХреНрдпрд╛ рд╡реЗ рд╕рдм рдЧрд▓рдд рд╣реИрдВ?
рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рдирд┐рд░рд╛рдзрд╛рд░ рдорд┐рдердХ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛?

рдЖрдЙрдЯрдбреЗрдЯреЗрдб рдбреЗрдЯрд╛


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддреЗрдЬ рдЧрддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, Node.js рдЕрднреА рднреА рдПрдХ рдпреБрд╡рд╛ рддрдХрдиреАрдХ рд╣реИред рд╡рд╣ рдЕрдм рдЕрдкрд░рд┐рдкрдХреНрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рддреЗрдЬреА рд╕реЗ, рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рддрд╛рдХрд┐ Node.js рдкрд░ рд╡рд┐рдкрдгрди рдкреНрд░рдЪрд╛рд░ рдФрд░ рддрдХрдиреАрдХреА рд▓реЗрдЦ рдЙрд╕рдХреЗ рд╕рд╛рде рди рд░рд╣реЗрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдлреЛрд░рдо рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЗрдЦ рдФрд░ рд╡рд┐рд╖рдп рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ Node.js рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИред

рдЬреЗрдВрдЯрд╛рдЗрд▓ рдмрдирд╛рдо рдХрд╛рдлрд┐рд░


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

"рдХреЙрд▓рдмреИрдХ рдирд░рдХ"


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



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

рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╣реИрдВ: Async.js рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ IcedadoffScript рдХреЗ рд╕рд╛рде "рд╕рд░рд▓ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг рдЕрдиреБрдХреВрд▓рди" рдХреЗ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ Node.js рдореЗрдВ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм, рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдФрд░ рдЖрдШрд╛рдд рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╛ рддреЛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реЛрддрд╛ рд╣реИ:



Node.js рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд░реЗрд▓ рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ


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

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рд░реЗрд▓ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЯреЙрд╡рд░.рдЬреЗрдПрд╕ рдпрд╛ рдЧреЗрдбреНрдбреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреИрдХреЗрдЬ, рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрди


рдмреЗрд╢рдХ, Node.js рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ Sprockets рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИред рдФрд░ рдПрдХ рдирд╣реАрдВред Node.js рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдРрд╕реА рдЪреАрдЬреЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред Bower , Brewer.js , Piler - рдпреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдирд╛рдо рд╣реИрдВред
UglifyJS Mihai Bazon 'рдФрд░ Node.js. рдкрд░ рднреА рдЪрд▓рддрд╛ рд╣реИ
рдЯреНрд░реЗрд╡рд░ рдмрд░реНрдирд╣реИрдо, рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓реЗрдЦрдХ: рддреНрд╡рд░рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдХрд╛рд╕, рдХрдиреЗрдХреНрдЯ-рдПрд╕реЗрдЯреНрд╕ рд▓рд┐рдЦрд╛, рдЬреЛ рдЕрдм рдПрдВрдбреНрд░рдпреВ рдбрдВрдХрдореИрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рд╕рд░рд▓, рд▓реЗрдХрд┐рди рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рдореЗрдВ рдПрдПрд╕рдкреАрдП рдФрд░ рдПрдПрд╕рдкреАрдП-рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИред
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИрдВ? рд╡реЗ рднреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ , рдореЗрд░реА рд░рд╛рдп рдЬреЗрдб рдФрд░ рд╕реНрдЯрд╛рдЗрд▓рд╕ рдореЗрдВ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╣реИрдВ ред

рдЧрддрд┐ рдФрд░ рд╕рдВрдЧрддрд┐ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИ


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

рд▓реЗрдХрд┐рди, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рдХрд╣рд╛ рд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрднреА-рдХрднреА рдЧрд┐рдЯрд╣рдм рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ - рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрдИ рдиреЗ рд╕рдордп-рд╕рдордп рдкрд░ рдПрдХ рдХрд╖реНрдЯрдкреНрд░рдж рдЧреЗрдВрдбрд╛ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рджреЗрдЦрд╛ рд╣реИред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдЙрди рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдерд╛ рдЬреЛ Google рдЦреЛрдЬ рд░реЛрдмреЛрдЯ рдмрд╕ "рдкреБрдЯ" рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдСрдирд▓рд╛рдЗрди рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ, рдпрджрд┐ Google "рдЖрдкрдХрд╛ рдорд┐рддреНрд░" рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рд╛рдЗрдЯ рдХреА рдЧрддрд┐ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрднреА рднреА рдХрдо рдирд╣реАрдВ рд╣реЛрдЧреАред рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд░рдХрдо рдХрд╛ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ (рдХреЛрдИ рднреА рдЗрд╕реЗ рд╢реБрджреНрдз рд╕реА рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦреЗрдЧрд╛)ред

рдЕрдЪреНрдЫреЗ Node.js рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдЕрднрд╛рд╡


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

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

рдмрдбрд╝реЗ рдирд┐рдЧрдо рдЕрднреА рддрдХ Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ


рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдмрдбрд╝реЗ рдирд┐рдЧрдо .NET рдФрд░ J2EE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдореЗрд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВред рдпрджрд┐ рдЖрдк рд╡рд╣рд╛рдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ .NET рдФрд░ J2EE рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВ, рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ Microsoft рдФрд░ Oracle рд╕реЗрдорд┐рдирд╛рд░ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВ, рдФрд░ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рд╕реНрдХреИрд▓рд╛ рдкрд░ рднреА рдирдЬрд╝рд░ рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рд░рд╛рдп рд╣реИред рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ; рдЕрдкрдиреЗ рдкреВрд░реЗ рдХрд░рд┐рдпрд░ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ C #, Java, PHP, Ruby, JavaScript рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ред рдореИрдВрдиреЗ "рдЧрдВрднреАрд░" рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдореИрдВ рдПрдХ рдирд┐рдЬреА рдЙрджреНрдпрдореА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реВрдЪрдирд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рдЯрд┐рдХ рдкрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджреБрдирд┐рдпрд╛ рдХреЛ рдЖрдИрдЯреА рдХреЗ рдЪрд╢реНрдореЗ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рд╕реАрдЦрд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ Node.js. рдХреА рдЦреЛрдЬ рдХреА рддреЛ рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдирдВрдж рд▓рд╛рдиреЗ рд▓рдЧреАред

рдЗрд╕ рд╕рдм рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬрдм рдореБрдЭреЗ рд░реЛрдорд╛рдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдХрд╛рд░ рдмрд┐рдХреНрд░реА рд╕рд╛рдЗрдЯ LeasingSH.ro рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИ , рддреЛ рдореБрдЭреЗ Node.js рдЪреБрдирдиреЗ рдкрд░ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХреА рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ:



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



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

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

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


All Articles