Feature toggling ΡΡΠΎ ΡΡΠΎ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ feature toggle ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΡΡΠΆΠ΅ΠΉ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ?
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡ, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ Π΅Ρ ΡΠΊΡΡΡΡ. ΠΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΡΠ΅ΠΉ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠΎΠ½ΡΡΡ-ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠ° Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΡΠΈΠΊΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»ΡΡΡΡ ΠΏΠΎ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ, Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ 3 ΠΌΠ΅ΡΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, Π΅ΡΡΡ Π΄Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ feature switcher-ΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π’Π°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΠ·ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π²Π·ΡΡΡ Π»ΡΡΡΠ΅Π΅ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² β feature toggle ΠΈΠ»ΠΈ feature switcher.
ΠΠΎ ΡΡΡΠΈ, feature switcher β ΡΡΠΎ boolean ΡΠ»Π°Π³, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΡΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΎ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ. Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature switcher-ΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ runtime ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature toggle Π½Π° ΡΠ·ΡΠΊΠ΅ Java:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ configurationManager β ΡΡΠΎ ΠΊΠ»Π°ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π²Π»Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ feature switcher-Π° ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΠΊΠ»ΡΡΡ.
Π’Π°ΠΊΠΆΠ΅, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ feature switcher-ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ/ΡΠΊΡΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° Π² Model ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π½Π° View ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ HTML ΠΊΠΎΠ΄Π°:
ΠΠΈΠ΄Ρ feature switcher-ΠΎΠ²
ΠΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature switcher-ΠΎΠ² β ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΠΊΠΈΠ΅ feature switcher-Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ release toggles. ΠΡΠ΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ 3 ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄Π° feature switcher-ΠΎΠ²:
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature toggle-ΠΎΠ²
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π³Π΄Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ feature toggle-Ρ, ΡΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π½Π°ΡΠ°Π» Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ:
Π Π΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠΎΠΌΠΎΡΡ ΡΠ΅ΡΠΈΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΡΠΎΠ³ΠΈ
Feature switcher β ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΌΠΎΠ½ΡΡΡΡΠΎΠ·Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π»Π΅Π³ΠΊΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ feature toggle-ΠΎΠ².
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΡΠ΄Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΈ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ feature switcher-ΠΎΠ² ΠΈ ΠΈΡ ΡΠ΅Π²ΠΈΠ·ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡ βΠΌΡΡΡΠ²ΠΎΠ³ΠΎβ ΠΊΠΎΠ΄Π°.
Feature toggle
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠ΅ΠΏΠΊΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡ.
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΡ ΠΏΠΎ iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ iPhreaks, ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Π±ΡΠ΅Π» Π½Π° ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΡΡΠ±Π΅Π²ΡΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΡ ΠΏΡΠΎ feature toggles. ΠΡΠ΅ Π½Π°ΡΠ°Π»ΠΎΡΡ Ρ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ Π½Π°Π±ΡΠΎΡΠ° ΠΏΡΠΎ ΡΠΎ, ΡΡΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΡΠ΅Π±Π΅ΠΉΡΠΈΡΡ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΎΡΡ ΠΏΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π²Π΅Π΄Π΅Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ TBD ΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ feature toggles.
Π‘Π°ΠΌΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΡΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠΊΡΠΎΠ²Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈΡΠΈΠ½Π° ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ΄Π°Π»ΡΡΡ ΡΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ Ρ ΠΌΡΠΊΠ°ΠΌΠΈ ΠΈ Π±ΠΎΠ»ΡΡ, Π° ΡΡΡ ΠΌΠ½Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡ ΠΏΠΎ ΡΠ΅Π»ΡΠΊΡ ΠΏΠ°Π»ΡΡΠ΅Π², Π΄Π° Π΅ΡΠ΅ ΠΈ Π½Π°ΠΎΠ±Π΅ΡΠ°Π»ΠΈ A/B ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΠ°ΠΌΠΈ.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠΈ, Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΡΡ ΡΠ°Π· Π²ΡΡΡΠ΅ΡΠ°Π»ΡΡ ΡΠΎ ΡΠ»ΡΡΠ°ΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π² ΠΊΡΡΠ΅ ΠΌΠ΅ΡΡ, ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° Π²ΡΠ΅Ρ ΡΠ»ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π΄ΠΎΠ³ΠΎΠ½ΠΊΡ ΡΠ°ΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π΅ΡΠ΅Π»ΡΠ΅ ΡΠ°ΠΉΠ΄-ΡΡΡΠ΅ΠΊΡΡ.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠΈΡΠ°Π» ΡΠ°Π·Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ, Π½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΡΠ°Π» ΡΡΠΎΡ ΠΏΠΎΡΡ Π² Π±Π»ΠΎΠ³Π΅ Π€Π°ΡΠ»Π΅ΡΠ°, ΡΠ°ΠΌ Π°Π²ΡΠΎΡ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· js, Ρ ΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΊ ΡΠ΅Π°Π»ΠΈΡΠΌ iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π».
ΠΠ°Π±Π΅Π³Π°Ρ Π²ΠΏΠ΅ΡΠ΅Π΄, Π½Π°ΠΏΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Ρ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ Ρ Π²ΡΡΡΡΠΏΠΈΠ» Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π Π°ΠΌΠ±Π»Π΅ΡΠΎΠ²ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ Rambler.iOS, Π° ΠΏΠΎΡΠΎΠΌ ΠΈ Π½Π° ΠΏΠΈΡΠ΅ΡΡΠΊΠΎΠΉ Mobius. ΠΠ°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π½Π°ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΠ» Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡ Π»Π°Π΄Π½ΠΎ, ΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°Ρ Π±ΡΠ»ΠΎ ΠΈ ΠΏΡΠΎ Π±Π°Π½Π°Π»ΡΠ½ΠΎ, ΠΈ ΠΏΡΠΎ ΡΠΎ ΡΡΠΎ Π½Π΅ Π½Π°Π΄ΠΎ, Π° Π΅ΡΠ»ΠΈ Π½Π°Π΄ΠΎ, ΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΡ ΠΏΡΠΎ ΡΠΊΠΎΠΌΠΊΠ°Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»(ΠΌΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ»ΠΎΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΎΠ΄ Π½Π΅ ΡΠΊΡΡΠ°Π», Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ΄ΡΠΎ) ΠΈ ΠΏΡΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ, Π½ΡΠΆΠ½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Ρ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½(ΠΈΠ½Π°ΡΠ΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΡΡ Π±Ρ ΠΊΠΎΠ΄ Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠΈ ΡΠ°Π·ΠΌΠ°Π·Π°Π½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), Π° Π²ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ. ΠΡΠΎ ΡΠΆΠ΅ ΡΡΡΠ°Π» ΡΠΈΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π³Π»ΡΠ½ΡΡΡ ΡΡΠ°Π·Ρ Π² ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° github.
Π’Π΅ΠΎΡΠΈΡ
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΈΡ
Π ΡΠΎΠΌ ΡΠ°ΠΌΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΈΠ· Π±Π»ΠΎΠ³Π° Π€Π°ΡΠ»Π΅ΡΠ°, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΠ΅Π½Π½Π°, Ρ ΠΆΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΡ ΡΠΎΠ²Π½ΠΎ Π΄Π²Π΅: ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈ ΡΠΎΠ²Π½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π² ΠΏΠ»Π°Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅
Π ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΡΠ½ΠΎΡΠΈΠΌ ΡΠΈΡΠΈ, ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡΡΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΊΡΠ°Π½Π°, ΠΈΠ»ΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠ»ΠΈ ΠΎΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΈΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ½Π°ΡΡΠΆΠΈ ΠΈ ΡΠ°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΠ»ΠΈ. ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ½Π°ΡΡΠΆΠΈ Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³, ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ in-Memory Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ CoreData). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ ΠΈ Π΅ΠΌΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅
Π’ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠΈΡΠΈ, ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π· Π·Π° Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄ΠΈΠ·Π΅ΠΉΠ±Π»ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ! ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» Π΄Π»Ρ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ .
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΡΡΠΎΠ±Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MVC + FeatureService, Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡ. ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΅Ρ Π°Π»ΠΈ!
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅
ΠΡΠΈΠΌΠ΅Ρ 1 (ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³Π°)
ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π½ΡΡΡΠΈ:
Π’ΡΡ Π²ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, Π½Π°ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³, ΠΌΡ Π΅Π³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ Π² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΡΡΠΎ ΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ 2 (ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ)
Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠΊΠ°, Π³Π΄Π΅ ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΡΠΎΠ², ΡΡΠ΄Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΠΌΠ΅ΡΠ°ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΡΡΠ·ΠΈΡ, Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²:
ΠΡ ΠΏΡΠΎΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΡΡΠ°ΡΠ΅ΠΉ ΠΈ Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ, ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ, Π²ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ:
ΠΠ°ΠΊ ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ΅ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅ΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ, Π΄Π° Π΅ΡΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π½ΠΈ ΠΌΠ΅ΡΡΠ° Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΌΠΎ.
ΠΡΠΈΠΌΠ΅Ρ 3 (Π‘Π΅ΡΠ²ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ)
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π·Π°Ρ ΠΎΠ΄Π΅ Π½Π° ΡΠΊΡΠ°Π½ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, Π½ΠΎ Π½Π΅ ΡΠ°ΡΠ΅ ΡΠ°Π·Π° Π² ΡΡΡΠΊΠΈ.
FeatureServiceViewController.m:
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ Π·Π° ΡΡΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΡΠ²Π΅ΡΠΎΠΌ. ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡ Π²Π½ΡΡΡΠΈ:
FeatureServiceImplementation.m
Π‘Π΅ΡΠ²ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΎΠΌΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΎΠ³Π΄Π° Π΅ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π·Ρ Π½Π΅ Π±ΡΠΎΡΠ°ΡΡΡΡ Π² Π³Π»Π°Π·Π°. Π ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡ.
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² VC
ΠΠ΅ΡΡΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΡΡ
ΠΠ·Π±ΡΡΠΎΡΠ½Π°Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ
ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΡΠ΅Π³Π΄Π°, Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΡΡ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ:
ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠΈΡΠΈ
Π ΠΈΠ΄Π΅Π°Π»Π΅ Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠΈΡ, Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, Π½Π°Π΄ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°Π²ΠΈΡΠΌΠΎΡΡΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π°Π²ΠΈΠ°ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ Π°Π²ΠΈΠ°ΡΠ΅ΠΆΠΈΠΌ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ Π² Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½ΠΎ.
Π§ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ?
ΠΡΠΎΠ³ΠΈ
ΠΠΎΠ΄Ρ ΠΎΠ΄ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π½ΠΈΡ ΡΠΌΠΎΡΡΠΈΡΡ, Π½ΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π― ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π» Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈ ΡΠ°Π½ΡΡΠ΅ ΠΎΡΠΎΠ±ΠΎ Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ, Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ»ΠΎΠΆΠΈΠ»ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠΈ ΠΈ ΡΠΎ ΠΎΡ ΡΠ΅Π³ΠΎ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ΄ΠΎΡΡΠ΅ΡΠ΅ΡΡΡΡ.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Π² twitter, ΡΡΠΎ Π΄ΡΠΌΠ°Π΅ΡΠ΅. ΠΡΠ΄Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»Π΅Π½ Π·Π° ΡΠΈΠ΄Π±Π΅ΠΊ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ feature toggle ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΡΡΠΆΠ΅ΠΉ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ?
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ ΡΠΈΠΊΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»ΡΡΡΡ ΠΏΠΎ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ, Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ 3 ΠΌΠ΅ΡΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, Π΅ΡΡΡ Π΄Π²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ feature switcher-ΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π’Π°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΠ·ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π²Π·ΡΡΡ Π»ΡΡΡΠ΅Π΅ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² β feature toggle ΠΈΠ»ΠΈ feature switcher.
ΠΠΎ ΡΡΡΠΈ, feature switcher β ΡΡΠΎ boolean ΡΠ»Π°Π³, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΡΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π°Π³Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΎ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ. Π£Π΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature switcher-ΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ runtime ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π½ΠΎΠ²ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature toggle Π½Π° ΡΠ·ΡΠΊΠ΅ Java:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ configurationManager β ΡΡΠΎ ΠΊΠ»Π°ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π²Π»Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ feature switcher-Π° ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΠΊΠ»ΡΡΡ.
Π’Π°ΠΊΠΆΠ΅, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ feature switcher-ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ/ΡΠΊΡΡΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° Π² Model ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π½Π° View ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ HTML ΠΊΠΎΠ΄Π°:
ΠΠΈΠ΄Ρ feature switcher-ΠΎΠ²
ΠΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature switcher-ΠΎΠ² β ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΠΊΠΈΠ΅ feature switcher-Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ release toggles. ΠΡΠ΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ 3 ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄Π° feature switcher-ΠΎΠ²:
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ feature toggle-ΠΎΠ²
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π³Π΄Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ feature toggle-Ρ, ΡΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ Π½Π°ΡΠ°Π» Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ:
Π Π΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠΎΠΌΠΎΡΡ ΡΠ΅ΡΠΈΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΡΠΎΠ³ΠΈ
Feature switcher β ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΌΠΎΠ½ΡΡΡΡΠΎΠ·Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π»Π΅Π³ΠΊΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ feature toggle-ΠΎΠ².
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Π² ΡΡΡΠ΄Π½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΈ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ feature switcher-ΠΎΠ² ΠΈ ΠΈΡ ΡΠ΅Π²ΠΈΠ·ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΡ βΠΌΡΡΡΠ²ΠΎΠ³ΠΎβ ΠΊΠΎΠ΄Π°.
Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ (feature toggling) 22 ΡΠ½Π²Π°ΡΡ 2013, 17:40
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ (ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΉ) ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ Π²Π΅ΡΡΠΈΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ , Π° ΠΏΠΎΡΠΎΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Feature BranchΒ» (Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ), ΡΠΌ. ΡΡΡ
ΠΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°, ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ. Π§Π΅ΠΌ Π΄ΠΎΠ»ΡΡΠ΅ Π²Π΅ΡΠΊΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΡΠΊ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ·-Π·Π° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈ Π½Π°ΡΠΌΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π·Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π·Π° ΠΏΠ°ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π²?
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ β ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΊΠ΅. ΠΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π°Π½ΡΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π΅Π΄Π΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΡΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π½ΠΎΡΠΈΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π²ΡΡΡΠ½ΡΡ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΠ°Ρ .
ΠΡΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π°Π½ΡΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π±ΡΠ΄ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΏΡΡΠΌΠΎ Π² Π½Π΅ΠΉ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π»ΠΈΡΡ ΠΎΡΠ»ΠΎΠΆΠ½ΡΡΡ Π±ΡΠ΄ΡΡΠΈΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΈΡΡΠ°ΡΠΈΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΡ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠ΅Π³ΠΎ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Ρ Π½ΡΠ»Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠ²ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ (merge conflict). Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ, Π½ΠΎ ΠΎΠ½ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ°Ρ Π·Π°Π²Π°Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΎΠ»Π³.
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ β ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΡΡΠ²ΠΎΠ»ΠΎΠ²Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°Β» (trunk-based development), ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. ΡΡΡ. ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π° Π΄ΠΎ Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠΎ Π΅ΡΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ β Π° Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉΒ» (Feature Toggle). Π‘ΠΌ. ΡΡΡ.
ΠΡΠΎΡΡΠ°Ρ ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΎΡΠΌΡ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈ ΡΠΊΡΡΠ²Π°ΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΎΡΠΊΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.
Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΡΠ»ΡΡΠ°Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π² ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ ΠΊΠ»ΡΠ±ΠΊΠ° ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠΎΡΠ°ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ³ΠΎΠ»ΠΎΠΊ Π±Π°Π·Ρ ΠΊΠΎΠ΄Π°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡ Π² Π±Π°Π·Π΅ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠ»ΠΈ ΡΠ΅Π»ΠΈΠ·, Π»ΠΈΠ±ΠΎ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΡΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ½Π΅Ρ Π² ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ . Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΊΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΡΡΠΎΠ±Ρ Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ»ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΠΌΠ΅ΡΠ½Ρ ΡΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
Π’Π°ΠΊ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΎΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
Π’Ρ ΠΆΠ΅ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (ΡΠΌ. http://martinfowler.com/articles/injection.html), ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² Spring MVC.
ΠΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠ°ΠΉΠ»Ρ applicationContext-$
ΠΡΡΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ applicationContext.xml. ΠΡΠ»ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠΈΠΊ, ΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π½Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΡΠ»Π΅Π²ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (ΡΠΌ. wiki) Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ-ΠΌΠ°ΡΠΊΠ΅ΡΡ (ΠΎΠ½ΠΈ ΠΆΠ΅ β Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π±Π΅Π· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²) Π΄Π»Ρ Π½Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π² XML-ΡΠ°ΠΉΠ»Π°Ρ . ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ΅Π½ Π»ΠΈ Π½Π°ΠΌ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ (custom) ΡΠΈΠ»ΡΡΡ TypeFilter, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π½Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ. ΠΡΠ΅ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈβ¦
β¦ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°Ρ ΡΠΈΠ»ΡΡΡ ΡΠΈΠΏΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΊΠ°Π½Π΅ΡΠ° spring-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π° Π½Π°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Spring
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π½Π°ΡΡ ΡΠΌΠ΅ΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠ»ΡΡΡ ΡΠΈΠΏΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅. ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ JavaScript ΠΈ CSS?
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅. Π’Π°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅ΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (Content Delivery Network, ΡΠΌ. wiki), ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ .
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π½Π°ΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΠ°Π·Π΄ΠΎ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π΅Π΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΡΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ· Π½Π°ΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². Π’Π°ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ shopping_cart.css ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» shopping_cart_foo.css, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΡΠ·ΠΈΠ½Ρ ΠΏΠΎΠΊΡΠΏΠΎΠΊ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Foo.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ JavaScript ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ JavaScript, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΡΡΡΠΏΠ°Π»ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠ½ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π³ΠΎΡΠΎΠ²Ρ Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΡΠΎΠΉ ΡΠ°ΠΊΠΎΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Ρ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΈ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΎΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΡΡΡΠΈΡ.
ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΡΡΡΠΈΡ
ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅Π΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²Π΅ΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π‘ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ Π² Π²Π΅ΡΠΊΠ΅, ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Π΅ΡΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΡ. ΠΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Ρ Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ ΡΡΠ΅ΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΡΠ°Π³ΠΎΠ² Π±Π°ΡΡΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ Π½Π° ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ΅Π³ΠΊΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΡΠ΅ΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ Β«ΠΎΠ±Π΅ΡΠ½ΡΡΠ°Β» Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΎΡΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π΅Ρ, ΡΠ°ΠΊΠ°Ρ ΡΡΠ΅ΡΠΊΠ° Π²ΡΠΊΡΠΎΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎ ΡΠ°ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΡΠ²Π½ΠΎ: Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ Ρ.Π΄.
ΠΡΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΡΠ½ΡΡ Π²Ρ, Π² ΠΈΡΠΎΠ³Π΅, Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ°ΠΊΡΡ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ, Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎ.
Π‘Π°ΠΌΡΠΉ Π½Π΅ΡΠ²Π½ΡΠΉ ΠΊΠ°Π½Π°Π», ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΡΠ΅ΡΠΊΠ° Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ. ΠΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ CSS, ΠΊΠΎΠ΄ JavaScript ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² HTML. Π‘Π»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ.
Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, ΡΠ°ΠΌΡΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ β ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠ±ΡΠ΅ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΡΡΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π² ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠ΄Π΅Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ β ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠ»ΠΈ ΡΠ΄Π°ΡΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΡΡ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°Π±ΠΎΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΡΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠ²: Π±ΡΠ΄ΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π·Π°Π½ΡΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΠΈΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ°Π·Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ?
ΠΡΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ, ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈ Π½Π΅ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎΠ΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ°ΠΉΡΠ΅. ΠΠ°ΡΠΈΠ°Π½Ρ Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ°ΠΉΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ ΠΏΡΡΠΌΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π° Π³Π»Π°Π·Π°Ρ . Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΡΠ°Π²Π΄Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π΄ΡΡΠ³ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΠΈΠ±ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠ³Π»Π° Π±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠΈΠΈ β Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΠΌ ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ β ΠΈΠ»ΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ°Π½ΠΈΡΡΡΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ JMX (ΡΠΌ. wiki). Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ Π½Π΅ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° Π²ΡΠ΅ΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π² ΡΠΈΠ»Π΅ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΠΎΡΠ°ΡΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ
Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ ΡΠΆΠ΅ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΏΠ°ΡΠ°Π½ΠΎΠΉΠΈ β ΡΠΎΠ»ΡΠΊΠΎ Π±Ρ Π² ΡΠ΅Π»ΠΈΠ· ΠΏΠΎΠΏΠ°Π» Π»ΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ. ΠΠ΅Π΄Ρ ΠΈΠ·-Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ API.
ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π§Π°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄ΠΎ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΡΠΈ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠ°Π·Ρ ΠΎΠ±Π΅ Π²Π΅ΡΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ°ΠΊ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠ³Π½Π°ΡΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ?
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Β«ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΒ». Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ ΡΡΠΌΠ΅Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ β ΠΏΡΠΈ ΡΡΠΎΠΌ, Π½Π°ΠΌ ΡΠ΄Π°ΡΡΡΡ ΠΎΠ±Ρ ΠΈΡΡΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ ΡΠ°ΠΊ ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ½ΠΈΠ·ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±Π΅ΡΡΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡ ΠΎΠΆΠΈ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ. ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° ΠΏΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π°ΡΠ΅ΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π½ΠΎ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΄Π½Π° ΠΈΠ· ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠΎΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ Β«Π³ΡΠ΅ΠΌΡΡΠ΅ΠΉ ΡΠΌΠ΅ΡΠΈΒ». ΠΡΠΆΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΈΡΠ»ΠΎ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π³ΡΠ΅ΠΌΡΡΠΈΠ΅ ΡΠΌΠ΅ΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ΅Π΄ΠΊΠΎ. ΠΠΎΡΡΠΎΠΌΡ, ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π° Π½Π°Ρ Π²Π·Π³Π»ΡΠ΄, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ. ΠΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ Π² Π΅Π΄ΠΈΠ½ΠΎΠΉ Π±Π°Π·Π΅ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΎΠΉ. Π Π½Π΅ΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠ΅.
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ, Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ Β«Π΄ΡΠΌΠ°Β» ΠΈ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ Π½Π° Π²ΡΠ΅Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°Ρ . ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ.
ΠΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΠΏΡΠΈ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ° Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ A Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ B. Π§Π΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΠ°Ρ ΠΌΡ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΡΡΠΎ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Π³ΠΎΡΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅, ΠΌΠ΅ΡΠ°ΡΡΠ΅Π΅ Π²Π½Π΅Π΄ΡΡΡΡ ΡΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΠΈ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π»ΠΈΡΠ½Π΅ Π·Π°ΡΠΎΡΠ΅Π½ ΡΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΡΡΡ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Π³ΠΎΡΠΎΠ²Π° ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΅ΡΠ΅ Π½Π° ΠΏΠ°ΡΡ Π΄Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π½Π΅Π΄Π΅Π»Ρ, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠ΅Π»ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠΊΡΠ°ΡΠΈΠ² ΠΊΠΎΠ΄ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈΠ·Π±Π°Π²Π»ΡΡΡΡΡ ΠΎΡ ΡΠΆΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ FeatureToggles.isFooEnabled(), Π° Π½Π΅ FeatureToggles.isFooEnabled(βfooβ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΠΊΠΎΠ΄Π°. ΠΠ΅Π΄Ρ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ isFooEnabled(), Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄, ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π΅Π³ΠΎ, Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE) Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡ, Π³Π΄Π΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² β Π΅ΡΠ»ΠΈ Π½Π°ΡΠ° IDE ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈΠ±ΠΎ Π½Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π»ΠΈΠ±ΠΎ Π½Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΈΠΉ ΡΡΠΎΠΊ, ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±Π»Π°Π·Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π² ΠΈΠΌΠ΅ΡΡΠ΅ΠΌΡΡ Π²ΠΈΠ΄Π΅, ΡΠ½Π°Π±Π΄ΠΈΠ² Π΅Π΅ Π΄Π»Ρ ΡΡΡΠ°Ρ ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠ»ΠΎΡ Π°Ρ ΠΈΠ΄Π΅Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ΄ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π·Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ, ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΡΡΡΡ ΠΈ ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ. Π‘ΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ Π²Π΅ΡΡΠΈΠΉ) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π΄Π½Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. ΠΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΠ°Ρ , ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ. Π ΠΎΡΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², Π½Π΅ Π½Π°ΡΡΡΠ°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°.
Π ΠΎΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΠ΅ΡΠΆΠΈΡΠ΅ Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠΈΡΡΡΠΌ.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡΠ°ΡΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ CentOs 7. Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ stdout ΠΈ stderr ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²β¦
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠ°ΠΌΠΌΠ°ΡΠΈ Π·Π°ΠΌΠ΅ΡΠΎΠΊ ΠΏΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΠΈΡΡΠΎΡΠΈΡ, ΠΎΠ½Π° ΠΆΠ΅ ΡΠ·Π΅ΡΡΡΠΎΡΠΈ. ΠΠ³ΡΡ Π΄Π°ΡΡ ΠΎΠΏΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΠΏΡΡ ΡΠΌΠΎΡΠΈΠΉ. ΠΠΏΡΡ ΠΈ ΡΠΌΠΎΡΠΈΠΈβ¦
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡ, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ Π΅Ρβ¦