ΠΠ΄ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°, Π ΡΡΠΈΡΠ° ΠΈΠΌΠ° Π·Π°ΠΊΠΎΠ½ Π·Π° Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅. ΠΠ°ΠΊΠΎΠ½ΠΎΡ Π½Π΅ Π²Π°ΠΆΠΈ Π·Π° ΡΠΈΡΠ΅ Π³ΡΡΠΏΠΈ Π½Π° ΡΡΠΎΠΊΠΈ, Π° Π΄Π°ΡΡΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ°ΠΏΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠΈΠ»Π° Π½Π° Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅ Π·Π° Π³ΡΡΠΏΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. Π’ΡΡΡΠ½ΠΎΡ, ΡΠ΅Π²Π»ΠΈΡΠ΅ ΠΈ Π»Π΅ΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΡΠ²ΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π½Π° Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅, Π° ΠΏΠΎΠ΄ΠΎΡΠ½Π° ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΡΠ΅ΠΌΠΈ, ΡΠ΅ΠΊΡΡΠΈΠ» ΠΈ ΠΌΠ»Π΅ΠΊΠΎ. ΠΠ²Π°Π° Π·Π°ΠΊΠΎΠ½ΡΠΊΠ° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΡΠ° ΠΏΠΎΡΡΠΈΠΊΠ½Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π½ΠΎΠ²ΠΈ ΠΠ’ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΠΊΠΎΠΈ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ ΠΆΠΈΠ²ΠΎΡΠ΅Π½ ΡΠΈΠ½ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ ΠΎΠ΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄ΠΎ ΠΊΡΠΏΡΠ²Π°ΡΠ΅ ΠΎΠ΄ ΠΊΡΠ°ΡΠ½ΠΈΠΎΡ ΠΏΠΎΡΡΠΎΡΡΠ²Π°Ρ, Π΄ΠΎ ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ: ΠΈ ΡΠ°ΠΌΠ°ΡΠ° Π΄ΡΠΆΠ°Π²Π° ΠΈ ΡΠΈΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΏΡΠΎΠ΄Π°Π²Π°Π°Ρ ΡΡΠΎΠΊΠΈ ΡΠΎ Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ·Π½Π°ΡΡΠ²Π°ΡΠ΅.
ΠΠΎ X5, ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΡΠΎ ΡΠ΅ Π³ΠΈ ΡΠ»Π΅Π΄ΠΈ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΌΠ΅Π½ΡΠ²Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ Π΄ΡΠΆΠ°Π²Π°ΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° βΠΠ°ΡΠΊΡΡβ. ΠΡΠ΄Π΅ Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΠΏΠΎ ΡΠ΅Π΄ ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΠΎΡ Π³ΠΎ ΡΠ°Π·Π²ΠΈΠ», ΠΊΠ°ΠΊΠΎΠ² Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠΈΠΎΡ ΠΊΡΠΏ ΠΈ Π·ΠΎΡΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΎ ΡΡΠΎ Π΄Π° ΡΠ΅ Π³ΠΎΡΠ΄Π΅Π΅ΠΌΠ΅.
ΠΠΈΡΡΠΈΠ½ΡΠΊΠΎ Π²ΠΈΡΠΎΠΊΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅
βΠΠ°ΡΠΊΡΡβ ΡΠ΅ΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π³Π»Π°Π²Π½ΠΈΠΎΡ Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ X5 ΠΈ Π΄ΡΠΆΠ°Π²Π½ΠΈΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ Π·Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ (GIS MP) Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅ΡΠ΅ΡΠΎ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°, Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΡΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π·Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈ ΠΎΠ΄ Π½Π°Ρ ΠΈ ΡΠ΅Π»Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΡΠΈΡΡΠΈ Π½ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ. ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° ΡΡΡΡΠ½ΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈ Π±Π΅Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΡΠ²ΠΈΡΠ΅ Π³ΡΡΠΏΠΈ Π½Π° ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΡΡΠΎΠΊΠΈ, ΡΠ°ΠΌΠΎ Π΅Π΄Π΅Π½ ΠΊΠ°ΠΌΠΈΠΎΠ½ ΡΠΈΠ³Π°ΡΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΠΎΠΊΠΎΠ»Ρ 600 ΠΊΡΡΠΈΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΠΊΠΎΠ΄. Π Π·Π°Π΄Π°ΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π΄Π° ΡΠ° ΡΠ»Π΅Π΄ΠΈ ΠΈ ΠΏΠΎΡΠ²ΡΠ΄ΠΈ Π·Π°ΠΊΠΎΠ½ΠΈΡΠΎΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΠΎΠ΅ ΡΠ°ΠΊΠ²ΠΎ ΠΏΠ°ΠΊΡΠ²Π°ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ ΠΌΠ°Π³Π°ΡΠΈΠ½ΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠΈΡΠ΅ ΠΈ Π½Π° ΠΊΡΠ°ΡΠΎΡ Π΄Π° ΡΠ° ΠΏΠΎΡΠ²ΡΠ΄ΠΈ ΠΏΡΠΈΡΠ°ΡΠ»ΠΈΠ²ΠΎΡΡΠ° Π½Π° Π½ΠΈΠ²Π½Π°ΡΠ° ΠΏΡΠΎΠ΄Π°ΠΆΠ±Π° Π½Π° ΠΊΡΠ°ΡΠ½ΠΈΠΎΡ ΠΊΡΠΏΡΠ²Π°Ρ. Π Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠΊΠΎΠ»Ρ 000 Π³ΠΎΡΠΎΠ²ΠΈΠ½ΡΠΊΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Ρ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΠΊΠΎΡ ΡΠ°ΠΊΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ Π²Π»Π΅Π·Π΅ Π²ΠΎ ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠ°ΡΠ°. Π’Π°ΠΊΠ°, Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΈΡΠ΅ Π΄Π²ΠΈΠΆΠ΅ΡΠ° ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΡΠ΅, ΠΎΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ.
Π’ΠΈΠΌΠΎΡ Π
Π ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° Marcus ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° X5, ΡΠΎΡ ΡΠ΅ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ. Π’ΠΈΠΌΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ Scrum. ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π·Π°ΠΏΠΎΡΠ½Π° ΠΌΠΈΠ½Π°ΡΠΎΡΠΎ Π»Π΅ΡΠΎ, Π½ΠΎ ΠΏΡΠ²ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π΄ΠΎΡΠ΄ΠΎΠ° Π΄ΡΡΠΈ Π²ΠΎ ΠΎΠΊΡΠΎΠΌΠ²ΡΠΈ - Π½Π°ΡΠΈΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΡΠΈΠΌ Π±Π΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠΎΡΡΠ°Π²Π΅Π½, ΡΠ°Π·Π²ΠΈΠ΅Π½Π° Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ Π½Π°Π±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠ΅ΠΌΠ°. Π‘Π΅Π³Π° ΡΠΈΠΌΠΎΡ ΠΈΠΌΠ° 16 Π»ΡΡΠ΅, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΡΡ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΠ°Π·Π²ΠΎΡ Π½Π° Π·Π°Π΄Π½ΠΈ ΠΈ ΠΏΡΠ΅Π΄Π΅Π½ Π΄Π΅Π», ΠΎΠ΄ ΠΊΠΎΠΈ ΡΡΠΎΡΡΠ° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ° Π°Π½Π°Π»ΠΈΠ·Π°. Π£ΡΡΠ΅ ΡΠ΅ΡΡ Π»ΡΡΠ΅ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΠ°ΡΠ½ΠΎ, ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΡΡ Π·Π° SRE.
ΠΠ΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΏΠΈΡΡΠ²Π°Π°Ρ ΠΊΠΎΠ΄ Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠΈΠΌ; ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ ΠΌΠΎΠΌΡΠΈ Π·Π½Π°Π°Ρ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π°Ρ ΠΈ ΠΏΠΈΡΡΠ²Π°Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ, Π΄Π° Π²ΡΠΈΡΡΠ²Π°Π°Ρ ΡΠΊΡΠΈΠΏΡΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. ΠΠΎΡΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ²Π°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π΄ΡΡΠΈ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ Π±Π°ΡΠ° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°. Π‘Π΅ΠΊΠΎΠ³Π°Ρ ΡΠ΅ ΡΡΡΠ΄ΠΈΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΈ ΠΏΠΎΠΌΠ°Π³Π°ΠΌΠ΅ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΊΠΎΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π»Π΅ ΠΈ ΠΈΠΌ Π΄Π°Π²Π°ΠΌΠ΅ Π½Π΅ΠΊΠΎΠΈ ΠΌΠ°Π»ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΠΊΠΎΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ.
ΠΠΎΡΠ°Π΄ΠΈ ΠΏΠ°Π½Π΄Π΅ΠΌΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΎΠ½Π°Π²ΠΈΡΡΡ, Π³ΠΎ ΠΏΡΠ΅ΡΡΠ»ΠΈΠ²ΠΌΠ΅ ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΎΠ΄ Π΄Π°Π»Π΅ΡΠΈΠ½Π°; Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡΠ° Π½Π° ΡΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ°Π·Π²ΠΎΡΠΎΡ, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΊ Π²ΠΎ Jira ΠΈ GitLab ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π΅ ΠΎΠ²Π°Π° ΡΠ°Π·Π°. ΠΠ΅ΡΠ΅ΡΠΈΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π°ΡΠΈ Π½Π° Π΄Π°Π»Π΅ΡΠΈΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ°Π° Π΄Π΅ΠΊΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΠ° Π½Π° ΡΠΈΠΌΠΎΡ Π½Π΅ ΡΡΡΠ°Π΄Π° ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ; Π·Π° ΠΌΠ½ΠΎΠ³ΡΠΌΠΈΠ½Π°, ΡΠ΄ΠΎΠ±Π½ΠΎΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ Π½Π΅ΡΡΠΎ ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ²Π°ΡΠ΅ Π±Π΅ΡΠ΅ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΆΠΈΠ²ΠΎ.
Π‘ΠΎΡΡΠ°Π½ΠΎΠΊ Π½Π° Π΄Π°Π»Π΅ΡΠΈΠ½Π° Π½Π° ΡΠΈΠΌΠΎΡ
Π‘ΠΎΡΡΠ°Π½ΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΄Π°Π»Π΅ΡΠΈΠ½Π°
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΡΠ°ΠΊ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΈ Π°Π»Π°ΡΠΊΠ°ΡΠ° CI/CD Π·Π° X5 Π΅ GitLab. ΠΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ, ΠΊΠΎΠ³Π° Π½Π°ΡΠΌΠ°Π»ΠΊΡ 2 ΠΊΠΎΠ»Π΅Π³ΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΠ΄ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ. ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ SonarQube ΠΈ JaCoCo Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ Π΄Π° Π³ΠΎ ΠΎΠ΄ΡΠΆΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄ ΡΠΈΡΡ ΠΈ Π΄Π° Π³ΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠΊΡΠΈΠ΅Π½ΠΎΡΡ Π½Π° ΡΠ΅ΡΡΠΎΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ°. Π‘ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π°Ρ Π½ΠΈΠ· ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. Π‘ΠΈΡΠ΅ ΡΠ΅ΡΡ ΡΠΊΡΠΈΠΏΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ°ΡΠ½ΠΎ ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ.
ΠΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΠ΄ ΡΡΡΠ°Π½Π° Π½Π° βΠΠ°ΡΠΊΡΡβ, ΠΌΠΎΡΠ°Π²ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΠΈΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΏΠΎ ΡΠ΅Π΄.
ΠΠ°Π΄Π°ΡΠ° 1. ΠΠΎΡΡΠ΅Π±Π°ΡΠ° ΠΎΠ΄ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½Π° ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»ΠΈΠ²ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ
ΠΠ° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΈΠ·Π±ΡΠ°Π²ΠΌΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΊΠΎΠ½ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΎΠ±Π»Π°ΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠ»ΡΠΆΠ±ΠΈΡΠ΅. Π‘Π΅ ΠΎΠ±ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅, Π·Π΅ΠΌΠ°ΡΡΠΈ Π³ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ΅ΡΡΠ°, Π½ΠΎ ΠΌΠ½ΠΎΠ³Ρ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°, ΠΏΡΠΈ ΡΡΠΎ Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π±ΡΠ·ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΡΠ°Ρ ΠΎΠ΄ Π΄ΡΠΆΠ°Π²Π½ΠΈΠΎΡ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΡΠΎΠΊΠΈ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΡΠ°ΡΠ°Π°Ρ, ΡΠΈΡ Π±ΡΠΎΡ ΠΏΡΠΈ Π΅Π΄Π½Π° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π½ΡΠ²Π° 600000 , ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ° ΠΏΡΠΈΡΠ°ΡΠ»ΠΈΠ²ΠΎΡΡΠ° Π·Π° ΠΏΡΠΈΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π²ΠΎ ΠΌΠ°Π³Π°ΡΠΈΠ½ΠΎΡ ΠΈ Π²ΡΠ°ΡΠ΅ΡΠ΅ Π³ΠΈ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ. ΠΠΎ, ΠΏΡΠ°ΡΠΊΠ°ΡΠ° ΠΎΠ΄ ΠΌΠ°Π³Π°ΡΠΈΠ½ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΡΠ΅Ρ, Π½ΠΎ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΌΠ°Π» ΠΎΠ±Π΅ΠΌ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π±Π΅Π· Π΄ΡΠΆΠ°Π²ΡΠ°Π½ΡΡΠ²ΠΎ, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΡΠ΅ΠΊΠΎΡΠΈ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΈ ΠΎΠ½Π° ΡΡΠΎ Π³ΠΎ Π½Π°ΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ-ΡΠ΅ΠΌΠΈ Π½Π° ΠΠ°ΡΠΊΠ°. ΠΠ²Π° Π΅ ΠΊΠΎΠ³Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΡ ΠΈΡΠΏΡΠ°ΡΠ° ΠΏΠΎΡΠ°ΠΊΠ° Π΄ΠΎ ΡΠ΅Π±Π΅, ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠΎ ΠΏΠΎΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ, Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΏΠΎΠ΄ΠΎΡΠ½Π°.
Π Π΅ΡΠΈΠ²ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΎΠ΄Π΄Π΅Π»ΠΈΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ²Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΡΠ΅ΡΡΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° API Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π΅Π· ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ Π²Π»ΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ· ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΡΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
Π‘ΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ OpenShift, ΡΡΠΎ Π³ΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΈ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°.
ΠΠ°Π΄Π°ΡΠ° 2. ΠΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠΆΠΈ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½Π° ΡΠ°Π·ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°: Π‘Π°ΠΌΠΎ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π°ΡΠ° Π½Π° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ, ΡΠ΅ Π²ΡΡΠ°Ρ ΠΎΠΊΠΎΠ»Ρ 600 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΡΠ΅ΠΊΡΠ²Π°ΠΌΠ΅ ΠΎΠ²Π°Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π΄Π° ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π° 5000 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ/ΡΠ΅ΠΊ Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΌΠ°Π»ΠΎΠΏΡΠΎΠ΄Π°ΠΆΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°Π°Ρ ΡΠΎ Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°.
ΠΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ ΡΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΠ°ΡΠΊΠ° ΠΈ ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π½Π°ΠΏΡΡΡΠ°ΡΠ΅ Π½Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ²Π° Π±Π°ΡΠ° ΠΌΠ½ΠΎΠ³Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠΎ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ ΠΏΡΠ΅ΠΊΡ Π±ΡΠΎΠΊΠ΅ΡΠΎΡ, ΡΡΠΊΡ Π³ΠΈ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΈ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΎ ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ°. Π’Π°ΠΊΠ°, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎΡΠΈΡΠΈ ΠΊΠΈΠ»ΠΎΠ±Π°ΡΡΠΈ. ΠΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° Π²ΠΎ ΠΠ°ΡΠΊΠ° Π±Π°ΡΠ° ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎ Π΄Π° ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° ΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ, Π³ΠΈ Π΄Π΅Π»ΠΈΠΌΠ΅, Π½ΠΎ ΠΏΠΎΠ΄Π΅Π»Π±Π°ΡΠ° Π΅ Π»ΠΎΠ³ΠΈΡΠ½Π°, ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠΊΠ°ΡΠ° ΡΡΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π½ΡΠ²Π° Π²ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ» ΡΠ° Π΄Π΅Π»ΠΈΠΌΠ΅ Π²ΠΎ ΠΊΡΡΠΈΠΈ. ΠΠ° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ΅ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΠΈ ΡΠ΅ Π²ΡΡΠΈ ΡΠ΅ΠΌΠ΅Π»Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ. ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΠΠ°ΡΠΊΠ° Π½ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈ ΡΡΡΠ΅ Π΅Π΄Π΅Π½ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊ - ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π·Π΅ΠΌΠ°ΡΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΠ°ΡΠΊΠ° Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΠΈΡΠ΅ Π½Π°ΡΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΡΠ° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ. ΠΠΎ ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Embedded Kafka Broker. ΠΠ²Π° Π½Π΅ ΡΠ° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΏΠΈΡΡΠ²Π°Π°Ρ Π΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π·Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, Π½ΠΎ ΠΏΡΠ΅ΡΠΏΠΎΡΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΠ°ΡΠΊΠ°.
ΠΠ½ΠΎΠ³Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΎ Π½Π° Π»ΠΎΠ³ΠΎΠ²ΠΈΡΠ΅ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·Π³ΡΠ±ΠΈ Π½ΠΈΠ²Π½ΠΈΠΎΡ TraceId ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠ΅ΡΠΈΡΠ° Π½Π° ΠΠ°ΡΠΊΠ°. Π Π°ΠΊΠΎ Π½Π΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΏΡΠ²ΠΈΠΎΡ, ΡΠΎΠ³Π°Ρ Π²ΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ Π½ΠΈΠ΅ ΡΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° Π³ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΈΡΠ΅ TraceIds ΡΠΎ ΠΊΠΎΠΈ Π΄ΠΎΡΠ΄Π΅ ΡΠ΅ΡΠΈΡΠ°ΡΠ° ΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌΠ΅ Π΅Π΄Π΅Π½ Π·Π° Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌΠ΅ ΡΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅. ΠΠΎΡΠΎΠ°, ΠΏΡΠΈ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ TraceId, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ ΡΠΎ ΠΊΠΎΡ ΡΠ»Π΅Π΄Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΎ.
ΠΠ°Π΄Π°ΡΠ° 3. ΠΠΎΡΡΠ΅Π±Π°ΡΠ° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ: ΠΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ 1 ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π³ΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΡΡΡΡΠ½ Π΄ΠΎΠ°ΡΠ°Π°Ρ Π΄ΠΎ X5. Π’ΠΈΠ΅ Π±Π°ΡΠ°Π°Ρ ΠΏΠΎΡΡΠΎΡΠ°Π½ ΠΈ Π±ΡΠ· ΠΏΡΠΈΡΡΠ°ΠΏ. Π‘Π΅Π²ΠΊΡΠΏΠ½ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ ΠΎΠΊΠΎΠ»Ρ 10 ΠΌΠΈΠ»ΠΈΡΠ°ΡΠ΄ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ΄ ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΡΠΎΠΊΠΈ.
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΡΡΠ΅ΡΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½Π° NoSQL Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ MongoDB. ΠΠΌΠ°ΠΌΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΎ ΠΏΠ°ΡΡΠ΅ ΠΎΠ΄ 5 ΡΠ°Π·Π»ΠΈ ΠΈ ΡΠ΅ΠΊΠΎΡ ΡΠ°Π·ΠΎΠ» ΠΈΠΌΠ° Replica ΡΠ΅Ρ ΠΎΠ΄ 3 ΡΠ΅ΡΠ²Π΅ΡΠΈ. ΠΠ²Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ, Π΄ΠΎΠ΄Π°Π²Π°ΡΡΠΈ Π½ΠΎΠ²ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΈ Π΄Π° ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠΈΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ²Π΄Π΅ Π½Π°ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π½Π° Π΄ΡΡΠ³ ΠΏΡΠΎΠ±Π»Π΅ΠΌ - ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ ΠΌΠΎΠ½Π³ΠΎ, Π·Π΅ΠΌΠ°ΡΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΡΠΊΠ°Π»Π°Π±ΠΈΠ»Π½ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄Π½Π° ΠΎΠ΄ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π΄Π° Π³ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π° ΠΎΠ±ΠΈΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΆΠ±Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΡΠΎ ΠΈΡΡΠΈ ΡΠΈΡΡΠΈ Π·Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅. ΠΠ²Π΄Π΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΡΠ΅ΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ° ΡΠΎ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΈ ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ΄ ΠΊΠ°ΡΠΈΠ΅ΡΠΈ. ΠΡΠΊΡΠΈΠ²ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ ΠΈ Π²ΠΎ Π΅Π΄Π½Π° ΡΠ΅ΡΠΈΡΠ° Π½Π° ΠΠ°ΡΠΊΠ° ΡΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΠΈ Π²ΠΎ Π΄Π²Π΅ ΡΠ΅ΡΠΈΠΈ ΡΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. Π’Π°ΠΊΠ°, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π·Π° Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈ ΡΠΎ Π±Π°ΡΠ°ΡΠ΅ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π΅ Π΄Π°Π΄Π΅ Π½ΠΈΡΡΠΎ. ΠΠ° ΡΠ΅ΠΊΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π³ΠΎ ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΎΠ²Π°Π° ΡΡΠ»ΡΠ³Π°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π΄ΠΎΠ΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΠΎ ΡΠ΅ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΠΎΡΠ΅Π±Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈ ΠΏΡΠΈ Π²ΠΌΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅.
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ°ΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠΎ ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π½ΠΈΠΊΠ°ΠΊΠΎΠ² Π½Π°ΡΠΈΠ½ Π½Π΅ΠΌΠ° Π΄Π° Π²Π»ΠΈΡΠ°Π΅ Π½Π° Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎΡΠΎ Π½Π΅ΡΡΠΎ - ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π³ΠΈ ΠΎΠ΄Π²ΠΎΠΈΠ²ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° ΡΡΠ»ΡΠ³Π° ΡΠΎ ΠΏΠΎΡΠ΅Π±Π½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠΎΡΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±ΠΈΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΊΡ ΠΠ°ΡΠΊΠ°. . ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ»ΡΠ³Π° Π±Π΅Π· Π΄Π° Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΊΠΎΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°Π΄Π°ΡΠ° 4: ΠΠΎΠ²ΡΠΎΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΡΠ΅Π΄ΠΎΡ:
ΠΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡΠ° Π½Π° Π±Π°Π·ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ΅Π΄ΠΈΡΠΈ ΠΈ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΠΈΠ·Π²ΠΎΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎ ΡΠ»ΡΡΠ°ΡΠΎΡ Π½Π° ΠΠ°ΡΠΊΡΡ, ΠΈΠ·Π²ΠΎΡΠΎΡ Π½Π° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠΎ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ ΡΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π΅ΡΠ΅, Π½ΠΎ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ΠΌΠ° Π΄Π° ΠΏΡΠ΅ΡΡΠ°Π½Π΅ Π΄Π° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΡΡΠΏΠ΅ΡΠ½ΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠ΅Π΄. ΠΠ° ΡΠ°Π° ΡΠ΅Π» Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ ΡΠ°ΠΊΠ°Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ βΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΠΈΠ΄ Π·Π°ΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ΅ΠΌΠ°β. ΠΠ° ΡΠ΅ΠΊΠΎΡΠ° Π³Π»Π°Π²Π½Π° ΡΠ΅ΠΌΠ° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ ΠΎΠ±ΠΈΠ΄ Π½Π° ΠΊΠΎΠΈ ΡΠ΅ ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ Π²ΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π΄ΠΎΡΠ½Π΅ΡΠ΅ΡΠΎ Π²ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ ΠΎΠ΄ Π³Π»Π°Π²Π½Π°ΡΠ° ΡΠ΅ΠΌΠ°. Π¨Π΅ΠΌΠ° Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° -
ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΠ°ΠΊΠ²Π° ΡΠ΅ΠΌΠ°, Π½ΠΈ ΡΡΠ΅Π±Π°ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ: Π΄Π° Π³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ Spring ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌΠ΅ Π΄ΡΠΏΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ. ΠΠΎΠ΄Π΅ΠΊΠ° ΡΡΡΡΠ°Π²ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π½Π°ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π½Π° ΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° Spring BeanPostProccessor, Π½ΠΎ Π½ΠΈ ΡΠ΅ ΡΠΈΠ½Π΅ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π½Π΅Π·Π³ΠΎΠ΄Π½ΠΎ. ΠΠ°ΡΠΈΠΎΡ ΡΠΈΠΌ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΅ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΠΌΠ΅ Π²ΠΎ ΠΏΡΠΎΠ»Π΅ΡΠ½ΠΈΠΎΡ ΡΠΈΠΊΠ»ΡΡ Π·Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΠ±ΠΈΠ΄ΠΈ ΡΠ΅ ΡΠΎ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΈ. ΠΠ° ΡΠΈΠΌΠΎΡ Π½Π° ΠΏΡΠΎΠ»Π΅ΡΡΠ° ΠΌΡ ΠΏΠΎΠ½ΡΠ΄ΠΈΠ²ΠΌΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅
ΠΠΊΠΎ ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΡΠΈΡΠ΅ ΠΎΠ±ΠΈΠ΄ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ ΠΎΠ±ΠΈΠ΄, ΡΠ°Π° ΠΎΠ΄ΠΈ Π²ΠΎ DLT (ΡΠ΅ΠΌΠ° Π½Π° ΠΌΡΡΠ²Π° Π±ΡΠΊΠ²Π°) ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Spring DeadLetterPublishingRecoverer. ΠΠ° Π±Π°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°, ΡΠ° ΠΏΡΠΎΡΠΈΡΠΈΠ²ΠΌΠ΅ ΠΎΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΏΠΎΡΠ΅Π±Π½Π° ΡΡΠ»ΡΠ³Π° ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ DLT, stackTrace, traceId ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π½ΠΈΠ². ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ΠΎΡ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΡΠ²Π°ΡΠ°ΡΠ° Π±Π΅Π° Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π½Π° ΡΠΈΡΠ΅ DLT ΡΠ΅ΠΌΠΈ, Π° ΡΠ΅Π³Π°, Π²ΡΡΡΠ½ΠΎΡΡ, ΠΏΠΎΡΠ°Π²Π°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠ° Π²ΠΎ ΡΠ΅ΠΌΠ° DLT Π΅ ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ° Π½Π° Π΄Π΅ΡΠ΅ΠΊΡ. ΠΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ - ΠΏΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ°, Π²Π΅Π΄Π½Π°Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ Π²ΠΎ ΠΊΠΎΡ ΡΠ΅ΠΊΠΎΡ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π°ΡΡΠ°Π½Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎ Π·Π°Π±ΡΠ·ΡΠ²Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π·Π° Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΡΠΈΡΠΈΠ½Π°.
ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΠ° Π½Π°ΡΠ°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°, ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ Π³ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ) ΠΈ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΠΎΡ Π΄Π΅ΡΠ΅ΠΊΡ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π°. ΠΠ²Π° Π΅ ΠΌΠ΅ΡΡΠΎΡΠΎ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π½Π°ΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ-ΡΠ΅ΠΌΠΈ Π½ΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈ: Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Π΄ΠΎΠ»Π³ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ ΠΏΠΎΡΠ°ΠΊΡΠ²Π°Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ.
Π Π°Π±ΠΎΡΠ΅ΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ Π²Π΅ΡΠ΅ Π²ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΡΠ΅ΠΊΠΎΡΠ΄Π½Π΅Π²Π½ΠΎ Π²ΡΡΠΈΠΌΠ΅ ΠΈΡΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ ΠΏΡΠ°ΡΠΊΠΈ, ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π½ΠΈ ΡΠ΅Π½ΡΡΠΈ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠΈ. ΠΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΏΠΈΠ»ΠΎΡΠΎΡ, ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π³ΡΡΠΏΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ βΠ’ΡΡΡΠ½β ΠΈ βΠ§Π΅Π²Π»ΠΈβ.
Π¦Π΅Π»ΠΈΠΎΡ Π½Π°Ρ ΡΠΈΠΌ ΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π²ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΈΠ»ΠΎΡΠΈΡΠ΅, Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΄Π°Π²Π° ΠΏΡΠ΅Π΄Π»ΠΎΠ·ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄, ΠΎΠ΄ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ Π΄ΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅.
ΠΠ° Π΄Π° Π½Π΅ Π³ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ, ΡΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅Π½ΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠΈΠ»ΠΎΡΠΎΡ ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ°Π°Ρ Π²ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ. ΠΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠΏΡΠΎΠ²Π΅Π΄Π΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π·Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΡΠ° ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΆΠ΅ΡΠΊΠ° ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ° Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π²ΠΎ ΡΠΎΠΊ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°ΡΠ°.
Π‘Π΅Π³Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ° ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ ΡΠΎΠΎΡΡΠ²Π°ΠΌΠ΅ ΡΠΎ Π½ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΡΠΈ. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ, ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π²ΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com