ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π‘Π£ΠΠ EdgeDB 2.0, ΠΊΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π½ΠΈΡ Π³ΡΠ°ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅Π·ΠΈΠΊΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠΈ EdgeQL, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ Rust (ΠΏΠ°ΡΡΠ΅Ρ ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ°ΡΡΠΈ) ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Apache 2.0. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΊΠ° Π·Π° PostgreSQL. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Python, Go, Rust ΠΈ TypeScript/Javascript. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π‘Π£ΠΠ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ (REPL).
ΠΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π°Π½Π½ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ, EdgeDB ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΎΠ±Π΅ΠΊΡΠΈ. ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΡΠ΅Π· ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ (Π΅Π΄ΠΈΠ½ ΠΎΠ±Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π° Π΄ΡΡΠ³ ΠΎΠ±Π΅ΠΊΡ).
type Person { ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ -> str; } ΡΠΈΠΏ Π€ΠΈΠ»ΠΌ { Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ -> str; Π°ΠΊΡΡΠΎΡΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΠ·ΠΊΠΈ -> Π§ΠΎΠ²Π΅ΠΊ; }
ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠ»Π½ΠΎ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ°, ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ EdgeDB, ΠΊΠΎΡΡΠΎ Π΄ΠΎΠ½ΡΠΊΡΠ΄Π΅ Π½Π°ΠΏΠΎΠΌΠ½Ρ Π½Π° ORM, Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° ΡΡ Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° JSON.
ΠΡΠΈΠ³ΡΡΠ΅Π½ΠΈ ΡΠ° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΡΡ Π΅ΠΌΠ° - ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ°, ΠΏΠΎΡΠΎΡΠ΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ esdl ΡΠ°ΠΉΠ», ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βedgedb migration createβ ΠΈ Π‘Π£ΠΠ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ°ΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠΊΡΠΈΠΏΡ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π½ΠΎΠ²Π° ΡΡ Π΅ΠΌΠ°. ΠΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ.
ΠΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΊΠ°ΠΊΡΠΎ Π΅Π·ΠΈΠΊΡΡ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ GraphQL, ΡΠ°ΠΊΠ° ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΡ Π΅Π·ΠΈΠΊ EdgeDB, ΠΊΠΎΠΉΡΠΎ Π΅ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ Π½Π° 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' } ) } Π·Π° ΡΠΈΡΠ»ΠΎ Π² {0, 1, 2, 3} ΡΡΡΠ· ( ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ { number, number + 0.5 } );
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ EdgeQL Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°ΡΠ° ΡΡ
Π΅ΠΌΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βedgedb uiβ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ localhost.
- ΠΠ·ΡΠ°Π·ΡΡ βGROUPβ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΡΡΠ΅ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π½Π° EdgeQL, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ SELECT.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΠ±Π΅ΠΊΡ. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Ρ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡ Π΅ΠΌΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΠ±Π΅ΠΊΡΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, Π²ΠΌΡΠΊΠ²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°ΠΌΠΎ Π½Π° Π°Π²ΡΠΎΡΠ° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π³Π»ΠΎΠ±Π°Π»Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° current_user Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠΏΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
- ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° Π΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° Rust.
- ΠΠ²ΠΎΠΈΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» EdgeDB Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠΈΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ°, ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΏΡΠ΅Π· HTTP, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Ρ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠ° (ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΡΠΏΠ΅ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru