рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ: рдпрд╣ рдореЛрдЬрд╝рд┐рд▓рд╛ рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рдЯреАрдо рд╕реЗ Node.js рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╛рдБрдЪрд╡рд╛рдБ рд▓реЗрдЦ рд╣реИ, рдЬреЛ рдкрд░реНрд╕реЛрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ:
Node.js рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ рдЬреЛ рдЕрд╕рдВрднрд╡ рд▓реЛрдб рдХреЗ рддрд╣рдд рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛? рдпрд╣ рдЖрд▓реЗрдЦ рдиреЛрдб-рдЯреЛрдмреИрд╕реА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
var toobusy = require('toobusy'); app.use(function(req, res, next) { if (toobusy()) res.send(503, "I'm busy right now, sorry."); else next(); });
рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдмрд╕реЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫреЗ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдПрдХ рдЖрдкрджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЬрдм рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдЖрддреА рд╣реИ, рдФрд░ рдкреНрд░рддрд┐ рджрд┐рди рджрд╕ рд╣рдЬрд╛рд░ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд▓рд╛рдЦ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдПрдХ рд╕рд╛рдЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдЪрд╛рдирдХ рд╡реГрджреНрдзрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреА рд╣реИ, рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдЗрди рддреИрдпрд╛рд░рд┐рдпреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд╛рдЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд┐рд░ рдЬрд╛рдПрдЧреА рдЬрдм рдЖрдк рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрдм рдпрд╣ рдкреВрд░реНрдг рджреГрд╢реНрдп рдореЗрдВ рд╣реИред
рдпрд╣ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╡реГрджреНрдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП DoS рд╣рдорд▓реЗ рд╕реЗред рдРрд╕реЗ рд╣рдорд▓реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рдПрдХ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрдирд╛ рд╣реИ рдЬреЛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЖрдкрдХрд╛ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдореЗрдВ рд╣реИ
рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░реНрд╡рд░, рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдПрдХ
рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдЪ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдХреБрд▓ рдкрд╛рдВрдЪ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд▓рдЧрднрдЧ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рд░реЗрдВрдбрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рдЯреАрд╕реАрдкреА рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рддреНрд░реБрдЯрд┐ рдмрдирд╛рдо рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИред

рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ:
- рд╕рд░реНрд╡рд░ рдХреЛ рдЙрддреНрддрд░рджрд╛рдпреА рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд▓реЛрдб рдХреЗ рддрд╣рдд рдЬреЛ рдорд╛рдирдХ рднрд╛рд░ (рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 1200 рдЕрдиреБрд░реЛрдз) рд╕реЗ рдЫрд╣ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИ, рдпрд╣ 40 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдПрдХ рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд░реЗрдХ рджреЗрддрд╛ рд╣реИред
- рд╡рд┐рдлрд▓рддрд╛рдПрдВ рднрдпрд╛рдирдХ рд▓рдЧрддреА рд╣реИрдВред 80% рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХреЗ рдердХрд╛рдК рдЗрдВрддрдЬрд╛рд░ рдХреЗ рдмрд╛рдж рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИред
рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рдордирд╛ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛
рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЖрд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд▓реЛрдб рдЕрдиреБрдореЗрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдФрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рддреБрд░рдВрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВред рдпрд╣рд╛рдВ рдЙрдирдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ:

рдЧреНрд░рд╛рдл рдХреЛрдб 503 (
рд╕реЗрд╡рд╛ рдЕрдиреБрдкрд▓рдмреНрдз ) рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ - рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддреЗ рднрд╛рд░ рдХреЗ рд╕рд╛рде рдмрдврд╝рддрд╛ рд╣реИред рдЗрд╕ рдЧреНрд░рд╛рдл рдХреЛ рджреЗрдЦрдХрд░ рдХреНрдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
- рдлреЙрд░рд╡рд░реНрдб рдПрд░рд░ рдореИрд╕реЗрдЬ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдорд╛рдирдХ рд▓реЛрдб рд╕реЗ рджрд╕ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд▓реЛрдб рдХреЗ рддрд╣рдд, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рдлреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
- рдПрдХ рд╕рдлрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдЬрд▓реНрджреА рд╕реЗ рд╣реЛрддреА рд╣реИред рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ 10 рд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рд╣реЛрддрд╛ рд╣реИред
- рдЕрд╕рдлрд▓рддрд╛ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рд╣реЛрддреА рд╣реИред рднреАрдбрд╝ рдХреЗ рджреМрд░рд╛рди рдЕрдЧреНрд░рд┐рдо рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо 503 рдорд┐рдирдЯ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЕрдЬреАрдм рд╕рдордп-рдмрд╛рд╣рд░ рдЧрд┐рд░рдиреЗ рдХреА рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВред
рд╕рд░реНрд╡рд░ рдХреЛ 503 рд╡реАрдВ рддреНрд░реБрдЯрд┐ рдХреА рд╕рд╣реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрддреНрддрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдиреЛрдб-рдЯреБрдмреЙрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдиреЛрдб-рдереЛрдмрд╕реА рдореЙрдбреНрдпреВрд▓
рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдФрд░ рдЬреАрдердм рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж (
npm install toobusy
), рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЖрд╡реЗрджрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ:
var toobusy = require('toobusy');
рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореЙрдбреНрдпреВрд▓ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдм рдУрд╡рд░рд▓реЛрдбреЗрдб рд╣реИред рдЖрдк рдЖрд╡реЗрджрди рдореЗрдВ рдХрд╣реАрдВ рднреА рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╢реБрд░реБрдЖрддреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд░реВрдк рдореЗрдВ, рдиреЛрдб-рдЯреЛрдмреБрд╕реА рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХреЗ рддрд╣рдд рдЖрд╡реЗрджрди рдХреА рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХрд░рддрд╛ рд╣реИред рдпрд╣
рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдореВрд▓реНрдп рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдЖрдк рдХреИрд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдиреЛрдб рдЖрд╡реЗрджрди рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рд╣реИ?
рдпрд╣ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐рд╕реА рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдиреЛрдб-рдЯреЛрдмреА рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдЙрдкрдпреЛрдЧ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВред рд╣рдо
top
рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдП рдЧрдП рдЖрдВрдХрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрд╕ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд╡реЗрджрди рдкрд░ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ 90% рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡реЗрджрди рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдорд╢реАрди рдкрд░ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдм рдпрдХреАрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдпрд╣ рдПрдХ рдиреЛрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ 100% рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрднреА рднреА рдЗрди 90% рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЭреВрда рдмреЛрд▓ рд╕рдХрддрд╛ рд╣реИред
рдХреБрд▓ рд╕рд┐рд╕реНрдЯрдо рд▓реЛрдб рдЯреНрд░реИрдХрд┐рдВрдЧред рд╣рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рд┐рд╕реНрдЯрдо рд▓реЛрдб рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдЖрджрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмрд╣реБрдд рдЬрд▓реНрджреА, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрднреА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛!
рд╣рдореЗрдВ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░реЗред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рд╕реНрд╡реАрдХрд╛рд░реНрдп рджрд░ рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИред рдпрд╣ рдорд╛рдирджрдВрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдиреЛрдб-рдЯреЛрдмреИрд╕реА рдореЗрдВ, рдореБрдЦреНрдп рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХреА рд╡рд┐рд▓рдВрдмрддрд╛ рдорд╛рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд▓реВрдк рдХрд┐рд╕реА рднреА Node.js. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рджрд┐рд▓ рдореЗрдВ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдп рдкрдВрдХреНрддрд┐рдмрджреНрдз рд╣реИрдВ, рдФрд░ рдореБрдЦреНрдп рдЪрдХреНрд░ рдореЗрдВ, рдЗрд╕ рдХрддрд╛рд░ рд╕реЗ рдХрд╛рд░реНрдп рдХреНрд░рдордмрджреНрдз рд░реВрдк рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдХрддрд╛рд░ рдмрдврд╝рдиреЗ рд▓рдЧрддреА рд╣реИ - рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рднреАрдбрд╝ рдХреА рдбрд┐рдЧреНрд░реА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреВрд░реА рдХрддрд╛рд░ рдХреА рд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХрд╛рдо рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдиреЛрдб-рдЯреЛрдмреИрд╕реА рдПрдХ рдХреЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ 500 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдкрд╛ рдореВрд▓реНрдп рд╕реЗ 500 рдПрдордПрд╕ рдХреЛ рдШрдЯрд╛рдХрд░, рдЖрдк рдЙрд╕ рд╕рдордп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдореЗрдВ рдерд╛, рдЕрд░реНрдерд╛рдд рд╡рд╛рдВрдЫрд┐рдд рджреЗрд░реАред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдиреЛрдб-рдЯреЛрдмреИрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдзрд┐рднрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХреА рджреЗрд░реА рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдорд╛рдкрддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдХрд┐рд╕реА рднреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рднреА рд▓реЗрдЦ: