ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΊ Π±Π°Π½ΠΊ
ΠΠΎΠΊΠΈ ΠΈ ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ, ΠΊΡΠΎ Π½Π°ΡΠΈΠ½Π°Π» ΠΏΠΈΡΠ°ΡΡ ΡΠ½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ, ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Ρ ΡΡΠΏΠΊΠΈΠΌ ΡΠ΅ΡΡΠ°ΠΌ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π½Π΅Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ JosΓ© Valim β ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ° Elixir β Π²ΡΡΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΡ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΡΡΠ»ΡΠΌΠΈ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΌΠΎΠΊΠΎΠ² Π² Twitter:
ΠΠΎΠΊ β ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠΈΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΊ?
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΠΎΠΉ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: ΠΌΠΎΠΊ β Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠΈΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π― ΡΠ΄Π΅Π»Π°Ρ Π°ΠΊΡΠ΅Π½Ρ Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅, Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΌΠΎΠΊ β ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, Π° Π½Π΅ Π³Π»Π°Π³ΠΎΠ» [Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ, Π³Π»Π°Π³ΠΎΠ» mock Π²Π΅Π·Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ «Π·Π°ΠΌΠΎΠΊΠ°ΡΡ» β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².].
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ API
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ: Π²Π½Π΅ΡΠ½Π΅Π΅ API.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Twitter API Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Phoenix ΠΈΠ»ΠΈ Rails. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π΄Π΅Π»Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ API. ΠΡΠ·ΠΎΠ² Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ API ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅:
ΠΠ°Π»Π΅Π΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π΅ΡΠ΅ΡΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ½ΠΈΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ². ΠΡΠ΅ΠΌΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅?
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΊ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ, Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΈ ΡΠ΅ΡΡΡ Π² Elixir ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
Π Elixir Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΠΈΡ ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Twitter’a Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ:
Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Twitter Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ. Sandbox ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π΅ΡΠ»ΠΈ Twitter ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ sandbox Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΡΠ° Π·Π°ΠΌΠΎΠΊΠ°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ HTTPClient ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
ΠΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΡΠΈΡΡΡΠΌ, Π° ΡΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ HTTPClient Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ. MyApp.Twitter.InMemory ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠΊΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΈ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ!
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ²
ΠΠΎΠΊ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° Π·Π½Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠ²Π½ΠΎ. ΠΠ½Π°ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΊ Π½Π°ΡΠ½Π΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠ΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ.
ΠΡ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ ΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Twitter API ΠΈ Π»ΡΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΡΠ²Π½ΡΠΌΠΈ. Π Elixir ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ²Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ behaviour:
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ @behaviour MyApp.Twitter Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΈ Elixir ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ API.
Π Elixir ΠΌΡ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΡ Π½Π° ΡΠ°ΠΊΠΈΠ΅ behaviours ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ: ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Plug, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π² Ecto, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ Phoenix channels ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡ
Π‘Π½Π°ΡΠ°Π»Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ, Π³ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ ΡΠ°ΠΊ:
ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ HTTPClient ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ². Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ HTTP:
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΊΠΈΡ Π³ΡΠ°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. Π‘Π»ΠΈΡΠΊΠΎΠΌ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΡΡ Ρ ΡΡΠΏΠΊΠΈΠΌΠΈ, Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±ΡΠ΄ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° production. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅Ρ, ΠΈ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΡΠΎΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ².
ΠΠΈΡΠ½ΠΎ Ρ Π±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» MyApp.Twitter.HTTP Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Twitter API, Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΡΠΈ ΡΠ΅ΡΡΡ ΠΏΠΎ-Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π³ΠΎΠ² Π² ExUnit β Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Elixir β ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
ΠΡΠΊΠ»ΡΡΠΈΠΌ ΡΠ΅ΡΡΡ Ρ Twitter API:
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΊΠ»ΡΡΠΈΠΌ ΠΈΡ Π² ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ³ΠΎΠ½:
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ:
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠ° HTTPClient ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΡ dummy-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Twitter API. bypass β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΡΠΎΠΌ ΠΏΠΎΠΌΠΎΡΡ. ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π― Π±Ρ Ρ ΠΎΡΠ΅Π» Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΡΡ ΡΡΠ°ΡΡΡ ΡΠ°Π·Π±ΠΎΡΠΎΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΌΠΎΠΊΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ «ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ» ΠΊΠΎΠ΄Π°
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ production-ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ «ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ», Π½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Ρ ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ? ΠΠ°Π»ΠΈΡΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ²Π΅ΡΡ ΡΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ «ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ», Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Π― Π±Ρ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ Π½Π΅ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ «ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ» ΠΊΠΎΠ΄Π°, Π° ΠΎΠ± ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° [ΠΎΡ Π°Π½Π³Π». design of your code β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².].
Π’Π΅ΡΡ β ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ API, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΈΡΠΈΡΠ΅. ΠΠ΄Π½Π° ΠΈΠ· ΠΈΠ΄Π΅ΠΉ TDD Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΡ β ΡΡΠΎ ΠΊΠΎΠ΄ ΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅: «Π― Π½Π΅ Ρ ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ ΠΌΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ «Π― Π½Π΅ Ρ ΠΎΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ» ΠΈΠ»ΠΈ «Π― Π½Π΅ Ρ ΠΎΡΡ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ΅ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅) ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²».
ΠΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ Π² Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠ°Π±ΠΎΡΡ Ρ URI [ΠΈΠΌΠ΅Π΅ΡΡΡ Π²Π²ΠΈΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»Ρ URI Π΄Π»Ρ Elixir β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².]. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½Π΅Π΅ API, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΡΠ΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ ΠΏΡΠΎΡΡΡΠΌ Π² ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ²Π΅ΡΡ ΡΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Elixir-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ETS, Π° Π·Π½Π°ΡΠΈΡ Π²ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠΊΠΈ
Π₯ΠΎΡΡ ΠΌΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ API, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄ΠΎΠ»Π³ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΡΡΠ°Ρ :
ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅Ρ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π’Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»ΠΈ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΡΠ°Π½Π΅Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² Π²ΠΈΠ΄Π΅ data structure ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ protocol.
ΠΠΎΠΊ β ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅
ΠΡΡΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΌΠΎΠΊΠ°Ρ ΠΊΠ°ΠΊ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ . ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΊΠ°ΡΡ API (ΠΌΠΎΠΊΠ°ΡΡ β Π³Π»Π°Π³ΠΎΠ»), Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠΊ (ΠΌΠΎΠΊ β ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ API.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ²
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π²ΠΎΠΏΡΠΎΡ: «ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ²?»
ΠΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄ΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π²Π°Ρ Π½Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΠΈΠ»ΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π³ΠΎΠ»ΠΎΠ²), ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ Π½Π° Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ², ΡΠΎ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π½Π΅Ρ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡ Π²Π°Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ Π°Π½ΡΠΈ-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ «ΠΌΠΎΠΊ-ΠΎΠ±ΡΠ΅ΠΊΡΡ» ΠΈΠ»ΠΈ «ΠΌΠΎΠΊ-ΠΌΠΎΠ΄ΡΠ»ΠΈ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΊΠ° ΠΈ ΠΎ ΡΠΎΠΌ, Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΄Π½Π° ΠΈΠ· Π·Π°Π΄Π°Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ β Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΈ Π³ΡΠ°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ:
Π―Π²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ Π΅Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π½ΠΎΠΉ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ ΠΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ ΠΠ°Π½ΠΊ
ΠΠΠ Β«ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ ΠΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ ΠΠ°Π½ΠΊΒ» β ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ Π·Π½Π°ΡΠΈΠΌΡΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π ΠΎΡΡΠΈΠΈ. ΠΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΠΏ-10 Π±Π°Π½ΠΊΠΎΠ² ΡΡΡΠ°Π½Ρ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΎΠ².
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π°ΡΠ°Π»Π° ΡΠ²ΠΎΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² 1992 Π³ΠΎΠ΄Ρ. Π 1994 Π³ΠΎΠ΄Ρ ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠΊΡΠΏΠ»Π΅Π½Π° Π±ΠΈΠ·Π½Π΅ΡΠΌΠ΅Π½ΠΎΠΌ Π ΠΎΠΌΠ°Π½ΠΎΠΌ ΠΠ²Π΄Π΅Π΅Π²ΡΠΌ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ Π΄ΠΎΠ»Ρ Π² ΠΊΠ°ΠΏΠΈΡΠ°Π»Π΅ Π±Π°Π½ΠΊΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 50,52%. ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ Π°ΠΊΡΠΈΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π»ΠΈΡΠ°ΠΌΠΈ, Π΄ΠΎΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 10%.
Π§Π΅ΡΠ΅Π· ΠΌΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°Π½ΠΊΠ° Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ Π·Π½Π°ΡΠΈΠΌΡΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π ΠΎΡΡΠΈΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2017 Π³ΠΎΠ΄Π°, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Β«Π ΠΎΡΠ½Π΅ΡΡΡΒ» ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»Π° Π΅ΠΌΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΡΠ±ΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π΅ΠΏΠΎΠ·ΠΈΡΠΎΠ² Π½Π° ΠΎΠ±ΡΡΡ ΡΡΠΌΠΌΡ 22 ΠΌΠ»ΡΠ΄ ΡΡΠ±Π»Π΅ΠΉ Π½Π° ΡΡΠΎΠΊ 49 Π»Π΅Ρ. Π ΡΡΠΎΠΌ ΠΆΠ΅ Π³ΠΎΠ΄Ρ, ΠΏΠΎ Π²Π΅ΡΡΠΈΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π° The Banker, ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΠΎΡΠ»ΠΎ Π² ΡΠΎΠΏ-10 ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡ Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΠ²ΡΠΎΠΏΡ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². Π‘ΡΠ΅Π΄ΠΈ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ 2018 Π³ΠΎΠ΄Π° ΠΆΡΡΠ½Π°Π» Global Finance ΠΏΡΠΈΠ·Π½Π°Π» ΠΠΠ Π»ΡΡΡΠΈΠΌ Π±Π°Π½ΠΊΠΎΠΌ.
Π ΠΌΠ°Π΅ 2020 Π³ΠΎΠ΄Π° ΠΠΠ ΡΠΎΠΎΠ±ΡΠΈΠ» ΠΎ ΠΏΠΎΠΊΡΠΏΠΊΠ΅ Π±Π°Π½ΠΊΠ° Β«ΠΠ΅ΡΡΠ°Β» ΠΈ Π ΡΡΠ½Π°ΡΠ±Π°Π½ΠΊΠ°, Π²Ρ ΠΎΠ΄ΠΈΠ²ΡΠΈΡ Π² Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Β«Π Π΅Π³ΠΈΠΎΠ½Β». ΠΠΠ ΠΏΠΎΡΡΠ½ΠΈΠ», ΡΡΠΎ ΡΠ΄Π΅Π»ΠΊΠΈ Π±ΡΠ»ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ½Π΅ΡΡΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π° Β«Π ΠΎΡΡΠΈΡΠΌΒ» Π ΠΎΠΌΠ°Π½Π° ΠΠ²Π΄Π΅Π΅Π²Π° ΠΈ ΠΠ Β«Π Π΅Π³ΠΈΠΎΠ½Β» Π‘Π΅ΡΠ³Π΅Ρ Π‘ΡΠ΄Π°ΡΠΈΠΊΠΎΠ²Π°. ΠΠ± ΠΈΡ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ.
ΠΠΎ Π΄Π°Π½Π½ΡΠΌ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΠΈ Π½Π° 1 Π°ΠΏΡΠ΅Π»Ρ 2020 Π³ΠΎΠ΄Π°, ΡΠ°Π·ΠΌΠ΅Ρ Π½Π΅ΡΡΠΎ-Π°ΠΊΡΠΈΠ²ΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠΎΡΡΠ°Π²ΠΈΠ» 2,9 ΡΡΠ»Π½ ΡΡΠ±Π»Π΅ΠΉ (7-Π΅ ΠΌΠ΅ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ Π±Π°Π½ΠΊΠΎΠ² Π ΠΎΡΡΠΈΠΈ), ΠΊΠ°ΠΏΠΈΡΠ°Π»Π° β 275,5 ΠΌΠ»ΡΠ΄ ΡΡΠ±Π»Π΅ΠΉ, Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ°Ρ ΠΏΡΠΈΠ±ΡΠ»Ρ β 8,4 ΠΌΠ»ΡΠ΄ ΡΡΠ±Π»Π΅ΠΉ. ΠΡΠ΅Π΄ΠΈΡΠ½ΡΠΉ ΠΏΠΎΡΡΡΠ΅Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ (1,98 ΡΡΠ»Π½ ΡΡΠ±Π»Π΅ΠΉ) Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΡΠ΅Π΄ΠΈΡΠ°ΠΌΠΈ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ Π»ΠΈΡ (1,8 ΡΡΠ»Π½ ΡΡΠ±Π»Π΅ΠΉ).
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΠΠ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΊΡΠ΅Π΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π ΠΠ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² Π½Π°ΡΠ΅Π»Π΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π±Π°Π½ΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΡΠ³ΠΎΠ΄Π½ΡΠ΅ ΠΈΠΏΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π°Π²ΡΠΎΠΊΡΠ΅Π΄ΠΈΡΡ, ΠΏΠ»Π°ΡΠ΅ΠΆΠΈ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΠΈ Π΄Ρ.
Π‘Π΅ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 150 ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΠΉ. ΠΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° 500 Π±Π°Π½ΠΊΠΎΠΌΠ°ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΡΡΡ Β«Π’ΡΠΎΠΉΠΊΠ°Β», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΠΌ ΠΊΠ°ΡΡΠ°ΠΌ ΡΠ²ΡΡΠ΅ 10 ΠΏΠ°ΡΡΠ½Π΅ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.
ΠΠΎΡΠΎΠ»ΡΡΡΠ²ΠΎ Π ΠΎΡΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ ΠΎΡ ΠΠΠ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΡ Ρ Β«ΡΠΊΡΠ°ΠΈΠ½ΡΠΊΠΈΠΌΒ» ΠΡΡΠΌΠΎΠΌ
ΠΠΎΡΠΎΠ»ΡΡΡΠ²ΠΎ Π ΠΎΡΡΠΈΠΈ Π² Π―ΠΏΠΎΠ½ΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΎΡΡ ΠΊ ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ»ΠΈΠΌΠΏΠΈΠΉΡΠΊΠΎΠΌΡ ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΡΡΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠΎΡΡΠ°Π² Π£ΠΊΡΠ°ΠΈΠ½Ρ. ΠΠ± ΡΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ, Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π΄ΠΈΠΏΠΌΠΈΡΡΠΈΠΈ Π² Facebook.
Π ΠΏΠΎΡΠΎΠ»ΡΡΡΠ²Π΅ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ Π² Π’ΠΎΠΊΠΈΠΎ ΠΊΠ°ΡΡΠ° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ ΠΠΠ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΅Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
ΠΡΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ, Π²ΠΎΠΏΡΠΎΡ ΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π±Π΅ΡΠΏΠΎΠ²ΠΎΡΠΎΡΠ½ΠΎ Π·Π°ΠΊΡΡΡ. ΠΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΠΠ ΠΈ ΠΎΡΠ³ΠΊΠΎΠΌΠΈΡΠ΅Ρ ΡΠΎΠΊΠΈΠΉΡΠΊΠΎΠΉ ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ Π²Π½Π΅ΡΡΡ Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΠΊΠ°ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΡΡΠΌΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
Β«ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ°Β».
Β«ΠΡ Π΅Π΄Π΅ΠΌ Π±ΠΎΡΠΎΡΡΡΡ!Β»
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π΄ΠΈΠΏΠ²Π΅Π΄ΠΎΠΌΡΡΠ²Π΅ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΡΡΠΌ Π²Π΅ΡΠ½ΡΠ»ΡΡ Π² ΡΠΎΡΡΠ°Π² Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΎΠ»Π΅ΠΈΠ·ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΆΠΈΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½Π΄ΡΠΌΠ΅, ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ ΠΠΎΡΠΎΠ»ΡΡΡΠ²ΠΎ Π Π€ Π² Π―ΠΏΠΎΠ½ΠΈΠΈ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΠΠ ΠΈ ΠΎΡΠ³ΠΊΠΎΠΌΠΈΡΠ΅Ρ ΡΠΎΠΊΠΈΠΉΡΠΊΠΎΠΉ ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ ΠΈΡΠΏΡΠ°Π²ΡΡ ΠΊΠ°ΡΡΡ.
ΠΡΠΈΡΠΈΠ½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°
22 ΠΈΡΠ»Ρ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Olympics Cheer Zone ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΊΠ°ΡΡΠ° ΡΠΎ ΡΡΡΠ°Π½Π°ΠΌΠΈ, Π³Π΄Π΅ Π±ΠΎΠ»Π΅Π»ΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠ±ΠΎΡΠ½ΡΡ Β«Π°ΠΏΠ»ΠΎΠ΄ΠΈΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈΒ»βββ.
Π ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π£ΠΊΡΠ°ΠΈΠ½Π° ΠΈ ΠΡΡΠΌ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π±ΡΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ. Π ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΎ ΠΠΠ Π£ΠΊΡΠ°ΠΈΠ½Ρ ΠΏΠΎΡΡΡΠΈΠ» ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠ»ΡΡΡΠ²Ρ Π² Π―ΠΏΠΎΠ½ΠΈΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠ΅ΠΏΡΡΠ°Ρ ΠΠΎΡΠ΄ΡΠΌΡ ΠΠΌΠΈΡΡΠΈΠΉ Π‘Π²ΠΈΡΠ΅Π² ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π» ΠΊΠ°ΡΡΡ Π£ΠΊΡΠ°ΠΈΠ½Ρ Π±Π΅Π· ΠΡΡΠΌΠ° Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠ»ΠΈΠΌΠΏΠΈΠΉΡΠΊΠΈΡ ΠΈΠ³Ρ Π² Π’ΠΎΠΊΠΈΠΎ 2020.
ΠΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΠΠ Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΡΡΠΌΠ° ΠΎΡ Π£ΠΊΡΠ°ΠΈΠ½Ρ. ΠΡΠ° ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΡ Ρ 2014 Π³ΠΎΠ΄Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠ°ΠΈΠ½ΡΠΊΠΎΠΉ. Π‘ΠΏΠΎΡΡΡΠΌΠ΅Π½Ρ, ΠΏΡΠΎΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ°ΠΌ, ΡΠ²Π»ΡΡΡΡΡ Π³ΡΠ°ΠΆΠ΄Π°Π½Π°ΠΌΠΈ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠΎΠ΄ ΡΠ»Π°Π³ΠΎΠΌ Π ΠΎΡΡΠΈΠΈ. ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΠΠ, Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²Π°ΠΆΠ°ΡΡ Π²ΡΠ΅
ΠΠ΄Π½Π°ΠΊΠΎ Π»ΠΈΠ½ΠΈΡ Π²ΡΠΊΠΎΡΠ΅ ΡΠ±ΡΠ°Π»ΠΈ, Π° Π² ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ»ΠΈΠΌΠΏΠΈΠΉΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΏΡΠΈΠ½Π΅ΡΠ»ΠΈ ΠΠΈΠ΅Π²Ρ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ.
Π Π΅Π°ΠΊΡΠΈΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ Π²Π»Π°ΡΡΠ΅ΠΉ
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΠΠ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΆΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ. ΠΡΠ΅ΡΡ-ΡΠ΅ΠΊΡΠ΅ΡΠ°ΡΡ ΠΏΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠ° ΠΠΌΠΈΡΡΠΈΠΉ ΠΠ΅ΡΠΊΠΎΠ² Π·Π°ΡΠ²ΠΈΠ», ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°ΠΌ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ° ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ ΠΎΠ»ΠΈΠΌΠΏΠΈΠΉΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠΎΠΌ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ Π³ΡΠ°Π½ΠΈΡ.
ΠΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ²ΠΎΠ΄, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠ»ΡΡΡΠ²Ρ ΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΡΠΌ ΡΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°ΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π·Π°Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π‘Π΅Π½Π°ΡΠΎΡ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π»Π°ΡΡΠΈ Π Π΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ ΠΡΡΠΌ Π‘Π΅ΡΠ³Π΅ΠΉ Π¦Π΅ΠΊΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π» ΡΠΎΡΠΊΡ Π·ΡΠ΅Π½ΠΈΡ ΠΠ΅ΡΠΊΠΎΠ²Π°. ΠΠ½ Π½Π°Π·Π²Π°Π» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Β«ΠΎΡΠΈΠ±ΠΊΠΈΒ» Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Ρ Π½Π΅ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈ Π·Π°ΡΠ²ΠΈΠ», ΡΡΠΎ ΠΠΠ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ Π½ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΡΡΠΌΠ°, Π½ΠΈ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ Π£ΠΊΡΠ°ΠΈΠ½Ρ, Π½ΠΈ ΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π½Π° ΠΏΠΎΠ»ΡΠΎΡΡΡΠΎΠ²Π΅ Π΄ΠΎ 2014 Π³ΠΎΠ΄Π° ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ Π² ΡΠΎΡΡΠ°Π²Π΅ Π£ΠΊΡΠ°ΠΈΠ½Ρ.
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ ΠΡΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠΌ Π ΠΎΡΡΠΈΠΈ, ΠΈ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ β Π²Π΅ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅Π·ΡΠ±Π»Π΅ΠΌΠ°Ρ. ΠΠ± ΡΡΠΎΠΌ Π½Π°Π΄ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π²ΡΠ΅ΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°ΠΌ ΠΠ»ΠΈΠΌΠΏΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡΠ΅ΡΠ°
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ mocks Π² ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
ΠΡΠ° ΡΡΠ°ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Β«When to MockΒ».
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ. ΠΠ²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠ°ΡΡΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ½ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠ΅Π» ΠΎΡ ΠΌΠΎΠΊΠΎΠ² ΠΏΠΎΡΡΠΈ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΠΊ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅ Β«Π±Π΅Π· ΠΌΠΎΠΊΠΎΠ²Β», Π° Π·Π°ΡΠ΅ΠΌ ΠΊ Β«ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΊΠΈ Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉΒ».
ΠΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π₯ΠΎΡΠΈΠΊΠΎΠ² ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠΎΠΊΠ°ΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ Π² ΡΠ΅ΡΡΠ°Ρ .
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ mock (ΠΌΠΎΠΊ, ΠΎΡ Π°Π½Π³Π». Β«ΠΏΠ°ΡΠΎΠ΄ΠΈΡΒ», Β«ΠΈΠΌΠΈΡΠ°ΡΠΈΡΒ»)?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ΅ΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΊΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠΊ. ΠΡΠ΄ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ (test double) ΠΈ ΠΌΠΎΠΊ (mock) ΠΊΠ°ΠΊ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ, Π½ΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ:
ΠΠΎΠΊ β ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² ΡΠ°ΠΊΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΠ΅ΡΠ°ΡΡ ΠΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 5 Π²ΠΈΠ΄ΠΎΠ² ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ²:
Π’Π°ΠΊΠΎΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΠ³Π°ΡΡΠΈΠΌ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π²ΡΠ΅Π³ΠΎ Π² Π΄Π²Π° ΡΠΈΠΏΠ°: ΠΌΠΎΠΊΠΈ ΠΈ ΡΡΠ°Π±Ρ.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ:
ΠΠΎΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ (outcoming) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ (SUT) ΠΊ Π΅Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π‘ΡΠ°Π±Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ (incoming) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌΡΠ΅ SUT ΠΊ Π΅Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΠ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌ (incoming) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ β ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠ±ΠΎΡΠ½ΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π±ΠΎΠΌ.
ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΡΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
Spies (ΡΠΏΠΈΠΎΠ½Ρ) Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡ ΠΆΠ΅ ΡΠΎΠ»Ρ, ΡΡΠΎ ΠΈ ΠΌΠΎΠΊΠΈ. ΠΡΠ»ΠΈΡΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ spies ΠΏΠΈΡΡΡΡΡ Π²ΡΡΡΠ½ΡΡ, Π° ΠΌΠΎΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ½ΠΎΠ³Π΄Π° spies Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠΊΠΎΠΏΠΈΡΠ½ΡΠΌΠΈ ΠΌΠΎΠΊΠ°ΠΌΠΈ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°Π±Π°ΠΌΠΈ, dummy (ΠΏΡΡΡΡΡΠΊΠ°ΠΌΠΈ) ΠΈ ΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΡΠΌΠ½Ρ:
Π‘ΡΠ°Π± ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠ°Π·Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ°Π±Π°ΠΌΠΈ (ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ). ΠΠΎΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ SUT ΠΈ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ°Π±Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅.
ΠΠΎΠΊ-ΠΊΠ°ΠΊ-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ vs. ΠΌΠΎΠΊ-ΠΊΠ°ΠΊ-ΡΠ΅ΡΡΠΎΠ²ΡΠΉ-Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ
ΠΠΎ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π° ΠΌΠΎΠΊ Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΊΠ»Π°ΡΡΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ (Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΊΠΎΠ²) ΠΊΠ°ΠΊ Π½Π° ΠΌΠΎΠΊΠΈ. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΠΌΠΎΠΊΠΈ, Π½ΠΎ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΠΌΠΈ:
ΠΠ°ΠΆΠ½ΠΎ Π½Π΅ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ ΠΌΠΎΠΊ-ΠΊΠ°ΠΊ-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΌΠΎΠΊ-ΠΊΠ°ΠΊ-ΡΠ΅ΡΡΠΎΠ²ΡΠΉ-Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΊ-ΠΊΠ°ΠΊ-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ²: ΠΌΠΎΠΊΠΎΠ² ΠΈ ΡΡΠ°Π±ΠΎΠ².
ΠΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΠ°Π±Π°ΠΌΠΈ
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π²ΡΡΠ΅, ΠΌΠΎΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ SUT ΠΈ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ°Π±Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π½Π΅ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈΡ .
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ² GetNumberOfUsers() Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π΄Π΅ΡΠ°Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠ°ΡΠ°ΡΡΠ°ΡΡΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ SUT ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΡΠ°. ΠΠ΅Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ SUT Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Ρ ΡΡΠΏΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠ°:
Π’Π°ΠΊΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² ΠΈ ΡΡΠ°Π±ΠΎΠ²
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠ²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΊΠ°, ΡΠ°ΠΊ ΠΈ ΡΡΠ°Π±Π°:
ΠΡΠΎΡ ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ storeMock Π΄Π»Ρ Π΄Π²ΡΡ ΡΠ΅Π»Π΅ΠΉ: ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ SUT.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°: ΡΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΎΡ HasEnoughInventory(), Π½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² RemoveInventory(). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π΄Π΅ΡΡ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΠ°Π±Π°ΠΌΠΈ.
Mocks vs. stubs ΠΈ commands vs. queries
ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² ΠΈ ΡΡΠ°Π±ΠΎΠ² ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ command-query separation (CQS). ΠΡΠΈΠ½ΡΠΈΠΏ CQS Π³Π»Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΎΠ±ΠΎΠΈΠΌΠΈ:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π·Π°Π΄Π°Π²Π°Ρ Π²ΠΎΠΏΡΠΎΡ, Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΌΠ΅Π½ΡΡΡ ΠΎΡΠ²Π΅Ρ. ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»Π΅Π³ΡΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. Π’Π΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΌΠΎΠΊΠ°ΠΌΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π±Π°ΠΌΠΈ:
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π· Π½Π° Π΄Π²Π° ΡΠ΅ΡΡΠ° ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
ΠΠΎΠ³Π΄Π° ΠΌΠΎΠΊΠ°ΡΡ?
Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΈΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΊΠΈ.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΌΠΎΠΊΠ°ΡΡ ΡΠ°ΠΌΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΡ (SUT), ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡ Β«ΠΠΎΠ³Π΄Π° ΠΌΠΎΠΊΠ°ΡΡ?Β» ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ: Β«ΠΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π½Π° ΠΌΠΎΠΊΠΈ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΡΡΠ°Ρ ?Β»
ΠΠΎΡ Π²ΡΠ΅ ΡΠΈΠΏΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ» Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅:
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (mutable out-of-process dependency) Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΏΠΎΡΡΠΎΠΌΡ Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π΄Π΅ΡΡ ΡΡΠΈ Π΄Π²Π° ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ. (ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡΠ° Π₯ΠΎΡΠΈΠΊΠΎΠ²Π°, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅: Unit Testing Dependencies: The Complete Guide.)
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π΅ ΡΠΊΠΎΠ»Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π²Π·Π³Π»ΡΠ΄Π°ΠΌΠΈ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π½Π° ΠΌΠΎΠΊΠΈ:
ΠΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΊΠ°ΠΊ ΡΠΊΠΎΠ»Π° mockist) Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π·Π° Π·Π°ΠΌΠ΅Π½Ρ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π½Π° ΠΌΠΎΠΊΠΈ.
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΊΠ°ΠΊ ΡΠΊΠΎΠ»Π° ΠΠ΅ΡΡΠΎΠΉΡΠ°) Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π·Π° Π·Π°ΠΌΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΡ (ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ) Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ±Π΅ ΡΠΊΠΎΠ»Ρ ΠΎΡΠΈΠ±Π°ΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΌΠΎΠΊΠ°ΠΌ, Ρ ΠΎΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ Π»ΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠ°Ρ.
ΠΠΎΠΊΠΈ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΡ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ (immutable out-of-process) Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ? Π Π°Π·Π²Π΅ ΠΈΡ Π½Π΅ ΡΡΠΎΠΈΡ ΠΌΠΎΠΊΠ°ΡΡ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΊΠΎΠ»? ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»ΡΠΆΠ±Π° API ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ) ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠΌ, Π½ΠΎ ΡΡΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±ΠΎΠΌ, Π° Π½Π΅ ΠΌΠΎΠΊΠΎΠΌ.
ΠΡΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΈΠ·-Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ°Π±Π°ΠΌΠΈ:
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π² ΡΠ΅ΡΡΠ°Ρ , Π° ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ (ΠΎΠ±Π΅ ΡΠΊΠΎΠ»Ρ Ρ ΡΡΠΈΠΌ ΡΠΎΠ³Π»Π°ΡΠ½Ρ).
ΠΠ΅ ΠΌΠΎΠΊΠ°ΠΉΡΠ΅ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΠ΅ ΡΡΠΎΠΈΡ ΠΌΠΎΠΊΠ°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ Π² ΡΠΈΠΏΠΈΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ: Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΈ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ.
ΠΠ½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π²Π°ΡΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΈΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅Π»ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ²ΡΠ·Ρ Ρ ΡΠ°ΠΊΠΈΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Ρ ΡΡΠΏΠΊΠΈΠΌ ΡΠ΅ΡΡΠ°ΠΌ.
ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΊΠΎΠΉ ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ°ΡΡΠ΅ΡΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ½ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΈΠ½Π΅, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ. ΠΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π°ΡΠΈ ΡΠ΅ΡΡΡ Ρ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π΄Π΅Π»Π°Ρ ΠΈΡ Ρ ΡΡΠΏΠΊΠΈΠΌΠΈ. ΠΠ½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ:
ΠΡΠ°ΠΊ, Π»ΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° ΠΎΡΠΈΠ±Π°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠΎΡΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π½Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½ΡΡΡΠΈΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ (Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌΠΈ) ΠΈ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ (Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌΠΈ) ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΡΠΎ Π½Π΅ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠΎΠΉ ΡΠΊΠΎΠ»Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Ρ ΡΡΠΏΠΊΠΈΠΌ ΡΠ΅ΡΡΠ°ΠΌ β ΡΠ΅ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΅ ΠΌΠΎΠΊΠ°ΠΉΡΠ΅ Π²ΡΠ΅ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΡΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π·Π° Π·Π°ΠΌΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ»ΡΠΆΠ±Π° SMTP, ΡΠΈΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ Ρ. Π΄. ΠΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠΌ. ΠΡΠ° ΡΠΊΠΎΠ»Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΎΡΡΡΠ΅Ρ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ², Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π»ΠΎΠ½Π΄ΠΎΠ½ΡΠΊΠ°Ρ ΡΠΊΠΎΠ»Π°.
ΠΠ΅ Π²ΡΠ΅ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΌΠΎΠΊΠ°ΡΡ. ΠΡΠ»ΠΈ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠ²ΡΠ·Ρ Ρ ΡΠ°ΠΊΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡΡΡ ΠΈΠ·Π²Π½Π΅, ΠΏΠΎ ΡΡΡΠΈ, Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π²ΡΠ·ΠΈ Ρ ΡΠ°ΠΊΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΊΠΎΠ².
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΡ Π΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡΠ΅ΠΊΠ°Π΅Ρ ΠΈΠ· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ; ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΉ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ, ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΡΡΠ΅Π·Π°Π΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π‘Ρ Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄Π΅ΡΠ°Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π·Π΄Π΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΠ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΈ ΠΎΠ΄Π½Π° Π²Π½Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΉ ΠΠ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡ Π΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΠ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π²Π°ΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π»ΠΎΠΌΠ°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ° ΠΠ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΊΡΡΡΠ° ΠΎΡ Π³Π»Π°Π· ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π²Ρ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΈ Π½ΠΈΠΊΡΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π΄Π»Ρ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Ρ ΡΡΠΏΠΊΠΈΠΌ ΡΠ΅ΡΡΠ°ΠΌ. ΠΡ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ ΡΠ΅ΡΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠΈΠΏ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅. ΠΠ ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° Π΄Π²Π΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ (managed) Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ β Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ. ΠΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅; Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ Π²ΠΈΠ΄Π½Ρ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΠ; ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· API, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΠΌΠΎΠΊΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΡΠ΅ΡΡΠ°Ρ .
Π Π΅Π·ΡΠΌΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΎΠ² β dummy (ΠΌΠ°Π½Π΅ΠΊΠ΅Π½), ΡΡΠ°Π±, spy (ΡΠΏΠΈΠΎΠ½), ΠΌΠΎΠΊ ΠΈ ΡΠ΅ΠΉΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³ΠΎ Π² Π΄Π²Π° ΡΠΈΠΏΠ°: ΠΌΠΎΠΊΠΈ ΠΈ ΡΡΠ°Π±Ρ.
Spies ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠΊΠΈ; dummy ΠΈ ΡΠ΅ΠΉΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡ ΠΆΠ΅ ΡΠΎΠ»Ρ, ΡΡΠΎ ΠΈ ΡΡΠ°Π±Ρ.
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ°Π±Π°ΠΌΠΈ:
ΠΠΎΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ: Π²ΡΠ·ΠΎΠ²Ρ ΠΎΡ SUT ΠΊ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π‘ΡΠ°Π±Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ: Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ SUT ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ²ΠΎΠΈΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΎ ΡΡΠ°Π±Π°ΠΌΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Ρ ΡΡΠΏΠΊΠΈΠΌ ΡΠ΅ΡΡΠ°ΠΌ.
Π’Π΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CQS, ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΠΊΠ°ΠΌΠΈ. Π’Π΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΈΠΊΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ CQS, ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π±Π°ΠΌΠΈ.
ΠΠ½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° 2 ΠΏΠΎΠ΄ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΡΠ°Ρ ; Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΊΠ°ΠΌΠΈ.