Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ EdgeDB ΠΎΠ±ΡΠ²ΠΈΡ Π°, ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ Π½Π° Gel. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π½ΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ· β Gel 6.0. ΠΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΠΏΠΎΠ΄Π²Π΅ΠΆΠ΄Π°ΡΠΈΡΠ΅ Π°ΡΠΎΡΠΈΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΎΠ΄Π΅Π½ΠΈ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠΌΠ°ΡΠ° βedgeβ, ΠΊΠΎΠ΅ΡΠΎ ΠΊΠ°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° Π΄Π° Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠ°ΡΠΎ Π‘Π£ΠΠ Π·Π° edge ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ Π³ΡΠ°ΡΠΎΠ²Π° Π‘Π£ΠΠ. ΠΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π·Π°ΡΡΠ³Π° ΡΠ°ΠΌΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Π±ΡΠ°Π½Π΄Π°. Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ΅Π»ΠΈΡΠ΅ ΠΈ Π΅ΠΊΠΈΠΏΡΡ ΠΎΡΡΠ°Π²Π°Ρ ΡΡΡΠΈΡΠ΅. Π£ΡΠΈΠ»ΠΈΡΠΈΡΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π² Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ, Π½ΠΎ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Π΅ Π·Π°ΠΏΠ°Π·Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈ ΠΈΠΌΠ΅Π½Π° ΡΡΠ΅Π· ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ° Π½Π°Π΄ PostgreSQL, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΎ-Π³ΡΠ°ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅Π·ΠΈΠΊ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ EdgeQL, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ Rust (ΠΏΠ°ΡΡΠ΅Ρ ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠ°ΡΡΠΈ) ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Python, Go, Rust, .NET, Elixir ΠΈ TypeScript/Javascript. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π‘Π£ΠΠ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ (REPL).
ΠΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ, Π² Gel ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅. ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ (foreign key) Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΠ΅Π· ΡΡΡΠ»ΠΊΠΈ (Π΅Π΄ΠΈΠ½ ΠΎΠ±Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π° Π΄ΡΡΠ³ ΠΎΠ±Π΅ΠΊΡ).
type Person { required name: str; } type Movie { required title: str; multi actors: Person; }
ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΠΎΠ³Π° ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ°, ΠΈΠ·ΡΠΈΡΠ»ΡΠ΅ΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ. ΠΡ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ½Π°ΡΠ° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Gel, ΠΊΠΎΡΡΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΡΠ²Π° ORM, ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° ΡΡ Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° JSON. ΠΠ° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ.
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ β ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ°, Π·Π°Π΄Π°Π΄Π΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ esdl ΡΠ°ΠΉΠ», Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° βgel migration createβ ΠΈ Π‘Π£ΠΠ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ°ΡΠ° ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡ Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΡ Π΅ΠΌΠ°. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ°ΡΠ°.
ΠΠ° Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΅Π·ΠΈΠΊΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° GraphQL ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΅Π·ΠΈΠΊ EdgeQL, ΠΊΠΎΠΉΡΠΎ Π΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ Π½Π° SQL Π·Π° ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΏΠΈΡΡΡΠΈ, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΡΠ° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ, Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ JOIN, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎ EdgeQL Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ°Π· Π² Π΄ΡΡΠ³ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΈΠΊΠ»ΠΈ.
select Movie { title, actors: { name } } filter .title = Β«The MatrixΒ» insert Movie { title := Β«The Matrix ResurrectionsΒ», actors := ( select Person filter .name in { βKeanu Reevesβ, βCarrie-Anne Mossβ, βLaurence Fishburneβ } ) }
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Gel 6.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈ SQL Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π‘Π£ΠΠ ΡΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Gel ΠΈΠ»ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° PostgreSQL ΠΏΡΠΎΡΠΎΠΊΠΎΠ». ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° SQL ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ Gel Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π³Π° ΠΌΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ ΠΎΡ SQL, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ°ΡΠΈ SQL ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ SQL ORM. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ EdgeQL, ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ Π² SQL, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² EdgeQL, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ²Π½ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΡΡΠΎ, ΠΊΠΎΡΡΠΎ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°ΠΌΠΏΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ² Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ·. ΠΡΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡ EdgeDB 5.x Π΄ΠΎ Gil 6.0 Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°ΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄, Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ Gil 6.x Π΄ΠΎ 7.0 ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°ΠΌΠΏΠ° Π½ΡΠΌΠ° Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
- ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΡΡΠ΅Π· ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ sys::QueryStats.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° PostgreSQL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ PostGIS Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° std::net Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ HTTP) Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ.
- Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ext::auth Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° OpenID Connect.
- Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ext::ai Π΅ ΠΎΠ±Π½ΠΎΠ²Π΅Π½ ΡΠΏΠΈΡΡΠΊΡΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ OpenAI, Anthropic ΠΈ Mistral.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° gel.
- Π EdgeQL Π΅ ΠΎΠΏΡΠΎΡΡΠ΅Π½Π° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ°ΡΠ° Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΡΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·Π΅Π»ΠΈΡΠ΅ Π½Π° Π³ΡΠ°ΡΠ°.
- Π gel.toml Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° "[[watch]]", ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΏΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- Π ORM Drizzle Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Gel.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
