"рдХреЗрд╡рд▓ рд╣рдардзрд░реНрдорд┐рддрд╛ рд╕реЗ рд╡рд┐рдЬреНрдЮрд╛рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред"
// рдЧреИрд▓реАрд▓рд┐рдпреЛ рдЧреИрд▓реАрд▓реАтАЬрдореИрдВ рджрд╛рд╕реЛрдВ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдХрд░рдиреЗ рд▓рдЧрд╛ред рд╡реЗ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдордЬрдмреВрдд рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред тАЭ
// рдорд╛рд░реНрдХ рдЬрд╝рдЦрд╛рд░реЛрд╡ рдХреА рдлрд┐рд▓реНрдо "рдХрд┐рд▓ рдж рдбреНрд░реИрдЧрди" рдЬреЛ рдпреВрдЬреАрди рд╢реНрд╡рд╛рд░реНрдЯреНрдЬ рдХреЗ рдирд╛рдЯрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдХреБрдЫ рд╕рд╛рд▓ рдФрд░ рдПрдХ рджрд┐рди рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рддрд╛рдХрд┐ рдореИрдВ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рд╕реБрдирд╛ (рдпрд╛ рдкрдврд╝рд╛) рди рдЬрд╛рдКрдВ, рдПрдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЬреИрд╕реЗ
"REST API рдФрд░ MVC рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЗрдВрдЬрди рд▓реЗрдВ, рдФрд░ рднреЗрдЬреЗрдВ ред
" рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрди рд╢рдмреНрджреЛрдВ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдХрд┐рддрд╛рдмреЛрдВ рдХреЛ рд╕рднреА рд╕реНрдЯреЛрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЧрдпрд╛ рдпрд╛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╕рд░реНрдЪ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд▓реЗрдЦ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдирд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ REST рдФрд░ MVC рджреНрд╡рд╛рд░рд╛ рдХреНрдпрд╛ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдорди рд╕реЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЦреИрд░, рдПрдорд╡реАрд╕реА рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдореИрдВрдиреЗ
рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ
рд▓рд┐рдЦрд╛ рдерд╛ , рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ Google рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ
"mvc" рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ
рдФрд░ рд╣рдо рдХрд┐рд╕реА рднреА рджрд┐рд╢рд╛ рдореЗрдВ
рдПрдХ рдбрд░рд╛рд╡рдирд╛ рддреАрд░
рджреЗрдЦреЗрдВрдЧреЗ ред рдареАрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ REST рдХреЗ рд▓рд┐рдП, рд╡реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВ: рдареАрдХ рд╣реИ, рд╣рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ GUI рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕рд░реНрд╡рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
setUserCity (userId, cityId) рдпрд╛
рдЧрдгрдирд╛рдореИрдЯреНрд░рд┐рдХреНрд╕ (рдбреЗрдЯрд╛) рдпрд╛
startideoConverter (рд╡рд┐рдХрд▓реНрдк, рд╕реНрд░реЛрдд, рдЧрдВрддрд╡реНрдп) рдФрд░ рдлрд┐рд░ рд╣рдо рдореБрдарднреЗрдбрд╝ рдХрд░реЗрдВрдЧреЗ рднрд╛рд░реА рднрд╛рд░ рдФрд░ REST рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕рдм рдХреБрдЫ рд╣рд▓ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ рдЬрд┐рдирд╕реЗ рдЖрдВрдЦреЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЧреЛрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдЬреЛ рдЕрднреА рднреА рдзрд░реНрдореА рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдЬрд▓ рд░рд╣реЗ рдереЗ, рд▓рдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рдереЗ рдФрд░ рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЕрдм рд╣рдо
рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╡рд┐рдирд╛рд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЙрдкрд░рд┐рдХреЗрдВрджреНрд░ рдкрд░ рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рд╣реИрдВред
MVC рдкреНрд░рд╢реНрди
рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓: рдореБрдЭреЗ "MVC рдХреНрдпрд╛ рд╣реИ?" рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛:

рдПрдорд╡реАрдкреА рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдордЭ рдФрд░ рдпреЛрдЬрдирд╛рдПрдВ рднреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ, рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╣ рднреА рди рдХрд░реЗрдВред
рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╣ рдкреИрдЯрд░реНрди рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдореИрдВ рдпрд╣рд╛рдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрддрд░реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд▓реЗрдХрд┐рди рд╕рд╣реА рдПрдХ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реИ: рдПрдорд╡реАрд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛ, рдЕрд░реНрдерд╛рддреНред рдХреЛрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрд╕ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рддреАрд╕рд░рд╛ рд╕рд╡рд╛рд▓: рдЖрдкрдиреЗ MVC рдХреЛ REST рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛?
рдореИрдВ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВрдВрдЧрд╛:
- рдЦреИрд░, рд╣рдордиреЗ RVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MVC рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ
- рдЦреИрд░, рд╣рдордиреЗ MVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ REST рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ
рдореИрдВ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ
рдкрд╛рд░рд┐рднрд╛рд╖рд┐рдХ рддрдмрд╛рд╣реА рд╕реЗ рдирд┐рдкрдЯ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред
REST рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрди
рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓: рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдбрд┐рдпрд░реНрд╕, рдпреЗ рд╕реЗрдЯрдЕрд╕реНрдкреЗрд░рд┐рдЯреА, рдХреИрд▓рдХреБрд▓реЗрдЯрдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрд╡реАрдбрд┐рдпреЛрдСрдиреНрд╕рд░ рдХреЛ REST рдкрд░ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдореЗрд░рд╛ рдЙрддреНрддрд░: REST рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдЕрдкрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ URL рд╣реИ, рдФрд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдХреЗрд╡рд▓ HTTP рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: GET, PUT, POST, DELETEред рдЗрд╕рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдХреГрдкрдпрд╛ рдЗрди рд╕рднреА setUserCity рдХреЛ HTTP POST / user / id рд╕реЗ рдмрджрд▓ рджреЗрдВ рдФрд░ рдкреВрд░реЗ рдХреНрд░рдордмрджреНрдз рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╣рд╛рдВ рднреЗрдЬреЗрдВред рдпрд╛ рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ URL рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд╛рд╣рд┐рд░ рд╣реИ, HTTP рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ CRUD рдореЗрдердб (рдХреНрд░рд┐рдПрдЯ, рд░реАрдб, рдЕрдкрдбреЗрдЯ, рдбрд┐рд▓реАрдЯ) рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ рдФрд░ рдлрд╝реЙрд░реНрдо рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдФрд░ рд╡рд┐рд▓реЛрдкрди рдФрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЖрдзреБрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдРрд╕реА рдЖрджрд┐рдо рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдЖрд░рдИрдПрд╕рдЯреА рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ -
рдЖрд░рдкреАрд╕реА (рджреВрд░рд╕реНрде рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ), рдЬрдм рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддрд░реАрдХреЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╕реАрдЖрд░рдпреВрдбреА, рдФрд░ рдЬрдм рдПрдХ URL рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрддреНрддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕реЗ рдХрд┐рд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдпрд╣ REST рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Habr
http://habrahabr.ru/tracker/ рдкрд░ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП
рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╣рд░ рдЬрдЧрд╣ Google, Facebook, Github, рдЖрджрд┐ рдкрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рднреНрд░рд╛рдордХ REST рд╢рдмреНрдж рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, API рдХрд░реЗрдВ рдФрд░ рдпрд╣ рд╣реИред
рджреВрд╕рд░рд╛ рд╕рд╡рд╛рд▓: рдареАрдХ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ?
рдпрд╣рд╛рдБ рд░рд╛рдп рдХреА рд╕реАрдорд╛ MVC рдХреЗ рд▓рд┐рдП рдЙрддрдиреА рдЪреМрдбрд╝реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди
рдкрд╛рд░рд┐рднрд╛рд╖рд┐рдХ рддрдмрд╛рд╣реА рдпрд╣ рд╣реИ: рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, REST рдХреЛ REST рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рд╡реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ REST рдкрд░ рд╣рдардзрд░реНрдореА рд╕рд╛рд╣рд┐рддреНрдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ, REST рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд░реВрдкрд░реЗрдЦрд╛рдПрдБ рджреЗрдЦреЗрдВред рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, RPC рдФрд░ REST рдХрд╛ рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдирд┐рдХрд▓рддрд╛ рд╣реИред рдФрд░ рд╕рдмрд╕реЗ рдмреБрд░рд╛, рдпрд╣ рд╕рдм
рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рд╣реЛрддрд╛
рд╣реИ ред
рддреАрд╕рд░рд╛ рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ REST рдЖрдкрдХреЛ рднрд╛рд░реА рднрд╛рд░ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛рдПрдЧрд╛?
рдореЗрд░рд╛ рдЬрд╡рд╛рдм: рдпрд╣
рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд╛рдЬреНрдп рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдо рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
STATEless рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ
рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп,
рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╣реИрдВ, рддреЛ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реМ рд╕рд░реНрд╡рд░ рдкрд░ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рд╕реАрдЬреАрдЖрдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдореЗрдВ рдЕрдкрдиреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рддреИрдирд╛рдд рдХрд░реЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдВ, рдлрд╛рдЗрд▓реЗрдВ рдкрдврд╝реЗрдВ рдпрд╛ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВред рдлрд┐рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧреА рдФрд░ рдпрд╣ рд╕рд╛рд░реА рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧреАред рдЗрд╕ рддрд░рд╣ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рджреЗрд░реА рдХрд░рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП FastGI рд╣реИ, рдЬреЛ рдХрдИ рд╣рдореЗрд╢рд╛ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреА рд░рдЪрдирд╛, рд╕реНрдореГрддрд┐ рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдЖрд╡рдВрдЯрди, рдЗрд╕рдХреА рдореБрдХреНрдд рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдорд╛рдкреНрддрд┐ рдкрд░ рд╕рдордп рдмрдЪрд╛рддрд╛ рд╣реИред FastCGI рднреА рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдЕрдиреНрдп рд╡рд┐рд╡рд░рдгрдХреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ HTTP рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЕрднреА рднреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИрдВ, рд╡реЗ рдорд░ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рд╕рд╛рде рд╣реА, рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд▓рд╛ HTTP рдЕрдиреБрд░реЛрдз рдХрд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрд░реЛрдз рд╡рд┐рднрд┐рдиреНрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди
рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рддреНрд░реЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдмрд╣реБрдд рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рд╕реНрдореГрддрд┐ рдореЗрдВ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЦреБрд╢реА рдКрдкрд░реА Paleolithic рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛
рдЙрд╕ рд╕рдордп рдЬрдм рдореЗрд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рд╢реНрд╡рджреГрд╖реНрдЯрд┐ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рдереА (1997-2002), рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдПрдХ
рддреНрд░рд┐рд╕реНрддрд░реАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ (рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рдЗрдВрдЯ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░, рдбреАрдмреАрдПрдордПрд╕) рдереАред рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рдЖрд░рдкреАрд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреАред рд╕рдм рдХреБрдЫ STATEful рдерд╛, рд▓реЗрдХрд┐рди рддрдм рдРрд╕реЗ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдереЗ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдИ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреАред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХрдИ рд╕рд╛рд▓реЛрдВ рд╕реЗ, 2002 рд╕реЗ 2012 рддрдХ, рдореИрдВрдиреЗ REST рдФрд░ STATEless рдХреЛ рдзреАрд░рдЬ рджрд┐рдпрд╛, рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд STATEful рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ RPC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ рджрд┐рд▓ рдореЗрдВ рд╕рдкрдирд╛ рджреЗрдЦрддреЗ рд╣реБрдПред рдЕрдм, рдЬрдм рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдИрд╡реЗрдВрдЯ-рд▓реВрдк рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ Node.js, рдкрд╛рдпрдерди рдХреА рдЯреНрд╡рд┐рд╕реНрдЯреЗрдб рдФрд░ рд░реВрдмреА рдЗрд╡реЗрдВрдЯ рдорд╢реАрди, рдореИрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреБрд╢ рд╡реНрдпрдХреНрддрд┐ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдм рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИ рдФрд░ рдЬрд╣рд╛рдВ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЬреИрд╕реЗ
" рд╣рдо REST API рдФрд░ MVC рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдЗрдВрдЬрди рд▓реЗрдВрдЧреЗ, рдФрд░ рдЗрд╕реЗ рдбреНрд░рд╛рдЗрд╡ рдХрд░рддреЗ рд╣реИрдВ ред
"рдЪреВрдВрдХрд┐ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдлрд┐рд░ рд╕реЗ рд░рд╣рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдИрдВ, рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди, рдХреИрд╢, рдЯрд╛рдЗрдорд░ рд░рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдореЙрдбрд▓ рдХреЛ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рдорд╣реАрдиреЗ рддрдХ рд╡рд╣рд╛рдВ рдмреИрдареЗрдЧрд╛ред ред рдФрд░ рдЗрд╕ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рд┐рд╕реНрд╕рд╛ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдм рдереЛрдбрд╝рд╛ рдЕрдВрдХрдЧрдгрд┐рдд, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рд╛рдЬреНрдп 32 рдХреЗрдмреА рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 16 рдЬреАрдмреА рдореЗрдореЛрд░реА рд╣реИ, рдпрд╣ 524288 (рдЖрдзреЗ рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдмрдЪреА рд╣реИ рдХрд┐ рдПрдХ рд╕рддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреИрд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рдПред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рддреНрд░ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП
"рдЫрдбрд╝реА" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдмреИрд▓реЗрдВрд╕рд░ рд╣реИрдВ рдЬреЛ
рдЖрдИрдкреА тАЛтАЛрд╕реНрдЯрд┐рдХрд┐рдВрдЧ (рдЖрдИрдкреА-рд╕реНрдЯрд┐рдХреА) рдФрд░ рдХреБрдХреА (рдХреБрдХреА-рд╕реНрдЯрд┐рдХреА) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдкрдиреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдХреБрдХреА рдХреЗ рд╕рд╛рде рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рддреЛ рдЪрд┐рдкрдХреЗ рд╣реБрдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ
рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдВрддреБрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдоред
рдФрд░ рдПрдорд╡реАрд╕реА рдХреЗ рд╕рд╛рде рд╣рдо рдЕрднреА рддрдХ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ
MVC рдиреЗ рд╕рднреА рдХреЛ рдореЙрдбрд▓, рджреГрд╢реНрдп рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛рдпрд╛, рдФрд░ рдмрд┐рдирд╛ рд╕реЛрдЪреЗ рд╕рдордЭреЗ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣рд╛рдВ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдореЙрдбрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреБрдЫ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╡реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЦреБрдж рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╡рд┐рд░реЛрдзреА рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдкрд░рдд рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреБрдЫ рдХреЛ
рдкрд╛рд░рд┐рднрд╛рд╖рд┐рдХ рдЖрдкрджрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ
"рдореЙрдбрд▓" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣
рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдФрд░ / рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ ред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрди рддрд░реАрдХреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдлрд┐рдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, CRUD рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд╕реНрддреБ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╕реНрддреБ рд╕реНрд╡рдпрдВ рдмрдирд╛ рдпрд╛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреА рд╣реИред CRUD рдореЙрдбрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЗрдпрд░ API рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдФрд░ рдбреНрд░реЙрдЗрдВрдЧ рдХреЗ рддрд░реАрдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓реЗрдпрд░ API рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рдореЙрдбрд▓ рдХреЛ рдЗрд╕рдХреЗ рднрдВрдбрд╛рд░рдг, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ: SteppingMotor.setSpeed тАЛтАЛ(x) рдЬрдм рдореЙрдбрд▓ рдПрдХ рднреМрддрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИ рдпрд╛ рдПрдХ рднреМрддрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЗрдХреНрд╡реЗрд╢рди.рдХрд╛рд▓рдХреНрдпреВрд▓рд░ рд░реЙрдЯреНрд╕ () рдЬреИрд╕реЗ рдЧрдгрд┐рддреАрдп рдореЙрдбрд▓ред рдФрд░ рдПрдХ рддреАрд╕рд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╕реВрдЪрдирд╛ рдореЙрдбрд▓ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Patient.assignBed (bedId)ред
рд╢рдмреНрдж "рджреГрд╢реНрдп" рдФрд░ "рдирд┐рдпрдВрддреНрд░рдХ" рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдФрд░ рдЕрдЬреАрдм рдЕрд░реНрде рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, "рдЯреЗрдореНрдкрд▓реЗрдЯ", "рдирд┐рдпрдВрддреНрд░рдг" (рдпрд╛ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдпрдВрддреНрд░рдг") рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, "рд░реВрдЯрд░ рд░реВрдЯрд░ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рдЖрджрд┐ред"
рдКрдкрд░реА рдкреИрд▓рд┐рдпреЛрд▓рд┐рдерд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдпреБрдХреНрддрд┐рдпрд╛рдБ
рдШрдЯрдирд╛-рдЙрдиреНрдореБрдЦ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ Node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
1. RPC рдФрд░ STATEful рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ (рдмреНрд░рд╛рдЙрдЬрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреАрдЖрдИ) рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЧреНрд▓реВрдЗрдВрдЧ рд╕рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рдХрд░реЗрдВред
2. рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЪрдврд╝реЛ рдорддред STATEful рддреЗрдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЕрд╡рд╕рд░ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рднреА рдирд╣реАрдВ рдХрд┐ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ I / O рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдгред рдЕрдзрд┐рдХрд╛рдВрд╢ I / O рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдХреНрд╡реЗрд░реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдкрдврд╝рдирд╛ рдПрдХ рд╕рдХреНрд░рд┐рдп рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд▓реЗрдЦрди рдЖрд▓рд╕реА рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рддреИрдирд╛рдд рдХрд░реЗрдВ, рд╣реИрд╢, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдПрд░реЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рдФрд░ рдЦреБрд╢рд╣рд╛рд▓ рдЬреАрд╡рди рдЬреАрдПрдЧрд╛ред
3. рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ ZeroMQ (рдФрд░ рдЕрдиреНрдп MQs), рдЯреАрд╕реАрдкреА, рдПрдЪрдЯреАрдЯреАрдкреА, рдЖрдИрдкреАрд╕реА рдФрд░ рдХреБрдЫ рдФрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрддред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдбреЗрдЯрд╛, рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреЗрдЯрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╛ рддреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдХреИрд╢реНрдб рдЕрдЧрд░ рдпрд╣ рд╕рд╛рдЭрд╛ рдбреЗрдЯрд╛ рд╣реИ) рдпрд╛ "рдЪрд┐рдкрдЪрд┐рдкрд╛" рд╕рддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд╕ рд╕рдВрдЪрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд░реАрдерд┐рдВрдХ рдбрд┐рдЬрд╝рд╛рдЗрди
рдкреИрдЯрд░реНрди рд╣рд░ рдмрд╛рд░ред рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг рджреВрд╕рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдлреИрд╕рд▓реЗ рди рд▓реЗрдВ, рд╡реЗ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдмреБрд░реЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд╣реАрдВред рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкреВрд░реНрдг рдкрд╛рдЪрди рдФрд░ рд╕рдордЭ рдХреЗ рд╕рд╛рдеред
рд╣рдореЗрд╢рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде
рд╢рдмреНрджрд╛рд╡рд▓реА рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рддрдм рддрдХ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рди рд╣реЛ рдЬрд╛рдПред рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рднреНрд░рдо рдХреЗ рд╕рд╛рде рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рдордп рдореЗрдВ рдЬрдорд╛ рд╣реБрдЖ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЖрдк рдПрдХ рд╣реА рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
UPD: рдиреАрдЪреЗ рджреА рдЧрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдПрдХ
рд╢рдмреНрджрд╛рд╡рд▓реА рдЖрдкрджрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдмреВрдд рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рдирд╣реАрдВ рд╣реИ, рди рдХреЗрд╡рд▓
REST рдФрд░
MVC рдореЗрдВ , рдмрд▓реНрдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐
рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдФрд░
рд╕реНрдЯреЗрдЯрдлреБрд▓ рдХреНрдпрд╛
рд╣реИрдВ ред рдФрд░ рдЗрд╕рд╕реЗ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐
"рд╕реНрдерд┐рддрд┐" рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреА рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рдирд╣реАрдВ
рд╣реИ ред рдХреЛрдИ
рдЗрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА
рд╕реНрдерд┐рддрд┐ (рдЗрд╕рдХреА рд╕реНрдореГрддрд┐), рдХрд┐рд╕реА рдХреЛ
рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ (рддрдм рд░рд╛рдЬреНрдп рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА
рдХреЛ рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА
рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ (рдлрд┐рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рднреА рд░рд╛рдЬреНрдп рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) ред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ,
рдкреБрд░рд╛рдиреА рд╢рд░реНрддреЛрдВ рдХреЛ
рдлреЗрдВрдХрдирд╛ , рдЦрд░рд╛рдм рдФрд░ рдЧрдВрджрд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдирдП рд▓реЛрдЧреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реЛрдиреЗ рдФрд░ рдкрд░рд┐рдЪрдп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рд╕рдЦреНрдд рд╢рдмреНрджрдХреЛрд╢ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдЖрдк рдПрдХ рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╢рдмреНрдж рдореЗрдВ рдмреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред