ΠΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅: 10 ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅
Π Π΄Π½Π΅ΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΈ Π½Π΅ΡΠ°: ΠΎΡ ΡΠΎΡΡΡΠ΅Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΠ΅ΡΠ° SpaceX Π΄ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ°ΠΉΠ½ΠΈΠΊ Π² ΡΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠ°Ρ ΡΡΠ΅Π· ΡΠΌΠ°ΡΡΡΠΎΠ½.
Π ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π²ΡΠ΅ΠΊΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ Π΅ ΡΡΡΠ°ΡΡΠ΅Π½ ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π±ΠΈΠ·Π½Π΅Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Full Stack ΠΈΠ»ΠΈ Data Scientist, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΡΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ΅ ΠΈΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ, ΠΊΠΎΠΈΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Ρ ΠΆΠΈΠ²ΠΎΡΠ°.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π½Π°ΠΊΡΠ°ΡΠΊΠΎ 10 ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΠΊΠ°ΠΊ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌΠ΅ ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΡΡΠ»ΡΠ³Π°, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° 12-ΡΠ°ΠΊΡΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ ΠΏΡΠΎΠ»ΠΎΠ³ ΠΊΡΠΌ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½ΠΎΡΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅. Π ΡΡΡ
ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΠΎΡΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΠΌΠΎΠ΄Π΅Π» ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΡΠ½Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π΄Π° ΡΡΠ·Π΄Π°ΠΌ API Π·Π° Π½Π΅Π³ΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π²Π³ΡΠ°Π΄Π΅Π½ ML Π² ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ 1: ΠΠ΄Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π°
ΠΡΠΊΠΎΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈ Π½Π° ΠΏΡΡΠ²ΠΈΡΠ΅ Π΅ΡΠ°ΠΏΠΈ, ΠΎΡ ΠΌΡΡΠ·Π΅Π» Π΄Π° Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ°Ρ (ΠΈΠ»ΠΈ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠ²ΠΎΡ ΠΏΡΠΈΡΠΈΠ½Π°), Π·Π°Π±ΡΠ°Π²ΡΡ Π·Π° Git. Π’Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π°Π±ΡΠ°Π²ΡΡ Π΄ΡΠΌΠ°ΡΠ°, ΡΠΎΠ΅ΡΡ Ρ Π²ΡΡΠ»ΡΡ ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ/ΠΏΡΠΎΡΡΠΎ Ρ Π²ΡΡΠ»ΡΡ ΡΠ΅ΠΊΡΡ/ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΡΡΠ΅Π· Π³ΡΠ»ΡΠ±ΠΈ, ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±ΠΌΠΈΡΠ»ΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΡΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΈ ΡΠ΅ Π°Π½Π³Π°ΠΆΠΈΡΠ°Ρ Π²ΡΠ΅ΠΊΠΈ ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ ΡΠΈ ΠΊΠ»ΠΎΠ½, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Ρ ΠΌΠ°ΠΉΡΡΠΎΡ.
Π’ΠΎΠ·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π³Π»Π°ΡΠΈ: ΠΈΠΌΠ°Ρ Π΅Π΄Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ.
Git ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π² Π½Π°ΡΡΠ½ΠΎΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΠΈ ΡΠ°Π·Π²ΠΎΠΉΠ½Π° Π΄Π΅ΠΉΠ½ΠΎΡΡ (R&D), Π² ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ΅ΡΡΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ² ΡΠ°Π·Π°ΡΠ° Π½Π° R&D ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π½Π΅Π³ΠΎ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ.
ΠΡΠΎΡΠΎ, Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΡΠΎΠ²Π° Π΅ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎ Π½Π΅ΡΠΎ - ΡΠ΅ ΡΡΡΠ±Π²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄ΡΡ Π²ΠΈ ΠΈ Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π» Π΅ Π΄Π°Π» Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ, ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ Π΅ Π½Π°ΠΊΠ°ΡΠ°Π»ΠΎ Π΄Π° ΡΠΏΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈΠ»ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° Π΄Π°Π²Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ . ΠΠ° ΡΠΎΠ²Π° ΡΠ° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈΡΠ΅!
ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠ°ΡΠΎ Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Gemfury ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ Π½Π΅Π³ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π·Π° Π΄Π° Π½Π΅ Π³ΠΈ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ 1000 ΠΏΡΡΠΈ, Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
ΠΡΠΈΠ½ΡΠΈΠΏ 2: Π―ΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅
ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΎΡΠ²ΡΠ½, Π·Π° Π΄Π° Π³ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π½ΡΠΊΡΠ΄Π΅. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Python, ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈ, ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ - Π²Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅:
- Π―ΡΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΠΎΠ΅ΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° Π²ΡΠΈΡΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Python ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Pipfile ΠΈΠ»ΠΈ requirements.txt. A Π²ΡΡΠ·ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅:
realpython.com/pipenv-guide ) - ΠΠ·ΠΎΠ»ΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°. ΠΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π° ΡΠΌΠ΅Π½ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Tensorflow?
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΡ ΠΊΡΠΌ Π²Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ Π² Π±ΡΠ΄Π΅ΡΠ΅, ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·ΡΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°. Π’Π΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅. Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ (ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΡ Π½Π°ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ) Π½Π΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΠ‘.
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ curl ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π΄ΡΡΠ³Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡΡΠ° Π½ΡΠΌΠ° Π΄Π° Π΅ ΡΠ°Π·ΠΈ, ΠΎΡ ΠΊΠΎΡΡΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π²Π°ΡΠΈΡΡ requirements.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 ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ $XNUMX XNUMX.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅Π·ΠΈ ΡΠ»ΡΡΠ°ΠΈ ΡΠ° ΠΊΡΠ°ΠΉΠ½ΠΈ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠΈΠΌΠΈ. ΠΠΊΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ Π΄Π°Π½Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π² ΠΊΠΎΠ΄Π°, ΠΏΡΠ°Π²ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈ ΠΌΠΈΡΠ»Ρ, ΡΠ΅ Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΠΎΠ±ΡΡΠ½ΡΠ²Π°ΠΌ Π·Π°ΡΠΎ.
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° ΡΠΎΠ²Π° Π΅ Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°
ΠΡΠΈΠΌΠ΅ΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°:
- ΠΠΌΠ΅Π½Π° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ
- API URL/URI Π°Π΄ΡΠ΅ΡΠΈ
- ΠΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΈ ΡΠ°ΡΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅
- ΠΠΎΠ½ΡΠ°ΠΊΡΠΈ (ΠΏΠΎΡΠ°, ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ ΠΈ Π΄Ρ.)
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°, Π°ΠΊΠΎ Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ. Π’ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅, ΡΡΠΈΠ»ΠΈΡ ΠΈ ΠΏΠ°ΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ API Π½Π° Kaggle Π·Π° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΡΠ΅Π³Π»Π΅ΡΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Π° ΠΏΡΠ΅Π· Π½Π΅Π³ΠΎ, Π·Π° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠ΅), ΡΠΎΠ³Π°Π²Π° ΡΠ°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΎΡ Kaggle, ΠΊΠ°ΡΠΎ KAGGLE_USERNAME ΠΈ KAGGLE_KEY, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°.
ΠΡΠΈΠ½ΡΠΈΠΏ 4: Π£ΡΠ»ΡΠ³ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ
ΠΠ΄Π΅ΡΡΠ° ΡΡΠΊ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΏΠΎ ΡΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ Π΄Π° Π½ΡΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΊΠ°ΠΊΡΠΎ Π»ΠΎΠΊΠ°Π»Π΅Π½ MySQL, ΡΠ°ΠΊΠ° ΠΈ ΡΠ°ΠΊΠΈΠ²Π° Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. Π‘ΡΡΠΎΡΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ API ΠΊΠ°ΡΠΎ Google Maps ΠΈΠ»ΠΈ Twitter API.
ΠΠ° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π° Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΈΠ»ΠΈ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π΄ΡΡΠ³Π°, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π² ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, Π·Π° ΠΊΠΎΠΈΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Π² ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅.
Π’Π°ΠΊΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ Π΄Π° ΡΠΊΠ°Π·Π²Π°ΡΠ΅ ΠΏΡΡΡ ΠΊΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Ρ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ΄Π°, ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° pathlib ΠΈ Π΄Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΡΡ Π΄ΠΎ Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² config.py, ΡΠ°ΠΊΠ° ΡΠ΅ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠ²Π° ΡΡΠ»ΡΠ³Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ (Π·Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ CircleCI), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠΏΡ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΠΏΡΡΡ Π΄ΠΎ Π½Π°Π±ΠΎΡΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ Π²Π·Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ»ΡΠ³Π°.
ΠΡΠΈΠ½ΡΠΈΠΏ 5. ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΠΏΡΡΠΊΠ°Π½Π΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅
ΠΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ° Π² Data Science Π½Π°ΠΌΠΈΡΠ°Ρ Π·Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΡ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΌΠ΅Π½ΠΈΡ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π΄Π° ΡΠ΅ ΡΡΠΈΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΡΡΠ΄ΠΊΠΎ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π΄ΡΠ»Π³ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° 3 Π΅ΡΠ°ΠΏΠ°:
- Π΅ΡΠ°ΠΏ ΡΠ³Π»ΠΎΠ±ΠΊΠΈ. Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΡ Π³ΠΎΠ» ΠΊΠΎΠ΄ Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π² ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ΅Π»ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ Π½Π°ΡΠΈΡΠ° ΡΠ±ΠΎΡΠΊΠ°.
- Π΅ΡΠ°ΠΏ ΠΏΡΡΠΊΠ°Π½Π΅ β ΡΡΠΊ ΡΠ²ΡΡΠ·Π²Π°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΡΠΌ ΡΠ±ΠΎΡΠΊΠ°ΡΠ°, Π±Π΅Π· ΠΊΠΎΡΡΠΎ Π½Π΅ Π±ΠΈΡ ΠΌΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΏΡΡΠ½Π΅ΠΌ Π½Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. Π‘Π΅Π³Π° ΡΠΎΠ²Π° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π³ΠΎΡΠΎΠ²Π° Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π²Π΅ΡΡΠΈΡ.
- Π‘Π»Π΅Π΄Π²Π° ΡΡΠ΅Π½Π°ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. Π’ΡΠΊ ΠΏΡΡΠΊΠ°ΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΡ Π½Π°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ.
Π’Π°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π» ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅ ΡΠΎΠ»ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅ Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠ° Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΈ Π² .yml ΡΠ°ΠΉΠ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² CircleCI ΡΠΎΠ²Π° Π΅ config.yml Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°ΠΌΠΈΡ ΠΏΡΠΎΡΠ΅Ρ). Wheee Π΅ ΡΡΡΠ°Ρ ΠΎΡΠ΅Π½ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π²Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΎΡ ΡΠ°ΠΌ. Π’ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ 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