рд░рд┐рд▓реЗрд╢рдирд▓ рдЧреНрд░рд╛рдл DBMS EdgeDB 4.0 рдХреЛ рд░рд┐рд▓реАрдЬ

EdgeDB 4.0 DBMS рдХреЛ рд░рд┐рд▓реАрдЬ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рд░рд┐рд▓реЗрд╕рдирд▓ рдЧреНрд░рд╛рдл рдбреЗрдЯрд╛ рдореЛрдбреЗрд▓ рд░ EdgeQL рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ, рдЬрдЯрд┐рд▓ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЕрдиреБрдХреВрд▓рд┐рддред рдХреЛрдб рдкрд╛рдЗрдерди рд░ рд░рд╕реНрдЯ (рдкрд╛рд░реНрд╕рд░ рд░ рдкреНрд░рджрд░реНрд╢рди-рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧрд╣рд░реВ) рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛ PostgreSQL рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдПрдб-рдЕрдирдХреЛ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╕рд┐рдд рднрдЗрд░рд╣реЗрдХреЛ рдЫред рдЧреНрд░рд╛рд╣рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдкрд╛рдЗрдерди, рдЧреЛ, рд░рд╕реНрдЯ рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫрдиреНред .NET, Elixir рд░ TypeScript/Javascriptред DBMS рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд░ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (REPL) рдХреЛ рд▓рд╛рдЧрд┐ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

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

рд╡реНрдпрдХреНрддрд┐ рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН { рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо: str; } рдкреНрд░рдХрд╛рд░ рдЪрд▓рдЪрд┐рддреНрд░ { рдЖрд╡рд╢реНрдпрдХ рд╢реАрд░реНрд╖рдХ: str; рдмрд╣реБ рдЕрднрд┐рдиреЗрддрд╛: рд╡реНрдпрдХреНрддрд┐; }

рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рдХреНрд╡реЗрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдЧрддрд┐ рдмрдврд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдмрд▓рд┐рдпреЛ рд╕рдореНрдкрддреНрддрд┐ рдЯрд╛рдЗрдкрд┐рдЩ, рд╕рдореНрдкрддреНрддрд┐ рдореВрд▓реНрдп рдкреНрд░рддрд┐рдмрдиреНрдз, рдЧрдгрдирд╛ рдЧреБрдгрд╣рд░реВ, рд░ рднрдгреНрдбрд╛рд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдЬрд╕реНрддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкрдирд┐ рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред EdgeDB рд╡рд╕реНрддреБ рднрдгреНрдбрд╛рд░рдг рдпреЛрдЬрдирд╛рдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ, рдЬреБрди рдХреЗрд╣реА рд╣рджрд╕рдореНрдо ORM рдХреЛ рд╕рдореНрдЭрдирд╛ рджрд┐рд▓рд╛рдЙрдиреЗ рдЫ, рдпрд╕рдорд╛ рдпреЛрдЬрдирд╛рд╣рд░реВ рдорд┐рд╢реНрд░рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛, рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрд╣рд░реВрдмрд╛рдЯ рд▓рд┐рдЩреНрдХ рдЧреБрдгрд╣рд░реВ, рд░ рдПрдХреАрдХреГрдд JSON рд╕рдорд░реНрдерди рд╕рдорд╛рд╡реЗрд╢ рдЫред

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

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

рдЪрд▓рдЪрд┐рддреНрд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН { рд╢реАрд░реНрд╖рдХ, рдЕрднрд┐рдиреЗрддрд╛рд╣рд░реВ: { рдирд╛рдо } } рдлрд┐рд▓реНрдЯрд░ .title = "рдж рдореНрдпрд╛рдЯреНрд░рд┐рдХреНрд╕" рдШреБрд╕рд╛рдЙрдиреБрд╣реЛрд╕реН рдЪрд▓рдЪрд┐рддреНрд░ { рд╢реАрд░реНрд╖рдХ := "рдж рдореНрдпрд╛рдЯреНрд░рд┐рдХреНрд╕ рдкреБрдирд░реБрддреНрдерд╛рди", рдЕрднрд┐рдиреЗрддрд╛рд╣рд░реВ := ( рд╡реНрдпрдХреНрддрд┐ рдлрд┐рд▓реНрдЯрд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН .рдирд╛рдо { 'рдХреЗрдиреБ рд░рд┐рднреНрд╕', 'рдХреНрдпрд╛рд░реА- рдПрдиреА рдореЙрд╕, 'рд▓рд░реЗрдиреНрд╕ рдлрд┐рд╕рдмрд░реНрди' } }

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛:

  • рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ, fts рдкреНрд▓рдЧрдЗрди рдорд╛рд░реНрдлрдд рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛред рдХреБрдиреИ рдкрдирд┐ рд╡рд╕реНрддреБрд▓рд╛рдИ рдЦреЛрдЬреА рдпреЛрдЧреНрдп рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдкрд░рд┐рдгрдд рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ fts::index index рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ, рд░ fts::search() рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдмреАрдЪрдорд╛ рдПрдЙрдЯрд╛ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЦреЛрдЬреНрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫред рдирддрд┐рдЬрд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд░реЗрдХреЛ рд╡рд╕реНрддреБ рд░ рдпрд╕рдХреЛ рдЦреЛрдЬ рд╡рдЬрди рд╕рдорд╛рд╡реЗрд╢ рдЯрдкрд▓реНрд╕рдХреЛ рд░реВрдкрдорд╛ рдлрд░реНрдХрд╛рдЗрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА: рдкреНрд░рдХрд╛рд░ рд╡рд╕реНрддреБ { рдЖрд╡рд╢реНрдпрдХ рдЙрдкрд▓рдмреНрдз рдЫ: bool { рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд := false; }; рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо: str; рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд░рдг: str; рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ fts:: index on ( fts::with_options (.name, language := fts::Language.eng ) ); } res рдХреЛ рд╕рд╛рде := ( fts::search (рд╡рд╕реНрддреБ, 'candy corn', language := 'eng') ) рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН res.object {name, score := res.score} рдХреНрд░рдо res.score desc рджреНрд╡рд╛рд░рд╛;
  • рдПрдХ рдирдпрд╛рдБ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ "рдмрд╣реБрд░реЗрдиреНрдЬ" рдердкрд┐рдпреЛ рдЬрд╕рд▓реЗ рдЕрдиреНрддрд░рд╛рд▓ рдЕрдиреНрддрд░рд╛рд▓рд╣рд░реВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрди рдорд╛рдирд╣рд░реВрдХреЛ рдПрдХ рд╡рд╛ рдмрдвреА рджрд╛рдпрд░рд╛рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджрд╛рдпрд░рд╛ рднрд┐рддреНрд░ рдУрднрд░рд▓реНрдпрд╛рдкрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЧрд░рд┐рдиреНрдЫред рдкреНрд░рд╢реЛрдзрди рджрд╛рдпрд░рд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдкрд╣рд┐рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╕рдмреИ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд▓реЗ "рдорд▓реНрдЯреАрд░реЗрдиреНрдЬ" рдкреНрд░рдХрд╛рд░рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред рдмрд╣реБ рджрд╛рдпрд░рд╛ ([рджрд╛рдпрд░рд╛(рео, резреж)]) + рджрд╛рдпрд░рд╛(рез, рел) тАФ рджрд╛рдпрд░рд╛(рей, рек) рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • HTTP рдорд╛ GraphQL рд░ EdgeQL рдорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рддрд┐рдмрдиреНрдз рдЧрд░реНрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдорд░реНрдерди рджреНрд╡рд╛рд░рд╛ рдердкрд┐рдпреЛ рд░ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдпреЛред
  • рдбрд╛рдЯрд╛рдмреЗрд╕ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ рдЕрд▓рдЧ рд░реВрдкрдорд╛ рд╕рдЮреНрдЪрд╛рд▓рди рд╣реБрдиреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛ рд╕реБрд░реБ рдЧрд░реНрди, "рдкреНрд░рдорд╛рдгреАрдХрд░рдг" рд╡рд┐рд╕реНрддрд╛рд░ рдердкрд┐рдПрдХреЛ рдЫ, OAuth рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджреИ рд╡рд╛ рдЗрдореЗрд▓ рд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  • рд╣реНрдпрд╛рд╕рд┐рдЩ рд░ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ hmac, gen_salt рд░ crypt рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЙрдиреЗ pgcrypto рд╡рд┐рд╕реНрддрд╛рд░ рдердкрд┐рдпреЛред ext::pgcrypto::digest ('рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдпреЛ', 'sha1');
  • рд╕реНрдЯреНрд░рд┐рдЩ рд╕рдорд╛рдирддрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрд╕рдБрдЧ pg_trgm рд╡рд┐рд╕реНрддрд╛рд░ рдердкрд┐рдпреЛред
  • рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдореЗрдореЛрд░реА рдЦрдкрдд рдЕрди рдЫ рд╕рд░реНрднрд░ рекреж% рд▓реЗ рдШрдЯрд╛рдЗрдпреЛред EdgeQL рдХреНрд╡реЗрд░реА рдкрд╛рд░реНрд╕рд░ рдХреЛрдб Rust рдорд╛ рдкреБрди: рд▓реЗрдЦрд┐рдпреЛред
  • EdgeQL рд▓реЗ рдердк рдкрд░рд┐рдЪрд┐рдд рд╕рд╢рд░реНрдд рд╡рд╛рдХреНрдп рд░рдЪрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗрдХреЛ рдЫ (рдпрджрд┐ ... рддреНрдпрд╕рдкрдЫрд┐ .. рдЕрдиреНрдп ...)ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд░реНрддрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди, рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рд░ рдореЗрдЯрд╛рдЙрди рд╕рд╢рд░реНрдд DML рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдердкрд┐рдПрдХрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ to_bytes(), to_str(), enc::base64_encode рд░ enc::base64_decodeред рдЯреНрд░рд┐рдЧрд░рд╣рд░реВрд▓рд╛рдИ "рдЬрдм" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫред рдпрджрд┐ рдЧрдгрдирд╛ (рд╡рд╕реНрддреБ) > реж рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рддреНрдпрд╕рдкрдЫрд┐ 'рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рднрдпреЛ' рд╡рд╛ 'рдбреЗрдЯрд╛ рдЫреИрди'; рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлрд┐рд▓реНрдЯрд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдирд╛рдо = 'рдПрд▓рд┐рд╕') ?? (рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН {рдирд╛рдо := 'рдПрд▓рд┐рд╕'}); enc рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН::base0_encode(b'hello');
  • GraphQL рдкреНрд░рд╢реНрдирд╣рд░реВрдорд╛ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдорд╛рдирд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрдиреЗ рдирдпрд╛рдБ рддрд░рд┐рдХрд╛ рдердкрд┐рдпреЛ - рдЫреБрдЯреНрдЯреИ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛, __globals__ рд╡рд╕реНрддреБрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЪрд░рд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдПрдХреЛ рдЫред

    рд╕реНрд░реЛрдд: opennet.ru
DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рднрдПрдХрд╛ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд░рдкрд░реНрджреЛ рд╣реЛрд╕реНрдЯрд┐рдЩ рдЦрд░рд┐рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН ЁЯФе DDoS рд╕реБрд░рдХреНрд╖рд╛, VPS VDS рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд╣рд┐рддрдХреЛ рднрд░рдкрд░реНрджреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдЩ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН | ProHoster