рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

╨Я╤А╨╕╨▓╨╡╤В, Habr!

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдИрдЖрд░рдкреА-рд╢реНрд░реЗрдгреА рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорд╛рд╣рд┐рд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдФрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдП рд▓рд╛ рдИрдбреАрдПрдордПрд╕ рдХреЗ рд╕рд╛рде рд▓реЗрди-рджреЗрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╢реЗрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг JavaEE рддрдХрдиреАрдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд╕рд╛рде рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдРрд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрд╕рдиреНрди рдбреЛрдореЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рднрд┐рдиреНрди рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдПрдХреАрдХрд░рдг рд╣реИред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд╛рдкрддреНрдп рд╢реИрд▓реА, рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдвреЗрд░ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдиреЗ рд╣рдореЗрд╢рд╛ рд╣рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рд╕рд┐рд░рджрд░реНрдж рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИред

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

╨╕╤Б╨║╨╗╨╡╨╣╨╝╨╡╤А

рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╡рд╛рд╕реНрддреБ рдФрд░ рддрдХрдиреАрдХреА рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдпреЗ рд╕рдорд╛рдзрд╛рди рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреНрдп рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдмреАрдкреАрдПрдо рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

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

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

  • рдХреЙрдирд╡реЗ рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдкреНрд░рднрд╛рд╡ рдореЗрдВ;
  • рдЕрдиреНрдп рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╡рд┐рдХрд╕рд┐рдд рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк;
  • рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред

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

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

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

рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, BPM рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ...
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ - рд░рд╛рдЬреНрдп рд╕рдВрдХреНрд░рдордг рдЖрд░реЗрдЦ рдХреА рдШреЛрд╖рдгрд╛рддреНрдордХ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд░рдордг рд╕реЗ рдЬреЛрдбрд╝рдирд╛ред рд╕рд╛рде рд╣реА, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ "рджрд╕реНрддрд╛рд╡реЗрдЬрд╝" рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐ "рджрд╕реНрддрд╛рд╡реЗрдЬрд╝" рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд░реИрдЦрд┐рдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рд╕рд╛рдкреЗрдХреНрд╖ рд╕рд░рд▓рддрд╛ рдФрд░ рдЧрддрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рдмрдврд╝рддрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдШрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ, рд╕рд╛рде рд╣реА рдлреЛрд░реНрдХрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдРрд╕реА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЙрдкрдХрд░рдг рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд░рд╛рдЬреНрдп рд╕рдВрдХреНрд░рдордг рдЖрд░реЗрдЦ рдЕрдкрдиреА рд╕реВрдЪрдирд╛ рд╕рд╛рдордЧреНрд░реА рдЦреЛ рджреЗрддрд╛ рд╣реИ (рдЖрд░реЗрдЦ рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреА рдмрд╛рддрдЪреАрдд рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг
рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рдж рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЗрдВрдЬрди рдХрд╛ рдПрдХреАрдХрд░рдг рдерд╛ рдЬреЗрдмреАрдкреАрдПрдо рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╡рд╛рд▓реЗ рдХреБрдЫ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВред рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рдХреБрдЫ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА: рдЕрдВрдХрди рдореЗрдВ рдХрд╛рдлреА рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдФрд░ рдЕрджреНрдпрддрди рдЖрд░реЗрдЦ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ред рдмреАрдкреАрдПрдордПрди2.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг
рдПрдХ рдЬрдЯрд┐рд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛

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

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

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

рдПрдХреАрдХрд░рдг рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓ рдХреЗ рдиреБрдХрд╕рд╛рди

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

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрдХреАрдХрд░рдг рдкреИрдЯрд░реНрди рдореЗрдВ рдХрд╛рдлреА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рдХреЗ рдХрд╛рд░рдг рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЧрддрд┐ рдореЛрд╣рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рддрдХрдиреАрдХреА рдЛрдг рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдиреЗ, "рдЬрд▓рдиреЗ" рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреА рд╢рд░реНрддреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдмрд╛рд░-рдмрд╛рд░ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рднреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрднрд╡рд╣реАрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗред

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

  • рд╕рд┐рд╕реНрдЯрдо рдЬрд╡рд╛рдмрджреЗрд╣реА рдЦреЛ рдЧрдИ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ;
  • рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣рд┐рдд рдереНрд░реЗрдб рдкреВрд▓ рдХреЗ рдХрд╛рд░рдг рд╕рд░реНрд╡рд░ рдЖрдо рддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ: рд▓реЗрди-рджреЗрди рдХреЗ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓реЙрдХ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдереНрд░реЗрдбреНрд╕ "рдЦрдбрд╝реЗ" рд╣реЛрддреЗ рд╣реИрдВ;
  • рдЧрддрд┐рд░реЛрдз рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ: рдЙрдирдХреЗ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓реЗрди-рджреЗрди рдХреА рдЕрд╡рдзрд┐, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рд▓реЗрди-рджреЗрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рддрд╛рд▓реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ;
  • рд▓реЗрди-рджреЗрди рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдорд╛рдкреНрддрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ;
  • рдпрджрд┐ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдЖрдЙрдЯрдСрдлрдореЗрдорд░реА рдкрд░ "рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ", рдФрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ "рд▓рд╛рдЗрдЯрд░" рд▓реЗрдирджреЗрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджреЗрддреА рд╣реИред

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

рдЪреАрдЬреЗрдВ рдФрд░ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдпрджрд┐ рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдореЗрдВ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓реЗрди-рджреЗрди рдХреИрд╕реЗ рдХрд░реЗрдВ?

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

рд╡рд┐рддрд░рд┐рдд рд▓реЗрди-рджреЗрди рднреА рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ: рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рд▓реЗрди-рджреЗрди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ "рд╕рд╛рдЧрд╛"

рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рдмрдврд╝рддреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рд╕рд╛рде, рдЗрд╕рдХреА рдорд╛рдВрдЧ рднреА рдмрдврд╝ рд░рд╣реА рд╣реИ рд╕рд╛рдЧрд╛ рдкреИрдЯрд░реНрди.

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

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

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

рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдкрдиреА "рдХреАрдордд" рднреА рд╣реИ:

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

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

рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдореЗрдВ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдХрд╛ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди

рдЬрдм рд╣рдордиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдПрдХ рд╡рд╛рдЬрд┐рдм рд╕рд╡рд╛рд▓ рдЙрдард╛: рдбреЛрдореЗрди рдбреЗрдЯрд╛ рджреГрдврд╝рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдбреЛрдореЗрди рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдП?

рд╡рд┐рднрд┐рдиреНрди рдмреАрдкреАрдПрдордПрд╕ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдбреЛрдореЗрди рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рдбреЛрдореЗрди-рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рдПрдХ рдкрд░рдд рдмрдирд╛рдПрдВ, рдФрд░ рдПрдХ рдЕрд▓рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЛрдореЗрди рдбреЗрдЯрд╛ рджреГрдврд╝рддрд╛ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░реЗрдВред рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рд╣рд▓реНрдХреЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рдкрд░рддред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рджреГрдврд╝рддрд╛ рдкрд░рдд рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рддреА рд╣реИрдВред

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд▓рд╕ рд╣реИ: рдЖрдк рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬрд┐рддрдирд╛ рдЪрд╛рд╣реЗрдВ рдЙрддрдирд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рдХреЗрд╡рд▓ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рдд рд╣реА рдЗрд╕рд╕реЗ "рдореЛрдЯреА рд╣реЛ рдЬрд╛рдПрдЧреА"ред рдХрд┐рд╕реА рднреА рдбреЛрдореЗрди рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рддреБрд░рдВрдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдЕрдкрдбреЗрдЯ рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рд╕реЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛:

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

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдореВрд▓ рдмрд╛рддреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛: рдбреЛрдореЗрди рдбреЗрдЯрд╛ рдФрд░ рдбреЛрдореЗрди рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░реЗрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдпрд╣ рднреА рдореБрдлрд╝реНрдд рдирд╣реАрдВ рд╣реИ:

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

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

рдРрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗрд╡рд╛рдУрдВ рдХреА рдПрдХ рдкрд░рдд рднреА рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рдд рдЕрдм рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рдмрдирд╛рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг, рд╕рд╣рд╛рдпрдХ "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо" рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рдд рдХреА рди рдХреЗрд╡рд▓ рдбреЛрдореЗрди рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреА рд▓рдкрдЯ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдкреНрд░рдмрдВрдзрди рдХреЛ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рдбреЛрдореЗрди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдп рдкрдВрдЬреАрдХрд░рдг рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗрд╡рд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рд╕реЗ рд╕рд╛рдлрд╝ рд╣реЛред рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛ рд╕рдореЗрдЯрдирд╛ рдХрд╛рдлреА рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдПрдХ рдФрд░ рд╕рдордЭреМрддрд╛ рд╣реИред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХреАрдХрд░рдг

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

рдЖрдЗрдП рдПрдХ рдХрдард┐рди рдПрдХреАрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдПрдХ "рдЧреЗрдо" рдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ, рдЬрд╣рд╛рдВ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдЫ рдбреЛрдореЗрди рдирд╛рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ: "рдПрдк 1", "рдПрдк 2", "рдПрдк 3"ред

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

рдЦреЗрд▓ рдХреЗ рдирд┐рдпрдо:

  • рдкрд╣рд▓рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕рд░реНрдЬрдХ рд╣реИред рд╡рд╣ рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЦреЗрд▓ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
  • рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдЦреЗрд▓ рдореЗрдВ рдЕрдкрдиреА рднрд╛рдЧреАрджрд╛рд░реА рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рджреВрд╕рд░реЗ рдФрд░ рдкрд╣рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рде "рдкрд░рд┐рдЪрд┐рдд" рд╣реЛрддреЗ рд╣реИрдВ;
  • рдЧреЗрдВрдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЦрд┐рд▓рд╛рдбрд╝реА рджреВрд╕рд░реЗ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЪреБрдирддрд╛ рд╣реИ рдФрд░ рдЧреЗрдВрдж рдХреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рднреЗрдЬрддрд╛ рд╣реИред рдкрд╛рд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдкреНрд░рддреНрдпреЗрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ "рдКрд░реНрдЬрд╛" рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЙрд╕ рдЦрд┐рд▓рд╛рдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдЧреЗрдВрдж рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдШрдЯрддреА рдЬрд╛рддреА рд╣реИред рдЬрдм рдКрд░реНрдЬрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЦреЗрд▓ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдХреА рд╕реЗрд╡рд╛рдирд┐рд╡реГрддреНрддрд┐ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЬрд╛рддреА рд╣реИ;
  • рдпрджрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдЕрдХреЗрд▓рд╛ рд░рд╣ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рддреБрд░рдВрдд рдЕрдкрдиреА рд╡рд┐рджрд╛рдИ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ;
  • рдЬрдм рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝реА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЦреЗрд▓ рдХреЗ рдЕрдВрдд рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЙрд╕рдиреЗ рдкрд╣рд▓реЗ рдЦреЗрд▓ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рддреЛ рдЙрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИред

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

рдРрдк 1 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рдкрд╣рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рд╡рд╣ рдЧреЗрдо рдХрд╛ рд╕рд░реНрдЬрдХ рднреА рд╣реИ) рдХрд╛рдо рдХрд░реЗрдЧреА:

рдХреНрд▓рд╛рд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рдкреНрд▓реЗрдпрд░

import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.constraint.UniqueConstraints
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.dsl.taskOperation
import ru.krista.bpm.runtime.instance.MessageSendInstance

data class PlayerInfo(val name: String, val domain: String, val id: String)

class PlayersList : ArrayList<PlayerInfo>()

// ╨н╤В╨╛ ╨║╨╗╨░╤Б╤Б ╤Н╨║╨╖╨╡╨╝╨┐╨╗╤П╤А╨░ ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨░: ╨╕╨╜╨║╨░╨┐╤Б╤Г╨╗╨╕╤А╤Г╨╡╤В ╨╡╨│╨╛ ╨▓╨╜╤Г╤В╤А╨╡╨╜╨╜╨╡╨╡ ╤Б╨╛╤Б╤В╨╛╤П╨╜╨╕╨╡
class InitialPlayer : ProcessImpl<InitialPlayer>(initialPlayerModel) {
    var playerName: String by persistent("Player1")
    var energy: Int by persistent(30)
    var players: PlayersList by persistent(PlayersList())
    var shotCounter: Int = 0
}

// ╨н╤В╨╛ ╨┤╨╡╨║╨╗╨░╤А╨░╤Ж╨╕╤П ╨╝╨╛╨┤╨╡╨╗╨╕ ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨░: ╤Б╨╛╨╖╨┤╨░╨╡╤В╤Б╤П ╨╛╨┤╨╕╨╜ ╤А╨░╨╖, ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╤В╤Б╤П ╨▓╤Б╨╡╨╝╨╕
// ╤Н╨║╨╖╨╡╨╝╨┐╨╗╤П╤А╨░╨╝╨╕ ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨░ ╤Б╨╛╨╛╤В╨▓╨╡╤В╤Б╤В╨▓╤Г╤О╤Й╨╡╨│╨╛ ╨║╨╗╨░╤Б╤Б╨░
val initialPlayerModel = processModel<InitialPlayer>(name = "InitialPlayer",
                                                     version = 1) {

    // ╨Я╨╛ ╨┐╤А╨░╨▓╨╕╨╗╨░╨╝, ╨┐╨╡╤А╨▓╤Л╨╣ ╨╕╨│╤А╨╛╨║ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П ╨╕╨╜╨╕╤Ж╨╕╨░╤В╨╛╤А╨╛╨╝ ╨╕╨│╤А╤Л ╨╕ ╨┤╨╛╨╗╨╢╨╡╨╜ ╨▒╤Л╤В╤М ╨╡╨┤╨╕╨╜╤Б╤В╨▓╨╡╨╜╨╜╤Л╨╝
    uniqueConstraint = UniqueConstraints.singleton

    // ╨Ю╨▒╤К╤П╨▓╨╗╤П╨╡╨╝ ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╨╕, ╨╕╨╖ ╨║╨╛╤В╨╛╤А╤Л╤Е ╤Б╨╛╤Б╤В╨╛╨╕╤В ╨▒╨╕╨╖╨╜╨╡╤Б-╨┐╤А╨╛╤Ж╨╡╤Б╤Б
    val sendNewGameSignal = signal<String>("NewGame")
    val sendStopGameSignal = signal<String>("StopGame")
    val startTask = humanTask("Start") {
        taskOperation {
            processCondition { players.size > 0 }
            confirmation { "╨Я╨╛╨┤╨║╨╗╤О╤З╨╕╨╗╨╛╤Б╤М ${players.size} ╨╕╨│╤А╨╛╨║╨╛╨▓. ╨Э╨░╤З╨╕╨╜╨░╨╡╨╝?" }
        }
    }
    val stopTask = humanTask("Stop") {
        taskOperation {}
    }
    val waitPlayerJoin = signalWait<String>("PlayerJoin") { signal ->
        players.add(PlayerInfo(
                signal.data!!,
                signal.sender.domain,
                signal.sender.processInstanceId))
        println("... join player ${signal.data} ...")
    }
    val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
        players.remove(PlayerInfo(
                signal.data!!,
                signal.sender.domain,
                signal.sender.processInstanceId))
        println("... player ${signal.data} is out ...")
    }
    val sendPlayerOut = signal<String>("PlayerOut") {
        signalData = { playerName }
    }
    val sendHandshake = messageSend<String>("Handshake") {
        messageData = { playerName }
        activation = {
            receiverDomain = process.players.last().domain
            receiverProcessInstanceId = process.players.last().id
        }
    }
    val throwStartBall = messageSend<Int>("Ball") {
        messageData = { 1 }
        activation = { selectNextPlayer() }
    }
    val throwBall = messageSend<Int>("Ball") {
        messageData = { shotCounter + 1 }
        activation = { selectNextPlayer() }
        onEntry { energy -= 1 }
    }
    val waitBall = messageWaitData<Int>("Ball") {
        shotCounter = it
    }

    // ╨в╨╡╨┐╨╡╤А╤М ╨║╨╛╨╜╤Б╤В╤А╤Г╨╕╤А╤Г╨╡╨╝ ╨│╤А╨░╤Д ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨░ ╨╕╨╖ ╨╛╨▒╤К╤П╨▓╨╗╨╡╨╜╨╜╤Л╤Е ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╨╡╨╣
    startFrom(sendNewGameSignal)
            .fork("mainFork") {
                next(startTask)
                next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
                next(waitPlayerOut)
                        .branch("checkPlayers") {
                            ifTrue { players.isEmpty() }
                                    .next(sendStopGameSignal)
                                    .terminate()
                            ifElse().next(waitPlayerOut)
                        }
            }
    startTask.fork("afterStart") {
        next(throwStartBall)
                .branch("mainLoop") {
                    ifTrue { energy < 5 }.next(sendPlayerOut).next(waitBall)
                    ifElse().next(waitBall).next(throwBall).loop()
                }
        next(stopTask).next(sendStopGameSignal)
    }

    // ╨Э╨░╨▓╨╡╤И╨░╨╡╨╝ ╨╜╨░ ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╨╕ ╨┤╨╛╨┐╨╛╨╗╨╜╨╕╤В╨╡╨╗╤М╨╜╤Л╨╡ ╨╛╨▒╤А╨░╨▒╨╛╤В╤З╨╕╨║╨╕ ╨┤╨╗╤П ╨╗╨╛╨│╨╕╤А╨╛╨▓╨░╨╜╨╕╤П
    sendNewGameSignal.onExit { println("Let's play!") }
    sendStopGameSignal.onExit { println("Stop!") }
    sendPlayerOut.onExit { println("$playerName: I'm out!") }
}

private fun MessageSendInstance<InitialPlayer, Int>.selectNextPlayer() {
    val player = process.players.random()
    receiverDomain = player.domain
    receiverProcessInstanceId = player.id
    println("Step ${process.shotCounter + 1}: " +
            "${process.playerName} >>> ${player.name}")
}

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

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

app2 рдореЗрдВ рджреВрд╕рд░реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреА:

рдХреНрд▓рд╛рд╕ рд░реИрдВрдбрдордкреНрд▓реЗрдпрд░

import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance

data class PlayerInfo(val name: String, val domain: String, val id: String)

class PlayersList: ArrayList<PlayerInfo>()

class RandomPlayer : ProcessImpl<RandomPlayer>(randomPlayerModel) {

    var playerName: String by input(persistent = true, 
                                    defaultValue = "RandomPlayer")
    var energy: Int by input(persistent = true, defaultValue = 30)
    var players: PlayersList by persistent(PlayersList())
    var allPlayersOut: Boolean by persistent(false)
    var shotCounter: Int = 0

    val selfPlayer: PlayerInfo
        get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}

val randomPlayerModel = processModel<RandomPlayer>(name = "RandomPlayer", 
                                                   version = 1) {

    val waitNewGameSignal = signalWait<String>("NewGame")
    val waitStopGameSignal = signalWait<String>("StopGame")
    val sendPlayerJoin = signal<String>("PlayerJoin") {
        signalData = { playerName }
    }
    val sendPlayerOut = signal<String>("PlayerOut") {
        signalData = { playerName }
    }
    val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
        eventCondition = { signal ->
            signal.sender.processInstanceId != process.id 
                && !process.players.any { signal.sender.processInstanceId == it.id}
        }
        handler = { signal ->
            players.add(PlayerInfo(
                    signal.data!!,
                    signal.sender.domain,
                    signal.sender.processInstanceId))
        }
    }
    val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
        players.remove(PlayerInfo(
                signal.data!!,
                signal.sender.domain,
                signal.sender.processInstanceId))
        allPlayersOut = players.isEmpty()
    }
    val sendHandshake = messageSend<String>("Handshake") {
        messageData = { playerName }
        activation = {
            receiverDomain = process.players.last().domain
            receiverProcessInstanceId = process.players.last().id
        }
    }
    val receiveHandshake = messageWait<String>("Handshake") { message ->
        if (!players.any { message.sender.processInstanceId == it.id}) {
            players.add(PlayerInfo(
                    message.data!!, 
                    message.sender.domain, 
                    message.sender.processInstanceId))
        }
    }
    val throwBall = messageSend<Int>("Ball") {
        messageData = { shotCounter + 1 }
        activation = { selectNextPlayer() }
        onEntry { energy -= 1 }
    }
    val waitBall = messageWaitData<Int>("Ball") {
        shotCounter = it
    }

    startFrom(waitNewGameSignal)
            .fork("mainFork") {
                next(sendPlayerJoin)
                        .branch("mainLoop") {
                            ifTrue { energy < 5 || allPlayersOut }
                                    .next(sendPlayerOut)
                                    .next(waitBall)
                            ifElse()
                                    .next(waitBall)
                                    .next(throwBall)
                                    .loop()
                        }
                next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
                next(waitPlayerOut).next(waitPlayerOut)
                next(receiveHandshake).next(receiveHandshake)
                next(waitStopGameSignal).terminate()
            }

    sendPlayerJoin.onExit { println("$playerName: I'm here!") }
    sendPlayerOut.onExit { println("$playerName: I'm out!") }
}

private fun MessageSendInstance<RandomPlayer, Int>.selectNextPlayer() {
    val player = if (process.players.isNotEmpty()) 
        process.players.random() 
    else 
        process.selfPlayer
    receiverDomain = player.domain
    receiverProcessInstanceId = player.id
    println("Step ${process.shotCounter + 1}: " +
            "${process.playerName} >>> ${player.name}")
}

рдЖрд░реЗрдЦ:

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

рдРрдк 3 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рд╣рдо рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдирд╛рдПрдВрдЧреЗ: рдЕрдЧрд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╡рд╣ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛:

рдХреНрд▓рд╛рд╕ рд░рд╛рдЙрдВрдбрд░реЙрдмрд┐рдирдкреНрд▓реЗрдпрд░

import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance

data class PlayerInfo(val name: String, val domain: String, val id: String)

class PlayersList: ArrayList<PlayerInfo>()

class RoundRobinPlayer : ProcessImpl<RoundRobinPlayer>(roundRobinPlayerModel) {

    var playerName: String by input(persistent = true, 
                                    defaultValue = "RoundRobinPlayer")
    var energy: Int by input(persistent = true, defaultValue = 30)
    var players: PlayersList by persistent(PlayersList())
    var nextPlayerIndex: Int by persistent(-1)
    var allPlayersOut: Boolean by persistent(false)
    var shotCounter: Int = 0

    val selfPlayer: PlayerInfo
        get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}

val roundRobinPlayerModel = processModel<RoundRobinPlayer>(
        name = "RoundRobinPlayer", 
        version = 1) {

    val waitNewGameSignal = signalWait<String>("NewGame")
    val waitStopGameSignal = signalWait<String>("StopGame")
    val sendPlayerJoin = signal<String>("PlayerJoin") {
        signalData = { playerName }
    }
    val sendPlayerOut = signal<String>("PlayerOut") {
        signalData = { playerName }
    }
    val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
        eventCondition = { signal ->
            signal.sender.processInstanceId != process.id 
                && !process.players.any { signal.sender.processInstanceId == it.id}
        }
        handler = { signal ->
            players.add(PlayerInfo(
                    signal.data!!, 
                    signal.sender.domain, 
                    signal.sender.processInstanceId))
        }
    }
    val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
        players.remove(PlayerInfo(
                signal.data!!, 
                signal.sender.domain, 
                signal.sender.processInstanceId))
        allPlayersOut = players.isEmpty()
    }
    val sendHandshake = messageSend<String>("Handshake") {
        messageData = { playerName }
        activation = {
            receiverDomain = process.players.last().domain
            receiverProcessInstanceId = process.players.last().id
        }
    }
    val receiveHandshake = messageWait<String>("Handshake") { message ->
        if (!players.any { message.sender.processInstanceId == it.id}) {
            players.add(PlayerInfo(
                    message.data!!, 
                    message.sender.domain, 
                    message.sender.processInstanceId))
        }
    }
    val throwBall = messageSend<Int>("Ball") {
        messageData = { shotCounter + 1 }
        activation = { selectNextPlayer() }
        onEntry { energy -= 1 }
    }
    val waitBall = messageWaitData<Int>("Ball") {
        shotCounter = it
    }

    startFrom(waitNewGameSignal)
            .fork("mainFork") {
                next(sendPlayerJoin)
                        .branch("mainLoop") {
                            ifTrue { energy < 5 || allPlayersOut }
                                    .next(sendPlayerOut)
                                    .next(waitBall)
                            ifElse()
                                    .next(waitBall)
                                    .next(throwBall)
                                    .loop()
                        }
                next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
                next(waitPlayerOut).next(waitPlayerOut)
                next(receiveHandshake).next(receiveHandshake)
                next(waitStopGameSignal).terminate()
            }

    sendPlayerJoin.onExit { println("$playerName: I'm here!") }
    sendPlayerOut.onExit { println("$playerName: I'm out!") }
}

private fun MessageSendInstance<RoundRobinPlayer, Int>.selectNextPlayer() {
    var idx = process.nextPlayerIndex + 1
    if (idx >= process.players.size) {
        idx = 0
    }
    process.nextPlayerIndex = idx
    val player = if (process.players.isNotEmpty()) 
        process.players[idx] 
    else 
        process.selfPlayer
    receiverDomain = player.domain
    receiverProcessInstanceId = player.id
    println("Step ${process.shotCounter + 1}: " +
            "${process.playerName} >>> ${player.name}")
}

рдЕрдиреНрдпрдерд╛, рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рд╕реЗ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрд░реЗрдЦ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдХреЛрдб рд╣реА рджреВрдВрдЧрд╛, рддрд╛рдХрд┐ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдиреНрдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛):

рдЯреЗрд╕реНрдЯрдЧреЗрдо ()

@Test
public void testGame() throws InterruptedException {
    String pl2 = startProcess(app2, "RandomPlayer", playerParams("Player2", 20));
    String pl3 = startProcess(app2, "RandomPlayer", playerParams("Player3", 40));
    String pl4 = startProcess(app3, "RoundRobinPlayer", playerParams("Player4", 25));
    String pl5 = startProcess(app3, "RoundRobinPlayer", playerParams("Player5", 35));
    String pl1 = startProcess(app1, "InitialPlayer");
    // ╨в╨╡╨┐╨╡╤А╤М ╨╜╤Г╨╢╨╜╨╛ ╨╜╨╡╨╝╨╜╨╛╨│╨╛ ╨┐╨╛╨┤╨╛╨╢╨┤╨░╤В╤М, ╨┐╨╛╨║╨░ ╨╕╨│╤А╨╛╨║╨╕ "╨┐╨╛╨╖╨╜╨░╨║╨╛╨╝╤П╤В╤Б╤П" ╨┤╤А╤Г╨│ ╤Б ╨┤╤А╤Г╨│╨╛╨╝.
    // ╨Ц╨┤╨░╤В╤М ╤З╨╡╤А╨╡╨╖ sleep - ╨┐╨╗╨╛╤Е╨╛╨╡ ╤А╨╡╤И╨╡╨╜╨╕╨╡, ╨╖╨░╤В╨╛ ╤Б╨░╨╝╨╛╨╡ ╨┐╤А╨╛╤Б╤В╨╛╨╡. 
    // ╨Э╨╡ ╨┤╨╡╨╗╨░╨╣╤В╨╡ ╤В╨░╨║ ╨▓ ╤Б╨╡╤А╤М╨╡╨╖╨╜╤Л╤Е ╤В╨╡╤Б╤В╨░╤Е!
    Thread.sleep(1000);
    // ╨Ч╨░╨┐╤Г╤Б╨║╨░╨╡╨╝ ╨╕╨│╤А╤Г, ╨╖╨░╨║╤А╤Л╨▓╨░╤П ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤М╤Б╨║╤Г╤О ╨░╨║╤В╨╕╨▓╨╜╨╛╤Б╤В╤М
    assertTrue(closeTask(app1, pl1, "Start"));
    app1.getWaiting().waitProcessFinished(pl1);
    app2.getWaiting().waitProcessFinished(pl2);
    app2.getWaiting().waitProcessFinished(pl3);
    app3.getWaiting().waitProcessFinished(pl4);
    app3.getWaiting().waitProcessFinished(pl5);
}

private Map<String, Object> playerParams(String name, int energy) {
    Map<String, Object> params = new HashMap<>();
    params.put("playerName", name);
    params.put("energy", energy);
    return params;
}

рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ, рд▓реЙрдЧ рджреЗрдЦреЗрдВ:

рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ

╨Т╨╖╤П╤В╨░ ╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨║╨░ ╨║╨╗╤О╤З╨░ lock://app1/process/InitialPlayer
Let's play!
╨б╨╜╤П╤В╨░ ╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨║╨░ ╨║╨╗╤О╤З╨░ lock://app1/process/InitialPlayer
Player2: I'm here!
Player3: I'm here!
Player4: I'm here!
Player5: I'm here!
... join player Player2 ...
... join player Player4 ...
... join player Player3 ...
... join player Player5 ...
Step 1: Player1 >>> Player3
Step 2: Player3 >>> Player5
Step 3: Player5 >>> Player3
Step 4: Player3 >>> Player4
Step 5: Player4 >>> Player3
Step 6: Player3 >>> Player4
Step 7: Player4 >>> Player5
Step 8: Player5 >>> Player2
Step 9: Player2 >>> Player5
Step 10: Player5 >>> Player4
Step 11: Player4 >>> Player2
Step 12: Player2 >>> Player4
Step 13: Player4 >>> Player1
Step 14: Player1 >>> Player4
Step 15: Player4 >>> Player3
Step 16: Player3 >>> Player1
Step 17: Player1 >>> Player2
Step 18: Player2 >>> Player3
Step 19: Player3 >>> Player1
Step 20: Player1 >>> Player5
Step 21: Player5 >>> Player1
Step 22: Player1 >>> Player2
Step 23: Player2 >>> Player4
Step 24: Player4 >>> Player5
Step 25: Player5 >>> Player3
Step 26: Player3 >>> Player4
Step 27: Player4 >>> Player2
Step 28: Player2 >>> Player5
Step 29: Player5 >>> Player2
Step 30: Player2 >>> Player1
Step 31: Player1 >>> Player3
Step 32: Player3 >>> Player4
Step 33: Player4 >>> Player1
Step 34: Player1 >>> Player3
Step 35: Player3 >>> Player4
Step 36: Player4 >>> Player3
Step 37: Player3 >>> Player2
Step 38: Player2 >>> Player5
Step 39: Player5 >>> Player4
Step 40: Player4 >>> Player5
Step 41: Player5 >>> Player1
Step 42: Player1 >>> Player5
Step 43: Player5 >>> Player3
Step 44: Player3 >>> Player5
Step 45: Player5 >>> Player2
Step 46: Player2 >>> Player3
Step 47: Player3 >>> Player2
Step 48: Player2 >>> Player5
Step 49: Player5 >>> Player4
Step 50: Player4 >>> Player2
Step 51: Player2 >>> Player5
Step 52: Player5 >>> Player1
Step 53: Player1 >>> Player5
Step 54: Player5 >>> Player3
Step 55: Player3 >>> Player5
Step 56: Player5 >>> Player2
Step 57: Player2 >>> Player1
Step 58: Player1 >>> Player4
Step 59: Player4 >>> Player1
Step 60: Player1 >>> Player4
Step 61: Player4 >>> Player3
Step 62: Player3 >>> Player2
Step 63: Player2 >>> Player5
Step 64: Player5 >>> Player4
Step 65: Player4 >>> Player5
Step 66: Player5 >>> Player1
Step 67: Player1 >>> Player5
Step 68: Player5 >>> Player3
Step 69: Player3 >>> Player4
Step 70: Player4 >>> Player2
Step 71: Player2 >>> Player5
Step 72: Player5 >>> Player2
Step 73: Player2 >>> Player1
Step 74: Player1 >>> Player4
Step 75: Player4 >>> Player1
Step 76: Player1 >>> Player2
Step 77: Player2 >>> Player5
Step 78: Player5 >>> Player4
Step 79: Player4 >>> Player3
Step 80: Player3 >>> Player1
Step 81: Player1 >>> Player5
Step 82: Player5 >>> Player1
Step 83: Player1 >>> Player4
Step 84: Player4 >>> Player5
Step 85: Player5 >>> Player3
Step 86: Player3 >>> Player5
Step 87: Player5 >>> Player2
Step 88: Player2 >>> Player3
Player2: I'm out!
Step 89: Player3 >>> Player4
... player Player2 is out ...
Step 90: Player4 >>> Player1
Step 91: Player1 >>> Player3
Step 92: Player3 >>> Player1
Step 93: Player1 >>> Player4
Step 94: Player4 >>> Player3
Step 95: Player3 >>> Player5
Step 96: Player5 >>> Player1
Step 97: Player1 >>> Player5
Step 98: Player5 >>> Player3
Step 99: Player3 >>> Player5
Step 100: Player5 >>> Player4
Step 101: Player4 >>> Player5
Player4: I'm out!
... player Player4 is out ...
Step 102: Player5 >>> Player1
Step 103: Player1 >>> Player3
Step 104: Player3 >>> Player1
Step 105: Player1 >>> Player3
Step 106: Player3 >>> Player5
Step 107: Player5 >>> Player3
Step 108: Player3 >>> Player1
Step 109: Player1 >>> Player3
Step 110: Player3 >>> Player5
Step 111: Player5 >>> Player1
Step 112: Player1 >>> Player3
Step 113: Player3 >>> Player5
Step 114: Player5 >>> Player3
Step 115: Player3 >>> Player1
Step 116: Player1 >>> Player3
Step 117: Player3 >>> Player5
Step 118: Player5 >>> Player1
Step 119: Player1 >>> Player3
Step 120: Player3 >>> Player5
Step 121: Player5 >>> Player3
Player5: I'm out!
... player Player5 is out ...
Step 122: Player3 >>> Player5
Step 123: Player5 >>> Player1
Player5: I'm out!
Step 124: Player1 >>> Player3
... player Player5 is out ...
Step 125: Player3 >>> Player1
Step 126: Player1 >>> Player3
Player1: I'm out!
... player Player1 is out ...
Step 127: Player3 >>> Player3
Player3: I'm out!
Step 128: Player3 >>> Player3
... player Player3 is out ...
Player3: I'm out!
Stop!
Step 129: Player3 >>> Player3
Player3: I'm out!

рдЗрд╕ рд╕рдм рд╕реЗ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

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

рдЕрдЧрд▓рд╛, рдЖрдЗрдП рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рди, рд╕рдордЭреМрддрд╛ рдФрд░ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВред

рд╕рднреА рд╕рдВрджреЗрд╢ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ

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

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХреАрдХрд░рдг

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

рдПрдХреАрдХрд░рдг рдмрд╕ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрдИ рдЪреАрдЬреЛрдВ рд╕реЗ рдмрдиреА рд╣реЛрддреА рд╣реИ:

  • рдЪреБрдирд╛ рд╣реБрдЖ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдПрдХ рдмрд┐рдВрджреБ рд╣реИ: рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдЕрдЪреНрдЫреЗ рд╕рдорд░реНрдерди рдФрд░ рдПрдХ рдмрдбрд╝реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рд╕рдордп-рдкрд░реАрдХреНрд╖рдгрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП;
  • рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рдХреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдПрдХреАрдХреГрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд▓рд╛рдЧреВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рдФрд░ рдорд╣рдВрдЧрд╛ рд╣реИ);
  • рдмреНрд░реЛрдХрд░ "рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░" рдбрд┐рд▓реАрд╡рд░реА рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИред рдПрдХреАрдХрд░рдг рдмрд╕ рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред "рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░" рд╕реНрддрд░ рдХреА рдЧрд╛рд░рдВрдЯреА рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдпрд╛ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░-рдмрд╛рд░ рдЖрдиреЗ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреЗрдХ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ "рдорд╣рдВрдЧрд╛" "рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ;
  • рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдбреЛрдореЗрди рдбреЗрдЯрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдирджреЗрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рд▓реЗрди-рджреЗрди рд╕рдВрдмрдВрдзреА рдЖрдЙрдЯрдмреЙрдХреНрд╕, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдПрдХ рд░рд┐рд▓реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЬреЗрдИрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рд╕реНрдерд╛рдиреАрдп рдЬреЗрдЯреАрдП рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдпрдирд┐рдд рдмреНрд░реЛрдХрд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП XA;
  • рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓реЗрди-рджреЗрди рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реЗрди-рджреЗрди рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рднреА рд░рджреНрдж рдХрд░ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП;
  • рд╕рдВрджреЗрд╢ рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдбреАрдПрд▓рдХреНрдпреВ (рдбреЗрдб рд▓реЗрдЯрд░ рдХреНрдпреВ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдРрд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдкрдиреЗ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рддреНрд╡рд░рд┐рдд рд╕рдореВрд╣реАрдХрд░рдг рдФрд░ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП) рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдкреАрдЖрдИ рдХреЛ рджреЗрдЦрдиреЗ, рдЧрдВрддрд╡реНрдп рдкрддреЗ рдкрд░ рднреЗрдЬрдиреЗ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдкрдиреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рдмреНрд░реЛрдХрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдЖрдкрдХреЛ DLQ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд▓реАрд╡рд░реА рд░рд┐рдЯреНрд░реАрдЯ рдФрд░ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рдмреАрдЪ рджреЗрд░реА рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЗрд╖реНрдЯрддрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдиреБрднрд╡рдЬрдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд╛рд░реНрдпрд╡рд╛рд╣реА);
  • DLQ рд╕реНрдЯреЛрд░ рдХреА рд▓рдЧрд╛рддрд╛рд░ рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡реЗ рдбрд┐рд▓реАрд╡рд░ рди рдХрд┐рдП рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдиреЗ рдкрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХреЗрдВред рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЗ "рдХреНрд╖рддрд┐ рдХреНрд╖реЗрддреНрд░" рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛;
  • рдПрдХреАрдХрд░рдг рдмрд╕ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЕрд╕реНрдерд╛рдпреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдкреНрд░рддрд┐ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рд╡рд┐рд╖рдп рд╕рджрд╕реНрдпрддрд╛рдПрдБ рдЯрд┐рдХрд╛рдК рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдбреЛрдореЗрди рдирд╛рдо рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрдХреНрддрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рджреМрд░рд╛рди рдХрддрд╛рд░ рд╕реЗ рдЗрд╕рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗред

рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреА рдереНрд░реЗрдб рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛

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

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд╣рд░реА рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпреЗ рдШрдЯрдирд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:

  • рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЙрдиреНрдЪ рдХрд░рдирд╛;
  • рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХрд┐рд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛;
  • рдПрдХ рд╕рдВрджреЗрд╢ рдпрд╛ рд╕рдВрдХреЗрдд рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╡реГрддреНрддрд┐ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рдЧрдИ рд╣реИ;
  • рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЯрд╛рдЗрдорд░ рдХреА рд╕рдорд╛рдкреНрддрд┐;
  • рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ (рдЬреИрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░рд╕реНрдд)ред

рдРрд╕реА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреА рд╣реИ: рдХреБрдЫ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рд╢реБрд░реВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓рдЧрд╛рддрд╛рд░ рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдмрджрд▓реЗ рдореЗрдВ, рд╡реЗ рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛, рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡реЗ рдЙрд╕реА рд▓реЗрди-рджреЗрди рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрди-рджреЗрди рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдирдИ рд╕реНрдерд┐рддрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдЕрдЧрд▓реЗ рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧреАред

SELECT FOR UPDATE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕реНрдерд╛рдпреА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбреЗрдЯрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдмрд┐рдВрджреБ рд╣реИред рдпрджрд┐ рдПрдХ рд▓реЗрди-рджреЗрди рдЖрдзрд╛рд░ рд╕реЗ рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рддреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХреЛрдИ рднреА рдЕрдиреНрдп рд▓реЗрди-рджреЗрди рджреВрд╕рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдкрд╣рд▓реЗ рд▓реЗрдирджреЗрди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рджреВрд╕рд░рд╛ рд╣реИ рдкрд╣рд▓реЗ рд╕реЗ рдмрджрд▓реА рд╣реБрдИ рдЕрд╡рд╕реНрдерд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреАред

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

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

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

рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, InitialPlayer рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдШреЛрд╖рдгрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ

uniqueConstraint = UniqueConstraints.singleton

рдЗрд╕рд▓рд┐рдП, рд▓реЙрдЧ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдВрдЬреА рдХреЗ рд▓реЙрдХ рдХреЛ рд▓реЗрдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдиреНрдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рд╣реИрдВ: UniqueConstraint рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред

рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдБ

рдХрднреА-рдХрднреА рдПрдХ рд╕реНрдерд┐рд░ рдЕрд╡рд╕реНрдерд╛ рди рдХреЗрд╡рд▓ рдорджрдж рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдмрд╛рдзрд╛ рднреА рдмрдирддреА рд╣реИред
рд╕рдорд╕реНрдпрд╛рдПрдБ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдФрд░ / рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкреБрд░рд╛рдиреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдИ "рд▓рд╛рдЗрд╡" рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рд╣реИрдВ, рддреЛ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЕрдХреНрд╕рд░ рдЬреЗрдмреАрдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рджреЛ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдПрдХ рдирдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░реЛрд╕реЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдБ рддрд╛рдХрд┐ рдкреБрд░рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рди рд╣реЛрдВ, рдФрд░ рдирдП рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп рдкреБрд░рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреБрд░рд╛рдиреЗ рдЙрджрд╛рд╣рд░рдг "рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ" рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ;
  2. рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВред

рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕реАрдорд╛рдПрдВ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

  • рдХрдИ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбрд▓ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХрд╛ рджреЛрд╣рд░рд╛рд╡, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐;
  • рдЕрдХреНрд╕рд░ рдПрдХ рдирдП рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХреАрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ);
  • рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдореЙрдбрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╣рдо рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдирд┐рд░реНрдгрдп рд▓рд┐рдП рд╣реИрдВ:

  • рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: JSON рдкреНрд░рд╛рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВред рдпрд╣ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рджреЛрдиреЛрдВ рдЬрдЧрд╣ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рдЗрд╕реЗ рд╣реИрдВрдбрд▓ рд╕реЗ рднреА рдЯреНрд╡реАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧреА);
  • рдПрдХреАрдХрд░рдг рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдХ рдирдП рдирд╛рдо рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "InitialPlayerV2")ред рдмрдВрдзрди рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдирд╛рдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ;
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдмрдврд╝рд╛рддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИ;
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрд╣рд▓реЗ рдЖрдзрд╛рд░ рд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдореЙрдбрд▓ рдХреА рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓ рдЧрдИ рд╣реИ;
  • рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЗрд╕рдХреА рдмрд╣рд╛рд▓реА рдХреЗ рд╕рдордп рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдЖрд▓рд╕реА" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдпрджрд┐ рдЖрдкрдХреЛ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЬрд▓реНрджреА рдФрд░ рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ JSON рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдореБрдЭреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

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

рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВрдХреГрдкрдпрд╛ред

рдХреНрдпрд╛ рдореБрдЭреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

  • 18,8% рддрдХ рд╣рд╛рдВ, рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдРрд╕рд╛ рдХреБрдЫ рдвреВрдВрдв рд░рд╣рд╛ рдерд╛ред

  • 12,5% рддрдХ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ 2

  • 6,2% рддрдХ рд╣рдо рдореМрдЬреВрджрд╛ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ1

  • 18,8% рддрдХ рд╣рдо рдореМрдЬреВрджрд╛ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдЙрдкрдпреБрдХреНрдд3

  • 18,8% рддрдХ рдврд╛рдВрдЪреЗ рдХреЗ рдмрд┐рдирд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдирд╛3

  • 25,0% рддрдХ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд▓рд┐рдЦреЗрдВ 4

16 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 7 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ