... 90%ред рдпрд╛рдиреА рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдЕрднреА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЫрд╣ рд▓реЛрдЧ рдЕрднреА рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рдЗрд╕реЗ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ:
рд╡рд┐рджреЗрд╢реА рд╡рдХреНрддрд╛рдУрдВ:
рдкреЛрдорд┐рди рдЯреАрдо рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ , рдЖрд░реНрдорд┐рди рд░реМрдирд╛рдХрд░ ред рдЗрдВрдЧреНрд▓реИрдВрдбред
рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдлреНрд▓рд╛рд╕реНрдХ рдФрд░ рдЬрд┐рдВрдЬрд╛ 2 рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд░реНрдорд┐рди "рдЙрдиреНрдирдд рдлреНрд▓рд╛рд╕реНрдХ рдкреИрдЯрд░реНрди рдкрд░ рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рджреЗрдВрдЧреЗ, рдЬреЛ рдпреВрд░реЛрдкрд╛рдЗрдерди 2012 рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реИред
рдбреЙ рд░рд╕реЗрд▓ рдХреАрде-рдореЗрдЬреА ,
Django рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рдЕрдзреНрдпрдХреНрд╖, Django рдХреЛрд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдп, рдЯреНрд░реЗрдбреНрд╕рдХреНрд▓рд╛рдЙрдб рдореЗрдВ CTOред рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛ред
рд░рд╕реЗрд▓ рдбреАрдПрд╕рдПрдл рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЗ рдкреНрд░рд┐рдЬреНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╡рд┐рдХрд╛рд╕ рд╕рдореБрджрд╛рдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдПрдХ рдмрд╛рдд рджреЗрдВрдЧреЗ, рдФрд░ Django рдбрд┐рд╡рд╛рдЗрд╕ (ORM) рдХреЗ рдХреБрдЫ рддрдХрдиреАрдХреА рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдг py.test рдФрд░ рдЯреЙрдХреНрд╕рд┐рдХ рдХреЗ рд▓реЗрдЦрдХ, PyPy рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рд╣реЛрд▓реНрдЧрд░ рдХреНрд░реИрдХреЗрд▓ ред рдЬрд░реНрдордиреАред
рд╣реЛрд▓реНрдЧрд░ рдХреА рдЪрд░реНрдЪрд╛ рдХрд╛ рд╡рд┐рд╖рдп "рдкрд╛рдпрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░" рд╣реИ: рдкрд╛рдпрдерди рдореЗрдВ рдЕрднреА рднреА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗрдЯрдЯреЙрдкреВрд▓ / рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ easy_install / pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдзреАрдореА рд╣реИ рдФрд░ pypi.python.org рдФрд░ рдЕрдиреНрдп рд╕рд░реНрд╡рд░реЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдХреЛрдИ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬ рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЕрдХреЗрд▓реЗ рд╣реА рдЗрд╕рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рдорд╛рдирдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╛рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирдП (рдЗрди-рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ) PyPI рд╕рд░реНрд╡рд░ рдХрд╛ рдбреЗрдореЛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдХрдИ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдорд╛рдг рдХреЗ рдХреНрд░рдо рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЗрд╡рд┐рдб рдХреНрд░реИрдорд░ , DISQUS рдХреЗ рдЙрдЪреНрдЪ рднрд╛рд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮред рдЕрдореЗрд░рд┐рдХрд╛
DISQUS - рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд┐рдд рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ; рдпрд╣ рдкреНрд░рддрд┐ рдорд╛рд╣ 500 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдбреЗрд╡рд┐рдб рдкрд╛рдпрдерди рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ: рд╕рд╣реА рдЕрднреНрдпрд╛рд╕ рдФрд░ рд░реЗрдХ рдЬреЛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╣рдорд▓рд╛ рдХрд░ рд░рд╣реА рд╣реИрдВред
рдЬреЗрдл рд▓рд┐рдВрдбрд╕реЗ , рд╣реИрдХрд░ рджрд╛рд░реНрд╢рдирд┐рдХ, рдбреЗрд╡рд▓рдкрд░, рд╡рд╛рд╕реНрддреБрдХрд╛рд░ред рдЕрдореЗрд░рд┐рдХрд╛
рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЕрдореЗрд░рд┐рдХреА рд╣реИрдХрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдХреЗрдВрджреНрд░ рд╣реИрдХрд░ рдбреЛрдЬреЛ рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ, рд╡рд┐рд╢реНрд╡ рдкреНрд░рд╕рд┐рджреНрдз рд╣реИрдХрдереЙрди рд╕реБрдкрд░рд╣реИрдкреАрдбреЗрд╡рд╣рд╛рдЙрд╕ рдХреЗ рдЖрдпреЛрдЬрдХред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреЙрдорд░реНрд╕рдиреЗрдЯ, рдирд╛рд╕рд╛ рдПрдореНрд╕, рдЯреНрд╡рд┐рд▓рд┐рдпреЛ рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ред рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рд╡рд╣ рдИрд╡реЗрдВрдЯреЗрдб рд╡реЗрдм рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреА рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рдЦрд╛рддреА рд╣реИред PyCon Russia рдореЗрдВ, Jeff "Python рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░" рд╡рд┐рд╖рдп рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВрдЧреЗред
рд░реВрд╕реА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ:
рдПрдВрдбреНрд░реА рд╢реНрд╡реЗрддрд▓реЛрд╡, рдкрд╛рдпрдерди рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░, рдпреВрдП рдкрд╛рдпрдХреЛрди рдХреЗ рд╕рд╣-рдЖрдпреЛрдЬрдХред"PEP 3156 рдкрд╛рдпрдерди рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╣реИред"
рдкрд╛рдпрдерди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдореБрдбрд╝, рдмрд╡рдВрдбрд░, рдЬреЗрдВрдЯреАрди, рдореЗрдбреБрд╕рд╛ / рдПрд╕рд┐рдВрдХреЛрд░ рд╣реИрдВред рдпреЗ рд╕рд┐рд╕реНрдЯрдо рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рд▓реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд▓рд┐рдЦрдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред PEP 3156 рдПрдХ рдирдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
JetBrains рдореЗрдВ PyCharm IDE рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдПрдВрдбреНрд░реА рд╡рд╛рд▓реНрд╕реНрд╕реНрдХреЛрд╡рд┐рдЪ, рдлрдВрдХрдкрд░реНрд╕реЗрд▓рд┐рдм рдФрд░ рдЗрдЯрд░рдкрд╛рдЗрдкреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВред"рдкрд╛рдпрдерди рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг"
рд╕реНрдЯреЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдЙрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдо рдкрд╛рдпрдерди рдХреЛрдб (PyLint, PyFlakes, Pep8, IDE рдореЗрдВ рдирд┐рд░реАрдХреНрд╖рдг) рдХреЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рдХреЛрдб рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрди рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬрд┐рди рдкрд░ рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдзрд╛рд░рд┐рдд рд╣реИ; рдореИрдВ рдкрд╛рдпрдерди рдХреЛ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдКрдВрдЧрд╛ред рд░рд┐рдкреЛрд░реНрдЯ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдкреЗрд╢ рдХрд░реЗрдЧреА, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдкрд╛рдпрдерди рдХреЛрдб (рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдЕрдкрд╡рд╛рджреЛрдВ, рд╢реИрд▓реАрдЧрдд рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ) рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ рдФрд░ рд╕реНрдереИрддрд┐рдХ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдВрдЧреЗред рдкрд╛рдпрдерди рдЬреИрд╕реА рднрд╛рд╖рд╛рдПрдВред
рдорд┐рдЦрд╛рдЗрд▓ рдХреЛрд░реЛрдмреЛрд╡, рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рд╡рдХреНрддрд╛ред"рдкрд╛рдпрдерди 3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХреИрд╕реЗ рдХрд░реЗрдВ?"рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рддреАрд╕рд░реА рдкрд╛рдпрдерди рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдХреНрдпреЛрдВ рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реИред рдЬреНрдЮрд╛рди рдХреЛ рдЙрд╕реА рджрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рджреЛ рдХреЛ рдПрдХ рд╢рд╛рдо рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ / рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐ рдФрд░ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХреЗ рдмрд╛рдж рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд╛рд╕ (рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд) рдкрд╛рдпрдерди 3 рдореЗрдВ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛрдб рдХрд╛ рдХреМрд╢рд▓ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреМрд╢рд▓ рдЬрд▓реНрдж рд╣реА рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП (рднрд▓реЗ рд╣реА рдЖрдк 2.x рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реЛрдВ) ред рдЦреИрд░, рдХрд┐рд╕реА рдиреЗ рднреА рд╡рд┐рд╢реНрд╡ рд╕рднреНрдпрддрд╛ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд░реЛрдорди рдЗрдорд╛рдирдХреБрд▓реЛрд╡, рдбреЛрд▓рд┐рд╕реНрдЯ рдЗрдВрдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░ "рд╕рд╛рд╕ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдЬрд╡рд╛рдЗрди"рд╕реЗрд▓реЗрд░реА рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЕрдЬрд╡рд╛рдЗрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдХреЛрдб рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рддрд░рдл рд╕реЗрд▓реЗрд░реА рдХреЛ рджреЗрдЦрдирд╛ рдФрд░ рд╡рд┐рддрд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд╣рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ред рд░рд┐рдкреЛрд░реНрдЯ рд╕реЗрд▓реЗрд░реА рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдЧреА, рдФрд░ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рдЕрдиреБрд░реЛрдз рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЕрдЬрд╡рд╛рдЗрди рдПрдХ рдЖрдВрддрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреЗрдорд╛рдиреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЫрд╛рддреНрд░ рдЗрд╕ рдмрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдФрд░ рдмрд┐рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдУрд╡рд░рд╣реЗрдбреНрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рдкреВрд░реЗ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдордЬрдмреВрдд рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╢реНрд░реЛрддрд╛ рд╕рдВрджреЗрд╢ рдХрддрд╛рд░реЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдФрд░ рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЕрдЬрд╡рд╛рдЗрди рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрдм рдФрд░ рдХреНрдпреЛрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдХреЛрд╢реЗрд▓реЗрд╡, рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдХреЗ рдкреНрд░рдореБрдЦ, рдпреИрдВрдбреЗрдХреНрд╕ред"рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рднрдВрдЧ рдХрд░рдирд╛"рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ? рдЬрдм рддрд░реНрдХ рд╕реАрдкреАрдпреВ-рдмрд╛рдЙрдВрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдХреНрдпрд╛ рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╕рд┐рдВрдХреНрд░реЛрдирд╕-рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдореИрдВ рдЯреЛрд░рдиреЗрдбреЛ рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░реВрдВрдЧрд╛ред
рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯрд┐рди рд▓реЛрдкреБрдХрд┐рди, ChTD"рд╕рдВрдмрдВрдзрдкрд░рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг"рдореИрдВ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИ, рд╕рдВрднрд╡ рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд▓реНрдкред рдореИрдВ рдЕрдВрддрд░рд╛рд▓-рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЕрддреАрдд рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдЗрд╕рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рднрд╛рдЧреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рддрд╛ рд╣реИред Django рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрд╡рдпрдВ рд╣реА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИред рдореИрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдИрдПрд╡реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЖрд╡реЗрджрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
Danila Shtan, рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рдореБрдЦ, рд╣реЛрд▓реНрдбрд┐рдВрдЧ 66.ru"UWSGI рдПрдХ рд╕реНрд╡рд┐рд╕ рдЕрдЬрдЧрд░-рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдЪрд╛рдХреВ рдХреЗ рд░реВрдк рдореЗрдВ"рдпреВрдбрдмреНрд▓реНрдпреВрдПрд╕рдЬреАрдЖрдИ, рдЬреЛ рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдПрдХ рдлрд╛рд╕реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ, рдзреАрд░реЗ-рдзреАрд░реЗ рди рдХреЗрд╡рд▓ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рдЧрдпрд╛ (рдФрд░ рдХреЗрд╡рд▓ рдЕрдЬрдЧрд░ рдореЗрдВ рд╣реА рдирд╣реАрдВ)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкреНрд░рд▓реЗрдЦрди рдХреА рдХрдореА рдЕрдХреНрд╕рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ uWSGI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИред рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ (рджреЛрдиреЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░) рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рдЕрдЬрдЧрд░ рдкрд░ рд╡реЗрдм-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрднрд╡ рд╣реИ, рдЬреЛ рдЪрдпрдирд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рд╕реНрд╡рдпрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрд╢рд┐рдВрдЧ рдпрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ) рдкрд░ рдзреНрдпрд╛рди рджреЗрдВрдЧреЗ, рдЬреЛ рдЕрдХреНрд╕рд░ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ) рдореЗрдорд╕реНрдХреИрдб рдпрд╛ рдЕрдЬрд╡рд╛рдЗрди рдХреА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддреГрддреАрдп-рдкрдХреНрд╖ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдбреЗрдирд┐рд╕ рдХреЛрд▓реЛрдбрд┐рди, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдлреЛрд░рдо рдлреЛрд░рдо"рдкрд╛рдпрдерди рдореЗрдВ рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рдирд░рдо-рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп"рд░рд┐рдкреЛрд░реНрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧреА рдЬреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкрд░ рдЪрд▓рддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╣рд╛рдИ-рд╕реНрдкреАрдб рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде ctypes рдФрд░ рд╕рд╛рдЗрдереЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрдерди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рдкреЗрд╢ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕реНрдореГрддрд┐, рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдереНрд░реЗрдб, рдлрд╛рдЗрдмрд░ рдФрд░ GIL рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЫрд╛рддреНрд░ рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╣рд╛рдИ-рд╕реНрдкреАрдб рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред
рджрд┐рдорд┐рддреНрд░реА рдкреНрд░реЛрдХреЛрдлрд╝реЗрд╡ рдбреЗрд╡рд▓рдкрд░, рдпреИрдВрдбреЗрдХреНрд╕"рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рддреБрд▓реНрдпрдХрд╛рд▓рди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╡рд┐рдХрд╛рд╕"рд░рд┐рдкреЛрд░реНрдЯ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧреА рдХрд┐ рдпреИрдВрдбреЗрдХреНрд╕ рдХреЛ рдбреЗрдЯрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рд╣рдо рдЖрд╡реЗрджрди рд╕реНрддрд░ рдкрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЙрдЧ рдмрдирд╛рдо рдЗрдиреНрд╕рд░реНрдЯ рд▓реЙрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред DB рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рд▓реЗрдирджреЗрди рдХреА рдХрдореАред Django рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВред рдЖрд╡реЗрджрди рд╕реНрддрд░ рдХреЗ рдиреАрдЪреЗ рдмрджрд▓рд╛рд╡ рд╕реЗ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрджреНрдпрддрдиред
рдорд┐рдЦрд╛рдЗрд▓ рдпреБрдорд╛рддреЛрд╡, рд╡рд░рд┐рд╖реНрда рдбреЗрд╡рд▓рдкрд░, рддреНрд░рд┐рд▓рд╛рди┬лSaltStack┬╗рд╕рд╛рд▓реНрдЯрд╕реНрдЯреИрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдЬрд╣рд╛рдВ рдкрд╛рдЗрдерди рдореЗрдВ рдХрдорд╛рдВрдб рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рдореИрдВ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рд╕рд╛рд▓реНрдЯрд╕реНрдЯреИрдХ рдкрд░ рдзреНрдпрд╛рди рдХреНрдпреЛрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реЗрдл рдпрд╛ рдХрдардкреБрддрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╣ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддреИрдирд╛рддреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд▓реНрдЯрд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрдЦрдж рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдХреБрдЫ рдЕрдиреНрдпред
рдорд╛рд╕реНрдЯрд░ рдХрдХреНрд╖рд╛рдПрдВ
рдиреЛрдЯ: рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ 4 рдШрдВрдЯреЗ рдХрд╛ рдХрд╛рд░реНрдп рдкреНрд░рд╛рд░реВрдк рд╣реИ рдЬрдм рдкреНрд░рддрд┐рднрд╛рдЧреА рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рд╢реНрди рдХреЗ рдкреВрд░реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рддреБрд░рдВрдд рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯрд┐рди рд▓реЛрдкреБрдХрд┐рди, ChTD"рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕: RPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд┐рдЦрдирд╛"рдЗрд╕ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдмрд╛рдпрдЯреЗрдХреЛрдб рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдЖрдзреБрдирд┐рдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рднреА рджреБрднрд╛рд╖рд┐рдП рдареАрдХ рд╣реИрдВ), рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди RPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ (PyPy рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд), рдФрд░ JIT (рд╕рд┐рд░реНрдл-рдЗрди-рдЯрд╛рдЗрдо рдХрдВрдкрд╛рдЗрд▓рд░) рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ рдореЗрдВ рдХрдИ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ - рдПрдХ рдирдпрд╛ рдмрд╛рдпреЛрдЯреЗрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛, рдПрдХ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рдВрдХрд▓рдХ рдЬреЛрдбрд╝рдирд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рдХреНрдпрд╛ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, JIT рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, TDD рдХреНрдпреЛрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡реЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВред
рдПрдВрдбреНрд░реА рд╢реНрд╡реЗрддрд▓реЛрд╡, рдкрд╛рдпрдерди рдХреЛрд░ рдбреЗрд╡рд▓рдкрд░, рдпреВрдП рдкрд╛рдпрдХреЛрди рдХреЗ рд╕рд╣-рдЖрдпреЛрдЬрдХред"рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдкрд░ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕"рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдиреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рд▓рд┐рдЦрд╛ред рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ "рд╣реБрдб рдХреЗ рддрд╣рддред" рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ рдпрд╛ рдЬреЛ рд▓реЛрдЧ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдЬреНрдЮрд╛рди рдирд┐рдореНрди рд╕реНрддрд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд┐рд░реНрдорд╛рдгреЛрдВ рддрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдорд┐рдЦрд╛рдЗрд▓ рдХреЛрд░реЛрдмреЛрд╡, рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рд╡рдХреНрддрд╛редрдкрд╛рдпрдерди 3 рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╡рд░реНрдХрд╢реЙрдкрд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧред

рд╕рдВрдЧрдардирд╛рддреНрдордХ рдорд╛рдорд▓реЗ:
рд╕рдореНрдореЗрд▓рди рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ:
ru.pycon.org рдЬрдирд╡рд░реА рдХреЗ рдЕрдВрдд рддрдХ, рддрд░рдЬреАрд╣реА рдЯрд┐рдХрдЯ рдХреА рдХреАрдорддреЗрдВ рдорд╛рдиреНрдп рд╣реИрдВред рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдХрд░реЛ! :)