Публикации о языке Python   страница 6

[Перевод] Управление памятью в Python

Задумывались ли вы когда-нибудь о том, как данные, с которыми вы работаете, выглядят в недрах Python? О том, как переменные создаются и хранятся в памяти? О том, как и когда они удаляются? Материал, перевод которого мы публикуем, посвящён исследованиям глубин Python, в ходе которых мы попытаемся выяснить особенности управления памятью в этом языке. Изучив эту статью, вы разберётесь с тем, как работают низкоуровневые механизмы компьютеров, в особенности те из них, которые связаны с памятью. Вы поймёте то, как Python абстрагирует низкоуровневые операции и познакомитесь с тем, как он управляет памятью.



Знание того, что происходит в Python, позволит вам лучше понимать некоторые особенности поведения этого языка. Это, хочется надеяться, даст вам возможность по достоинству оценить ту огромную работу, которая делается внутри испо




PyCon Russia 2019: ответы на главные вопросы

Седьмой PyConRu пройдёт 24-25 июня в отеле «Cronwell Яхонты Таруса» в 95 км от Москвы. Формат — двухдневная конференция на природе с российскими и иностранными докладчиками, мастер-классами, Lightning Talks и афтепати.

Если коротко ответить на все вопросы, то: регистрация открыта, до 1 мая принимаем заявки на доклады, к нам снова приедет Раймонд Хеттингер. Ниже все подробности.


Читать дальше →




Python-digest #270. Новости, интересные проекты, статьи и интервью [18 февраля 2019 — 24 февраля 2019]

Добавляйте свои новости через специальную форму. Следите за всем этим безобразием в RSS, Twitter или Telegram @py_digest



Поддержите проект рублем или руками




Run Django Tests in Parallel

I’m wondering that in 2019 we still have a lot of tasks which are not parallelized yet. I’m pretty sure, that almost all laptops, desktops and even smartphones have more than one core on board. In the meantime, I just realized that Django runs tests using only one process/core on my desktop. I’m disappointed but I think I know why it happens. Many of us are not used to write concurrent code.




Flask Upgrades Support

Upgrading flask-based project from flask v.0.12.x to 1.0.x I realized that Flask itself doesn’t ready for upgrades yet. There is no documentation about 0.x -> 1.0 upgrade at all. There is some documentation about upgrades prior 1.0 but nothing about 1.0 at all! Change log isn’t helpful a lot. It’s one more argument to use Django instead of Flask. It has great release notes with detailed backward incompatible and deprecation sections.




Text Editor or IDE?

A short Friday’s holy war about IDEs, text editors and vim:). I don’t really like bikeshedding about text editors, but I was asked about my favorite one too much to not drop a note here. I spent most of the time in editors with Python code, a bit less with JavaScript/TypeScript. Of course, a lot of json and yaml, sometimes bash scripts and Ansible playbooks are opened by me too. I strongly believe that for each task there is the best tool somewhere.




Опыт построения инфраструктуры на микросервисной архитектуре


За последний год публикаций о микросервисах стало так много, что рассказывать что это и зачем нужно было бы пустой тратой времени, так что дальнейшее изложение будет сконцентрировано на вопросе — каким способом бы реализовали эту архитектуру и почему именно так и с какими проблемами столкнулись.


У нас в небольшом банке были большие проблемы: 3 python монолита связанных чудовищным количеством синхронных RPC взаимодействий с большим объемом legacy. Что бы хотя бы отчасти решить все возникающие при этом проблемы было принято решение перейти на микросервисную архитектуру. Но прежде чем решиться на такой шаг нужно ответить на 3 основных вопроса:


  • Как разбить монолит на микросервисы и какими критериями следует при этом руководствоваться.
  • Каким образом микросервисы будут взаимодействовать?
  • Как осуществлять мониторинг?

Собственно кратким




Python Releases

Since I switched to Python 3.5 as my default and I need to keep backward compatibility with Python 2.7 one year more, I don’t follow new features and releases a lot. Originally, Python 3.5 was released about 3.5 years ago. Looking throw release notes, I think I’ll switch to Python 3.6 just for the projects where I don’t need to support 2.7. There are not a lot of features in newer releases but some of them seem to be useful for me.




Жизненный цикл статьи на Хабре: пишем хабрапарсер. Часть вторая

Привет Хабр!

В первой части пятничного анализа была рассмотрена методика сбора некоторой статистики этого замечательного сайта. Изначально не было плана делать продолжение, но в комментариях возникли интересные мысли, которые захотелось проверить. Например, какие статьи имеют больше просмотров, опубликованные в будние или в выходные дни?



Попробуем ответить на этот и другие вопросы, также опубликуем свой чисто научный статистический мини-рейтинг. Как и в первой части, для сбора статистики воспользуемся Python, Pandas и Matplotlib.

Для тех кому интересно что получилось, продолжение под катом. Читать дальше →




Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках

Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микрофреймворке Flask, который может предоставить конечные точки подключения (endpoint) и отдать готовую HTML страницу. HTML страницы (расположены в подкаталоге myapp/templates) рендерятся шаблонизатором Jinja (устанавливается в качестве зависимости Flask).
Читать дальше →