{"id":182650,"date":"2013-06-09T13:13:04","date_gmt":"2013-06-09T09:13:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=182650"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=182650","title":{"rendered":"<span class=\"post_title\">DevConf::Python 2013 \u2014 \u043f\u0440\u043e\u0439\u0434\u0435\u0442 14 \u0438\u044e\u043d\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435, \u043f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u0440 \u043a\u043d\u0438\u0433\u0438 \u00abPorting to Python 3\u00bb Lennart Regebro<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/content.devconf.ru\/2013\/python-ties.jpg\" alt=\"image\" align=\"left\"\/><br \/>  \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 Python \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 <a href=\"http:\/\/devconf.ru\/python\/\">DevConf::Python<\/a> <br \/>  14 \u0438\u044e\u043d\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435.<br \/>  \u041f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u0440 \u043a\u043d\u0438\u0433\u0438 \u00ab<b><a href=\"http:\/\/devconf.ru\/offers\/38\">Porting to Python 3<\/a><\/b>\u00bb Lennart Regebro<br \/>  \u0421\u0435\u043a\u0446\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 <a href=\"http:\/\/moscowdjango.ru\/\">Moscow Django Meetup<\/a> \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 <a href=\"http:\/\/python.su\/\">Python.su<\/a><\/p>\n<p>  <b>\u041f\u0435\u0440\u0432\u044b\u043c \u0442\u0440\u0435\u043c \u2014 \u043f\u0440\u0438\u0441\u043b\u0430\u0432\u0448\u0438\u043c \u0432 \u043e\u0440\u0433\u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u0441\u0432\u043e\u0435 \u0444\u043e\u0442\u043e \u0441 \u0433\u0430\u043b\u0441\u0442\u0443\u043a\u043e\u043c \u00abPython\u00bb \u2014 <br \/>  \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043d\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438!<\/b><br \/>  <i>(\u0410\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441 9 \u043f\u043e 13 \u0438\u044e\u043d\u044f. \u0424\u043e\u0442\u043e\u0448\u043e\u043f \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f)<\/i><\/p>\n<p>  <b>\u041f\u0438\u0442\u043e\u043d\u0438\u0441\u0442\u044b \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435\u0441\u044c! <\/b><\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 Python \u0441\u0435\u043a\u0446\u0438\u0438:<br \/>  <b>Prehistoric Python: Patterns Past their Prime<br \/>  <\/b>Lennart Regebro \u2014 created his first website in 1994, and has been working full time with open source web development since 2001. He is the author of the book \u00abPorting to Python 3\u00bb. Lennart is an independent contractor, mostly developing websites and web applications using Plone or Django.<br \/>  It goes through programming patterns that has been obsoleted by changed in Python but that you still find in actual production code. I&#8217;ll take examples of outdated coding practices in frameworks such a Django and Plone\/Zope, explain what they do, why they aren&#8217;t good ideas any more and what to do instead.<\/p>\n<p>  <b>Tulip \u2014 \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043d\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434<\/b><br \/>  \u0410\u043d\u0434\u0440\u0435\u0439 \u0421\u0432\u0435\u0442\u043b\u043e\u0432 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Python \u0441 2000 \u0433\u043e\u0434\u0430. \u0417\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043a\u0430\u043a Python Core Developer. \u0423\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 tulip. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 getgoing.com \u0410\u0432\u0442\u043e\u0440 \u0431\u043b\u043e\u0433\u0430 <a href=\"http:\/\/asvetlov.blogspot.com\">asvetlov.blogspot.com<\/a><\/p>\n<p>  <b>Boost.Python \u2014 \u0432\u0437\u043b\u0435\u0442\u0430\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0432\u044f\u0437\u043a\u0443 C++\/Python<\/b><br \/>  \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440 \u041a\u0435\u0440\u0438\u043c\u043e\u0432 \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a C++\/Python. \u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u0434\u0430 \u043d\u0430 C++, \u0441\u0432\u044f\u0437\u043a\u0435 C++\/Python \u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0421\u0411\u0438\u0421 3.x \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0422\u0435\u043d\u0437\u043e\u0440\u00bb.<\/p>\n<p>  <b>UI \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f \u0441 Leap Motion \u0438 Python&#8217;\u043e\u043c<\/b><br \/>  \u041f\u0430\u0432\u0435\u043b \u041a\u043e\u043b\u043e\u043c\u0438\u0435\u0446. \u0417\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441 2003-\u0433\u043e \u0433\u043e\u0434\u0430. \u0421 2010-\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438\u0433\u0440 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Insollo. \u041b\u044e\u0431\u0438\u0442 Python3 (!), zeromq, redis \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.<\/p>\n<p>  <b>\u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0442\u0440\u0435\u0449\u0430\u0442\u044c \u043f\u043e \u0448\u0432\u0430\u043c Django ORM?<\/b><br \/>  \u041c\u0438\u043b\u0435\u043d\u043a\u043e \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440. \u0417\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c web-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0441 2000 \u0433\u043e\u0434\u0430. \u0421 2009 \u043f\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u043b\u0441\u044f \u043d\u0430 Python \u0438 Django. <\/p>\n<p>  <b>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Python<\/b><br \/>  \u041a\u043e\u043b\u043e\u0434\u044f\u0436\u043d\u044b\u0439 \u0418\u0432\u0430\u043d. \u041b\u0438\u0434\u0435\u0440 \u0445\u0430\u0440\u044c\u043a\u043e\u0432\u0441\u043a\u043e\u0433\u043e python \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 KharkivPy. \u041f\u0438\u0448\u0435\u0442 \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 \u0438 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0430 Python 3.3. \u0421 2012-\u0433\u043e \u0433\u043e\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Mirantis \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 OpenStack. OpenStack \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440 <\/p>\n<p>  <a href=\"http:\/\/devconf.ru\/join\/\"><b>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 DevConf 2013<\/b><\/a>    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/devconf\/blog\/182650\/\"> http:\/\/habrahabr.ru\/company\/devconf\/blog\/182650\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/content.devconf.ru\/2013\/python-ties.jpg\" alt=\"image\" align=\"left\"\/><br \/>  \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0430\u0435\u043c \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 Python \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 <a href=\"http:\/\/devconf.ru\/python\/\">DevConf::Python<\/a> <br \/>  14 \u0438\u044e\u043d\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435.<br \/>  \u041f\u0440\u0438\u0435\u0437\u0436\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u0440 \u043a\u043d\u0438\u0433\u0438 \u00ab<b><a href=\"http:\/\/devconf.ru\/offers\/38\">Porting to Python 3<\/a><\/b>\u00bb Lennart Regebro<br \/>  \u0421\u0435\u043a\u0446\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u0430 <a href=\"http:\/\/moscowdjango.ru\/\">Moscow Django Meetup<\/a> \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 <a href=\"http:\/\/python.su\/\">Python.su<\/a><\/p>\n<p>  <b>\u041f\u0435\u0440\u0432\u044b\u043c \u0442\u0440\u0435\u043c \u2014 \u043f\u0440\u0438\u0441\u043b\u0430\u0432\u0448\u0438\u043c \u0432 \u043e\u0440\u0433\u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u0441\u0432\u043e\u0435 \u0444\u043e\u0442\u043e \u0441 \u0433\u0430\u043b\u0441\u0442\u0443\u043a\u043e\u043c \u00abPython\u00bb \u2014 <br \/>  \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043d\u0435 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438!<\/b><br \/>  <i>(\u0410\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441 9 \u043f\u043e 13 \u0438\u044e\u043d\u044f. \u0424\u043e\u0442\u043e\u0448\u043e\u043f \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f)<\/i><\/p>\n<p>  <b>\u041f\u0438\u0442\u043e\u043d\u0438\u0441\u0442\u044b \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d, \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435\u0441\u044c! <\/b><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-182650","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/182650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=182650"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/182650\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=182650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=182650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=182650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}