
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдЬреЛ рд▓реЛрдЧ Node.js, рд╕реАрдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
- рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ Node.js рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
- рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ;
- рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ;
- рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрдпрд╛ рд╣реБрдЖ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд░реЗрдВред
рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдпрдж рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВрдЧреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХреЛ рдПрдирдЖрд░рдИрдПрд╕ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред
Node.js рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдирд╛-рд╕рдВрдЪрд╛рд▓рд┐рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рднреА рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИ - рдРрд╕реЗ рдХреЛрдИ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рд╕рдм рдХреБрдЫ рдЙрди рдШрдЯрдирд╛рдУрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рд╕рдордп рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдХрднреА-рдХрднреА рджрд╕рд┐рдпреЛрдВ рдмрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдкреБрд░рд╛рдиреЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рднред рд╕рдВрд╕реНрдХрд░рдг 0.6.0 рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬрд┐рд╕реЗ рдирд╡рдВрдмрд░ 2011 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП Node.js рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХрд╛рдо рдХрд╛ рдорд╛рд╣реМрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ
рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, "рд╡рд┐рдХрд▓реНрдк" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ" рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╣реЗрд▓рд┐рдХреЙрди рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдлрд╝реАрдб рдХрд╛ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ:
http://www.helicontech.com/zoo/feed/
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдореЗрдВ рдЬрд╝реВ рдЯреИрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

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

рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рд╣реЗрд▓рд┐рдХреЙрди рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдЧреИрд▓рд░реА рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ IIS рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб (рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рд╣реИ) рдХреА рд╕реНрдерд╛рдкрдирд╛, рд╣реЗрд▓рд┐рдХреЙрди рдЬрд╝реВ рдореЙрдбреНрдпреВрд▓, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рднреА рдиреЛрдбред Exe рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдиреЛрдб рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ (рдПрдирдкреАрдПрдо) рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдирдкреАрдПрдо рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдЕрд╕реНрдерд┐рд░ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдкрдХреНрд╖ рд╣реИ-
ryppi.py рдЙрдкрдпреЛрдЧрд┐рддрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ npmред ryppi.py, Python рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Node.js рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рднреА рдЕрдЬрдЧрд░ рдЖрдХрд░реНрд╖рд┐рдд рд╣реЛрдЧрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЕрдЧрд░ npm рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде ryppi.py рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗ, рдЬреЛ рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 80MB рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдмрдЪрд╛рдПрдЧрд╛ред
WebMatrix рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рддреЛ, рд╣рдордиреЗ Node.js рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдЕрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡реЗрдмрдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрдкрдХреЛ рдЦрд╛рд▓реА рдЦрд╛рд▓реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ -> рд╕рдВрдХреБрд▓ -> рд╡реЗрдмрдореИрдЯреНрд░рд┐рдХреНрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪреБрдиреЗрдВ ред

рдпрджрд┐ WebMatrix рдЖрдкрдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ - рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, WebMatrix рдЪрд▓рд╛рдПрдВ рдФрд░ рдореБрдЦреНрдп рдПрдХ рдкрд░
рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рд╕рд╛рдЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, Node.js рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП WebMatrix рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
Node.js рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ URL рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ "рд░рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ "рд╣реЗрд▓реЛ, рд╡рд░реНрд▓реНрдб!" рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдирдИ рдмрдирд╛рдИ рдЧрдИ рд╕рд╛рдЗрдЯ рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЖрд╕рд╛рди рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП
рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рд╡рд╣ рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╕рд╛рдЗрдЯ рдХреЗ рддрд╣рдд рдиреЛрдб_рдореЙрдбрд▓реНрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЬреЛ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦреА рдЧрдИ рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЛ рд╕реАрдзреЗ IIS рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрд┐рдирд╛ Node.js. рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдЧрд▓рддреА рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдХреНрд▓рд╛рдЗрдВрдЯ * .js рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
Web.config рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП URL рдкреБрдирд░реНрд▓реЗрдЦрди рдирд┐рдпрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдРрд╕реА рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдХреБрдЫ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд░реВрдЯ рдореЗрдВ рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдорд┐рд╢реНрд░рдг рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдЗрд╕ рдЕрд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХреЗ рдЕрдзреАрди рдирд╣реАрдВ рд╣реИ, рддреЛ Microsoft URL рдХреЗ рдирд┐рдпрдо рдХреЛ web.config рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рд╕реНрдерд┐рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
Web.config рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ Node.js рдФрд░ Helicon Zoo рдореЙрдбреНрдпреВрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╣рдо рдкрд╣рд▓рд╛ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ
Node.js рдХреА рдкреНрд░рд╕рдиреНрдирддрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕рдВрдкрд╛рджрдХ рдХреА рдкрд╕рдВрдж рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдХреНрдд рд╡реЗрдмрдореИрдЯреНрд░рд┐рдХреНрд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ рдЪреИрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рддреЛ Node.js рдкрд░ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди
http://chat.nodejs.org/ рдкрд░ рдЪреИрдЯ рд╣реИ, рдЗрд╕рдХреЗ
рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рд╣рдордиреЗ рдЪреИрдЯ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХрд╛ рднреА рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдмреНрд░ рдкреГрд╖реНрда рдкрд░ рдлрд┐рдЯ рд╣реЛрдВред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рд╕рддреНрд░ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдпрд╛ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдорддрджрд╛рди рдХреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрджреЗрд╢ рд╣реИред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ Node.js рд╕рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ server.js рдФрд░ index.html рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдБ server.js рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИрдВ:
var express = require('express'); var callbacks = []; // function appendMessage(message){ var resp = {messages: [message]}; while (callbacks.length > 0) { callbacks.shift()(resp); } } // express var app = module.exports = express.createServer(); app.use(express.bodyParser()); // index.html app.get('/', function(req, res){ res.sendfile('index.html'); }); // app.post('/send', function(req, res){ var message = { nickname: req.param('nickname', 'Anonymous'), text: req.param('text', '') }; appendMessage(message); res.json({status: 'ok'}); }); // app.get('/recv', function(req, res){ callbacks.push(function(message){ res.json(message); }); }); // app.listen(process.env.PORT);
рдФрд░ index.html
<html> <head> <title>Node.js Zoo Chat</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> </script> </head> <body> <h1>Node.js Zoo Chat</h1> <form action="/send" method="post" id="send"> <label for="nickname">Nickname:</label> <input name="nickname" size="10" id="nickname" /> <label for="text">Message:</label> <input name="text" size="40" id="text" /> <input type="submit"> </form> <div id="messages"></div> </body> </html>
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЪрд▓рд╛рдПрдБ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:

рдЕрдм рдЖрдк рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЪреИрдЯ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ:

рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдХрд┐рд╕реА рднреА рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбреНрдпреВрд▓ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рд╡рд┐рдВрдбреЛрдЬ рдиреЛрдб рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ (рдиреЛрдб рдкреИрдХреЗрдЬ рдореИрдирдЬрд░) рдЕрд╕реНрдерд┐рд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рд╕рдорд░реНрдерди рдХреА рдШреЛрд╖рдгрд╛ рдкрд╣рд▓реЗ рд╣реА рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИ рдФрд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдЖрдк Python - ryppi.py рдореЗрдВ рд▓рд┐рдЦреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣реИ - ryppi.py рд╣рдореЗрд╢рд╛ рдореМрдЬреВрджрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрд╕ рд╕рд╛рдЗрдЯ рдХреЗ рдиреАрдЪреЗ рд░рдЦрдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ:
C:\>cd "C:\My Web Sites\Node.js Site" C:\My Web Sites\Node.js Site>ryppi.py install mongodb Installing http://registry.npmjs.org/mongodb/-/mongodb-0.9.7-0.tgz into .\node_modules\mongodb ... Checking dependencies for mongodb ... All done.
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рднреА рдореМрдЬреВрджрд╛ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рд╛рдирджрд╛рд░, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ,
рдиреЛрдб-рд╕рд┐рдВрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╣реИрдмрд░реЛрдЪрди
рдСрдХреНрдЯреЗрд╡ рджреНрд╡рд╛рд░рд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмреЛрдЭрд┐рд▓ рдХреЙрд▓рдмреИрдХ рдкреНрд░рддрд┐рдорд╛рди рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдиреЛрдб рдХреА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣
рдиреЛрдб-рдлрд╛рдЗрдмрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдлрд╛рдЗрдмрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕реАрдзреЗ Node.js. рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдФрд░ рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдлреА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
CoffeScript
рдпрджрд┐ рдЖрдк Node.js рдкрд░ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдЖрдПрдВрдЧреЗ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдиреБрдХреВрд▓ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИред рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХрд╛ рдПрдХ рдЭреБрдВрдб, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд░реНрдорд╛рдг - рдпрд╣ рд╕рдм рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдкрд░ рдЖрдЧреЗ рдХрд╛рдо рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдк рдпрд╣ рдореБрдарднреЗрдбрд╝ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд▓ рд╣реИред рддреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдпрд╛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡реНрдпреБрддреНрдкрдиреНрди рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рд╣реИ:
http://altjs.org/рдЖрдк рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рд╕рдордп рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред CoffeeScript рдХреЛрдб рд╕рд░рд▓ рдФрд░ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕рд╛рджреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ CoffeeScript рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ CoffeeScript рдЪреИрдЯ рд╕реЗ server.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
express = require("express") callbacks = []
CoffeeScript рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ:
http://jashkenas.github.com/cfish-script/рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
rippy.py coffe-script рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
Node.js рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛
Node.js рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рд╣реИ - рдиреЛрдб-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА node_modules рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдХрд┐ Node.js рд╕рд╛рдЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╣реИред рдиреЛрдб-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреЛрдбред рдбреАрдмрдЧ рдпрд╛ --debug-brk рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдХреЗ);
- рдиреЛрдб-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рднреА рд╣реИ;
- WebSocket рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпреЗ рджреЛрдиреЛрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ;
- рдбреАрдмрдЧ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рд▓рд╛ рдкреГрд╖реНрда рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреБрд▓рддрд╛ рд╣реИ;
- рд╡реЗрдмрдХрд┐рдЯ-рд╕рдВрдЧрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдиреЛрдб-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ Google рдХреНрд░реЛрдо рдпрд╛ рд╕рдлрд╛рд░реА рдореЗрдВ рд╡реЗрдм рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдиреЛрдб.рдЬреЗрдПрд╕ рд╕рд╛рдЗрдЯ рдХреА рд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдПрдХ start_debug.cmd рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреА рд╣реИ рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреГрд╖реНрда рдЦреЛрд▓рддреА рд╣реИред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдбреАрдмрдЧрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рд╕рд░реНрд╡рд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рдФрд░ рдЕрдм рд╣рдо рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдм Node.js. рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЖрд╕рд╛рди рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдХрдИ рдЪрд░рдгреЛрдВ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ рдХрд╛рдо рдХреЗ рдорд╛рд╣реМрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред рдЕрд░реНрдерд╛рддреН: Microsoft рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрд╕реНрдЯрд╛рд▓рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЙрд╕рдореЗрдВ Helicon рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдлрд╝реАрдб рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ Node.js рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣реА рд╣реИ - рд╕рд░реНрд╡рд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рд╕рд░реНрд╡рд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ 2008 рдФрд░ 2008 рдЖрд░ 2, 32 рдФрд░ 64 рдмрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рдЕрдм рдЖрдкрдХреЛ рдХреЗрд╡рд▓ IIS рдкреНрд░рдмрдВрдзрдХ рдпрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рд╡реЗрдм рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдПрдлрд╝рдЯреАрдкреА рдпрд╛ рд╡реЗрдмрдбрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЗрдЯ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВред WebDeploy рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдлрд╝реЛрд▓реНрдбрд░ рдЕрдзрд┐рдХрд╛рд░ рднреА рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЖрдк Git рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред
рд╣реЗрд▓рд┐рдХреЙрди рдЬрд╝реВ рдореЙрдбреНрдпреВрд▓ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддреЛ рдЗрд╕рдХреЗ рддрд╣рдд рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВ рдФрд░ рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд╛рд▓рд╛ рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЛрдб рдЫреЛрдЯрд╛ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ (рдкреНрд░реЛрд╕реЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░) рдмрдирд╛рддрд╛ рд╣реИ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд▓реЛрдб рдмрдврд╝рдиреЗ рдкрд░ рдЕрдзрд┐рдХрддрдо рдкреНрд░рджрд░реНрд╢рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рддрдХ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рд╣реЗрд▓рд┐рдХреЙрди рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдЗрдВрдЬрди рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рддреЛ рдЗрдВрдЬрдиреЛрдВ рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЪрд▓рд╛рдирд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ, рдХрд┐рд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдФрд░ рдХрд┐рд╕ рдкреЛрд░реНрдЯ рдкрд░, рдХрд┐рддрдиреЗ рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛ рдХрд┐ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ ApplicationHost.config рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдлрд┐рд░, рд╕рд╛рдЗрдЯ рдХреЗ рддрд╣рдд, рдЖрдк рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рдХрд╛рдо рдХреЛ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
Node.js рдкреНрд░рджрд░реНрд╢рди рдЯреЗрд╕реНрдЯ
рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдорд╢реАрди рдХреЛрд░ 2 рдХреНрд╡рд╛рдб 2.4 Ghz, 8 рдЬреАрдмреА рд░реИрдо, рдПрдХ рдЧреАрдЧрд╛рдмрд┐рдЯ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИред рд▓реЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдЕрдкрд╛рдЪреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ "ab.exe -n 100000 -c 100-рдПрдЪ" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Apache рдФрд░ Nginx рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, Ubuntu 11.04 Server x64 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Windows Server 2008 R2 рдкрд░ IIS 7 рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ред рдХреЛрдИ virtualoks - рдИрдорд╛рдирджрд╛рд░ рд▓реЛрд╣рд╛ред
рддреАрди рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдПред рдкрд╣рд▓реЗ рдореЗрдВ, Node.js рдХреЛ рдкреГрд╖реНрда рдкрд░ рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдерд╛ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░ рдХреИрд╢ рд╕реЗ рди рдЖрдПрдВред рджреВрд╕рд░рд╛ рдкрд░реАрдХреНрд╖рдг MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреАрд╕рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ (рд░реЗрдЦрд╛рдВрдХрди рдкрд░ рдореВрд▓реНрдп рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдз рд╣реИ):



рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА, рд╣реИ рдирд╛? рдЕрдм рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдорд╛рдкрдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╡рд░рдгред рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд╣рдирд╛ рд╢рд╛рдпрдж рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд╣реАрдВ рдорд╛рдк рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреА - рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рддрдирд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред
рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдм рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╢реБрджреНрдз рдУрд╡рд░рд╣реЗрдб рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдирдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдЗрд╕ рд╕рдореВрд╣ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рд╡рд┐рдВрдбреЛрдЬ рдкрд░ Nginx рдмрд╣реБрдд рдкреАрдЫреЗ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Nginx рдЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЕрдкрд╛рдЪреЗ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХрдиреЗрдХреНрд╢рди рдкреВрд▓рд┐рдВрдЧ рдФрд░ рдЕрд╕рд▓реА рдзрд╛рдЧреЗ рд╕реЗ рдкреНрд░рд╕рдиреНрдиред
рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рдЕрдиреБрдкрд╛рдд рдЕрдиреБрд░реЛрдз рдХреЗ "рд╡рдЬрди" рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗ рдЕрдм рдХрдИ рдЕрдиреНрдп рдХрд╛рд░рдХреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдбреЗрдЯрд╛рдмреЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдФрд░ рд╕реНрд╡рдпрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рдиред рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рднреА Windows + Zoo + MongoDB рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдмрд╕ рдорд╛рдирдЧреЛ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП 6793 s / s рдФрд░ рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП 2906 s / s рд╣реИрдВред рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЧрддрд┐ред
рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрдзрд╛рд░ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ Django рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордпред рддреЛ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдмреЗрд╢рдХ, Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣рд▓реНрдХреА рд╣реИрдВ, рд╣рдордиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ, ORM рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕реЛрдЪрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИред
рдкрд╛рдардХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рд╣рдо рд╡рд┐рд╕реНрддреГрдд рдЪрд╛рд░реНрдЯ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рдорд╛рдкрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдПрдХ рд╕рд░рд▓ рд╕рдордп рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЛ рд╕реНрд╡рдпрдВ рджреЗрдЦрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП js рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреЗ
рд╣реИрдВ ред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдмрд╛рдХреА рд╕рдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИред рдХреНрд╖реИрддрд┐рдЬ рдкреИрдорд╛рдиреЗ - рдЕрдиреБрд░реЛрдз, рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдКрд░реНрдзреНрд╡рд╛рдзрд░ - рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордпред
рд╡рд┐рдВрдбреЛрдЬ, IIS7 + рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░, "рдЯрд╛рдЗрдо рдЖрдЙрдЯрдкреБрдЯ":

рдЙрдмрдВрдЯреВ, рдЕрдкрд╛рдЪреЗ, "рдЯрд╛рдЗрдо рдЖрдЙрдЯрдкреБрдЯ":

рдЙрдмрдВрдЯреВ, рдирдЧреНрдиреЗрдХреНрд╕, "рдЯрд╛рдЗрдо рдЖрдЙрдЯрдкреБрдЯ":

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