EdgeDB 4.0 DBMS рдХреА рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рд░рд┐рд▓реЗрд╢рдирд▓ рдЧреНрд░рд╛рдлрд╝ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдФрд░ EdgeQL рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ, рдЬреЛ рдЬрдЯрд┐рд▓ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдХреЛрдб рдкрд╛рдпрдерди рдФрд░ рд░рд╕реНрдЯ (рдкрд╛рд░реНрд╕рд░ рдФрд░ рдкреНрд░рджрд░реНрд╢рди-рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧреЛрдВ) рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ PostgreSQL рдХреЗ рдРрдб-рдСрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкрд╛рдЗрдереЙрди, рдЧреЛ, рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред .NET, рдПрд▓рд┐рдХреНрд╕рд┐рд░ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдбреАрдмреАрдПрдордПрд╕ рдкреНрд░рдмрдВрдзрди рдФрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди (рдЖрд░рдИрдкреАрдПрд▓) рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рддрд╛рд▓рд┐рдХрд╛-рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдХреЗ рдмрдЬрд╛рдп, EdgeDB рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рджреВрд╕рд░реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рд╡реНрдпрдХреНрддрд┐ рдЯрд╛рдЗрдк рдХрд░реЗрдВ {рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо: str; } рдореВрд╡реА рдЯрд╛рдЗрдк рдХрд░реЗрдВ {рдЖрд╡рд╢реНрдпрдХ рд╢реАрд░реНрд╖рдХ: str; рдмрд╣реБ рдЕрднрд┐рдиреЗрддрд╛: рд╡реНрдпрдХреНрддрд┐; }
рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛ рддреЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдордЬрдмреВрдд рд╕рдВрдкрддреНрддрд┐ рдЯрд╛рдЗрдкрд┐рдВрдЧ, рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рдкреНрд░рддрд┐рдмрдВрдз, рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд╛рд░реНрдпрд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдПрдЬрдбреАрдмреА рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдХреАрдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рдЬреЛ рдХреБрдЫ рд╣рдж рддрдХ рдУрдЖрд░рдПрдо рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИ, рдореЗрдВ рд╕реНрдХреАрдорд╛ рдХреЛ рдорд┐рд╢реНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рд╡рд┐рднрд┐рдиреНрди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЧреБрдгреЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдФрд░ рдПрдХреАрдХреГрдд JSON рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╕реНрдХреАрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдПрдХ рдЕрд▓рдЧ esdl рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдХреАрдорд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╕ "edgedb рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреНрд░рд┐рдПрдЯ" рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рдФрд░ DBMS рд╕реНрдХреАрдорд╛ рдореЗрдВ рдЕрдВрддрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ред рдирдИ рд╕реНрдХреАрдо. рд╕реНрдХреАрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдФрд░ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдПрдЬрдбреАрдмреА рднрд╛рд╖рд╛, рдЬреЛ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рди рд╣реИ, рджреЛрдиреЛрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд░рдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдмрдХреНрд╡реЗрд░реАрдЬрд╝ рдФрд░ рдЬреЙрдЗрди рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдПрдХ EdgeQL рдХреНрд╡реЗрд░реА рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреНрд╡реЗрд░реА рдХреЗ рднреАрддрд░ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдирджреЗрди рдФрд░ рдЪрдХреНрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рдореВрд╡реА рдЪреБрдиреЗрдВ { рд╢реАрд░реНрд╖рдХ, рдЕрднрд┐рдиреЗрддрд╛: { рдирд╛рдо } } рдлрд╝рд┐рд▓реНрдЯрд░ .рд╢реАрд░реНрд╖рдХ = "рдж рдореИрдЯреНрд░рд┐рдХреНрд╕" рдореВрд╡реА рдбрд╛рд▓реЗрдВ { рд╢реАрд░реНрд╖рдХ: = "рдж рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░рд┐рд╕рд░реЗрдХреНрд╢рдиреНрд╕", рдЕрднрд┐рдиреЗрддрд╛:= ( рд╡реНрдпрдХреНрддрд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдЪреБрдиреЗрдВ .рдирд╛рдо { 'рдХреАрдиреВ рд░реАрд╡реНрд╕', 'рдХреИрд░реА-' рдореЗрдВ рдРрдиреА рдореЙрд╕', 'рд▓реЙрд░реЗрдВрд╕ рдлрд┐рд╢рдмрд░реНрди' } ) }
рдирдпреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ:
- рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рдПрдлрдЯреАрдПрд╕ рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдпреЛрдЧреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ fts::index рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ fts::search() рдлрд╝рдВрдХреНрд╢рди рдЕрдиреБрдХреНрд░рдорд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред рдкрд░рд┐рдгрд╛рдо рдкрд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЙрд╕рдХреЗ рдЦреЛрдЬ рднрд╛рд░ рд╡рд╛рд▓реЗ рдЯреБрдкрд▓реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдЗрдЯрдо рдЯрд╛рдЗрдк рдХрд░реЗрдВ {рдЖрд╡рд╢реНрдпрдХ рдЙрдкрд▓рдмреНрдз: рдмреВрд▓ {рдбрд┐рдлрд╝реЙрд▓реНрдЯ:= рдЧрд▓рдд; }; рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо: str; рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд░рдг: str; рд╕реВрдЪрдХрд╛рдВрдХ fts::рд╕реВрдЪрдХрд╛рдВрдХ рдкрд░ ( fts::with_options( .name, рднрд╛рд╖рд╛ := fts::рднрд╛рд╖рд╛.eng ) ); } res рдХреЗ рд╕рд╛рде := ( fts::search(рдЖрдЗрдЯрдо, 'рдХреИрдВрдбреА рдХреЙрд░реНрди', рднрд╛рд╖рд╛ := 'eng') рдЪреБрдиреЗрдВ ) res.score desc рджреНрд╡рд╛рд░рд╛ res.object {рдирд╛рдо, рд╕реНрдХреЛрд░ := res.score} рдХреНрд░рдо рдЪреБрдиреЗрдВ;
- рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ "рдорд▓реНрдЯреАрд░реЗрдВрдЬ" рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдЖрдВрддрд░рд╛рдпрд┐рдХ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХреА рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛рдУрдВ рдХреЗ рднреАрддрд░ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд░реЗрдВрдЬ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдСрдкрд░реЗрдЯрд░ "рдорд▓реНрдЯреАрд░реЗрдВрдЬ" рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд▓реНрдЯреАрд░реЗрдВрдЬ рдЪреБрдиреЗрдВ([рд░реЗрдВрдЬ(8)]) + рд░реЗрдВрдЬ(10) тАФ рд░реЗрдВрдЬ(1);
- HTTP рдкрд░ GraphQL рдФрд░ EdgeQL рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдорд░реНрдерди рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдФрд░ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдПрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреА рд╣реИ, "рдСрде" рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ OAuth рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдИрдореЗрд▓ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧрд┐рди рдХрд░рддрд╛ рд╣реИред
- рд╣реИрд╢рд┐рдВрдЧ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП hmac, gen_salt рдФрд░ рдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ pgcrypto рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред ext::pgcrypto::digest('рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ', 'sha1'); рдЪреБрдиреЗрдВ
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд╛рдирддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде pg_trgm рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
- рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди рдХрд┐рдП рдЧрдП рд╣реИрдВред рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рд╕рд░реНрд╡рд░ 40% рддрдХ рдХрдо рдХрд┐рдпрд╛ рдЧрдпрд╛ред EdgeQL рдХреНрд╡реЗрд░реА рдкрд╛рд░реНрд╕рд░ рдХреЛрдб рдХреЛ Rust рдореЗрдВ рдкреБрдирдГ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ред
- EdgeQL рдиреЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╕рд╢рд░реНрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ (рдпрджрд┐ ... рддреЛ .. рдЕрдиреНрдпрдерд╛ ...) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╢рд░реНрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ, рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╢рд░реНрдд рдбреАрдПрдордПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХреЛ_рдмрд╛рдЗрдЯреНрд╕(), to_str(), enc::base64_encode рдФрд░ enc::base64_decode рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ "рдХрдм" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдпрджрд┐ рдЧрд┐рдирддреА (рдСрдмреНрдЬреЗрдХреНрдЯ) > 0 рд╣реИ рддреЛ 'рдбреЗрдЯрд╛ рдорд┐рд▓ рдЧрдпрд╛' рдЕрдиреНрдпрдерд╛ 'рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ' рдЪреБрдиреЗрдВ; рдЪреБрдиреЗрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдЪреБрдиреЗрдВ .рдирд╛рдо = 'рдРрд▓рд┐рд╕') ?? (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ {рдирд╛рдо := 'рдРрд▓рд┐рд╕' } рдбрд╛рд▓реЗрдВ); enc::base64_encode(b'hello') рдЪреБрдиреЗрдВ;
- GraphQL рдХреНрд╡реЗрд░реАрдЬрд╝ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдорд╛рдиреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирдпрд╛ рддрд░реАрдХрд╛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ - рдПрдХ рдЕрд▓рдЧ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, __globals__ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИред
рд╕реНрд░реЛрдд: opennet.ru
