
рд╣реЗрд▓реЛ, рд╣реИрдмрд░ред
рдореИрдВ рдЦреЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрдХрд░реНрд╖рд┐рдд рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдкреЛрдХрд░ рднреА рдкрд╕рдВрдж рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреЛрдХрд░ рдмреЙрдЯ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рд╢реБрд░реВ рдХрд░рдХреЗ рдПрдХ рдкрддреНрдерд░ рд╕реЗ рджреЛ рдкрдХреНрд╖рд┐рдпреЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЗрд╕реА рддрд░рд╣ рдХреА рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рддрд┐рднрд╛рдЧреА рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде croupier HTTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░реЗрдЧрд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдореЗрд░реЗ рдорд┐рддреНрд░ рдХрд╛ рд╣реИ (рд╡рд╣ рд╣реИрдмрд░ рд╕реЗ рдирд╣реАрдВ рд╣реИ)ред рдкрд╣рд▓реА рдмрд╛рд░ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛:
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкреЛрдХрд░ рдХрдорд░реЛрдВ рдореЗрдВ рдЦреЗрд▓рдиреЗ рд╡рд╛рд▓реЗ рдмреЙрдЯ рдореЗрдВ рдХреБрдЫ рднреА рдЧрд▓рдд рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢рд╛рдпрдж, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреЛрдХрд░ рдХреНрд▓рдм рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд░реЛрдмреЛрдЯ рдХреЗрд╡рд▓ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЦреЗрд▓реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рдЪреБрдиреМрддреА рд╕реНрд╡реАрдХрд╛рд░;)
рд╕реНрд▓рд╛рдЗрдбрд░
рдКрдкрд░ рджреА рдЧрдИ рдордЬреЗрджрд╛рд░ рддрд╕реНрд╡реАрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдирдХреЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рдПрдХ рдЕрд▓рдЧ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдкреЛрдХрд░ рдЗрдВрдЬрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рднрд╛рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд░реЗрдбреА-рдореЗрдб рдЗрдВрдЬрди рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ (~ 1000 рд▓рд╛рдЗрди) рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рд▓рд┐рдЦрд╛, рдЬреЛ рдкреЛрдХрд░ рдХреНрд░реБрдкрд┐рдпрд░ рдФрд░ рдмреЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдкреЛрдХрд░ рд╣рд╛рде рдкреИрджрд╛ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдЖрдЪрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдпреВрдирд┐рдХреНрд╕-рд╢реИрд▓реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред
рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рддрд░реНрдХ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрдВрдЬрди "рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛" рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ "рдХреНрд░реБрдкрд┐рдпрд░" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рд╡рд┐рддрд░рдг рдХреА рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдмреЙрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ / рдкрд░реАрдХреНрд╖рдг (рдЬрд┐рд╕реЗ рдореИрдВ рдПрд╕рдбреАрдХреЗ рдХрд╣рддрд╛ рд╣реВрдВ) рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдкреЛрдХрд░ рд░реВрдо рдХреЗ рдЕрдВрджрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рд╣реА рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреЙрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдореЗрдВ рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдЧреЗрдо рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдХреЛрдб рджреЛрд╣рд░рд╛рд╡ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред
рдЗрдВрдЬрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб Github (MIT рд▓рд╛рдЗрд╕реЗрдВрд╕) рдкрд░
рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдПрд╕рдбреАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдХреНрд╕рд╛рдИ рдлрд╝рд╛рдЗрд▓ (
py2exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЕрдЬрдЧрд░ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХ рдХреЗ рд▓рд┐рдП, рдПрд╕рдбреАрдХреЗ рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЗрдВрдЬрди рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдкреЛрдХрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдирд┐рд╢реНрдЪрд┐рдд рджрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЯреЗрдХреНрд╕рд╛рд╕ рд╣реЛрд▓реНрдбрдоред
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреЛрдХрд░ рдЦреЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдореИрдВрдиреЗ рдПрд╕рдбреАрдХреЗ рдХреЛ рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рднреА рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкреИрдЪ рдХрд░рдиреЗ рдпрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЗрдВрдЬрди рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ - рд╕рдм рдХреБрдЫ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ "рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛"ред
рд╕реНрдЯреИрдЯрд┐рд╕реНрдЯрд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдпрдВ рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реИрдВред
рдПрдкреАрдЖрдИ
рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рддреЛ рдореИрдВ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдПрдкреАрдЖрдИ рдмрдирд╛рддрд╛ рд╣реВрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрд╕рдВрдж рдЗрддрдиреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореЛрдбрд╝ рдкрд░ рдкреВрд░реЗ рд╡рд┐рддрд░рдг рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдмреЙрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдпрд╣ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ)ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА (рдореИрдВ рдЗрд╕реЗ "рд╡рд┐рддрд░рдг рдХрд╛ рд░рд╛рдЬреНрдп" рдХрд╣рддрд╛ рд╣реВрдВ) HTTP POST рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ XML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмреЙрдЯ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ XML 4KB рддрдХ рдХрд╛ рд╡рдЬрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рддрдп рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдХрдо рд╣реИ рдпрд╛ рдереЛрдбрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдХреАрдордд рд╣реИ рдЬреЛ рдореИрдВ рдмреЙрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдирдП рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред
рд╡рд┐рдХрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ - рдкреНрд░рддрд┐рднрд╛рдЧреА рдХреЛ рдмрд╕ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдХреБрдЫ XML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрдгрдп (рдкрд╛рд╕, рд╕рдорд░реНрдерди, рд╡реГрджреНрдзрд┐, рд╕рднреА рдореЗрдВ рдЬрд╛рдирд╛, рдЖрджрд┐) рдХрд░рддрд╛ рд╣реИред
XML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реНрдХреАрдорд╛ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред
рдЙрджрд╛рд╣рд░рдг
<?xml version="1.0"?> <game> <table button="2"> <player sit="0" name="vbo" stack="80" in_stack="100"/> <player sit="2" name="lenny" stack="80" in_stack="100"/> <player sit="5" name="psycho" stack="90" in_stack="100"/> </table> <posts> <post amount="10" player="psycho" type="small_blind"/> <post amount="20" player="vbo" type="big_blind"/> </posts> <betting> <round name="preflop"> <action amount="20" player="lenny" type="call"/> <action amount="10" player="psycho" type="fold"/> <action amount="20" player="vbo" type="check"/> </round> <round name="flop"> <action amount="0" player="vbo" type="check"/> <action amount="0" player="lenny" type="check"/> </round> <round name="turn"/> <round name="river"/> </betting> <community> <card rank="Q" suit="H"/> <card rank="A" suit="H"/> <card rank="7" suit="S"/> <card rank="T" suit="S"/> </community> </game>
рдпрд╣ рдпреЛрдЬрдирд╛ рдореБрдЭреЗ рдорд╛рдирд╡реАрдп рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд▓рдЧрддреА рд╣реИ (рдереЛрдбрд╝реА рд╕реА рдЕрддрд┐рд░реЗрдХ рдХреЗ рдХрд╛рд░рдг, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, // рдЦрд┐рд▓рд╛рдбрд╝реА / @ рд╕реНрдЯреИрдХ) рдФрд░ рд░реЛрдмреЛрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпреЛрдЬрдирд╛ рдХрд╛ JSON рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ - рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╡рд┐рддрд░рдг рдХреЗ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП, рдЗрдВрдЬрди рдпреЛрдЬрдирд╛ рдХреЗ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдбреЗрдХ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкрд░рд┐рд╡рд╣рди (URL, рдЖрджрд┐), рдкреЙрдХреЗрдЯ рдХрд╛рд░реНрдб, рдЖрджрд┐ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рддрд░рдг рдХреА рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рддрд╕рд▓реАрдо рдиреЛрдб рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЬреАрддрд╛ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдб рдереЗ (рдпрджрд┐ рдЙрд╕реЗ рдЦреЛрд▓рдирд╛ рдерд╛)ред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рд╡рд┐рддрд░рдг рдХреА рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ рдмреЙрдЯ рдХреЗ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИ рдЬрдм рд╡рд╣ рдкреЛрдХрд░ рд░реВрдо рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдЧреЗрдо рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред
рдЕрдиреНрдп рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА POST рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ (HTTP рдкрд░рд┐рд╡рд╣рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдмрд┐рдирд╛ XML рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреЙрдЯ рд▓рд┐рдЦ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ - рдПрдХ рдкрд░реАрдХреНрд╖рдг рдмреЙрдЯ XML рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкрд╛рд░реНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдпрд╛ рд╕рд░рд▓рддрдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ ("рдЪреЗрдХ / рдХреЙрд▓ рдХрд┐рд╕реА рдХреА рднреА рднрд╛рд╡рдирд╛" рдпрд╛ "рд╢рд░реНрдд / рдЕрдЪреНрдЫреЗ рдХрд╛рд░реНрдб рдмрдврд╝рд╛рдПрдВ")ред
рдпрд╣ рдЕрдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдХреНрд░реБрдкрд┐рдпрд░" рднреА рдмреЙрдЯ рдХреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдмреЙрдЯ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧреБрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╛рда (рдЖрдорддреМрд░ рдкрд░ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЕрдкрд╡рд╛рдж) рдкреЛрдХрд░ рдХрдорд░реЗ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдореИрдВ рдЦреБрдж рдЗрди рд▓реЙрдЧреНрд╕ рдХреЛ рдкрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рдмреЙрдЯ рдХреЗ рдЯреВрдЯрдиреЗ рдкрд░ рдкреНрд░рддрд┐рднрд╛рдЧреА рдХреЛ рдИрдореЗрд▓ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рдмреЗрд╢рдХ, рдмрд╣реБрдд рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдЧреА;)
рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ
рдЦреЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ, рдореИрдВ рд╣рдореЗрд╢рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рд╣реВрдВ:
- рд╡реЗ рд╕рдордп рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рдо рдкрд░ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдВрддрд┐рдо рд╕рдкреНрддрд╛рд╣рд╛рдВрддред - рд╡реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдХреНрд╖рдг рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдореИрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрдпрд╛, рдЬреЛ рдореЗрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрдирд╛ рджреЗрдЧрд╛, рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХред
рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реВ рд╕реЗ рд╣реА рдореИрдВрдиреЗ рдореБрдЦреНрдп рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЛ "рдЕрдВрддрд╣реАрди" рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдСрдирд▓рд╛рдЗрди рдкреЛрдХрд░ рдХреНрд▓рдм рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рд╡рд╣рд╛рдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ,
рдХреБрдЫ рдкреИрд╕реЗ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрдЬ рдкрд░ рдмреИрда рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдордп рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдЪреНрдЪ рджрд╛рдВрд╡ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдмреИрда рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ "рдХреИрдВрдбреА рд░реИрдкрд░" рдЦреЗрд▓рдиреЗ рдХрд╛ рдордЬрд╝рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд░реЛрдмреЛрдЯ рдХреЗ рд▓рд┐рдП - рдпрд╣ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реЗрд╡рд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХреА рд╕реАрдорд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдореИрдВ рд╡рд╣рд╛рдВ рд╢рд╛рдирджрд╛рд░ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдЦреЗрд▓рддрд╛ рд╣реВрдВред
рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреА рддрд░рд╣ рдХреБрдЫ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ - рдкреЛрдХрд░ рдмреЙрдЯреНрд╕ рдХрд╛ рдПрдХ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ, рдЬрд┐рд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реНрддрд░ рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдкреЛрдХрд░ рд░реВрдо рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХреЗ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рджрд┐рди рдХреЗ рд▓рд┐рдП рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП (рдпрд╛ рд╣рд╛рд░рдирд╛ рдерд╛) "рдзрди" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рдВрддреБрд▓рди рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рд╢реБрд░реВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреЛрдХрд░ рд░реВрдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╕рднреА рдмреЙрдЯ рд▓рдЧрд╛рддрд╛рд░ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдеред рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдпрджрд┐ рдмреЙрдЯ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рдкрд╣рд▓реА рдореЗрдЬ рдкрд░ рдмреИрдарддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рди рдкрд░ рдмреЙрдЯ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдмреИрдареЗ (рдпрд╛ рдХрднреА рдирд╣реАрдВ) рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд▓реЗ рдЯреЗрдмрд▓ред
- рдмреЙрдЯ рдЦреЛ рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рд╣реА рдЯреЗрдмрд▓ рд╕реЗ рдЙрда рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЙрд╕ рдкрд░ N рд╡рд┐рддрд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдЦреЗрд▓рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдорд╛рди рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рди рдЦреЗрд▓реЗрдВред
- рдкреЛрдХрд░ рд░реВрдо рдЦреБрд▓реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА "рдЗрд╖реНрдЯрддрдо" рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рддрд╛рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛ рдФрд░ рдЕрднреА рднреА рдРрд╕реА рдЬрдЧрд╣реЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рдлрд╝реЗрдХ рдХреЗ рдмрд╛рдж рд╕реАрдЯреЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рд░реИрдЦрд┐рдХ рд╕рдХреНрд░рд┐рдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдЖрд░реЗрдЦ рдореЗрдВ рдпрд╣ "рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛" рд╣реИ) рд╕рдорд╛рдирд╛рдВрддрд░, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдорд╢реАрди рдкрд░ рдПрдХ рд╕рдорд╛рди рднрд╛рд░ рдФрд░ рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рд╕рдордп рдкрд░ рд╡рд┐рддрд░рдг рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИред
рд╢реНрд░рдорд┐рдХ, рд╕рд╛рдЗрдЯ рдХреА рддрд░рд╣, PHP рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЬрдЧрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рд╣реИ) рдФрд░ PostgfSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рддрд╛рд▓рд┐рдХрд╛ рдХрддрд╛рд░ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп
pg_try_advisory_lock рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реИ, inclред рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдпреЛрдЬрдирд╛рдУрдВ
рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХреНрд╕реЗрд╕ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрдХрд░ рд░реВрдо рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рдХреЛрдб рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ "рдЗрдВрдЬрди" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд╕реАрдорд┐рдд рдкреЛрдХрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реВрдВрдЧрд╛) рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛, "рд╕реАрдЦрдиреЗ" рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рд▓рд╛рдЧреВ рдХрд░рдирд╛ (рдпрд╛рдиреА, рдкрд┐рдЫрд▓реЗ рдЦреЗрд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛), рдФрд░ рдПрдХ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЗрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рднреА рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдЯреЗрдмрд▓ рдкрд░ рдмреИрдардиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЯреЗрдмрд▓ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡реЗ рд▓рдЧрднрдЧ рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╢реБрд░реБрдЖрддреА (рдпрд╛ рд╕рд┐рд░реНрдл рд╡реЗрдм рд╕реЗ рджреВрд░) рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ - рдХреЙрдлреА рдХреА рддрд░рд╣ рднрд╛рд╖рд╛ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реАрдзреЗ рдмреЙрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХреБрдЫ рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рдЗрд╕реЗ рдкреВрд░реНрдг рдЕрд╡рд╕рд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЧреИрд░-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рднреА рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдкрд╛рджрдХ, incl рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ "рд╕рд┐рд░реНрдл рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП", incl рдХреА рдЬрд╛рддреА рд╣реИред рдЗрди рд╕рднреА "рдЧрд╛рдпреЛрдВ" рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рдордп рд╕реАрдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдмреЗрдХрд╛рд░ рд╣реИред рдЧрд┐рдЯ рд▓реЙрдЧ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдлрд░рд╡рд░реА рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рд╣рдо рдЕрдкрдиреА рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдкрд╛рдардХ рдХреЛ рдЦреЗрд▓рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИ, рддреЛ рдкреЛрдХрд░ рд░реВрдо рдХрд╛ рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг
рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рддрд╛
рд╣реИ ред рдФрд░ рдпреВрдЯреНрдпреВрдм рдкрд░ рдЖрдк рдкреАрдПрдЪрдкреА рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдПрдХ
рдЫреЛрдЯрд╛ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЯреВрд░реНрдирд╛рдореЗрдВрдЯ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпреВрдкреАрдбреА [режрел/рейрез/реирежрезрей] рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреЛрд╕реНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдмрд╛рдж рдЬрдореА рдереАред рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕реЗрд╡рд╛ рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рджрд░реНрдЬрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдереЗ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкреАрдПрдо рдкрд░ рд▓рд┐рдЦреЗрдВ, рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдЪреНрдЫреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред