
рдпрд╣ рдкрдж рдкреЗрдб-рдирд┐рдбрд░рд┐рдирд╣рд╛рдЙрд╕, рдлреБрд▓-рд╕реНрдЯреИрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЗ рдореВрд▓
рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИред рдЗрд╕рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдкреИрдЧреА рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рднреА рдЕрдзреНрдпрдпрди рдХрд░рддреА рд╣реИред рдФрд░ рд╡рд╣ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдЕрдкрдиреЗ рдкрд╛рдардХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╡реИрд╕реЗ, рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рдРрд╕реЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реА рджрд┐рд▓рдЪрд╕реНрдкреА рдереА - рдЕрдореЗрд░рд┐рдХреА рд╕рдВрдШреАрдп рдЪреБрдирд╛рд╡ рдЖрдпреЛрдЧ рдХреА рдЕрд╕рдВрд░рдЪрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╡рд┐рд╢рд╛рд▓ рдорд╛рддреНрд░рд╛ рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдореИрдВрдиреЗ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЪреБрдиреМрддреА рд▓реЗрдиреЗ рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ Node.js. рдХреЛ рдЪреБрдирд╛ред
рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ: рдлреНрд░рдВрдЯреЗрдВрдб рдбреЗрд╡рд▓рдкрд░ рдкреЗрд╢реЗ рдСрдирд▓рд╛рдЗрди рдХреЛрд░реНрд╕ред
рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ: "рд╣реИрдмрд░" рдХреЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП - "рд╣реИрдмрд░" рдкреНрд░реЛрдореЛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдХреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХрд░рддреЗ рд╕рдордп 10,000 рд░реВрдмрд▓ рдХреА рдЫреВрдЯред
рдХрд╛рд░реНрдп рдХреЛ рдЪрд╛рд░ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
- рд╣рд░ рдЖрдард╡реЗрдВ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 432 рд╡реЗрдВ рдФрд░ 43,243 рд╡реЗрдВ рдирд╛рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдВрдЪрд╡реЗрдВ рд╕реНрддрдВрдн рдореЗрдВ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд╛рди рдХреА рддрд┐рдерд┐ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЧрд┐рдиреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдорд╣реАрдиреЗ рдХреБрд▓ рдХрд┐рддрдиреЗ рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдХреБрд▓ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред
- рд╣рд░ рдЖрдард╡реЗрдВ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдирд╛рдо рдХреЗ рдмрд┐рдирд╛, рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдВред рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдирд╛рдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рддрдиреА рдмрд╛рд░?
(рдореВрд▓ рдХрд╛рд░реНрдп
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред)
рдЬрд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ 2.55 рдЬреАрдмреА рдХрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд .Txt рд╣реИред рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рднреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рд╣реЛрддреЗ рд╣реИрдВ (рдЖрдк рдкреВрд░реЗ рд╡рд┐рд╢рд╛рд▓ рд╕рд░рдгреА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдмрд┐рдирд╛ рдЙрди рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
Node.js рдкрд░ рджреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЛ рдбрд░рд╛рддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ Node.js. рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИрдВред
рдкрд░рд┐рдЪрд┐рдд рдПрдХ fs.readFile () рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдкреВрд░реА рдлрд╛рдЗрд▓ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ fs.createReadStream (), рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдпрд╛ рдЬрд╛рд╡рд╛ рдореЗрдВред
рдореИрдВрдиреЗ рдЬреЛ рд╣рд▓ рдЪреБрдирд╛
рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдирд╛рдореЛрдВ рдФрд░ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд░реЛрдХ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдВ рдореИрдВ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП rl.on ('рд▓рд╛рдЗрди', ...) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
Node.js CreateReadStream () рдФрд░ ReadFile () рдХреЛрдб
рдиреАрдЪреЗ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ Node.js рдФрд░ fs.createReadStream () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рд╣реИред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореБрдЭреЗ рд╕рдм рдХреБрдЫ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдереА, рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Node.js рдлрд╝рдВрдХреНрд╢рди рдЬреИрд╕реЗ fs (рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо), рд░реАрдбрд▓рд╛рдЗрди рдФрд░ рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ readLine.createInterface () рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреНрд░реАрдо рдФрд░ рдЖрдЙрдЯрд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рдиреЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд▓реЗрдХрд░, рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓ рд▓рд╛рдЗрди рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЪрд░ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реАрдВред рдпреЗ рдкрдВрдХреНрддрд┐рдмрджреНрдз, рджреНрд╡реИрдз рдирд╛рдо рдФрд░ рдирд╛рдо, рджрд╛рди рдФрд░ рдкреНрд░рдердо рдирд╛рдо рдХреЗ рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реИрдВред
Rl.on ('рд▓рд╛рдЗрди', ...) рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд▓рд╛рдЗрди рдХреЛ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдирдХрд╛рдЙрдВрдЯ рдЪрд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдирд╛рдореЛрдВ рдХреА рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдирд╛рдореЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рднрд╛рдЬрди () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЕрдЧрд▓рд╛, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдирд╛рдореЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛, рдмрд┐рдирд╛ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реБрдП, рдЬреИрд╕реЗ рджреЛрд╣рд░реЗ рдирд╛рдореЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдирд╛рдо рдХреЗ рдмреАрдЪ рдореЗрдВ рдЖрджреНрдпрд╛рдХреНрд╖рд░, рдЖрджрд┐ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╡рд░реНрд╖ рдФрд░ рддрд┐рдерд┐ рдХреЛ рдбреЗрдЯрд╛ рдХреЙрд▓рдо рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛, рдпрд╣ рд╕рдм YYYY-MM рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдФрд░ dateDonationCount рдХреЛ рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред
Rl.on ('рдХрд░реАрдм', ...) рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рдореИрдВрдиреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ред
432 рдФрд░ 43,243 рд╡реЗрдВ рдирд╛рдореЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдирдХрд╛рдЙрдВрдЯ рдФрд░ рдирд╛рдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд░рдгреА рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рдирд╛рдо рдХреА рдкрд╣рдЪрд╛рди рдФрд░ рджрд╛рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп рд╣реИрдВред
рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рдирд╛рдо (рдХреБрдВрдЬреА) рдФрд░ Object.entries () рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдерд╛ред (рдорд╛рди) рдФрд░ рдлрд┐рд░ ES6 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдирд╛рдореЛрдВ рдХреЛ рдЫрд╛рдВрдЯрдиреЗ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЕрдм рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред
рджрд╛рди рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЙрд╕реА рдЪрд╛рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рдпрд╛: рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдПрд╕ 6 рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╡реИрд▓реНрдпреВ рдкреЗрдпрд░ рдФрд░ рд▓реЙрдЧрдбреЗрдЯ рдПрд▓реАрдореЗрдВрдЯреНрд╕ () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЕрдиреБрдорддрд┐ рджреАред рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдирдХреНрд╢рд╛ () рдмрдирд╛рдпрд╛, рдбреЗрдЯрд╛рдореЛрдиреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдореЗрдЯрд╛рдПрдорд░реНрд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рд▓реЙрдЧрдбреИрдЯреЗрд▓рд╛рдЗрдЬрд╝ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░рдгреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд┐рдпрд╛ред (рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ рдЬрд┐рддрдирд╛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рдЧрддрд╛ рдерд╛ред)
рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рдореИрдВ 400 рдПрдордмреА рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ fs.createReadStream () рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдореИрдВрдиреЗ рдЕрдВрддрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП fs.readFile () рдкрд░ рдХрд╛рд░реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ:

рдЖрдк
рдпрд╣рд╛рдБ рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
Node.js рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо
рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ readFileStream.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрде рдЬреЛрдбрд╝рд╛ рдФрд░ ... рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдвреЗрд░ рдХреЗ рд╕рд╛рде рдиреЛрдб рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рдХреЛ рджреЗрдЦрд╛ред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреА рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рдХрд┐ 2.55 рдЬреАрдмреА рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрднрд╡ рдерд╛ред рдиреЛрдб рдореЗрдореЛрд░реА рдореЗрдВ 1.5 рдЬреАрдмреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдм рдФрд░ рдирд╣реАрдВред
рдЗрд╕рд▓рд┐рдП, рдореЗрд░рд╛ рдХреЛрдИ рднреА рдлреИрд╕рд▓рд╛ рдирд╣реАрдВ рдЖрдпрд╛ред рдЗрд╕рдиреЗ рдПрдХ рдирдИ рд╢реБрд░реБрдЖрдд рдХреА рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред
рдирдпрд╛ рд╕рдорд╛рдзрд╛рди
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд▓реЛрдХрдкреНрд░рд┐рдп NPM рдореЙрдбреНрдпреВрд▓ EventStream рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХрд╛ рддреАрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ txt рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ \ n рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореВрд▓ рд░реВрдк рд╕реЗ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ рдореБрдЭреЗ рдмрджрд▓рдирд╛ рдерд╛, рд╡рд╣ рдирд╛рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереАред рдореИрдВ 130 рдорд┐рд▓рд┐рдпрди рдирд╛рдореЛрдВ рдХреЛ рд╕рд░рдгреА рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрд╛ - рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрдореА рддреНрд░реБрдЯрд┐ рдлрд┐рд░ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреАред рдореИрдВрдиреЗ 432 рд╡реЗрдВ рдФрд░ 43,243 рд╡реЗрдВ рдирд╛рдореЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреАред рдереЛрдбрд╝рд╛ рдирд╣реАрдВ рдЬреЛ рд╢рд░реНрддреЛрдВ рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕рдиреЗ рдХрд╣рд╛ рдХрд┐ рдЖрдк рд░рдЪрдирд╛рддреНрдордХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ?
рджреМрд░ 2. рд╣рдо рдХрд╛рдо рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ
рд╣рд╛рдВ, 2.55 рдЬреАрдмреА рдХреА рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реА рд╕рднреА рд╕рдорд╛рди рдлрд╝рд╛рдЗрд▓, рд╣рдо рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред

рд╕рдлрд▓рддрд╛!
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдмрд╕ Node.js рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдХреБрдЫ рд╣рдж рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдРрд╕реА рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: