рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХрд┐ рд░рд╕реНрдЯ рдХреА рд╣рд┐рдореНрдордд рдХрд┐рд╕ рд░рдВрдЧ рдХреА рдереАред рдореИрдВрдиреЗ рдЧреЛ рдкрд░ рдПрдХ рд╢реМрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрдард╛рдпрд╛, рдлрд╛рд╕реНрдЯрд╣рдЯ рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рдЧрдпрд╛: рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдЕрдЪреНрдЫрд╛, рдХрдо рд╕реЗ рдХрдо рд╕рдорд░реНрдерди рдХрд┐рдпрд╛? рдЙрда рдЧрдпрд╛ред рдЪрд▓рд╛ рдЧрдпрд╛, рджреЗрдЦрд╛ рдЧрдпрд╛ рдХрд┐ рдЯреЗрдХрд╣рдореНрдкрд╛рд╡рд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдлрд╛рд╕реНрдЯрд╣рдЯ рдХрд╣рд╛рдБ рдмреИрдарддрд╛ рд╣реИред рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ: рдФрд░ рд╡рд╣рд╛рдВ рдЙрдкрд╡рд╛рд╕ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдЖрдзреЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдиреЗрддрд╛ рдХреНрдпрд╛ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ - рдХреБрдЫ рд░рд╕реНрдЯ рдкрд░ рдХреБрдЫ рдПрдХреНрдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдПред рдХреНрдпрд╛ рджрд░реНрдж рд╣реИ?
рдпрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреА рдмрд╛рд╣реЛрдВ рдХреЛ рдореЛрдбрд╝реВрдВрдЧрд╛, рдлрд░реНрд╢ рдкрд░ (рддреАрди рдмрд╛рд░) рдореЗрд░реЗ рд╕рд┐рд░ рдХреЛ рдЯрдХрд░рд╛рдКрдВрдЧрд╛ рдФрд░ рдЪрд┐рд▓реНрд▓рд╛рдКрдВрдЧрд╛: "рд╣реЗрд▓реЗрд▓реБрдЬрд╛рд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд╕реНрдЯ рдПрдХ рд╕рдЪреНрдЪрд╛ рджреЗрд╡рддрд╛ рд╣реИ, рдореИрдВ рдкрд╣рд▓реЗ рдХрд┐рддрдирд╛ рдЕрдВрдзрд╛ рдерд╛!"ред рд▓реЗрдХрд┐рди рдпрд╛ рддреЛ рд╣реИрдВрдбрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ, рдпрд╛ рдорд╛рдереЗ рдХреЛ рдкрдЫрддрд╛рд╡рд╛ рд╣реЛрддрд╛ рдерд╛ ... рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдЧреЛрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдФрд░ рд░рд╕реНрдЯ рдореЗрдВ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдорд┐рд▓рд╛ред рдЗрд╕реЗ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛:
- рдХреНрдпреЛрдВ рд╕рднреА TechEmpower рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рд░рд╕реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╣реИ,
- рдХреИрд╕реЗ рдЬрд╛рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рдмрддрд╛ рджреВрдВрдЧрд╛ред
TechEmpower рдлреНрд░реЗрдорд╡рд░реНрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рдХреЛрдИ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рдХрднреА-рдХрднреА рджреЛрд╕реНрддреЛрдВ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реИ, "рдореИрдВ рддреЗрдЬрд╝ рд╣реВрдБ," рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ TechEmpower рдлреНрд░реЗрдорд╡рд░реНрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реНрдерд╛рдиред
рд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рдбрд┐рдЬрд╛рдЗрди рд╣реИ: рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд┐рд▓реНрдЯрд░, рд░рд╛рдЙрдВрдб, рд╕реНрдерд┐рддрд┐ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЯреИрдм рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЙрджрд╛рд░ рд╣рд╛рде рд╕реЗ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВред рдЗрддрдирд╛ рдЙрджрд╛рд░ рдФрд░ рд╡реНрдпрд╛рдкрдХ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░рддреЗред рд▓реЗрдХрд┐рди рдпрд╣ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЙрдирдХреЗ рдкреАрдЫреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧреА рд╣реИред
рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рджрд╛ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!" рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдПред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓реЗрдЦрдХ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рджреЗрддреЗ рд╣реИрдВ: рд╣рдо рдкрд╣рд▓реЗ рд╕реМ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред рдорд╛рдорд▓рд╛ рд╕рд╣реА рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд▓реЗрдЯреЗрдХреНрд╕реНрдЯ рджреЗрдирд╛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдиреЗрддрд╛ рдПрдХ рддрдВрдЧ рд╕рдореВрд╣ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред
рдкрд╛рд╕ рдореЗрдВ, рдЙрди рдмрд╣реБрдд рдЯреИрдм рдореЗрдВ, рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ (рдкрд░рд┐рджреГрд╢реНрдп) рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рд╕рд╛рдд рд╣реИрдВ, рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдпреЗ рдкрд░рд┐рджреГрд╢реНрдп рди рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг http рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди, рдпрд╛ рдЬреЗрдиреНрд╕рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рд╣реЛрддрд╛ рд╣реИред
рднреМрддрд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░, рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╣реИрдВред рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ, рдпрд╣ "рдЖрдкрдХреЗ" рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдИ: "рдХреНрдпреЛрдВ рд╕рдм рдХреБрдЫ SO SO рд╕рд╛рджрд╛ рд╕реЗ рдЕрд▓рдЧ рд╣реИ?"ред рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ, рдиреЗрддрд╛ рдПрдХ рддрдВрдЧ рд╕рдореВрд╣ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рд░реНрдЬрд┐рди рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдпрд╣ рдПрдХ рд╕реНрдерд┐рд░ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рджрд┐рдЦрд╛рддрд╛ рд╣реИред рд╢реИрддрд╛рдиред
рдПрдХ рдФрд░ рд╡рд┐рд╕рдВрдЧрддрд┐: рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рдзрд╛рдиред рдЗрд╕реЗ рдПрдХреНрд╕ 4 рдПрдХреНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрд╕рдХрд╛ рдХреЛрдб рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдо рдерд╛ред рдЬрд╛рд╡рд╛ рд░рдирдЯрд╛рдЗрдо, JDBC рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдмрд╛рдИрдЯрдХреЛрдб рдФрд░ рдЧреНрд▓реВрдЬрд╝ рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡реЗ рд╕рдЪрдореБрдЪ рдЗрд╕реЗ рд▓реЗ рдЧрдП - рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬрд╛рд╡рд╛ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдкреАрд▓рд╛ рдЪреЗрд╣рд░реЗ рдХреА рдЪрд╛рд▓ рдХреА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред
рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИ
рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб GitHub рдкрд░ рд╣реИред рд╕рдм рдХреБрдЫ рдПрдХ рдПрдХрд▓ рднрдВрдбрд╛рд░ рдореЗрдВ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЖрдк рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рд╕реАрдзреЗ GitHub рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ 300 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рдеред рдПрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╛рд╕ рд╣реИрдВ, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдХреЛрдб рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдЯреАрдо рдХрд╛ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛрдб рдЖрдкрдХреЗ рдХреНрд╖рд┐рддрд┐рдЬ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЬрдЧрд╣ рд╣реИред рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдЧ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореБрдЭреЗ рд╡рд╣рд╛рдБ рдкрд░ рдкрдЫрддрд╛рд╡рд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдмрд╣реБрдд рдХреБрдЫ рд╕реАрдЦрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬрдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рд░рд╕реНрдЯ рд╕реЗ рдкрд╣рд▓реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рдЕрд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рд╕реА, рд╕реА ++, рдбреА рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рднреА рд▓реЗрдЦ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рдкреАрдбрд╝рд╛ рдХреЗ рд╕рд╛рде рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдШрдордВрдб, рдмрдХрд╡рд╛рд╕ рдФрд░ рдореВрд░реНрдЦрддрд╛ рдХреБрдЫ рдФрд░ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рдЬрдмрдХрд┐ Gascogne рдЬрдВрдЧред рдХрднреА-рдХрднреА рдЙрдиреНрд╣реЗрдВ рдЗрддрдирд╛ рджреВрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рдЕрдкреНрд░рд╕реНрддреБрдд рд╡реНрдпрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ рдпрд╛ рдХреБрдЫ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╕реНрддреВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд: "рдХреНрдпреЛрдВ, рдХреНрдпреЛрдВ, рдХреНрдпреЛрдВ рдЗрди рд╕рднреА рдкреНрд░рддреАрдХреЛрдВ!"
рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдЦреЛрд▓рдирд╛ рдбрд░рд╛рд╡рдирд╛ рдерд╛ред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд░рд╕реНрдЯ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдХреЛ рдЗрддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд░рд╕реНрдЯ рдХреЛ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЯрд┐рдВрдХрд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рд▓рдЧрднрдЧ рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХрд▓рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рддрд╛ рд╣реИред рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордпред рдЕрдЧрд░ рдореИрдВ рдбреА'рдЖрд░реНрдЯрдЧрди, рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рд╕рд┐рд░реНрдл рдПрдХ рдХрд▓рдЧреАрджрд╛рд░ рд╣реЛрддрд╛, рддреЛ рдореИрдВ рдЧрд╕реНрдХрдиреА рдХреЗ рд▓рд┐рдП рд░рд╡рд╛рдирд╛ рд╣реЛ рдЬрд╛рддрд╛, рдФрд░ рдПрдХ рд╣рдЬрд╝рд╛рд░ рд╢реИрддрд╛рди рдирд┐рд╕реНрддреЗрдЬ рд╣реЛ рдЬрд╛рддреЗред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрд░ рджрд┐рдЦрд╛рдпрд╛ред рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдЪрд╛рдп рдкреАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрдк рднреА рдирд╣реАрдВ: рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░, рдкрд╣рд▓реЗ рд╕рдВрдХрд▓рди рдореЗрдВ рд▓рдЧрднрдЧ 20 рдорд┐рдирдЯ рд▓рдЧреЗред рдлрд┐рд░, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЕрдЧрд▓реЗ рдмрдбрд╝реЗ рдЕрдкрдбреЗрдЯ рддрдХред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд╕реНрд╡рдпрдВ рдЬрдВрдЧ рдирд╣реАрдВ рд╣реИ?
рдирд╣реАрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдирд╣реАрдВред
рдмреЗрд╢рдХ, рд░рд╕реНрдЯ рдПрдХ рдЕрджреНрднреБрдд рднрд╛рд╖рд╛ рд╣реИред рд╢рдХреНрддрд┐рд╢рд╛рд▓реА, рд▓рдЪреАрд▓рд╛, рдЖрджрдд рдФрд░ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ред рд▓реЗрдХрд┐рди рднрд╛рд╖рд╛ рд╕реНрд╡рдпрдВ рддреЗрдЬ рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦреЗрдЧреАред рднрд╛рд╖рд╛ рдЙрдкрдХрд░рдг рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрдгрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ - рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рджреЗрдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╕рд░рд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм, рдлрд╛рд╕реНрдЯрдЯреИрдк рдФрд░ рдПрдХ рджрд░реНрдЬрди рдЕрдиреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рдлреА рддреБрд▓рдиреАрдп рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд░рд╕реНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рдХреА рддрдХрдиреАрдХреА рдХреНрд╖рдорддрд╛ рд╣реИред
рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рд╣реА, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, "рджреЛрд╖" рд╣реИ: рдПрдХ рддреЗрдЬ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ, рдЙрддреНрдХреГрд╖реНрдЯ рдЙрддреНрдкрд╛рджред рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреЗрд╢рди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдЕрдЪреНрдЫрд╛ рд╣реИ - рдпрд╣ рднреА рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
рдХреЛрдб рдореЗрдВ рдереЛрдбрд╝рд╛ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рддреАрди рдореБрдЦреНрдп рдЕрдВрддрд░реЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ (рдЬреЛ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ) рдиреЗ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрдЯрд┐рдХреНрд╕ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдорджрдж рдХреА:
- рдкрд╛рдЗрдкрд▓рд╛рдЗрдЬреНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдХ рдЯреЛрдХреЛ-рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдСрдкрд░реЗрд╢рди рдореЛрдб;
- рдЧреЛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдПрдХ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд░рд╕реНрдЯ рдЯреЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХрд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
- рдХрдИ UPDATE рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд╡реЗрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдПрдХрд▓ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХреНрдЯрд┐рдХреНрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ред
рдХрдиреНрд╡реЗрдпрд░ рдореЛрдб рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд╣реИ?
рдпрд╣рд╛рдБ tokio-postgres рдкреНрд░рд▓реЗрдЦрди (PostgreSQL рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд) рд╕реЗ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ:
Sequential Pipelined | Client | PostgreSQL | | Client | PostgreSQL | |----------------|-----------------| |----------------|-----------------| | send query 1 | | | send query 1 | | | | process query 1 | | send query 2 | process query 1 | | receive rows 1 | | | send query 3 | process query 2 | | send query 2 | | | receive rows 1 | process query 3 | | | process query 2 | | receive rows 2 | | | receive rows 2 | | | receive rows 3 | | | send query 3 | | | | process query 3 | | receive rows 3 | |
Pipelined (pipelined) рдореЛрдб рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ PostgreSQL рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд▓реА рдХреНрд╡реЗрд░реА рднреЗрдЬрддрд╛ рд╣реИ рдЬрдмрдХрд┐ PostgreSQL рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рдорд╛рди рдЕрдиреБрдХреНрд░рдо рдХреЛ рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рдбреБрдкреНрд▓реЗрдХреНрд╕ рд╣реИ (рднреЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ), рддреЛ рдпрд╣ рд╕рдордп рдереЛрдбрд╝рд╛ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреЛрдХрд┐рдпреЛ-рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд╛ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рджреНрд╡реИрдз рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рд╛ рдЧрдпрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ PostgreSQL рдХреНрд▓рд╛рдЗрдВрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ SQL рдХреНрд╡реЗрд░реА рдореЗрдВ рдХрдИ рд╕рдВрджреЗрд╢ (Parse, Bind, Execute, рдФрд░ Sync) рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдПрдХрд▓ рдкреНрд░рд╢реНрди рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рднреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЛрдб рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛ред
рдФрд░ рдпрд╣ рдЧреЛ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?
рдХреНрдпреЛрдВрдХрд┐ рдЧреЛ рдЖрдорддреМрд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╣реА SQL рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдк рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реАрд░рд┐рдпрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рднреА рдХрдо рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдПрдХрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рддреАрди рдмрд╛рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдЬреНрдб рдХрд░реЗрдВ:
| Connection | Connection 2 | Connection 3 | PostgreSQL | |----------------|----------------|----------------|-----------------| | send query 1 | | | | | | send query 2 | | process query 1 | | receive rows 1 | | send query 3 | process query 2 | | | receive rows 2 | | process query 3 | | | receive rows 3 | |
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд░реНрдордкрддреНрд░ (рдХрдиреНрд╡реЗрдпрд░ рдореЛрдб) рдореЛрдордмрддреНрддреА рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдХреЗрд╡рд▓ рдЙрдЪреНрдЪ рд▓реЛрдб рдХреЗ рддрд╣рдд PostgreSQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИ?
рдпрд╣рд╛рдБ рдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ PostgreSQL рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред
рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдмрд╛рдпрд╛рдБ рд╕рдореВрд╣ рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ PostgreSQL рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЙрджрдп рдФрд░ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

( рдкреЗрд░рдХреЛрдирд╛ рдкрдж рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд )
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, PostgreSQL рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рддреЗрдЬреА рд╕реЗ рдЧрд┐рд░ рд░рд╣рд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпрдХреНрд╖ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдирд╛ "рдореБрдХреНрдд" рдирд╣реАрдВ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреЛрд▓рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕реЗрд╡рд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рдкрд░ PostgreSQL рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде "рд╕рд╣рдордд" рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрд╕реЗрд▓ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдиреНрд╣реЗрдВ pgbouncer рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдУрдбрд┐рд╕реА рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛ред
рддреЛ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдХреНрдпреЛрдВ рддреЗрдЬ рдерд╛?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ "рдЫрдд" рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реИред рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рд░реНрдб, рдпрд╛рд░реНрдб) рднреА рдмрд╣реБрдд, рдмрд╣реБрдд рдЙрддреНрдкрд╛рджрдХ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдпрд╣ рдмрдВрдж рдЖрдирд╛ рд╕рдВрднрд╡ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдкрд░ рдПрдХ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб PostgreSQL рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИред
рдХрдо рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рди, рддреЗрдЬрд╝ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрд╕реЗрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдКрдкрд░ рдЧреНрд░рд╛рдлрд╝ рджреЗрдЦреЗрдВ)ред
Pipelined рдореЛрдб (tokio-postgres) рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП PostgreSQL рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред HTTP рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рдЕрдкрдиреЗ SQL рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдбрдВрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдореЗрдВ рд▓рд╛рдЗрди рдЕрдк рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдордЬрд╝реЗрджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рджреЗрд░реА рдХрдо рд╣реЛрддреА рд╣реИ, рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рд╣реЛрддрд╛ рд╣реИред рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдПрдХ рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред
рддреЛ рдЖрдкрдХреЛ рдкреВрд▓ рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдЦреБрд╢реА рдФрд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЧрддрд┐ рддреБрд░рдВрдд рдЖ рдЬрд╛рдПрдЧреА?
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╣реА рдирд╣реАрдВред
рдЬрдм рдХрдиреНрд╡реЗрдпрд░ рдореЛрдб рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧрд╛
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреАрдо PostgreSQL рд▓реЗрдирджреЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреАред
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ, рд▓реЗрдирджреЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЛрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд▓реЗрдирджреЗрди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╡реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдпрджрд┐ рдмреИрдХрдПрдВрдб рдХреЛрдб рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕рд┐рдХ рд▓реЗрдирджреЗрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдЦреЛрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗ рдЧрдП рд╕рднреА рдЖрджреЗрд╢ рдЗрд╕ рд▓реЗрдирджреЗрди рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдЪреВрдВрдХрд┐ PostgreSQL рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд▓реЗрдирджреЗрди рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░ http рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдП рдЧрдП sql рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЙрдирдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЗ рд╕рд╛рде рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдФрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рддреЛ рд╣реИрд▓реЛ рд▓реЗрдирджреЗрди - рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЕрд▓рд╡рд┐рджрд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдЙрдкрдпреЛрдЧред рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рдЕрдиреНрдп http рдЕрдиреБрд░реЛрдз рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд▓реЗрдирджреЗрди рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ http рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛ред рд░рд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВ, рдФрд░ рдПрдХ рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЕрд▓рдЧ рдЬрдВрдЧ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рдЖрдк рд╕реНрд╡рд╛рдж, рд░рдВрдЧ, рдЧрдВрдз рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рдУ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЬреЗрдирд░рд┐рдХ рдХреА рд╢рдХреНрддрд┐, рд╣рд╛рдБред
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ: рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдореИрдВрдиреЗ рдЬрд┐рд╕ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдирджреЗрди рдирд╣реАрдВ рдЦреБрд▓рд╛ред рдпрд╣ рд╕рд╡рд╛рд▓ рдмрд╕ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛрдб рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдФрд░ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рд┐рдЪрд╛рд▓рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рд╕рд░реНрд╡рд░ рдХрдиреЗрдХреНрд╢рди рдкреНрд░рддрд┐ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд╢рд╛рдпрдж рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рдирд┐рдХрд▓рд╛ред
рдХреНрдпрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ?
рд╣рд╛рдВред
рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд╛рде рд╣реА рдорд╛рдкрджрдВрдб рдЬреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рдореНрди (рдереЛрдбрд╝рд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд) рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
let mut worlds = Vec::with_capacity(num);
рд╕рдм рдХреБрдЫ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЙрдиреНрдЪ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ PostgreSQL рдХреЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ-рдПрдХ рдХрд░рдХреЗред рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ред рдХреЛрдИ рдЕрдкрд░рд╛рдз рдирд╣реАрдВред
рдРрд╕рд╛ рдХреНрдпреЛрдВ? рдареАрдХ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рдореЗрдВ (рдпрд╣ рд╕рдВрдкрд╛рджрдХреАрдп рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ 18 рд╡реЗрдВ рджреМрд░ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛) async / рдЗрдВрддрдЬрд╛рд░ рдХрд╛ рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдмрд╛рдж рдореЗрдВ рд░рд╕реНрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдФрд░ рд╡рд╛рдпрджрд╛ num
рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ "рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ" рднреЗрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЬрдмрдХрд┐ PostgreSQL рдкрд╣рд▓реА SQL рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдЗрд╕реЗ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ HTTP-рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд▓реМрдЯрддрд╛ рд╣реИ рдЬрдм рд╕рднреА SQL-рдХреНрд╡реЗрд░реАрдЬрд╝ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
PostgreSQL рдХреЗ рд▓рд┐рдП, рдмреЛрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд╕рдВрджрд░реНрдн (рдХрдиреЗрдХреНрд╢рди) рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рдХреНрд╡реЗрд░реА рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЬрд╛рддреА рд╣реИред рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЛрдб рдХреЗ рдлрд╛рдпрджреЗ (рджреЗрдЦреЗрдВ рдЯреЛрдХреЛ-рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рд╕реЗ рдЖрд░реЗрдЦ) рдПрдХ рднреА HTTP рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╢реЛрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдХреНрдпрд╛?
рдмреИрдЪ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ PostgreSQL рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ SQL рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп (рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреНрд╡реЗрд░реА) рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХрдИ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ: рдкрд╛рд░реНрд╕, рдмрд┐рдВрдж, рдПрдХреНрд╕рдХреНрдпреВрдЯ рдФрд░ рд╕рд┐рдВрдХред рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рд╕рдВрджреЗрд╢ рдПрдХ рдЖрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдХреНрд╡реЗрд░реАред
рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмреАрдЪ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдЕрдиреБрд░реЛрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╣реИ: рд╡реЗ рд╕реНрд╡рдпрдВ рдХрдорд╛рдВрдб рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рд╕рд░рд▓реАрдХреГрдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ SQL рдХреНрд╡реЗрд░реА рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреНрд╡реЗрд░реА рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреЗрдЬреЗ рдЧрдП рдПрдХрд▓ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрдИ рдЯреЗрдмрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдерд╛ред
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдИ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд▓рд┐рдЦрдиреА рд╣реЛрдВрдЧреАред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдПрдХ рдПрдХрд▓ рдХреНрд╡реЗрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдореЗрдВ рдЙрддреНрдкрдиреНрди рдЕрдиреБрд░реЛрдз рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
UPDATE world SET randomnumber = temp.randomnumber FROM (VALUES (1, 2), (2, 3) ORDER BY 1) AS temp(id, randomnumber) WHERE temp.id = world.id
рдЬрд╣рд╛рдБ (1, 2), (2, 3)
рд▓рд╛рдЗрди рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдЬреЛрдбрд╝реЗ / рд░реИрдВрдбрдордмрд░реНрди рдлрд╝реАрд▓реНрдб рдХреЗ рдирдП рдореВрд▓реНрдп рд╣реИрдВред
рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИ, рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рддреИрдпрд╛рд░реА (рдкреВрд░реНрд╡) рдЕрдиреБрд░реЛрдз рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИ, рдФрд░ рд╕реНрд░реЛрдд рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рд╣реА), SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХрд╛ рдХреЛрдИ рдЦрддрд░рд╛ рдирд╣реАрдВ рд╣реИ, рдбреЗрдЯрд╛ рдмрд╕ SQL тАЛтАЛрд╢рд░реАрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдлрд╡рд╛рд╣ рд╣реИред рдореИрдВ рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╕реЗ рдорд┐рд▓рд╛: "рдХреЗрд╡рд▓ рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рддреЗрдЬ рдФрд░ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред" рдореИрдВ рдЙрд╕реЗ рдмрд╣реБрдд рд╕рдВрджреЗрд╣ рдХреЗ рд╕рд╛рде рджреЗрдЦрддрд╛ рд╣реВрдВред рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реБрдП PostgreSQL рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬреЗ рдЧрдП рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЖрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдн рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ SQL рдкреНрд░рд╢реНрдиреЛрдВ (рдЬреЛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ) рдХреЗ рд▓рд┐рдП, рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдХреНрд╡реЗрд░реА рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рддрдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛, рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, SQL рдХреНрд╡реЗрд░реА рдХрд╛ рд╢рд░реАрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдбреЗрдЯрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╣реА рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╕рдВрдпреЛрдЬрдиред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА, рдпрд╣ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рд╡рд┐рдХрд▓реНрдк PostgreSQL рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ: pgx (Go рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ) рдХрдорд╛рдВрдб рдХреЗ рдПрдХ рдкреИрдХреЗрдЬ, JDBC рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ - рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдПрдХ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рджреЛрдиреЛрдВ рд╕рдорд╛рдзрд╛рди рдПрдХ рд╣реА рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рддреЗрдЬ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рддреЛ рдЬрдВрдЧ рдХреНрдпреЛрдВ рдкреНрд░рдореБрдЦ рд╣реИ?
рдиреЗрддрд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЬрдВрдЧ рдирд╣реАрдВ рд╣реИред рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЯреЗрд╕реНрдЯ рдЕрдЧреНрд░рдгреА рд╣реИрдВ - рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреА "рдЫрдд" рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЙрдХреЗрдЯ рдФрд░ рд▓реЛрд╣реЗ рд╣реИрдВ, рдЬреЛ рдорд╛рдореВрд▓реА рдкрджреЛрдВ рдкрд░ рд░рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓, рдпрд╣ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рд╣реИ рдЬреЛ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред
рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдФрд░ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг "рдЧреБрдкреНрдд" рд╕рд░реНрд╡рд░, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рд╕рднреА TechEmpower рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА - рдпрд╣ рдХреИрд╕реЗ PostgreSQL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдкреНрд░рддрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕реНрдЯреНрд░реАрдо PostgreSQL рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЦреБрд▓рддрд╛ рд╣реИред рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдХрдо рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рди, рддреЗрдЬреА рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрдпреВрдПрд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рдЙрд╕реА рд╕рдордп, рд▓реЛрдб рдХреЗ рддрд╣рдд, рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ (рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрдо рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдмрдврд╝рддреЗ рд╣реИрдВ)ред
рдЬрд╣рд╛рдВ рдЧрддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡рддрдГ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░реНрд╕ (рдЬреИрд╕реЗ рдХрд┐ рдкрдЧрдмреЙрдиреНрд╕рд░ рдФрд░ рдУрдбрд┐рд╕реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рддреЗрдЬ рд╣реЛрдЧрд╛ред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ рддреЗрдЬ рдерд╛ред
рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдХреИрд╕реЗ async / рдкреНрд░рддреАрдХреНрд╖рд╛рд░рдд рд╣реИ, рдЬреЛ рд░реБрд╕реНрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рдПрдХреНрдЯрд┐рдХреНрд╕-рд╡реЗрдм рдХреЗ рд╕рд╛рде рд╣рд╛рд▓рд┐рдпрд╛ рдирд╛рдЯрдХ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд░рд╕реНрдЯ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдмрджрд▓реЗрдВрдЧреЗред