ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅! ΠΠ· ΡΡΠΌ ΠΠ°ΡΠ° Π§Π΅ΡΠ½ΡΠΊ, Π³Π»Π°Π²Π΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² QIWI ΠΈ Π΄Π½Π΅Ρ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΡ Π·Π° Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΡΠΎ. ΠΠ° Legacy.
ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ Π²ΡΠΏΡΠΎΡΠ°: ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Legacy-ΡΠ΅ΡΠ²ΠΈΡ? Legacy-ΡΠ΅ΡΠ²ΠΈΡ Π΅ ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΄ΠΎ ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π½Π΅ ΡΠ΅ Π΅ Π΄ΠΎΠΊΠΎΡΠ²Π°Π» Π²Π΅ΡΠ΅ ΡΠ΅Π΄ΠΌΠΈΡΠ°/ΠΌΠ΅ΡΠ΅Ρ/Π³ΠΎΠ΄ΠΈΠ½Π°? ΠΠ»ΠΈ Π΅ ΡΡΠ»ΡΠ³Π°ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΡ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΠΏΠΈΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ Π²Π°Ρ ΠΏΡΠ΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°? Π ΡΠ΅Π³Π° Π²ΠΈΠ΅ ΡΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΈ ΠΈ ΠΎΠΏΠΈΡΠ½ΠΈ. ΠΠ»ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊ, Legacy-ΡΠ΅ΡΠ²ΠΈΡΡΡ Π΅ ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ Π΄Π° Π½Π΅ ΠΊΠΎΠΌΠΈΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ Π±Π°Π²Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡΠ΅ Π·Π°ΠΌΡΠ½Π° Π·Π° Π½Π΅Ρ? ΠΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ»ΡΠ³Π° Π±Π΅Π· Π½Π°Π΄Π·ΠΎΡ ΠΈ Π±Π΅Π· Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΅ Π±ΠΎΠΌΠ±Π° Ρ ΡΠ°ΡΠΎΠ²Π½ΠΈΠΊΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±ΡΡ Π½Π΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΊΡΠΌ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ Π² QIWI ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π½Π°ΡΠΈΡΠ΅ Legacy-ΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠ΅Π΄ΠΈΡ ΠΌΠ΅ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² ΠΠΎΡΠ΅Π»Π΅ΠΊ. ΠΠ΅ΡΠ΅ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ΅ Π³ΡΠΈΠΆΠ° Π·Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ. ΠΠΊΠΎ ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΏΡΡΠ²ΠΎ ΠΌΠΈ ΡΠ΅ ΠΎΠ±Π°ΠΆΠ΄Π°Ρ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½ΡΠΌΠ°ΠΌ ΠΊΡΡΠ°ΠΆΠ° Π΄Π° Π·Π²ΡΠ½Ρ Π½Π° Π½ΡΠΊΠΎΠΉ Π΄ΡΡΠ³ Π² 11 ΡΠ°ΡΠ° Π²Π΅ΡΠ΅ΡΡΠ°, Π·Π°ΡΠΎΠ²Π° ΠΌΠΈ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ΅Π΄Ρ ΠΈ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΎΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π½ΠΈ.
ΠΠΎ Π°Π·, ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π΅ΠΊ, ΠΎΠ±ΠΈΡΠ°ΠΌ Π΄Π° ΡΠΏΡ ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡΡΠ°: "Π Π΅Π±ΡΡΠ°, Π·Π°ΡΠΎ ΠΌΠΈ Π·Π²ΡΠ½ΠΈΡΠ΅?". ΠΠ° ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΡΠ²ΡΠ΅ΠΌ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ: "Π Π½Π° ΠΊΠΎΠ³ΠΎ Π΄ΡΡΠ³?". ΠΠ°ΡΠΎΡΠΎ Π°Π· ΠΏΠΎΠΏΡΠ°Π²ΡΠΌ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π° ΠΈ ΠΌΠΎΠΌΡΠ΅ΡΠ°ΡΠ° ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΡ Π½Π° ΠΊΠΎΠ³ΠΎ Π΄Π° Π·Π²ΡΠ½Π½Π°Ρ.
ΠΠ°ΡΠΎΠ²Π° Π½Π° Π΅Π΄Π½Π° ΠΎΡ ΡΠ΅ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄ Π½Π° ΠΠΎΡΠ΅Π»Π΅ΠΊ ΡΠ΅ΡΠΈΡ
ΠΌΠ΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΡΡΠ°Π²ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°, Π½Π° ΠΊΠΎΡΡΠΎ Π΄Π° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΡΠΏΠΈΡΡΠΊ Ρ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ Π² ΠΠΎΡΠ΅Π»Π΅ΠΊ, ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈΡΠ΅ Π·Π° ΡΡΡ
. Π’Π°Π±Π»ΠΈΡΠΈΡΠ΅ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΈ, Π² ΡΠ°Π·ΡΠΌΠ½ΠΈ Π³ΡΠ°Π½ΠΈΡΠΈ.
ΠΡΠ²Π΅Π½ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠΉ Π·Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ, ΡΠ°ΠΌ ΠΈΠΌΠ°ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²ΡΠΏΡΠΎΡΠΈΡΠ΅: ΠΊΠΎΠΉ Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΠΎΠΉ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Ρ, Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ». Π₯ΠΎΡΠ°ΡΠ°, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°, ΡΠ° Ρ
ΠΎΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Ρ ΠΏΠΎΠΏΡΠ°Π²ΡΡ ΠΏΡΠΈ Π½ΡΠΆΠ΄Π°. Π‘ΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊΡΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΎ Π΄Π° ΠΎΡΡΠ°Π²ΠΈ +2 Π² ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅, Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈΡΠ΅ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ Π½Π° ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΡΠ°, ΠΏΡΠ΅Π΄ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ Π½ΠΎΠ² ΠΊΠΎΠΌΠΈΡ.
ΠΡΠ΅ΠΌΠ΅ΡΠΎ ΠΌΠΈΠ½Π°, Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π½ΠΎΠ²ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, ΠΊΠ°ΡΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² Kubernetes, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ checkstyle, spotbugs, ktlint, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π² Kibana, autodiscovery Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ Π½Π°ΡΠ°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π»Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Π°ΠΊΡΡΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ° Π½Π°Ρ ΡΠΎΠ²Π° Π΅ Π²ΠΈΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ, Π° Π΄ΡΡΠ³ΠΎΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅. ΠΠΎ Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ ΠΌΠ΅ Π½Π°ΠΏΡΠ΅Π΄, ΡΠ°Π·Π±ΠΈΡΠ°ΠΉΠΊΠΈ, ΡΠ΅ Π½ΠΈ Π»ΠΈΠΏΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΡΠ»Π΅Π΄ΠΈΠΌ, ΠΊΡΠ΄Π΅ ΡΠ° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΡΠ΄Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° ΡΠ±ΠΎΡΠΊΠ° Π² TeamCity, ΠΊΠ°ΠΊ ΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΡΡ, ΠΊΡΠ΄Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠΈΡΠ΅ Π½Π° end2end ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅, ΡΠ½ΠΈΠΌΠΊΠΈ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ Π³ΡΡΠΌΠΈΠ½Π³ΠΈ, ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π²Π·Π΅ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ ΡΡΠ»Π°ΡΠ° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π° Π±ΡΠ΄Π΅ Π½ΡΠΊΡΠ΄Π΅ ΠΈ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ°ΡΠΎΠ²Π° Π½Π°ΡΠ°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΡΡΠ°Π½Π° ΠΎΡΠΏΡΠ°Π²Π½Π° ΡΠΎΡΠΊΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎ QIWI, ΠΌΠ°ΠΊΠ°Ρ ΠΈ Π΄Π° Π·Π°ΠΏΠ°Π·Π²Π° Π΄ΡΡ Π° Π½Π° ΡΡΠ°ΡΡΠ°ΠΏ, Π΅ Π³ΠΎΠ»ΡΠΌΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ. ΠΠ΅ΡΠ΅ ΡΠΌΠ΅ Π½Π° 12 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ Π΅ΠΊΠΈΠΏΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ: Ρ ΠΎΡΠ°ΡΠ° ΡΠΈ ΠΎΡΠΈΠ²Π°Ρ, Ρ ΠΎΡΠ°ΡΠ° ΠΈΠ΄Π²Π°Ρ, ΡΠΎΡΠΌΠΈΡΠ°Ρ ΡΠ΅ Π½ΠΎΠ²ΠΈ Π΅ΠΊΠΈΠΏΠΈ. Π ΠΎΡΠΊΡΠΈΡ ΠΌΠ΅ Π½Π° Π½Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ»ΡΠ³ΠΈ, ΠΎΡΡΠ°Π½Π°Π»ΠΈ Π½ΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ. ΠΠ΅ΡΠΎ Π΄ΠΎΠΉΠ΄Π΅ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π΅ΠΊΠΈΠΏΠΈ, Π½Π΅ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡΠ΅ Π΄ΠΎ ΠΠΎΡΠ΅Π»Π΅ΠΊΠ°, Π·Π°ΡΠΎΠ²Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π½Π° Π½Π°ΡΠΈΡ Π±Π°Π»Π°Π½Ρ. ΠΠ°ΡΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ Ρ ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ? Π£ΡΠ»ΡΠ³Π°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ, ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅.
ΠΠ°ΠΊΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°
ΠΠΎ Π² Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΊΡΠΈΠ²Π°ΠΌΠ΅, ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΏΠΈΡΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° ΡΠΈ, Π½Π΅ΡΠΎ ΡΠ΅ Π΅ ΡΡΡΠΏΠΈΠ»ΠΎ β ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Π² ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ? Π£ΡΠ»ΡΠ³Π°ΡΠ° ΠΏΡΠΎΡΡΠΎ Π΅ ΡΠΏΡΡΠ½Π°. ΠΠ°ΠΏΡΠ»Π½ΠΎ. Π ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ Π·Π° ΡΠΎΠ²Π°, ΠΏΡΡΠ²ΠΎ, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ, ΠΈ Π²ΡΠΎΡΠΎ, ΡΠ»Π΅Π΄ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ Π³ΠΎΠ΄ΠΈΠ½Π°. Π’Π°ΠΊΠ° ΡΡΠ°Π²Π°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°Π΅Ρ ΠΌΠ΅, Π±Π΅ΡΠ΅ Π½Π° ΠΊΠ°ΠΊΠ²ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠΈΡΠ΅ ΠΈ Π²ΡΠΈΡΠΊΠΎ. ΠΡΠ°Π²ΠΈΠΌ git clone ΠΈ ΡΠ΅ ΠΏΠΎΡΠ°ΠΏΡΠΌΠ΅ Π² ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΈΡΠ°Π» ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅? ΠΡΠΌΠ° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π° Π½Π°Ρ Spring Boot, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΌΠ΅ ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΎ, Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ full stack ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°. ΠΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Spring Framework? Π, Π½ΠΎ Π½Π΅.
ΠΠΎΠΌΡΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΠΈΡΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°, Π±Π΅ΡΠ΅ ΡΡΡΠΎΠ³ ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π½Π° ΡΠΈΡΡ Java. ΠΡΠΌΠ° ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΠΈΠ΄Π²Π° ΠΈΠ΄Π΅ΡΡΠ° - ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΠΌ. ΠΠ°Π»ΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Π° ΠΎΡ Π²ΡΡΠΊΠ° ΡΠΎΡΡΠ΅ΡΡΠ΅ΡΠ° ΡΠ΅ ΡΡΠ²Π° ΠΏΠΎΠ·Π½Π°ΡΠΎΡΠΎ "Π₯ΠΎΡΠ°, ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΡΠ° ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅!". ΠΠΊΠΎ Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄, ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ Π΅Π·ΠΈΠΊ ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ.
Π Π°Π±ΠΎΡΠ°ΡΠ° Π΅ ΡΠ°ΠΌ, ΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½ΡΠΌΠ°ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΠΈΡ. ΠΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ·Π½Π΅Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ°ΡΠ΅, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΠΈΡ? Π ΡΡΡΠ²ΠΈΡΡΡ Π΅ Π΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π² Π²Π°ΡΠΈΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ.
Π ΡΠ΅Π³Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π»Π΅ΡΠ½ΠΎ Π΅ Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΡΠ²ΠΈΡ, Π±Π΅Π· Π΄Π° Π·Π½Π°Π΅ΡΠ΅ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ? Π‘ΡΡΠ²ΠΈΡΡΡ Π½Π΅ Π΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ ΡΡΠ½ΠΎ, Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ - Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ. ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΠ΅, Π°ΠΊΠΎ Π³ΠΈ ΠΈΠΌΠ° - ΠΎΡΠ΅ ΠΏΠΎ-Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ. Π Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² ΡΡΡΠ²ΠΈΡΠ° ΠΈΠΌΠ° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Ρ Π½Π΅ΡΡΠ½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. ΠΠ΅ΡΠΎ Π²Π»ΠΈΠ·Π° Π² Π½ΡΠΊΠ°ΠΊΠ²Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΡΡΠΎ ΡΡΡΠΎ Π·Π°ΡΠ΅Π³Π° Π½ΠΈΡΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ.
Π‘ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ?
Π‘ Π½Π°ΠΉ-Π»ΠΎΠ³ΠΈΡΠ½ΠΎΡΠΎ - Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅. Π’Π°ΠΌ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΠΎΠ½Π΅ Π½ΡΠΊΠ°ΠΊΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΈΠ·Π²ΠΎΠ΄ΠΈ Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ Π½Π° ΠΌΠΎΠ΄Π° TDD, Π½ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ 5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π²ΡΠΈΡΠΊΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ Π΅ ΡΠ΅Π³Π°: ΠΏΠΎΡΡΠΈ Π½ΡΠΌΠ° unit ΡΠ΅ΡΡΠΎΠ²Π΅, Π° ΠΈ ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° Π½ΠΈ ΠΊΠ°ΠΆΠ°Ρ Π½ΠΈΡΠΎ. ΠΡΠ²Π΅Π½ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ²Π° Π½ΡΠΊΠ°ΠΊΡΠ² xml Ρ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΊΠ°ΡΡΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
ΠΠΎ ΠΊΠΎΠ΄Ρ Π½ΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. ΠΡΠ²ΠΎΡΠΈΡ ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ Π² ΡΡΡ Π³ΡΠ΅ΡΠΊΠ° Π½Π° http-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½ Π² ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π±Π΅ΡΠ΅ ΠΈΠ·ΡΠ΅ΠΊΡΠ». Π‘Π²ΡΡΠ·Π°Ρ ΠΌΠ΅ ΡΠ΅ Ρ Π½Π°ΡΠΈΡΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ Π° Π½ΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΈΠ·Π΄Π°Π΄ΠΎΡ Π° Π½ΠΈ ΡΠ°ΠΊΡΠ² ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠΈ. Π’Π΅ΠΌΠ°ΡΠ° Π±ΠΈ ΡΡΡΠ±Π²Π°Π»ΠΎ Π΄Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΈ ΡΡΠΊ. ΠΠ»ΠΈ Π½Π΅? Π£ΡΠ»ΡΠ³Π°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Π½Π°ΡΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ. ΠΠΌΠ°ΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΈ Π²ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° Π½Π΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π½ΠΎΠ΄Π° Π² ΠΏΠ°ΠΏΠΊΠ°, Π° Π΄Π° Π³ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ Elasticsearch, ΠΈ Π΄Π° Π³ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ Π² Kibana. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠΈ ΠΏΡΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΈ Π·Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π’ΠΎΠ΅ΡΡ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π±ΡΠΎΠΉ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΄Π°Π»ΠΈ Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΈΠ»ΠΈ Π½Π΅, ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° HealthCheck. ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠΎΡΠΎ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠ³Π° ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ ΠΈΠ·Π²Π°Π΄ΠΈΠΌ ΠΎΡ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ ΠΈ Π΄Π° Π·Π°Π±ΡΠ°Π²ΠΈΠΌ Π·Π° Π½Π΅Ρ ΠΊΠ°ΡΠΎ Π·Π° Π»ΠΎΡ ΡΡΠ½.
ΠΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ
ΠΠ°ΡΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΡΠΈΠΌ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ Ρ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° Ρ ΠΏΡΠΈΠ²Π΅Π΄Π°Ρ Π² ΡΠ΅Π΄: Π΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅ ΠΊΡΠΌ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²Π΅ΡΠ΅ Π² Grafana, ΠΊΡΠΌ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠ°ΠΊ Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π½Π°Π»ΠΈ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΡΡΠ½ΠΎ Ρ ftp.
ΠΠ°ΠΆΠ½ΠΎ Π΅ β ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠ°Π·ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ΅ΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ? ΠΠ΄ΠΈΠ½ ΡΠΏΡΠΈΠ½Ρ Π·Π° ΠΏΠΎ-ΠΈΠ»ΠΈ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΠΏΠΈΡΠ΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° 20%-Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΡΠ»Π³. Π ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π½ΡΠΆΠ½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΡΡΠ»Π°ΡΠ° Π·Π°ΠΊΠΎΡΠ΅Π½ΡΠ»Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π½ΡΠΊΠ°ΠΊΠ²Π° Π΄ΡΡΠΆΠ°Π²Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π΄Π° Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΡΠΌ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ? ΠΠ΅ ΠΌΠΎΠ³Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌ Π·Π° ΡΠΎΠ²Π° β ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ΅ ΠΌΠ΅ΡΠ΅Ρ, Π° ΠΌΠΎΠΆΠ΅ ΠΈ Π΄Π²Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΅ΠΊΠΈΠΏΠ°. ΠΠ°Π·Π²Π°ΠΌ ΡΠΎΠ²Π° ΠΎΡ ΠΎΠΏΠΈΡ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π² ΡΠ΅ΠΊΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Ρ Π½ΡΠΊΠ°ΠΊΠ²Π° Π½ΠΎΠ²Π° ΡΡΠ»ΡΠ³Π°.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½ΠΈΡΠΎ ΠΎΡ Π±ΠΈΠ·Π½Π΅Ρ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°. ΠΠ±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΡΠΎ. ΠΠ° ΠΏΠΎΠ΅ΠΌΠ΅Ρ ΡΡΠ»ΡΠ³Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΠ°ΡΠ°Ρ ΠΌΠ°Π»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠΎΠ²Π° Π΅ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ. ΠΠΎ ΡΠ»Π΅Π΄ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ°Π½ΡΠΈ Ρ ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π΅Ρ ΠΈ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ, Π½ΡΠΊΠΎΠΉ Π΄Π΅Π½ ΡΠ΅ Ρ ΠΏΡΠ΅ΠΏΠΈΡΠ΅ΠΌ. ΠΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠ°ΡΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΠΎΠ΄Π²Π΅Π΄Π° ΠΊΡΠΌ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΠ»Π°Π½ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ Ρ Legacy ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
ΠΠ° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π»Π΅Π³Π°ΡΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΎΡ Π½ΡΠ»Π°ΡΠ° β Π»ΠΎΡΠ° ΠΈΠ΄Π΅Ρ
ΠΠ°ΠΈΡΡΠΈΠ½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΡΠΈ Π΄Π° Π½Π΅ ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π·Π° ΡΠΎΠ²Π°. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ Ρ
ΡΠ±Π°Π²ΠΎ, ΠΈ ΡΠ΅ Π²ΠΈΠΆΠ΄Π°Ρ Π½ΡΠΊΠΎΠΈ ΠΏΠ»ΡΡΠΎΠ²Π΅, Π½ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π° Π½ΠΈΠΊΠΎΠ³ΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π½Π° Π²Π°Ρ ΡΠ°ΠΌΠΈΡΠ΅.
ΠΠ°ΡΡΡΠ½ΠΈΠΊ
ΠΠ·ΠΊΠΎΠΏΠ°ΠΉΡΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½Π°ΡΡΡΠ½ΠΈΠΊ, Π² ΠΊΠΎΠΉΡΠΎ Π΄Π° Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ. Π’Π°ΠΌ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΡΠ»ΠΎΠ²Π΅Π½ readme.md), Π·Π° Π΄Π° ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π±ΡΡΠ·ΠΎ ΠΊΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ ΡΠΎΠ²Π° ΡΠ»Π΅Π΄ Π²Π°Ρ, ΡΠ°ΠΌΠΎ ΡΠ΅ Π²ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈ.
Π Π°Π·Π±ΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°
ΠΠΊΠΎ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΠΎΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π΄Π° Π΄ΡΡΠΆΠΈΡΠ΅ ΡΡΠΊΠ° Π½Π° ΠΏΡΠ»ΡΠ°. ΠΠ²ΡΡΠΈ Π±Π°Π½Π°Π»Π½ΠΎ, Π΄Π°, Π½ΠΎ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π΄ΡΡ Π·Π° ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΡΠ° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΡΡΠΈΠ». Π Π½Π°ΠΈΡΡΠΈΠ½Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π² Π΅Π΄ΠΈΠ½ ΡΡΠ°Π½Π΄Π°ΡΡ.
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°. , ΠΌΠΎΠ»Ρ.
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ Ρ Π²Π°ΡΠ΅ΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ?
31.5%ΠΡΠ΅ΠΏΠΈΡΠ²Π°ΠΌ ΠΎΡ Π½ΡΠ»Π°ΡΠ°, ΡΠ°ΠΊΠ° Π΅ ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ12
52.6%ΠΠΎΡΡΠΈ ΡΡΡΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈ Π²ΠΈΠ΅20
10.5%ΠΡΠΌΠ°ΠΌΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ, Π½ΠΈΠ΅ ΡΠΌΠ΅ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈ4
5.2%Π©Π΅ Π½Π°ΠΏΠΈΡΠ° Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅2
ΠΠ»Π°ΡΡΠ²Π°Π»ΠΈ ΡΠ° 38 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΡΠ·Π΄ΡΡΠΆΠ°Π»ΠΈ ΡΠ΅ 20 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
