π©βπ» GraphQL ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
GraphQL β ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Facebook Π² 2012 Π³ΠΎΠ΄Ρ ΠΈ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ Π² 2015-ΠΌ. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ RESTful API, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ REST, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΡΠ΅ΡΡΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ HTTP, GraphQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΠΌΡ Π½ΡΠΆΠ½Ρ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
πΊ ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ GraphQL
- ΠΠ°ΠΏΡΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠ²Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅
- Π’ΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°. GraphQL ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠΎΠ³ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ
- ΠΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ REST, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ URL, Π² GraphQL Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π΅Π΄ΠΈΠ½ΡΠΉ endpoint. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ²
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΡΡΠ°ΡΠΈΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , GraphQL ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ (ΠΌΡΡΠ°ΡΠΈΠΈ), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
π ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GraphQL
- ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ, ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
- ΠΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΡΡΡ. GraphQL Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ API-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΠΎΠ²
- ΠΡΠΎΡΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ GraphQL API ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ GraphiQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . GraphQL ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π±ΡΠ΄Ρ ΡΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ API. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
πͺ ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ GraphQL
- Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GraphQL ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠ·ΡΠΊΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
- ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ·-Π·Π° Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ HTTP-ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΡ Π·Π° ΡΠ°Π·, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡ Π΅ΠΌΡ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈ ΡΠΈΡΠΈΠ½Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ²
πͺ ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GraphQL
GraphQL Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ:
- Facebook: ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- GitHub: ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ GraphQL API Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ , ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ
- Shopify: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ GraphQL Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ
π ΠΡΠΈΠΌΠ΅ΡΡ GraphQL Π·Π°ΠΏΡΠΎΡΠΎΠ²
- ΠΠ°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅
{
project(name: "GraphQL") {
tagline
}
}
- ΠΡΠ²Π΅Ρ
{
"project": {
"tagline": "A query language for APIs"
}
}
π€ Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
GraphQL β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅, ΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ