рдЗрдВрдбрд╕реНрдЯреНрд░рд┐рдпрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ: 10 рдбрд┐рдЭрд╛рдЗрди рддрддреНрддреНрд╡реЗ

рдЗрдВрдбрд╕реНрдЯреНрд░рд┐рдпрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ: 10 рдбрд┐рдЭрд╛рдЗрди рддрддреНрддреНрд╡реЗ

рдЖрдЬрдХрд╛рд▓, рдирд╡реАрди рд╕реЗрд╡рд╛, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдгрд┐ рдЗрддрд░ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджрд░рд░реЛрдЬ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЬреНрдпрд╛рдореБрд│реЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЧреЛрд╖реНрдЯреА рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ: рд╕реНрдкреЗрд╕рдПрдХреНрд╕ рд░реЙрдХреЗрдЯ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдкрд╛рд╕реВрди рддреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрдирджреНрд╡рд╛рд░реЗ рдкреБрдвреАрд▓ рдЦреЛрд▓реАрддреАрд▓ рдХреЗрдЯрд▓рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рдкрд░реНрдпрдВрдд.

рдЖрдгрд┐, рдХрдзреАрдХрдзреА, рдкреНрд░рддреНрдпреЗрдХ рдирд╡рд╢рд┐рдХреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдордЧ рддреЛ рдПрдХ рдЙрддреНрдХрдЯ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд░ рдЕрд╕реЛ рдХрд┐рдВрд╡рд╛ рд╕рд╛рдорд╛рдиреНрдп рдлреБрд▓ рд╕реНрдЯреЕрдХ рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛ рд╕рд╛рдпрдВрдЯрд┐рд╕реНрдЯ рдЕрд╕реЛ, рд▓рд╡рдХрд░рдЪ рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдпреЗрддреЗ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдирд┐рдпрдо рдЖрд╣реЗрдд рдЬреЗ рдЬреАрд╡рди рдЦреВрдк рд╕реЛрдкреЗ рдХрд░рддрд╛рдд.

рдпрд╛ рд▓реЗрдЦрд╛рдд, рдореА 10-рдШрдЯрдХ рдЕреЕрдк рдкрджреНрдзрддреАрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ, рдЗрдВрдбрд╕реНрдЯреНрд░рд┐рдпрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рд╛рд╡реЗ рдпрд╛рдЪреНрдпрд╛ 12 рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╡рд░реНрдгрди рдХрд░реЗрди рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рд╕рд╣рдЬрдкрдгреЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рди/рд╕реЗрд╡реЗрдордзреНрдпреЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. Heroku рдЯреАрдордиреЗ рд╕реБрдЪрд╡рд▓реЗ. рдорд╛рдЭрд╛ рдкреБрдврд╛рдХрд╛рд░ рдпрд╛ рддрдВрддреНрд░рд╛рд╡рд┐рд╖рдпреА рдЬрд╛рдЧрд░реВрдХрддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдиреЗрдХ рд╡рд┐рдХрд╛рд╕рдХ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд╕рд╛рдпрдиреНрд╕ рд▓реЛрдХрд╛рдВрдирд╛ рдорджрдд рд╣реЛрдК рд╢рдХрддреЗ.

рд╣рд╛ рд▓реЗрдЦ рдФрджреНрдпреЛрдЧрд┐рдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдмрджреНрджрд▓рдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдЖрд╣реЗ. рддреНрдпрд╛рдордзреНрдпреЗ рдореА рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдореЙрдбреЗрд▓ рдХрд╕реЗ рдмрдирд╡рд╛рдпрдЪреЗ рдЖрдгрд┐ рддреЗ рдЙрддреНрдкрд╛рджрдирд╛рдд рдХрд╕реЗ рд▓рд╛рдБрдЪ рдХрд░рд╛рдпрдЪреЗ, рддреНрдпрд╛рд╕рд╛рдареА рдПрдкреАрдЖрдп рддрдпрд╛рд░ рдХрд░рдгреЗ, рддрд╕реЗрдЪ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдмрд┐рд▓реНрдЯ-рдЗрди рдПрдордПрд▓ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╡рд┐рдз рдХреНрд╖реЗрддреНрд░рд╛рдВрдЪреА рдЖрдгрд┐ рдХрдВрдкрдиреНрдпрд╛рдВрдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрди.

рддрддреНрддреНрд╡ 1: рдПрдХ рдХреЛрдб рдмреЗрд╕

рдХрд╛рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд╣рд┐рд▓реНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдЖрд│рд╢реАрдкрдгрд╛рдореБрд│реЗ (рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡) рдЧрд┐рдЯрдмрджреНрджрд▓ рд╡рд┐рд╕рд░рддрд╛рдд. рддреЗ рдПрдХрддрд░ рд╢рдмреНрдж рдкреВрд░реНрдгрдкрдгреЗ рд╡рд┐рд╕рд░рддрд╛рдд, рдореНрд╣рдгрдЬреЗрдЪ рддреЗ рдбреНрд░рд╛рдЗрд╡реНрд╣рдордзреНрдпреЗ рдлрд╛рдИрд▓реНрд╕ рдПрдХрдореЗрдХрд╛рдВрдирд╛ рдлреЗрдХрддрд╛рдд/рдлрдХреНрдд рдордЬрдХреВрд░ рдЯрд╛рдХрддрд╛рдд/рдХрдмреБрддрд░рд╛рдВрджреНрд╡рд╛рд░реЗ рдкрд╛рдард╡рддрд╛рдд, рдХрд┐рдВрд╡рд╛ рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣рд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдирд╛рд╣реАрдд, рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рд╢рд╛рдЦреЗрдд рдкрд╛рдард╡рддрд╛рдд рдЖрдгрд┐ рдирдВрддрд░ рдорд╛рд╕реНрдЯрд░.

рд╣реЗ рддрддреНрддреНрд╡ рд╕рд╛рдВрдЧрддреЗ: рдПрдХ рдХреЛрдбрдмреЗрд╕ рдЖрдгрд┐ рдЕрдиреЗрдХ рдЙрдкрдпреЛрдЬрди рдЖрд╣реЗрдд.

Git рдЪрд╛ рд╡рд╛рдкрд░ рдЙрддреНрдкрд╛рджрди рдЖрдгрд┐ рд╕рдВрд╢реЛрдзрди рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕ (R&D) рдпрд╛ рджреЛрдиреНрд╣реАрдордзреНрдпреЗ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреНрдпрд╛рдордзреНрдпреЗ рддреЛ рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдд рдирд╛рд╣реА.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, R&D рдЯрдкреНрдкреНрдпрд╛рдд рддреБрдореНрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрджреНрдзрддреА рдЖрдгрд┐ рдореЙрдбреЗрд▓реНрд╕рд╕рд╣ рдХрдорд┐рдЯ рд╕реЛрдбреВ рд╢рдХрддрд╛, рддреНрдпрд╛рдирдВрддрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╣ рдкреБрдвреЗ рдХрд╛рдо рдХрд░рдгреЗ рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА.

рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рдЙрддреНрдкрд╛рджрдирд╛рдордзреНрдпреЗ рд╣реА рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ - рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрдкрд▓рд╛ рдХреЛрдб рдХрд╕рд╛ рдмрджрд▓рддреЛ рд╣реЗ рд╕рддрдд рдкрд╣рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛ рдореЙрдбреЗрд▓рдиреЗ рд╕рд░реНрд╡реЛрддреНрдХреГрд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо рджрд┐рд▓реЗ рдЖрд╣реЗрдд, рдХреЛрдгрддреНрдпрд╛ рдХреЛрдбрдиреЗ рд╢реЗрд╡рдЯреА рдХрд╛рд░реНрдп рдХреЗрд▓реЗ рдЖрдгрд┐ рдЕрд╕реЗ рдХрд╛рдп рдШрдбрд▓реЗ рдЬреНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдерд╛рдВрдмрд▓реЗ рдХрд┐рдВрд╡рд╛ рдЪреБрдХреАрдЪреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдгреЗ рд╕реБрд░реВ рдХреЗрд▓реЗ. . рдХрдорд┐рдЯ рддреНрдпрд╛рд╕рд╛рдареАрдЪ рдЕрд╕рддрд╛рдд!

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдЪреЗ рдкреЕрдХреЗрдЬ рджреЗрдЦреАрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Gemfury рд╡рд░ рдареЗрд╡реВрди, рдЖрдгрд┐ рдирдВрддрд░ рдЗрддрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕рд╕рд╛рдареА рдлрдВрдХреНрд╢рдиреНрд╕ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░реВ рд╢рдХрддрд╛, рдЬреЗрдгреЗрдХрд░реБрди рддреЗ 1000 рд╡реЗрд│рд╛ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВ рдирдпреЗ, рдкрд░рдВрддреБ рдирдВрддрд░ рддреНрдпрд╛рд╡рд░ рдЕрдзрд┐рдХ.

рддрддреНрддреНрд╡ 2: рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдШреЛрд╖рд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реЗрдЧрд│реЗ рдХрд░рд╛

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реА рд▓рд╛рдпрдмреНрд░рд░реА рдЕрд╕рддреЗ рдЬреА рддреБрдореНрд╣реА рдмрд╛рд╣реЗрд░реВрди рдЖрдпрд╛рдд рдХрд░рддрд╛ рддреА рдХреБрдареЗрддрд░реА рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдордЧ рддреА рдкрд╛рдпрдерди рд▓рд╛рдпрдмреНрд░рд░реА рдЕрд╕реЛ, рдХрд┐рдВрд╡рд╛ рд╡рд┐рд╡рд┐рдз рдЙрджреНрджреЗрд╢рд╛рдВрд╕рд╛рдареА рдЗрддрд░ рднрд╛рд╖рд╛рдВрдЪреА рд▓рд╛рдпрдмреНрд░рд░реА рдЕрд╕реЛ, рдХрд┐рдВрд╡рд╛ рд╕рд┐рд╕реНрдЯрдо рдЯреВрд▓реНрд╕ - рддреБрдордЪреЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ:

  • рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдШреЛрд╖рд┐рдд рдХрд░рд╛, рдореНрд╣рдгрдЬреЗ, рдПрдХ рдлрд╛рдЗрд▓ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╕рд░реНрд╡ рд▓рд╛рдпрдмреНрд░рд░реА, рдЯреВрд▓реНрд╕ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЕрд╕рддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛ рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрд╛рдпрдереЙрдирдордзреНрдпреЗ рд╣реЗ Pipfile рдХрд┐рдВрд╡рд╛ requirements.txt рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЕ. рджреБрд╡рд╛ рдЬреЛ рдЪрд╛рдВрдЧрд▓рд╛ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ: realpython.com/pipenv-guide)
  • рд╡рд┐рдХрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖рдд: рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реЗрдЧрд│реЗ рдХрд░рд╛. рддреБрдореНрд╣реА рд╕рддрдд рдЖрд╡реГрддреНрддреНрдпрд╛ рдмрджрд▓реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, Tensorflow?

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рднрд╡рд┐рд╖реНрдпрд╛рдд рддреБрдордЪреНрдпрд╛ рдЯреАрдордордзреНрдпреЗ рд╕рд╛рдореАрд▓ рд╣реЛрдгрд╛рд░реЗ рдбреЗрд╡реНрд╣рд▓рдкрд░ рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╢реА рддреНрд╡рд░реАрдд рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдК рд╢рдХрддреАрд▓ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯрд╕рд╛рдареА рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реА рд╕реНрд╡рддрдГ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рджреЗрдЦреАрд▓ рдорд┐рд│реЗрд▓. рдкреНрд░рдХрд▓реНрдк, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪреА рдЕрд╕рдВрдЧрддрддрд╛ рдЯрд╛рд│рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реЗрд▓.

рддреБрдордЪрд╛ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯ OS рд╡рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдо рдЯреВрд▓реНрд╕рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рд░рд╛рд╣реВ рдирдпреЗ. рд╣реА рд╕рд╛рдзрдиреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЯреВрд▓реНрд╕рдЪреА рдЖрд╡реГрддреНрддреА (рддрд╕реЗрдЪ рддреНрдпрд╛рдВрдЪреА рдЙрдкрд▓рдмреНрдзрддрд╛) рд╡рд┐рд╢рд┐рд╖реНрдЯ OS рдЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдЯреВрд▓реНрд╕рд╢реА рдЬреБрд│рдд рдирд╛рд╣реА рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреА рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рдЬрд░реА рдХрд░реНрд▓ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рд╕рдВрдЧрдгрдХрд╛рдВрд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рддрд░реАрд╣реА рдЖрдкрдг рддреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдд рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рдХрд╛рд░рдг рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рддреЗ рдХрджрд╛рдЪрд┐рдд рддреЗрдереЗ рдирд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдЖрд╡реГрддреНрддреА рдирд╕реЗрд▓.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдордЪреА 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: рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди

рдЕрдиреЗрдХ рд╡рд┐рдХрд╕рдХрд╛рдВрдиреА AWS рдордзреАрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдЖрдгрд┐ рдЗрддрд░ рдХреА рд╕рд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рднрд╛рдВрдбрд╛рд░рд╛рдд GitHub рд╡рд░ рдХреЛрдб рдЕрдкрд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдЪреНрдпрд╛ рдХрдерд╛ рдЕрдиреЗрдХрд╛рдВрдиреА рдРрдХрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рджреБрд╕рд▒реНрдпрд╛ рджрд┐рд╡рд╢реА $6000 рдХрд┐рдВрд╡рд╛ $50000 рдЪреЗ рдХрд░реНрдЬ рдШреЗрдКрди рдЬрд╛рдЧреЗ рд╣реЛрддрд╛рдд.

рдЗрдВрдбрд╕реНрдЯреНрд░рд┐рдпрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ: 10 рдбрд┐рдЭрд╛рдЗрди рддрддреНрддреНрд╡реЗ

рдЕрд░реНрдерд╛рдд, рд╣реА рдкреНрд░рдХрд░рдгреЗ рдЯреЛрдХрд╛рдЪреА рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЦреВрдк рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗрдд. рддреБрдореНрд╣реА рддреБрдордЪреА рдХреНрд░реЗрдбреЗрдиреНрд╢рд┐рдпрд▓реНрд╕ рдХрд┐рдВрд╡рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓рд╛ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреЛрдбрдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдЪреВрдХ рдХрд░рдд рдЖрд╣рд╛рдд рдЖрдгрд┐ рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рдпрд╛рдЪреЗ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА.

рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд▓рд╛рдВрдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рд╣рд╛ рдпрд╛рд▓рд╛ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ. рдЖрдкрдг рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░рд┐рд╡рд░реНрддрдирд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдпреЗрдереЗ.

рдбреЗрдЯрд╛рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рдЬреА рд╕рд╛рдорд╛рдиреНрдпрдд: рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд:

  • рдбреЛрдореЗрди рдирд╛рд╡реЗ
  • API URL/URI
  • рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдгрд┐ рдЦрд╛рдЬрдЧреА рдХреА
  • рд╕рдВрдкрд░реНрдХ (рдореЗрд▓, рдлреЛрди рдЗ.)

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддреБрдордЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдмрджрд▓рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рддрдд рдХреЛрдб рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рд╣реЗ рддреБрдордЪрд╛ рд╡реЗрд│, рдореЗрд╣рдирдд рдЖрдгрд┐ рдкреИрд╕рд╛ рд╡рд╛рдЪрд╡рд┐рдгреНрдпрд╛рдд рдорджрдд рдХрд░реЗрд▓.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рддреБрдореНрд╣реА рдЪрд╛рдЪрдгреНрдпрд╛ рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА Kaggle API рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдЖрдгрд┐ рдореЙрдбреЗрд▓ рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдореЙрдбреЗрд▓ рдЪрд╛рд▓рд╡рд╛), рддрд░ Kaggle рдХрдбреАрд▓ рдЦрд╛рдЬрдЧреА рдХреА, рдЬрд╕реЗ рдХреА KAGGLE_USERNAME рдЖрдгрд┐ KAGGLE_KEY, рдЕрд╕рд╛рд╡реНрдпрд╛рдд. рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд▓рд╛рдВрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд.

рддрддреНрддреНрд╡ 4: рддреГрддреАрдп рдкрдХреНрд╖ рд╕реЗрд╡рд╛

рдХреЛрдбрдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдиреЗ рд╕реНрдерд╛рдирд┐рдХ рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдлрд░рдХ рдирд╕рд╛рд╡рд╛ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЗрдереЗ рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ MySQL рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рджреЛрдиреНрд╣реА рдХрдиреЗрдХреНрдЯ рдХрд░реВ рд╢рдХрддрд╛. Google Maps рдХрд┐рдВрд╡рд╛ Twitter API рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд┐рд╡рд┐рдз API рд╕рд╛рдареА рд╣реЗрдЪ рдЖрд╣реЗ.

рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛ рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рджреБрд╕рд░реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреАрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреАрд▓ рдХреА рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдмрджреНрджрд▓ рдореА рд╡рд░реАрд▓ рдкрд░рд┐рдЪреНрдЫреЗрджрд╛рдордзреНрдпреЗ рдмреЛрд▓рд▓реЛ рдЖрд╣реЗ.

рдореНрд╣рдгреВрди, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдХреЛрдбрдордзреНрдпреЗ рдбреЗрдЯрд╛рд╕реЗрдЯрд╕рд╣ рдлрд╛рдпрд▓реАрдВрдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, pathlib рд▓рд╛рдпрдмреНрд░рд░реА рд╡рд╛рдкрд░рдгреЗ рдЖрдгрд┐ config.py рдордзреАрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯрдЪрд╛ рдорд╛рд░реНрдЧ рдШреЛрд╖рд┐рдд рдХрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рдХреЛрдгрддреАрд╣реА рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рдд рдЕрд╕рд▓рд╛рдд рддрд░реА (рд╕рд╛рдареА рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрдХрд▓рд╕реАрдЖрдп), рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд╡реАрди рд╕реЗрд╡реЗрддреАрд▓ рдирд╡реАрди рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордЪреА рд░рдЪрдирд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрдКрди рдбреЗрдЯрд╛рд╕реЗрдЯрдЪрд╛ рдорд╛рд░реНрдЧ рд╢реЛрдзрдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рд╣реЛрддрд╛.

рддрддреНрддреНрд╡ 5. рдмрд┐рд▓реНрдб, рд░рд┐рд▓реАрдЬ, рд░рдирдЯрд╛рдЗрдо

рдбреЗрдЯрд╛ рд╕рд╛рдпрдиреНрд╕рдордзреАрд▓ рдмрд░реНтАНрдпрд╛рдЪ рд▓реЛрдХрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд▓реЗрдЦрди рдХреМрд╢рд▓реНрдп рд╕реБрдзрд╛рд░рдгреЗ рдЙрдкрдпреБрдХреНрдд рд╡рд╛рдЯрддреЗ. рдЖрдордЪрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдХреНрд╡рдЪрд┐рддрдЪ рдХреНрд░реЕрд╢ рд╡реНрд╣рд╛рд╡рд╛ рдЖрдгрд┐ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдХрд╛рд│ рдЕрдкрдпрд╢реА рди рд╣реЛрддрд╛ рдХрд╛рд░реНрдп рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣рд╛рд▓рд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд░рд┐рд▓реАрдЭ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ 3 рдЯрдкреНрдкреНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реА рдкрд╛рд╣рд┐рдЬреЗ:

  1. рд╕реНрдЯреЗрдЬ рд╕рдВрдореЗрд▓рдиреЗ. рддреБрдореНрд╣реА рддреБрдордЪрд╛ рдмреЗрдЕрд░ рдХреЛрдб рд╡реИрдпрдХреНрддрд┐рдХ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдПрдХрд╛ рддрдерд╛рдХрдерд┐рдд рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рдмрджрд▓рддрд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдЖрдгрд┐ рдбреЗрдЯрд╛ рдЕрд╕рддреЛ. рдпрд╛ рдкреЕрдХреЗрдЬрд▓рд╛ рдЕрд╕реЗрдВрдмреНрд▓реА рдореНрд╣рдгрддрд╛рдд.
  2. рд╕реНрдЯреЗрдЬ рд░реАрд▓рд┐рдЭ тАФ рдпреЗрдереЗ рдЖрдореНрд╣реА рдЖрдордЪреА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЕрд╕реЗрдВрдмреНрд▓реАрд╢реА рдЬреЛрдбрддреЛ, рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдЖрдореНрд╣реА рдЖрдордЪрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЛрдбреВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА. рдЖрддрд╛ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд▓реЙрдиреНрдЪ-рдЯреВ-рд░рд┐рд▓реАрдЭ рдЖрд╣реЗ.
  3. рдкреБрдвреЗ рд╕реНрдЯреЗрдЬ рдпреЗрддреЛ рдкреВрд░реНрддрддрд╛. рдпреЗрдереЗ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдкрд╛рд╕реВрди рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд▓рд╡реВрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЛрдбрддреЛ.

рдореЙрдбреЗрд▓ рдХрд┐рдВрд╡рд╛ рд╕рдВрдкреВрд░реНрдг рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛ рд░рд┐рд▓реАрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╢реА рдкреНрд░рдгрд╛рд▓реА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХ рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рднреВрдорд┐рдХрд╛ рд╡рд┐рднрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдШреЗрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ рдЖрдгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдордЪреНрдпрд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдерд╛рдВрдмреНрдпрд╛рдВрдирд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ.

рд░рд┐рд▓реАрдЭ рдЯрд╛рд╕реНрдХрд╕рд╛рдареА, рдмрд░реНтАНрдпрд╛рдЪ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕реЗрд╡рд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдд рддреБрдореНрд╣реА рд╕реНрд╡рддрдГрд▓рд╛ .yml рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд┐рд╣реВ рд╢рдХрддрд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, CircleCI рдордзреНрдпреЗ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рддрдГрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА config.yml рдЖрд╣реЗ). рд╡реНрд╣реАрд▓реА рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдкреЕрдХреЗрдЬ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЙрддреНрддрдо рдЖрд╣реЗ.

рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбреЗрд▓рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╕рд╣ рдкреЕрдХреЗрдЬреЗрд╕ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдирдВрддрд░ рддреЗ рдкреЕрдХреЗрдЬ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗрдереВрди рддреБрдореНрд╣реА рд▓рд┐рд╣рд┐рд▓реЗрд▓реА рдлрдВрдХреНрд╢рдиреНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдкреЕрдХреЗрдЬреЗрд╕ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдК рд╢рдХрддрд╛. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдореЙрдбреЗрд▓рд╕рд╛рдареА API рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░реЗрд▓ рдЖрдгрд┐ рддреБрдордЪреЗ рдкреЕрдХреЗрдЬ Gemfury рд╡рд░ рд╣реЛрд╕реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде.

рддрддреНрддреНрд╡ 6. рддреБрдордЪреЗ рдореЙрдбреЗрд▓ рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡рд╛

рд╢рд┐рд╡рд╛рдп, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдбреЗрдЯрд╛ рдирд╕рд╛рд╡рд╛. рдореНрд╣рдгрдЬреЗрдЪ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЕрд╕реНрддрд┐рддреНрддреНрд╡рд╛рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдбреЗрдЯрд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, MySQL рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рд╕рд╛рд░рдЦреНрдпрд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдВрд╡рд░, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди.

рдореНрд╣рдгрдЬреЗрдЪ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдирд╛рд╣реА, рдЕрдиреНрдпрдерд╛ рдпрд╛рдореБрд│реЗ рдкреБрдвреАрд▓ рдкреНрд░рдХрд╛рд╢рди / рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреНрдпрд╛ рдмрджрд▓рд╛рджрд░рдореНрдпрд╛рди рд╣рд╛ рдбреЗрдЯрд╛ рд╕рд╛рдл рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЬреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЪрд╛рд▓рддреЛ рддреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордЪреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╣реЛрдК рд╢рдХрддреЗ.

рдкрд░рдВрддреБ рдПрдХ рдЕрдкрд╡рд╛рдж рдЖрд╣реЗ: рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА, рддреБрдореНрд╣реА рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪрд╛ рдХреЕрд╢реЗ рд╕рдВрдЪрдпрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд▓рд╛рдБрдЪ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреА рдкреБрдиреНрд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рдирдпреЗрдд, рдЬрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдпрдмреНрд░рд░реА рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рдХреЗрд▓реЗ рдирд╕рддреАрд▓. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рддреБрдореНрд╣реА рддреБрдордЪреЗ рдореЙрдбреЗрд▓ рдЙрджреНрдпреЛрдЧрд╛рдд рд▓реЙрдиреНрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│ рдХрдореА рдХрд░рд╛рд▓.

рдореЙрдбреЗрд▓рд▓рд╛ рдЕрдиреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА .yml рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреБрдореНрд╣реА рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪрд╛ рдХреНрд░рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛.

рддрддреНрддреНрд╡ 7: рдкреБрдирд░реНрд╡рд╛рдкрд░рдпреЛрдЧреНрдпрддрд╛

рддреБрдордЪреНрдпрд╛ рдореЙрдбреЗрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХрд░рдгреЗ рдЖрдгрд┐ рдерд╛рдВрдмрд╡рдгреЗ рд╕реЛрдкреЗ рдЕрд╕рд╛рд╡реЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдб рдмрджрд▓, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрджрд▓, рдЬрд▓рдж рдЖрдгрд┐ рд▓рд╡рдЪрд┐рдХрдкрдгреЗ рд╕реНрдХреЗрд▓ рдЖрдгрд┐ рдХрд╛рд░реНрдпрд░рдд рдЖрд╡реГрддреНрддреАрдЪреЗ рд╕рдВрднрд╛рд╡реНрдп рдмреНрд░реЗрдХрдбрд╛рдЙрди рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рддреНрд╡рд░рд┐рдд рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓.

рдореНрд╣рдгрдЬреЗрдЪ, рдореЙрдбреЗрд▓рд╕рд╣ рддреБрдордЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╕рд╛рд╡реА:

  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡реЗрд│ рдХрдореА рдХрд░рд╛. рддрджреНрд╡рддрдЪ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрдЪреА рд╡реЗрд│ (рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдЭрд╛рд▓реНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рд╣реЛрдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдгрд╛рдкрд░реНрдпрдВрдд) рдХрд╛рд╣реА рд╕реЗрдХрдВрджрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдирд╕рд╛рд╡реА. рд▓рд╛рдпрдмреНрд░рд░реА рдХреЕрд╢рд┐рдВрдЧ, рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡реЗрд│ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рддрдВрддреНрд░ рдЖрд╣реЗ.
  • рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рд╛. рдореНрд╣рдгрдЬреЗрдЪ, рд╕реЗрд╡рд╛ рдкреЛрд░реНрдЯрд╡рд░ рдРрдХрдгреЗ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдирд┐рд▓рдВрдмрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛ рдкреЛрд░реНрдЯрд╡рд░ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд╡реАрди рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА. рдпреЗрдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрддрд░ DevOps рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрд╕рд╣ рдЪрд╛рдВрдЧрд▓рд╛ рд╕рдВрд╡рд╛рдж рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ рддреЗ рд╕реНрд╡рддрдГ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╢рдХреНрдпрддреЛ, рдЕрд░реНрдерд╛рддрдЪ, рдирдВрддрд░рдЪреЗ, рдкрд░рдВрддреБ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рдд рд╕рдВрд╡рд╛рдж рдиреЗрд╣рдореА рд░рд╛рдЦрд▓рд╛ рдЧреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ!)

рддрддреНрддреНрд╡ 8: рд╕рддрдд рдЙрдкрдпреЛрдЬрди/рдПрдХреАрдХрд░рдг

рдмрд░реНтАНрдпрд╛рдЪ рдХрдВрдкрдиреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЖрдгрд┐ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЯреАрдореНрд╕ (рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреЗ) рджрд░рдореНрдпрд╛рди рд╡реЗрдЧрд│реЗрдкрдгрд╛ рд╡рд╛рдкрд░рддрд╛рдд. рд╣реЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдЧрддреА рдордВрдж рдХрд░реВ рд╢рдХрддреЗ. рд╣реЗ DevOps рд╕рдВрд╕реНрдХреГрддреА рджреЗрдЦреАрд▓ рдмрд┐рдШрдбрд╡рддреЗ, рдЬрд┐рдереЗ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдПрдХрддреНрд░реАрдХрд░рдг, рдвреЛрдмрд│рдкрдгреЗ рдмреЛрд▓рдгреЗ, рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдореНрд╣рдгреВрди, рд╣реЗ рддрддреНрддреНрд╡ рд╕рд╛рдВрдЧрддреЗ рдХреА рддреБрдордЪреЗ рд╡рд┐рдХрд╛рд╕рд╛рдЪреЗ рд╡рд╛рддрд╛рд╡рд░рдг рддреБрдордЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╢реА рд╢рдХреНрдп рддрд┐рддрдХреЗ рдЬрд╡рд│ рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рд╣реЗ рдЕрдиреБрдорддреА рджреЗрдИрд▓:

  1. рдкреНрд░рдХрд╛рд╢рди рд╡реЗрд│ рджрд╣рд╛рдкрдЯ рдХрдореА рдХрд░рд╛
  2. рдХреЛрдб рд╡рд┐рд╕рдВрдЧрддрддреЗрдореБрд│реЗ рддреНрд░реБрдЯреАрдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░рд╛.
  3. рдпрд╛рдореБрд│реЗ рдХрд░реНрдордЪрд╛рд░реНтАНрдпрд╛рдВрд╡рд░ рдХрд╛рдорд╛рдЪрд╛ рддрд╛рдгрд╣реА рдХрдореА рд╣реЛрддреЛ, рдХрд╛рд░рдг рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрдгрд┐ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рдгрд╛рд░реЗ рд▓реЛрдХ рдЖрддрд╛ рдПрдХ рдЯреАрдо рдЖрд╣реЗрдд.

рд╕рд░реНрдХрд▓рд╕реАрдЖрдп, рдЯреНрд░реЕрд╡реНрд╣рд┐рд╕ рд╕реАрдЖрдп, рдЧрд┐рдЯрд▓реЕрдм рд╕реАрдЖрдп рдЖрдгрд┐ рдЗрддрд░ рд╣реА рд╕рд╛рдзрдиреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд.

рддреБрдореНрд╣реА рддреНрд╡рд░реАрдд рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдЬреЛрдбрдгреА рдХрд░реВ рд╢рдХрддрд╛, рддреЗ рдЕрджреНрдпрддрдирд┐рдд рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗ рддрд╛рдмрдбрддреЛрдм рд▓рд╛рдБрдЪ рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рдХрд╛рд░реНрдпрд░рдд рдЖрд╡реГрддреНрддреАрд╡рд░ рддреНрд╡рд░реАрдд рдкрд░рдд рдпреЗрдгреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓, рдЬреЗрдгреЗрдХрд░реВрди рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рддрд╣реА рдпреЗрдгрд╛рд░ рдирд╛рд╣реА. рдЬрд░ рддреБрдордЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдЕрд╕рддреАрд▓ рддрд░ рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рд╕рд╣рдЬ рдЖрдгрд┐ рддреНрд╡рд░реАрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдорддрднреЗрдж рдХрдореА рдХрд░рд╛ !!!

рддрддреНрддреНрд╡ 9. рдЖрдкрд▓реЗ рд▓реЙрдЧ

рд▓реЙрдЧ (рдХрд┐рдВрд╡рд╛ тАЬрд▓реЙрдЧтАЭ) рд╣реЗ рдЗрд╡реНрд╣реЗрдВрдЯ рдЖрд╣реЗрдд, рдЬреЗ рд╕рд╣рд╕рд╛ рдордЬрдХреВрд░ рд╕реНрд╡рд░реВрдкрд╛рдд рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рдЬреЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ (рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рд╡рд╛рд╣) рд╣реЛрддрд╛рдд. рдПрдХ рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг: "2020-02-02 - рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ - рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдирд╛рд╡." рддреЗ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЬреЗрдгреЗрдХрд░реВрди рд╡рд┐рдХрд╛рд╕рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ рдХрд╛рдп рдШрдбрдд рдЖрд╣реЗ рддреЗ рдЕрдХреНрд╖рд░рд╢рдГ рдкрд╛рд╣реВ рд╢рдХреЗрд▓. рддреЛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рдкреНрд░рдЧрддреА рдкрд╛рд╣рддреЛ рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕рдХрд╛рдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рддреНрдпрд╛рд▓рд╛ рд╕рдордЬрддреЗ.

рд╣реЗ рддрддреНрддреНрд╡ рд╕рд╛рдВрдЧрддреЗ рдХреА рддреБрдореНрд╣реА рддреБрдордЪреЗ рд▓реЙрдЧ рддреБрдордЪреНрдпрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд╕рд╛рдард╡реВ рдирдпреЗ - рддреБрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ рдлрдХреНрдд рд╕реНрдХреНрд░реАрдирд╡рд░ тАЬрдЖрдЙрдЯрдкреБрдЯтАЭ рдХрд░рд╛рд╡реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯрд╡рд░ рд╣реЗ рдХрд░рд╛. рдЖрдгрд┐ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡рд┐рдХрд╛рд╕рд╛рджрд░рдореНрдпрд╛рди рдЯрд░реНрдорд┐рдирд▓рдордзреАрд▓ рдкреНрд░рд╡рд╛рд╣рд╛рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.

рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд▓реЙрдЧ рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдЬрд┐рдмрд╛рдд рдЧрд░рдЬ рдирд╛рд╣реА? рдирдХреНрдХреАрдЪ рдирд╛рд╣реА. рддреБрдордЪреНрдпрд╛ рдЕрд░реНрдЬрд╛рдиреЗ рд╣реЗ рдХрд░реВ рдирдпреЗтАФрддреЗ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдВрд╡рд░ рд╕реЛрдбрд╛. рддреБрдордЪрд╛ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рд░рд┐рдЕрд▓-рдЯрд╛рдЗрдо рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рдлрдХреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдЗрд▓ рдХрд┐рдВрд╡рд╛ рдЯрд░реНрдорд┐рдирд▓рд╡рд░ рд▓реЙрдЧ рдлреЙрд░рд╡рд░реНрдб рдХрд░реВ рд╢рдХрддреЛ рдХрд┐рдВрд╡рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдорд╡рд░ (рдЬрд╕реЗ рдХреА Hadoop) рдлреЙрд░рд╡рд░реНрдб рдХрд░реВ рд╢рдХрддреЛ. рддреБрдордЪрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рддрдГрдЪ рд▓реЙрдЧ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реВ рдирдпреЗ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рдирдпреЗ.

рддрддреНрддреНрд╡ 10. рдЪрд╛рдЪрдгреА!

рдФрджреНрдпреЛрдЧрд┐рдХ рдорд╢реАрди рд╢рд┐рдХреНрд╖рдгрд╛рд╕рд╛рдареА, рд╣рд╛ рдЯрдкреНрдкрд╛ рдЕрддреНрдпрдВрдд рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдЖрд╣реЗ, рдХрд╛рд░рдг рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХреА рдореЙрдбреЗрд▓ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рддреЗ рддрдпрд╛рд░ рдХрд░рддреЗ.

pytest рд╡рд╛рдкрд░реВрди рдЪрд╛рдЪрдгреНрдпрд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдкреНрд░рддрд┐рдЧрдорди/рд╡рд░реНрдЧреАрдХрд░рдг рдХрд╛рд░реНрдп рдЕрд╕рд▓реНрдпрд╛рд╕ рд▓рд╣рд╛рди рдбреЗрдЯрд╛рд╕реЗрдЯ рд╡рд╛рдкрд░реВрди рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рд╕рдЦреЛрд▓ рд╢рд┐рдХреНрд╖рдг рдореЙрдбреЗрд▓реНрд╕рд╕рд╛рдареА рд╕рдорд╛рди рдмреАрдЬ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕ рд╡рд┐рд╕рд░реВ рдирдХрд╛ рдЬреЗрдгреЗрдХрд░реВрди рддреЗ рд╕рддрдд рднрд┐рдиреНрди рдкрд░рд┐рдгрд╛рдо рджреЗрдд рдирд╛рд╣реАрдд.

рд╣реЗ 10 рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди рд╣реЛрддреЗ рдЖрдгрд┐ рдЕрд░реНрдерд╛рддрдЪ, рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рд╣реЗ рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ, рдореНрд╣рдгреВрди рд╣рд╛ рд▓реЗрдЦ рдХреЗрд╡рд│ рдордиреЛрд░рдВрдЬрдХ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдореА рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рддреЗ рд╕рд╛рдВрдЧреЗрди. рдЗрдВрдбрд╕реНрдЯреНрд░рд┐рдпрд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбреЗрд▓реНрд╕, рддреНрдпрд╛рдВрдирд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдХрд╕реЗ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рд╣реА рддрддреНрддреНрд╡реЗ рдЖрдкрд▓реНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрд╕рд╛рдареА рдЬреАрд╡рди рдХрд╕реЗ рд╕реЛрдкреЗ рдХрд░реВ рд╢рдХрддрд╛рдд.

рдореА рдЫрд╛рди рддрддреНрддреНрд╡реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди рдЬреЗ рдХреЛрдгреАрд╣реА рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд╕реЛрдбреВ рд╢рдХреЗрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛