Интересная и подробная статья о том, как python работает с памятью при использовании multiprocessing. Будет полезна, если вы используете какие-то большие readonly-объекты в вашем API. ну и в целом интересно, как все устроено под капотом https://luis-sena.medium.com/understanding-and-optimizing-python-multi-process-memory-management-24e1e5e79047
  
  Medium
  
  Understanding and Optimizing Python multi-process Memory Management
  This post will focus on lowering your memory usage and increase your IPC at the same time
  Продолжаем говорить про генераторы и итераторы на канале https://www.youtube.com/watch?v=E2DxlN-9qTg
  
  YouTube
  
  Чем Генераторы отличаются от Итераторов в Python?
  Частый вопрос - в чем разница между генераторами и итераторами? Давайте разберемся на примере!
Как устроены итераторы в Python? https://www.youtube.com/watch?v=TvFQjT7S3kc
Знакомимся с генераторами в Python https://www.youtube.com/watch?v=zbnEJon4a9s&t=8s…
  Как устроены итераторы в Python? https://www.youtube.com/watch?v=TvFQjT7S3kc
Знакомимся с генераторами в Python https://www.youtube.com/watch?v=zbnEJon4a9s&t=8s…
В питоне нашли ошибку связанную с переполнением буфера при работе с float-ами. Пишут, что в каких-то случаях баг может дать атакующему возможность удаленного исполнения кода. Рецепт исправления - обновиться до 3.8.8 или 3.9.2. Я пошел обновлять свои контейнеры с питоном https://nvd.nist.gov/vuln/detail/CVE-2021-3177
  Продолжаю рассказывать о том, как избавиться от лишних if/elif/else. В этом видео рассмотрю более сложный случай - когда по условию нужно не просто вернуть значение, а выполнить какое-то действие https://www.youtube.com/watch?v=-VVwwt6jNSQ
  
  YouTube
  
  Упрощаем if/elif/else используя функции и словари в python
  В прошлом видео я показал несколько способов, как избавиться от сложных ветвлений. В этот раз давайте посмотрим как быть в еще более сложных случаях - когда нам надо делать разный набор действий в зависимости от разных условий. Будем использовать словари…
  Принято считать, что Django медленная и в общем это действительно так. Но зачастую проблема со скоростью возникает не из-за фреймворка как такового, а из-за "наивной" работы с ним, когда мы ожидаем, что фреймворк сделает всю работу за нас (спойлер - не сделает). В статье автор на примере из жизни разбирает часто встречающуюся проблему - я написал код, и он безбожно тормозит. Думаю, более-менее опытные разработчики еще в начале статьи догадаются, в чем там дело. Но в любом случае прочитать полезно https://tinystruggles.com/tech/django_slowness_traps/
  
  Tinystruggles
  
  Shooting yourself in a foot with django and recovering from it
  I have recently built an API (for my side project Redeal) that turned out extremely slow. I knew that what I was building wasn’t supposed to be super fast or optimal and I was building it with python and django which aren’t really known for their speed, but…
  19-20 марта в Сочи пройдет Pycon Wekend. Я там буду рассказывать о том, как мы у себя используем различную автоматику, чтобы делать жизнь разработчиков лучше. 
Также в программе:
12 докладов, lightning talk и мастер-классы.
- Денис Катаев (Тинькофф): «Почему вам не нужен асинхронный ORM»
- Николай Марков (Aligned Research Group LLC): «Экзотические встроенные модули Python»
- Григорий Петров (Evrone): “Почему python медленный?”
- Антон Патрушев (Spherical): «Автоматизируй это: как использовать invoke для уменьшения хаоса»
- Илья Беда (Beda.software): «Python on FHIR®»
- Алексей Буров (QuantumSoft): «Как без боли использовать Git Precommit Hook»
- Никита Дмитриев (Яндекс): «Новинки в CatBoost»
И другие классные спикеры!
Полная программа и другие подробности на сайте https://pycon-weekend.ru/
Увидимся!
  
  Также в программе:
12 докладов, lightning talk и мастер-классы.
- Денис Катаев (Тинькофф): «Почему вам не нужен асинхронный ORM»
- Николай Марков (Aligned Research Group LLC): «Экзотические встроенные модули Python»
- Григорий Петров (Evrone): “Почему python медленный?”
- Антон Патрушев (Spherical): «Автоматизируй это: как использовать invoke для уменьшения хаоса»
- Илья Беда (Beda.software): «Python on FHIR®»
- Алексей Буров (QuantumSoft): «Как без боли использовать Git Precommit Hook»
- Никита Дмитриев (Яндекс): «Новинки в CatBoost»
И другие классные спикеры!
Полная программа и другие подробности на сайте https://pycon-weekend.ru/
Увидимся!
pycon-weekend.ru
  
  PyCon Weekend
  
  Новое видео на канале - рассказал о том, что такое декораторы и как они устроены https://www.youtube.com/watch?v=tNAoiptzuuo
  
  YouTube
  
  Как устроены декораторы в python?
  Чтобы разобраться с тем, как работают декораторы нужно помнить, что функция в питоне - полноценный объект. Давайте возьмем простую задачу проверки прав пользователя и на ее основе разберемся, как работают декораторы в python.
Я в Telegram - https://t.iss.one/tricky_python…
  Я в Telegram - https://t.iss.one/tricky_python…
Все мы сталкиваемся с ситуацией, когда код тормозит и мы не знаем, почему. Я решил показать несколько базовых способов, которыми можно замерить скорость выполнения кода https://www.youtube.com/watch?v=8fRUh6yFQoU
  
  YouTube
  
  Простой способ замерить скорость работы кода в python
  Часто нам надо понять, как быстро работает какой-то кусочек кода, какую чего часть оптимизировать и как изменилась скорость работы при переписывании. Давайте рассмотрим несколько вариантов, как это сделать.
Я в Telegram - https://t.iss.one/tricky_python
Канал…
  Я в Telegram - https://t.iss.one/tricky_python
Канал…
При работе над веб-проектами часто приходится реализовывать тот или иной вариант поиска. Чаще всего для простых задач используется LIKE, для более сложных задач часто используют внешние решения, например Elastic Search. Однако тот-же Postgres умеет полнотекстовый поиск и в этой статье рассказывается как его использовать на Django-проектах https://pganalyze.com/blog/full-text-search-django-postgres
  
  pganalyze
  
  Efficient Postgres Full Text Search in Django
  Learn to optimize a Full Text Search implementation with Django and Postgres. Even on a small table, we bring query execution time down from 0.045s to 0.001s.
  Продолжая разговор про генераторы, сделал видео, в котором показал, как с их помощью можно улучшить свой код https://www.youtube.com/watch?v=X89UhH06nmQ
  
  YouTube
  
  Улучшаем код с помощью генераторов
  Я обещал показать пример того, как можно использовать генераторы, чтобы улучшить код. В этом примере возьмем функцию, которая читает файлы и ищет в них строки, содержащие определенное слово, и перепишем ее.
Я в Telegram - https://t.iss.one/tricky_python
Канал…
  Я в Telegram - https://t.iss.one/tricky_python
Канал…
Часто, при написании программы нам нужно передать в нее какие-то секретные данные - пароль к базе данных, ключи к облачным сервисам и т.д. Указание этих данных в коде может создать много проблем. В новом видео я покажу, как использовать переменные окружения для конфигурирования своих приложений https://www.youtube.com/watch?v=ZuM38Lkxzuw
  
  YouTube
  
  Используем переменные окружения в python
  Часто, при написании программы нам нужно передать в нее какие-то секретные данные - пароль к базе данных, ключи к облачным сервисам и т.д. Указание этих данных в коде может воздать много проблем. В этом видео я покажу, как использовать переменные окружения…
  Статья о том, как запускать python-сервис с помощью systemd https://python.plainenglish.io/turning-your-python-script-into-a-real-program-cb702e16ed02
  
  Medium
  
  Turning your Python Script into a ‘Real’ Program
  Level up your Python skills by making your programs system services — your future self will thank you.
  Записал еще одно видео про декораторы - как передать в декоратор аргументы https://www.youtube.com/watch?v=uNZAjt3626c
  
  YouTube
  
  Как передать аргументы в декоратор?
  Иногда нам может понадобится управлять работой декоратора - то есть передавать ему на вход аргументы. Как это сделать? Давайте разберемся!
Основы декораторов - https://www.youtube.com/watch?v=tNAoiptzuuo
Я в Telegram - https://t.iss.one/tricky_python
Канал…
  Основы декораторов - https://www.youtube.com/watch?v=tNAoiptzuuo
Я в Telegram - https://t.iss.one/tricky_python
Канал…
Как настраивать flake8 для работы в команде и как плагины к flake8 сделают ваш код еще лучше https://youtu.be/cdHnEN0Dsm0
  
  YouTube
  
  Настраиваем flake8, чтобы улучшить качество кода
  Я использую линтер flake8 и в этом видео хочу показать, как настроить его, чтобы получать от него больше пользы.
Как настроить PyCharm+flake8 - https://melevir.medium.com/pycharm-loves-flake-671c7fac4f52
Большой список расширений для flake8 - https://gi…
  Как настроить PyCharm+flake8 - https://melevir.medium.com/pycharm-loves-flake-671c7fac4f52
Большой список расширений для flake8 - https://gi…
Придумывать хорошие названия переменным и функциям сложно. Илья Лебедев описал хороший набор правил наименования, которые сделают ваш код лучше
- https://melevir.medium.com/python-functions-naming-the-algorithm-74320a18278d
- https://melevir.medium.com/python-functions-naming-tips-376f12549f9
  
  - https://melevir.medium.com/python-functions-naming-the-algorithm-74320a18278d
- https://melevir.medium.com/python-functions-naming-tips-376f12549f9
Medium
  
  Python functions naming: an algorithm
  The Motivation Part
  Записал небольшое видео про распаковку в python и то, что такое *args и **kwargs https://youtu.be/gmoJdMBmcyk
  
  YouTube
  
  Как использовать *args и **kwargs в python?
  В видео про декораторы мы использовали *args и **kwargs для того, чтобы передать в функцию любое количество позиционных и именованных аргументов. Для того, чтобы понять как это работает, сначала познакомимся с тем, что такое распаковка.
Я в Telegram - h…
  Я в Telegram - h…
Для того, чтобы программы работали быстрее и потребляли меньше ресурсов, создатели python используют различные оптимизации. Давайте познакомимся с тем, что такое Interning https://youtu.be/WpYXgsI7RKc
  
  YouTube
  
  Interning: как python оптимизирует работу с памятью
  Для того, чтобы программы работали быстрее и потребляли меньше ресурсов, создатели python используют различные оптимизации. Давайте познакомимся с одной из них.
Я в Telegram - https://t.iss.one/tricky_python
Канал создан при поддержке сообщества Moscow Python.…
  Я в Telegram - https://t.iss.one/tricky_python
Канал создан при поддержке сообщества Moscow Python.…
Float или Decimal: что лучше для работы с дробными числами? Записал об этом небольшое видео https://www.youtube.com/watch?v=2OsGt2s2REA&t=3s
  
  YouTube
  
  Float или Decimal: что лучше для работы с дробными числами?
  Обычно, когда нам нужно работать с дробными числами, мы используем встроенный тип Float. Но работая с ним важно помнить об особенностях и ограничениях этого типа данных.
Что нужно знать про арифметику с плавающей запятой - https://habr.com/ru/post/112953/…
  Что нужно знать про арифметику с плавающей запятой - https://habr.com/ru/post/112953/…
Все больше людей начинают писать аннотации типов для python-кода, поэтому я решил записать несколько видео по этой теме, это первое из них https://www.youtube.com/watch?v=8MGoop99np8
  
  YouTube
  
  Знакомимся с аннотациями типов в python
  Питон - язык с сильной динамической типизацией. Это значит, что мы не должны указывать типы переменных или параметров функций. Тем не менее, это может стать очень полезной привычкой.
Плагин Mypy для Pycharm https://github.com/leinardi/mypy-pycharm
Я в Telegram…
  Плагин Mypy для Pycharm https://github.com/leinardi/mypy-pycharm
Я в Telegram…
Довольно подробное описание новинок в python 3.10, если интересно, что приедет нового - эта статья поможет https://towardsdatascience.com/all-the-important-features-and-changes-in-python-3-10-e3d1fe542fbf
  
  Medium
  
  All The Important Features and Changes in Python 3.10
  The release of Python 3.10 is getting closer, so it’s time to take a look at most important new features and changes it’s going to bring
  Одной из самых раздражающих ловушек в питоне, в которую попадают новички - это mutable значения по-умолчанию у именованных аргументов функции. Думаю будет полезно разобраться, почему все работает именно так https://www.youtube.com/watch?v=TrKww0kmLk4
  
  YouTube
  
  Почему  mutable умолчания в аргументах функций - плохо?
  Одной из самых раздражающих ловушек в питоне, в которую попадают новички - это mutable значения по-умолчанию у именованных аргументов функции. Давайте разберемся, почему так происходит.
Я в Telegram - https://t.iss.one/tricky_python
Канал создан при поддержке…
  Я в Telegram - https://t.iss.one/tricky_python
Канал создан при поддержке…
