ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΆΠ΅ΡΡΠΎΠΊΠ° Π³ΡΠ΅ΡΠΊΠ° ΡΡΡ Π·Π°Π»Π°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° DevOps ΠΈ ΠΉ Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ°ΡΠ° ΡΡΠ°Ρ Π·Π° 30 Π΄ΡΡΠΈ. ΠΡΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ ΡΡΠ»ΠΏΠ°ΡΠ° ΡΡΠΎΠ΅ΡΠ΅ ΠΏΠΎΠΊΡΠ°ΠΉ ΡΡΠ΅Π½ΠΈΡΠ΅, Π²ΡΠ² Π²ΡΠ°ΡΠΈΡΠ΅ ΠΈ Π΄ΠΎΡΠΈ Π·Π°Π΄ ΡΡΡ . Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡ Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΠΎΡΠ΅Π½ΠΊΠ°. ΠΠ°ΡΡΠΈΡ ΠΌΠ΅ ΡΡΠΎΠΊΠ° ΡΠΈ: devopsers, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΡΡΠ°Ρ ΠΎΡΠ½Π°, ΠΏΡΠΎΡΡΠΎΡΠ½Π° ΡΡΠ°Ρ Π² Π½ΠΎΠ²Π°ΡΠ° ΠΊΠΎΠ½Π³ΡΠ΅ΡΠ½Π° Π·Π°Π»Π° Π·Π° Π³ΠΎΠ΄ΠΈΡΠ½ΠΈΠ½Π°ΡΠ° Π½Π° DUMP.
ΠΠΈΠΆΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠ·ΡΠ΅Π·ΠΊΠ°ΡΠ° ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅ΠΌΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΡ Π° ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π² ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ ΠΈ ΠΠ°Π·Π°Π½ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠ°ΠΊΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°
Π’Π΅ΠΌΠΈ Π·Π° 2019 Π³., ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ»ΡΡΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠ°
ΠΠ° DUMP Yekaterinburg ΠΏΡΠ΅Π· Π°ΠΏΡΠΈΠ» ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΡΠΈΡΠΊΠΈ 5 ΡΠ΅ΠΌΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ Π° Π²ΠΈΡΠΎΠΊΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ (Π½Π°Π΄ 4,2 ΠΎΡ 5). ΠΠΎΠ΄Π΅ΡΠ° Π±Π΅ΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΠΈΠ»Π°, Π΅Π»Π°ΡΡΠΈΡΠ΅Π½ ΠΌΡΠΆ ΠΎΡ ΠΠΎΠ½ΡΡΡ. ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΡΠ΅ Π½Π°ΡΠΈΡΠ° βΠΠ»Π°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΏΠ΅ΡΠ°Π±Π°ΠΉΡβ, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π΄ΠΎΡΠ΅Π³Π° ΡΠΎΠ·ΠΈ ΠΏΡΠ°Π³ ΠΎΡΠ΄Π°Π²Π½Π° Π΅ ΠΈΠ·ΠΎΡΡΠ°Π²Π΅Π½ ΠΎΡ Kontur.
Π§ΡΠΉΡΠ΅ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°, ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠΏΠΈ ΠΈ Π·Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠ² ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠΎΠ»Π·ΠΈΡΠ΅ ΠΎΡ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°:
ΠΡΠΎΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΠΎΡΠ΅Π½ΠΊΠΈΡΠ΅ Π΅ ΠΠΈΠΊΡΠΎΡ ΠΡΠ΅ΠΌΡΠ΅Π½ΠΊΠΎ. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅ΠΌΠ° Π΅ βΠΠ°ΠΊ Π½Π°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ Π±ΡΠΎΡ Π½Π° Π²ΡΡΡΠ°Π½ΠΈΡΡΠ° ΠΊΡΠΌ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Ρ 99%.β ΠΠΈΠΊΡΠΎΡ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΠΈΡΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ ΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° Π²ΡΡΡΠ°Π½ΠΈΡΡΠ° ΠΊΡΠΌ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°; Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ°Π³Π° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π±ΡΡΠ·ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ²ΠΎΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΡΡΠ΄ΡΡΠΆΠ° ΠΈ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° CI/CD.
ΠΠ°
Π Π΅ΠΏΠΎΡΡΠ°ΠΆΡΡ Π½Π° ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΡΠΏΠΈΡΠ½ΠΈΠΊΠΎΠ² (ΠΠΎΠ½ΡΡΡ) βΠΡΠΎΠΊΠ»ΡΡΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°β Π½Π΅ Π±Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ. ΠΠΎΠΆΠ΅ Π±ΠΈ Π΄ΡΠΌΠ°ΡΠ° βΠΏΡΠΎΠΊΠ»ΡΡΠΈΠ΅β ΠΈΠ·ΠΈΠ³ΡΠ° ΡΠΎΠ»Ρ... ΠΠΎ ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π΄Π°Π΄Π΅ ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° DevOops, Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Π·Π°ΠΏΠΈΡΠ°
ΠΡΠ°ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π²ΡΡΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΠ°ΡΠ°Ρ ΠΠΈΠ½ΡΠ±ΡΠ»Π°ΡΠΎΠ² (SkuVault) βΠΡΡΠ΅Π΄ ΠΏΠ΅ΠΏΠ΅Π»ΡΠ°: Π°ΡΡΠΎΠΏΡΠΈΠΈΡΠ΅ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π΅β. ΠΠ°ΡΠ°Ρ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° post mortem ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ (ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°) Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ. ΠΠ° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ°Π³Π° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅ΡΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ, Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΡΠΈΡΠ΅ ΡΡΡΠΏΠΊΠΈ, ΡΡΠ·Π΄Π°Π²Π° Π°ΡΠΌΠΎΡΡΠ΅ΡΠ° Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ, ΠΊΠ°ΡΠΎ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅:
Π‘Π΅ΠΊΡΠΈΡΡΠ° DevOps Π½Π° DUMP 2020 ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈ ΠΎΡ 4 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ°: ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΡ Π’Π°ΡΠ°ΡΠΎΠ² (ANNA MONEY), ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ ΠΠ°ΠΊΠ°ΡΠΈΡΠ΅Π² (Provectus), ΠΠΈΠΊΡΠΎΡ ΠΡΠ΅ΠΌΡΠ΅Π½ΠΊΠΎ (ΠΠΈΡΠΎ (Π±ΠΈΠ²Ρ RealTimeBoard) ΠΈ ΠΠΈΡ Π°ΠΈΠ» Π¦ΠΈΠΊΠ°ΡΠ΅Π² (ICL Services). Π’Π΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Ρ Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΈ ΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ° DevOps
Π’Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° Π±ΠΈΡ ΠΈΡΠΊΠ°Π» Π΄Π° ΠΏΠΎΠ»ΡΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ΅ΠΎΡΠΈΡ. ΠΠ°ΠΆΠ΅ΡΠ΅ Π½ΠΈ ΠΊΡΠ΄Π΅ ΡΡΠ΅ ΠΈΠ·ΠΏΠΈΡΠ²Π°Π»ΠΈ Π±ΠΎΠ»ΠΊΠ° ΠΈ ΡΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠ²ΡΡΠ²Π°Π»ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅. ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΈ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π΅. ΠΠ° ΡΠ΅ ββΡΠ°Π΄Π²Π°ΠΌΠ΅/ΠΏΠ»Π°ΡΠ΅ΠΌ Π·Π°Π΅Π΄Π½ΠΎ.
ΠΡΠΎ ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΠ΅Π°Π»Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° DevOps ΠΏΡΠ΅Π· 2020 Π³.:
CI / CD
- Π‘ΡΡΠ°Ρ ΠΎΡΠ½ΠΈ CI/CD ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Π½Π° GitHub (Π±Π΅Π· ΡΠ΅ΠΎΡΠΈΡ, ΡΠ°ΠΌΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°)
ΠΎΠ±Π»Π°ΠΊ
- CI/CD Π² ΠΎΠ±Π»Π°ΡΠΈΡΠ΅ (Spinnaker ΠΈ Π΄ΡΡΠ³ΠΈ)
- ΠΠΌΡΡΠ½Π΅ΡΠ΅ ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ΠΎ Π² GKE, Kubernetes, Istio, Helm ΠΈ Π΄Ρ.
- ΠΠ°Π½Π½ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ° (PVC, DB ΠΈ Π΄ΡΡΠ³ΠΈ)
- ΠΠ±Π»Π°ΡΠΈ Π·Π° ML
- ΠΠ΅Π· ΡΡΡΠ²ΡΡ (ΡΠ°ΠΌΠΎ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°)
- ΠΠ±Π»Π°ΡΠΈ Π² Π ΡΡΠΈΡ (Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΠ²ΠΎΡΠΎ, ΡΠ»ΡΡΠ°ΠΈ Π½Π° 152-FZ, Yandex, MailRu ΠΈ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π° Π² ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅)
DevOps/SRE
- ΠΠ°ΠΊ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° (Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡ): ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΎΠ΄ΠΈΡ
- Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡ (DevSecOps)
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° (Ansible, Terraform ΠΈ Π΄Ρ.)
- ΠΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΊΡΠ»ΡΡΡΠ°ΡΠ° (ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ)
- Π Π°Π·ΠΌΠ΅ΡΡΠ΅ΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: Π»Π°ΠΉΡΡ Π°ΠΊΠΎΠ²Π΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΠ²Π΅ΡΠΈ, fakapi.
ΠΠΊΠΎ Π½Π΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅ΠΌΠ° Π² ΡΠΏΠΈΡΡΠΊΠ°, Π½ΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Ρ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° devops, Π½Π΅ Π²ΠΈ ΠΏΡΠΊΠ°
ΠΡΠ΅ΠΌΠ΅ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄ 35 ΠΌΠΈΠ½ΡΡΠΈ + 5 ΠΌΠΈΠ½ΡΡΠΈ Π²ΡΠΏΡΠΎΡΠΈ Π² Π·Π°Π»Π°ΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Ρ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² Π΅ΠΊΡΠΏΠ΅ΡΡΠ½Π°ΡΠ° Π·ΠΎΠ½Π° Π·Π° ΡΡΠ»Π°ΡΠ° ΠΏΠΎΡΠΈΠ²ΠΊΠ° ΠΎΡ 20-30 ΠΌΠΈΠ½ΡΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com