ΠΠ½Π΄ΡΡΡΡΠΈΡΠΊΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅: 10 ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π·Π° Π΄ΠΈΠ·Π°ΡΠ½
ΠΠΎ Π΄Π΅Π½Π΅ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠ΅ΠΊΠΎΡΠ΄Π½Π΅Π²Π½ΠΎ ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ Π½ΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π΅Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠΈ: ΠΎΠ΄ ΡΠΎΡΡΠ²Π΅Ρ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΡΠ°ΠΊΠ΅ΡΠ° Π½Π° SpaceX Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΊΠΎΡΠ΅Π» Π²ΠΎ ΡΠΎΡΠ΅Π΄Π½Π°ΡΠ° ΡΠΎΠ±Π° ΠΏΡΠ΅ΠΊΡ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½.
Π, ΠΏΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ, ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Ρ ΠΏΠΎΡΠ΅ΡΠ½ΠΈΠΊ, Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ Π΅ ΡΡΡΠ°ΡΡΠ΅Π½ ΡΡΠ°ΡΡΠ°ΠΏ ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΡΠ΅Π½ Full Stack ΠΈΠ»ΠΈ Data Scientist, ΠΏΠΎΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΡΠ½Π° ΡΡΠ°ΡΠ° Π΄Π΅ΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ°Ρ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠΎΡΡΠ²Π΅Ρ ΠΊΠΎΠΈ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ΅ΡΠ° Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΆΠΈΠ²ΠΎΡΠΎΡ.
ΠΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ°, Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ 10 ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠΊΠΎΡΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°/ΡΡΠ»ΡΠ³Π°, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠΎ 12 ΡΠ°ΠΊΡΠΎΡΠΈ.
ΠΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΡΠΎΠ»ΠΎΠ³ Π½Π° ΡΠ΅ΡΠΈΡΠ° ΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠΊΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅. ΠΠΎ Π½ΠΈΠ² ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π» ΠΈ Π΄Π° Π³ΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ API Π·Π° Π½Π΅Π³ΠΎ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎ ML Π²ΠΎ Π½ΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ 1: ΠΠ°Π·Π° Π½Π° Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄
ΠΠ΅ΠΊΠΎΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ Π²ΠΎ ΠΏΡΠ²ΠΈΡΠ΅ ΡΠ°Π·ΠΈ, ΠΎΠ΄ ΠΌΡΠ·Π΅Π»ΠΈΠ²ΠΎΡΡ Π΄Π° ΡΡΠ°ΡΠ°Ρ (ΠΈΠ»ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠ° ΡΠ²ΠΎΡΠ° ΠΏΡΠΈΡΠΈΠ½Π°), Π·Π°Π±ΠΎΡΠ°Π²Π°Π°Ρ Π½Π° Git. Π’ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π³ΠΎ Π·Π°Π±ΠΎΡΠ°Π²Π°Π°Ρ Π·Π±ΠΎΡΠΎΡ, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ, ΡΠΈ ΡΡΠ»Π°Π°Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ Π΅Π΄Π΅Π½ Π½Π° Π΄ΡΡΠ³ Π²ΠΎ Π΄ΠΈΡΠΊΠΎΡ/ΡΠ°ΠΌΠΎ ΡΡΠ»Π°Π°Ρ ΡΠ΅ΠΊΡΡ/ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ ΠΎΠ΄ Π³ΡΠ»Π°Π±ΠΈ, ΠΈΠ»ΠΈ Π½Π΅ ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°Π°Ρ Π·Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΊ ΠΈ ΡΠ΅ ΠΎΠ±Π²ΡΠ·ΡΠ²Π°Π°Ρ ΡΠ΅ΠΊΠΎΡ Π½Π° ΡΠ²ΠΎΡΠ°ΡΠ° Π³ΡΠ°Π½ΠΊΠ°, Π° ΠΏΠΎΡΠΎΠ° Π½Π° Π³ΠΎΡΠΏΠΎΠ΄Π°Ρ.
ΠΠ²ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π²Π΅Π»ΠΈ: ΠΈΠΌΠ°Π°Ρ Π΅Π΄Π½Π° Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ°.
Git ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΈ Π²ΠΎ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠ΅ ΠΈ ΡΠ°Π·Π²ΠΎΡ (R&D), Π²ΠΎ ΠΊΠΎΠΈ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΎΠ»ΠΊΡ ΡΠ΅ΡΡΠΎ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ ΡΠ°Π·Π°ΡΠ° Π½Π° ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠ΅ ΠΈ ΡΠ°Π·Π²ΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ±Π²ΡΠ·Π½ΠΈΡΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠΎ ΡΠ΅Π» ΠΏΠΎΡΠΎΠ° Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈΠΎΡ ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ ΠΏΠΎΠ½Π°ΡΠ°ΠΌΡ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠΎ Π½Π΅Π³ΠΎ.
ΠΡΠΎΡΠΎ, Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΎΠ²Π° Π΅ Π½Π΅Π·Π°ΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΠ°Π±ΠΎΡΠ° - ΡΠ΅ ΡΡΠ΅Π±Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° Π²Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π΄Π°Π» Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, ΠΊΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ΅Π» Π½Π° ΠΊΡΠ°ΡΠΎΡ ΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΡΡΠΎ Π³ΠΎ Π½Π°ΡΠ΅ΡΠ°Π»ΠΎ Π΄Π° ΠΏΡΠ΅ΡΡΠ°Π½Π΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΡΠ½Π΅ Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΠ²Π° Π½Π΅ΡΠΎΡΠ½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ. . ΠΠ° ΡΠΎΠ° ΡΠ»ΡΠΆΠ°Ρ ΠΎΠ±Π²ΡΡΠΊΠΈΡΠ΅!
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΠ΄ Π²Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΡΠ°Π²Π°ΡΡΠΈ Π³ΠΎ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Gemfury, Π° ΠΏΠΎΡΠΎΠ° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π΄Π° Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π·Π° Π΄Π° Π½Π΅ Π³ΠΈ ΠΏΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΠ΅ 1000 ΠΏΠ°ΡΠΈ, ΡΡΠΊΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΏΠΎΠ΄ΠΎΡΠ½Π°.
ΠΡΠΈΠ½ΡΠΈΠΏ 2: ΠΠ°ΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΡΠ΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°ΡΡΠ΅ Π³ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅
Π‘Π΅ΠΊΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΈ Π³ΠΈ ΡΠ²Π΅Π·ΡΠ²Π°ΡΠ΅ ΠΎΠ΄Π½Π°Π΄Π²ΠΎΡ Π·Π° Π΄Π° Π³ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΠΊΠ°Π΄Π΅. ΠΠ΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° Π΄Π°Π»ΠΈ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Python, ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΠ°Π·ΠΈΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΠΌΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π°Π»Π°ΡΠΊΠΈ - Π²Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅:
- ΠΠ°ΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΡΠ΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ, ΠΎΠ΄Π½ΠΎΡΠ½ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡΠΎ ΡΠ΅ Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΡΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π°Π»Π°ΡΠΊΠΈ ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΊΠΎΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ Python ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Pipfile ΠΈΠ»ΠΈ Π±Π°ΡΠ°ΡΠ°.txt. Π²ΡΡΠΊΠ° ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄ΠΎΠ±ΡΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅:
realpython.com/pipenv-guide ) - ΠΠ·ΠΎΠ»ΠΈΡΠ°ΡΡΠ΅ Π³ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ. ΠΠ΅ ΡΠ°ΠΊΠ°ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Tensorflow?
ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΊΠ»ΡΡΠ°Ρ Π½Π° Π²Π°ΡΠΈΠΎΡ ΡΠΈΠΌ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π° ΡΠ΅ ΠΌΠΎΠΆΠ°Ρ Π±ΡΠ·ΠΎ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π°Ρ ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ°ΠΌΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ.
ΠΠ°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΏΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π°Π»Π°ΡΠΊΠΈ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΠ‘. ΠΠ²ΠΈΠ΅ Π°Π»Π°ΡΠΊΠΈ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ ΠΈ Π²ΠΎ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΡ Π·Π° Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ. ΠΠ²Π° Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ³Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠΈΡΠ΅ (ΠΊΠ°ΠΊΠΎ ΠΈ Π½ΠΈΠ²Π½Π°ΡΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ) Π½Π΅ ΡΠ΅ ΡΠΎΠ²ΠΏΠ°ΡΠ° ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΠ‘.
Π’Π°ΠΊΠ°, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ curl ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ, ΡΠ΅ΠΏΠ°ΠΊ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄ΡΡΠ³Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π½Π΅ΠΌΠ° ΠΈΠ»ΠΈ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΠ½Π°Π° ΡΡΠΎ ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π²ΠΈ ΡΡΠ΅Π±Π°ΡΠ΅.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΡΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ°.txt ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
# Model Building Requirements
numpy>=1.18.1,<1.19.0
pandas>=0.25.3,<0.26.0
scikit-learn>=0.22.1,<0.23.0
joblib>=0.14.1,<0.15.0
# testing requirements
pytest>=5.3.2,<6.0.0
# packaging
setuptools>=41.4.0,<42.0.0
wheel>=0.33.6,<0.34.0
# fetching datasets
kaggle>=1.5.6,<1.6.0
ΠΡΠΈΠ½ΡΠΈΠΏ 3: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
ΠΠ½ΠΎΠ³ΡΠΌΠΈΠ½Π° ΡΠ»ΡΡΠ½Π°Π»Π΅ ΠΏΡΠΈΠΊΠ°Π·Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠΌΡΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ ΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΡΠ½ΠΎ ΠΏΡΠΈΠΊΠ°ΡΡΠ²Π°Π»Π΅ ΠΊΠΎΠ΄ Π½Π° GitHub Π²ΠΎ ΡΠ°Π²Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΡΠΎ Π»ΠΎΠ·ΠΈΠ½ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΎΠ΄ AWS, Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π½ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠΎ Π΄ΠΎΠ»Π³ ΠΎΠ΄ 6000 Π΄ΠΎΠ»Π°ΡΠΈ, ΠΏΠ° Π΄ΡΡΠΈ ΠΈ 50000 Π΄ΠΎΠ»Π°ΡΠΈ.
Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΎΠ²ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΡΠ΅ Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³Ρ Π·Π½Π°ΡΠ°ΡΠ½ΠΈ. ΠΠΊΠΎ Π³ΠΈ ΡΡΠ²Π°ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΈΠ½Π³Π΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ, ΠΏΡΠ°Π²ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈ ΠΌΠΈΡΠ»Π°ΠΌ Π΄Π΅ΠΊΠ° Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΠ²Π°ΡΠ΅ Π·ΠΎΡΡΠΎ.
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΠΎΠ²Π° Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°
ΠΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΡΠΎ Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΎ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°:
- ΠΠΌΠΈΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΈ
- Π£Π Π-Π°Π΄ΡΠ΅ΡΠΈ/URI Π½Π° API
- ΠΠ°Π²Π½ΠΈ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ
- ΠΠΎΠ½ΡΠ°ΠΊΡΠΈ (ΠΏΠΎΡΡΠ°, ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ, ΠΈΡΠ½.)
ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ Π½Π΅ ΠΌΠΎΡΠ° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° Π³ΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄ΠΎΡ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π°Ρ Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. ΠΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π·Π°ΡΡΠ΅Π΄ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅, Π½Π°ΠΏΠΎΡ ΠΈ ΠΏΠ°ΡΠΈ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Kaggle API Π·Π° ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎ ΡΠΎΡΡΠ²Π΅ΡΠΎΡ ΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΡΠ΅ Π³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ ΠΏΡΠ΅ΠΊΡ Π½Π΅Π³ΠΎ Π·Π° Π΄Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠΎ), ΡΠΎΠ³Π°Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ ΠΎΠ΄ Kaggle, ΠΊΠ°ΠΊΠΎ KAGGLE_USERNAME ΠΈ KAGGLE_KEY, ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°.
ΠΡΠΈΠ½ΡΠΈΠΏ 4: Π£ΡΠ»ΡΠ³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π°
ΠΠ΄Π΅ΡΠ°ΡΠ° ΠΎΠ²Π΄Π΅ Π΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° ΡΠ°ΠΊΠΎΠ² Π½Π°ΡΠΈΠ½ ΡΡΠΎ Π½Π΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ MySQL ΠΈ ΡΡΠ΅ΡΠΈ Π»ΠΈΡΠ°. ΠΡΡΠΎΡΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ API ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Google Maps ΠΈΠ»ΠΈ Twitter API.
ΠΠ° Π΄Π° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π° ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠ²ΡΠ·Π΅ΡΠ΅ Π΄ΡΡΠ³Π°, ΡΠ°ΠΌΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°, Π·Π° ΠΊΠΎΠΈ Π·Π±ΠΎΡΡΠ²Π°Π² Π²ΠΎ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠΎΡ ΠΏΠΎΠ³ΠΎΡΠ΅.
Π’Π°ΠΊΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΠ°Ρ Π΄Π° ΡΠ° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΠΎ Π·Π±ΠΈΡΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π΅ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° pathlib ΠΈ Π΄Π° ΡΠ° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π΄ΠΎ Π·Π±ΠΈΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ config.py, ΡΠ°ΠΊΠ° ΡΡΠΎ Π±Π΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΊΠΎΡΠ° ΡΡΠ»ΡΠ³Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ (Π·Π° Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, CircleCI), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° ΠΎΡΠΊΡΠΈΠ΅ ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π΄ΠΎ Π·Π±ΠΈΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π΅ΠΌΠ°ΡΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΎ Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ»ΡΠ³Π°.
ΠΡΠΈΠ½ΡΠΈΠΏ 5. ΠΠ·Π³ΡΠ°Π΄Π±Π°, ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅, ΡΡΠ°Π΅ΡΠ΅
ΠΠ½ΠΎΠ³Ρ Π»ΡΡΠ΅ Π²ΠΎ Data Science ΡΠΌΠ΅ΡΠ°Π°Ρ Π΄Π΅ΠΊΠ° Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Ρ ΡΠ²ΠΎΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠ½ΠΈ Π·Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΡΠΎΡΡΠ²Π΅Ρ. ΠΠΊΠΎ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π΄Π° ΠΏΠ°ΡΠ° ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΠΊΠΎ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· Π½Π΅ΡΡΠΏΠ΅ΡΠΈ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ»Π³ΠΎ, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π²ΠΎ 3 ΡΠ°Π·ΠΈ:
- Π€Π°Π·Π° ΡΠΎΠ±ΡΠ°Π½ΠΈΡΠ°. ΠΠΎ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π²Π°ΡΠΈΠΎΡ Π³ΠΎΠ» ΠΊΠΎΠ΄ ΡΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π²ΠΎ ΡΠ°ΠΊΠ°Π½Π°ΡΠ΅ΡΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠΎΡ Π³ΠΈ ΡΠΎΠ΄ΡΠΆΠΈ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ²ΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΡΠΊΠ»ΠΎΠΏ.
- Π€Π°Π·Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ β ΠΎΠ²Π΄Π΅ ΡΠ° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΠΎ ΡΠΊΠ»ΠΎΠΏΠΎΡ, Π±Π΅Π· ΠΊΠΎΡ Π½Π΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅Π»Π΅ Π΄Π° ΡΠ° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. Π‘Π΅Π³Π° ΠΎΠ²Π° Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅.
- Π‘Π»Π΅Π΄ΡΠ²Π° ΡΡΠ΅Π½Π°ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ²Π°ΡΠ΅. ΠΠ²Π΄Π΅ ΡΠ° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΠ΄ Π½Π°ΡΠ΅ΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
Π’Π°ΠΊΠ²ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π» ΠΈΠ»ΠΈ Π½Π° ΡΠ΅Π»ΠΈΠΎΡ Π³Π°ΡΠΎΠ²ΠΎΠ΄ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ»ΠΎΠ³ΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅, Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈΡΠ΅ ΠΈ ΡΠΏΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π΅ΡΠ°ΠΊΠ°Π½ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠ° Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅, ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ°ΠΌΠΈ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° .yml (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ CircleCI ΠΎΠ²Π° Π΅ config.yml Π·Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΠΈ ΡΠ°ΠΌΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ). Wheely Π΅ ΠΎΠ΄Π»ΠΈΡΠ΅Π½ Π²ΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅, Π° ΠΏΠΎΡΠΎΠ° Π΄Π° Π³ΠΈ ΡΠΏΠ°ΠΊΡΠ²Π°ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π·Π° Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΡΡΠΎ ΡΡΠ΅ Π³ΠΈ Π½Π°ΠΏΠΈΡΠ°Π»Π΅ ΠΎΠ΄ ΡΠ°ΠΌΡ. ΠΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ API Π·Π° Π²Π°ΡΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π», Π° Π²Π°ΡΠΈΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Ρ ΠΎΡΡΠΈΡΠ°Π½ Π½Π° Gemfury, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΡΠΈΠ½ΡΠΈΠΏ 6. ΠΠ·Π²ΡΡΠ΅ΡΠ΅ Π³ΠΎ Π²Π°ΡΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» ΠΊΠ°ΠΊΠΎ Π΅Π΄Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ
ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠΌΠ°Π°Ρ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΡΠ° Π΄Π° ΠΏΠΎΡΡΠΎΡΠ°Ρ ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ, Π° ΡΠΈΡΠ΅ Π²ΠΈΠ΄ΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΌΠΎΡΠ° Π΄Π° ΠΏΠΎΡΡΠΎΡΠ°Ρ ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΠΊΠ°ΠΊΠΎ MySQL ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ, Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΠΎΠ° ΡΡΠΎ Π²ΠΈ ΡΡΠ΅Π±Π°.
ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠ²Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ, ΠΈΠ½Π°ΠΊΡ ΡΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅/ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π½Π° ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠΎ, ΠΏΠΎΡΡΠΎΠΈ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ: Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π·Π° ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΊΠ΅Ρ ΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° Π΄Π° Π½Π΅ Π³ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π½ΠΎΠ²Π° Π²Π΅ΡΠ·ΠΈΡΠ°, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π½Π΅ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ. ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½, ΡΠ΅ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π·Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π²ΠΎ ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°ΡΠ°.
ΠΠ° Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ ΠΊΠ°ΠΊΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° .yml Π²ΠΎ ΠΊΠΎΡΠ° ΡΠ΅ Π³ΠΈ Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π½ΠΈΠ²Π½Π°ΡΠ° Π½ΠΈΠ·Π°.
ΠΡΠΈΠ½ΡΠΈΠΏ 7: Π Π΅ΡΠΈΠΊΠ»ΠΈΡΠ°ΡΠ΅
ΠΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π²ΠΎ Π²Π°ΡΠ°ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ Π»Π΅ΡΠ½ΠΈ Π·Π° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°ΡΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΠ΅. Π’Π°ΠΊΠ°, ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π±ΡΠ·ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ, ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ°, Π±ΡΠ·ΠΎ ΠΈ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΈ ΡΠΏΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠΎΠΆΠ½ΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°.
Π’ΠΎΠ° Π΅, Π²Π°ΡΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ ΡΡΠ΅Π±Π°:
- ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΡΠ΅ Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅. ΠΠ΄Π΅Π°Π»Π½ΠΎ, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ (ΠΎΠ΄ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ ΠΊΠΎΠ³Π° Π΅ ΠΈΠ·Π΄Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ ΠΊΠΎΠ³Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΡΠ°ΠΏΡΠ²Π° Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ°) ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ΅ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ³ΠΎΡΠ΅, Π΅ Π΅Π΄Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅.
- ΠΠ°Π²ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΡΠ»ΡΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠ½Π°ΡΠ° ΠΏΠΎΡΡΠ° Π΅ Π²ΡΡΡΠ½ΠΎΡΡ ΡΡΡΠΏΠ΅Π½Π΄ΠΈΡΠ°Π½ΠΎ, Π° Π½ΠΎΠ²ΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ° Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π΄ΠΎ ΠΎΠ²Π°Π° ΠΏΠΎΡΡΠ° Π½Π΅ΠΌΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ. ΠΠ²Π΄Π΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π΄ΠΎΠ±ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅ Π½Π° DevOps ΠΈΠ»ΠΈ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΡΠΎΠ° ΡΠ°ΠΌΠΈ (ΠΏΠΎ ΠΌΠΎΠΆΠ½ΠΎΡΡ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π²ΡΠΎΡΠΎΡΠΎ, Π½ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠΆΡΠ²Π°, Π²ΠΎ ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ!)
ΠΡΠΈΠ½ΡΠΈΠΏ 8: ΠΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅/ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°
ΠΠ½ΠΎΠ³Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΠ΄Π΅Π»Π±Π° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΈΠΌΠΎΠ²ΠΈΡΠ΅ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ (ΡΠΎ ΡΡΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ²Π° Π΄ΠΎΡΡΠ°ΠΏΠ½Π° Π·Π° ΠΊΡΠ°ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ). ΠΠ²Π° ΠΌΠΎΠΆΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π΄Π° Π³ΠΎ Π·Π°Π±Π°Π²ΠΈ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΡΠΎΡΡΠ²Π΅ΡΠΎΡ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ΅Π΄ΡΠ²Π° Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ° ΡΠ°ΡΠΈΠΏΡΠ²Π° ΠΊΡΠ»ΡΡΡΠ°ΡΠ° Π½Π° DevOps, ΠΊΠ°Π΄Π΅ ΡΠ°Π·Π²ΠΎΡΠΎΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ°, Π³ΡΡΠ±ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ.
ΠΠ°ΡΠΎΠ°, ΠΎΠ²ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Π²Π°ΡΠ°ΡΠ° ΡΠ°Π·Π²ΠΎΡΠ½Π° ΡΡΠ΅Π΄ΠΈΠ½Π° ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ±Π»ΠΈΡΠΊΡ Π΄ΠΎ Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π° ΡΡΠ΅Π΄ΠΈΠ½Π°.
ΠΠ²Π° ΡΠ΅ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ:
- ΠΠ°ΠΌΠ°Π»Π΅ΡΠ΅ Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ ΠΏΠ°ΡΠΈ
- ΠΠ°ΠΌΠ°Π»Π΅ΡΠ΅ Π³ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π½Π° ΠΊΠΎΠ΄ΠΎΡ.
- ΠΠ²Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΎΠ±Π΅ΠΌΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΎΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈ Π»ΡΡΠ΅ΡΠΎ ΡΡΠΎ ΡΠ° ΠΊΠΎΡΠΈΡΡΠ°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅Π³Π° ΡΠ΅ Π΅Π΄Π΅Π½ ΡΠΈΠΌ.
ΠΠ»Π°ΡΠΊΠΈ ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠΎ ΠΎΠ²Π° ΡΠ΅ CircleCI, Travis CI, GitLab CI ΠΈ Π΄ΡΡΠ³ΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π±ΡΠ·ΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ²Π°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ, Π΄Π° Π³ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π²Π΅Π΄Π½Π°Ρ Π΄Π° Π³ΠΎ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π° Π½Π΅ΡΡΠΏΠ΅ΡΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ Π±ΡΠ·ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, Π·Π° ΠΊΡΠ°ΡΠ½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π΄Π° Π½Π΅ Π³ΠΎ Π½ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ. ΠΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΈ Π±ΡΠ·ΠΎ Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΠ±ΡΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ.
ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΡΠ΅ Π³ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅!!!
ΠΡΠΈΠ½ΡΠΈΠΏ 9. ΠΠ°ΡΠΈΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ
ΠΠ½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ (ΠΈΠ»ΠΈ βΠΠ½Π΅Π²Π½ΠΈΡΠΈΡΠ΅β) ΡΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ, ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ½ΠΈΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΠ΅ΠΊΡΡΡΠ°Π»Π΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° (ΠΏΡΠΎΡΠΎΠΊ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ). ΠΠ΄Π½ΠΎΡΡΠ°Π²Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ: β2020-02-02 - ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎ Π½ΠΈΠ²ΠΎ - ΠΈΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅Ρβ. Π’ΠΈΠ΅ ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈ ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΊΠΎΠ³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ. Π’ΠΎΡ Π³ΠΎ Π³Π»Π΅Π΄Π° Π½Π°ΠΏΡΠ΅Π΄ΠΎΠΊΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ° Π΄Π°Π»ΠΈ Π΅ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ°ΠΊΠ°Π» ΡΠ°ΠΌΠΈΠΎΡ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ.
ΠΠ²ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π²ΠΎ Π²Π°ΡΠΈΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ - ΡΡΠ΅Π±Π° ΡΠ°ΠΌΠΎ Π΄Π° Π³ΠΈ βΠΈΠ·Π»Π΅Π·Π΅ΡΠ΅β Π½Π° Π΅ΠΊΡΠ°Π½ΠΎΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π³ΠΎ ΡΠΎΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ ΠΈΠ·Π»Π΅Π· Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. Π Π½Π° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΡ Π²ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ.
ΠΠ°Π»ΠΈ ΠΎΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π°Π°Ρ Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅? Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ° Π½Π΅. ΠΠ°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΎΠ²Π° - ΠΎΡΡΠ°Π²Π΅ΡΠ΅ Π³ΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. ΠΠ°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎ Π΄Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° Π΄Π½Π΅Π²Π½ΠΈΡΠΈ Π΄ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π·Π° Π³Π»Π΅Π΄Π°ΡΠ΅ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΎΠΏΡΡΠ° Π½Π°ΠΌΠ΅Π½Π° (ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Hadoop). Π‘Π°ΠΌΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΈΠ»ΠΈ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΡΠΈΡΠ° ΡΠΎ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ 10. Π’Π΅ΡΡ!
ΠΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠΊΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅, ΠΎΠ²Π°Π° ΡΠ°Π·Π° Π΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½Π°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΠ²Π° ΠΎΠ½Π° ΡΡΠΎ Π³ΠΎ ΡΠ°ΠΊΠ°ΡΠ΅.
Π’Π΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° pytest ΠΈ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΌΠ°Π»Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΠΈΠΌΠ°ΡΠ΅ Π·Π°Π΄Π°ΡΠ° Π·Π° ΡΠ΅Π³ΡΠ΅ΡΠΈΡΠ°/ΠΊΠ»Π°ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°.
ΠΠ΅ Π·Π°Π±ΠΎΡΠ°Π²Π°ΡΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΈΡΡΠΎΡΠΎ ΡΠ΅ΠΌΠ΅ Π·Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Π·Π° Π΄Π»Π°Π±ΠΎΠΊΠΎ ΡΡΠ΅ΡΠ΅ Π·Π° ΡΠΈΠ΅ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° Π½Π΅ Π΄Π°Π²Π°Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ.
ΠΠ²Π° Π±Π΅ΡΠ΅ ΠΊΡΠ°ΡΠΎΠΊ ΠΎΠΏΠΈΡ Π½Π° 10-ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΈ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ΅ΡΠΊΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΡΠΊΠΎΡΠΈΡΡΠ°Ρ Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ±Π° ΠΈ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ, ΠΏΠ° Π·Π°ΡΠΎΠ° ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠ»ΠΎΠ³ Π½Π° ΡΠ΅ΡΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π½Π°ΠΏΠΈΡΠΈ Π²ΠΎ ΠΊΠΎΠΈ ΡΠ΅ Π²ΠΈ ΠΎΡΠΊΡΠΈΡΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΠ½Π΄ΡΡΡΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΎ ΡΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π°Ρ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π½ΠΈ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½Π°Ρ ΠΆΠΈΠ²ΠΎΡΠΎΡ Π½Π° ΡΠΈΡΠ΅ Π½Π°Ρ.
ΠΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π°ΠΌ Π΄Π° ΠΊΠΎΡΠΈΡΡΠ°ΠΌ ΠΈ ΠΊΡΠ» ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΎΡΡΠ°Π²ΠΈ Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ Π°ΠΊΠΎ ΡΠ°ΠΊΠ°.
ΠΠ·Π²ΠΎΡ: www.habr.com