Хранение конфигурации в переменных окружения - один из 12 принципов создания качесвтенных веб-приложений https://12factor.net/ru/. Если вы еще не используете environment variables - эта статья расскажет как и зачем это делать https://doppler.com/blog/environment-variables-in-python
В статье есть некоторое количество рекламы проекта над котором работает автор, но это не делает ее хуже.
В статье есть некоторое количество рекламы проекта над котором работает автор, но это не делает ее хуже.
12factor.net
The Twelve-Factor App (Русский перевод)
A methodology for building modern, scalable, maintainable software-as-a-service apps.
В новом видео я решил рассказать о использовании else в циклах. Да, в питоне так можно и это иногда вызывает неиллюзорное удивление у тех, кто пришел из других языков программирования 😈 - https://www.youtube.com/watch?v=SMN2Eo5jjOs
YouTube
Использование else в циклах в python
Мы привыкли, что обычно else используется в в ветвлениях. В python мы можем использовать else и в других конструкциях, например в циклах.. Давайте разберемся, как это работает.
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества…
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества…
Я как-то пропустил новость о том, что вышел новый mypy под python 3.9. Из интересного:
- понимает конструкции типа list[int] которые появились в 3.9
- понимает X | Y вместо Union[X, Y]
- наконец понимает модули без init.py
Подробности тут http://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
- понимает конструкции типа list[int] которые появились в 3.9
- понимает X | Y вместо Union[X, Y]
- наконец понимает модули без init.py
Подробности тут http://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
Blogspot
Mypy 0.800 Released
We’ve just uploaded mypy 0.800 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new ...
В сегодняшнем видео я показываю, как можно сделать код более читабельным и избавиться от лишних ветвлений https://www.youtube.com/watch?v=MrfiwKZgpgo
YouTube
Упрощаем конструкции if-elif-else в python
Конструкции if-elif-else можно очень часто встретить в коде и также часто они становятся перегруженными и затрудняют чтение и поддержку кода. Как можно их упростить? Давайте разбираться!
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке…
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке…
В большинстве веб-приложений нам приходится сталкиваться с задачей аутентификации пользователя - т.е. как получить от него логин/пароль, как их проверить и как после этого работать с ним. Хорошая статья, где преечислены основные виды аутентификации. используемые сейчас в веб-сервисах https://testdriven.io/blog/web-authentication-methods/
Статья как обычно на английском, с примерами кода и ссылками на бибилиотеки для flask/django/fastapi
Статья как обычно на английском, с примерами кода и ссылками на бибилиотеки для flask/django/fastapi
testdriven.io
Web Authentication Methods Compared
This article looks at the most commonly used web authentication methods.
Интересный материал про то, как сэкономить память при загрузке данных в pandas. И почему при объединении нескольких датафреймов можно получить ее неэффективное использование. Я не часто в последнее время использую pandas, но было интересно прочитать https://drawingfromdata.com/pandas/concat/memory/exploding-memory-usage-with-concat-and-categories.html
Drawing from Data
Why does my memory usage explode when concatenating dataframes?
Storing string columns as categories can result in massive memory savings when working with large dataframes. However, those savings can surprisingly disappear when we start concatenating dataframes.
Вопрос про разницу между списками и кортежами иногда можно встретить на собеседованиях джуниор-разработчиков. Записал видео об этом https://www.youtube.com/watch?v=lsuo7g42Vps
YouTube
В чем разница между списками и кортежами в python?
Иногда на собеседованиях джуниор-разработчиков можно встретить вопрос про разницу между списками и кортежами. Давайте разберемся и ответим на него.
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества Moscow Python.
Наш Youtube…
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества Moscow Python.
Наш Youtube…
Интересная статья про внутренние оптимизации в cpython. В статье рассказано, как работает свертка констант (constant folding) - когда выражение вычисляется на этапе генерации байткода и в рантайме используется вычесленный результат. Будет интересно тем, кто хочет знать как все устроено внутри. Статья на английском и с некоторым количесвтом кода на C https://arpitbhayani.me/blogs/constant-folding-python
Arpit Bhayani
How python optimises the runtime using constant folding
Every programming language aims to be performant and Python is no exception. In this essay, we dive deep into Python internals and find out how Python makes its interpreter performant using a technique called Constant Folding.
В новом видео я решил начать рассказывать о том, как python работает с памятью. Рассказал о том, как работает сборщик мусора https://www.youtube.com/watch?v=4KhVCga8guc
YouTube
Управление памятью в python
В отличие от некоторых других языков, в питоне программист не сильно задумывается о работе с памятью. Как минимум до того момента, как память не становится узким местом в программе. Поговорим о том, как работает сборщик мусора в python.
Я в Telegram - h…
Я в Telegram - h…
Конструкция
if __name__ == "__main__":
поначалу кажется каким-то загадочным колдунством. Записал видео, в котором показал на примере, зачем это нужно и что такое name https://www.youtube.com/watch?v=mjvNRybjNlk&feature=youtu.beYouTube
Что такое __name__ в Python?
Возможно вы сталкивались в коде с конструкцией if __name__ == "__main__" и не до конца понимали, зачем она нужна? Давайте разберемся, что это за __name__ и __main__!
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества Moscow…
Я в Telegram - https://t.me/tricky_python
Канал создан при поддержке сообщества Moscow…
При написании сложных приложений очень важно помнить о целостности данных и многие проверки можно переложить на уровень базы данных. В статье показано несколько способов описания комплексных ограничений целосности (constraints) в моделях Django https://www.laac.dev/blog/database-constraints-in-django/
LAAC Technology
Database Constraints in Django | LAAC Technology
Learn about the various database constraints Django supports to ensure data integrity.
В комментариях к каналу люди регулярно спрашивали про итераторы. Записал видео - iterable, iterators вот это все https://www.youtube.com/watch?v=TvFQjT7S3kc
YouTube
Как устроены итераторы в Python?
В питоне большое количество самых разных и непохожих друг на друга объектов позволяют в цикле перебирать свои элементы. Возможно вы встречали термины iterator, iterable и iterator protocol. Что это и как устроено? Давайте разбираться!
Я в Telegram - htt…
Я в Telegram - htt…
В веб-приложениях часто требуется прикрутить логин через соцсети. На testdriven.io вышел хороший туториал, который в общих чертах рассказывает, как работает OAuth и дается пример подключения социального логина к Flask-приложению https://testdriven.io/blog/flask-social-auth/
testdriven.io
Adding Social Authentication to Flask
This tutorial details how to add social auth to a Flask application.
В Python есть очень удобная функция enumerate(), которая помогает, к примеру, пронумеровать элементы в цикле. Часто особенно новички в языке, не зная о этой возможности, придумывают обходные пути. В этом видео я покажу как использовать enumerate https://www.youtube.com/watch?v=xysJ0r2Iv_Q
YouTube
Как обработать отдельно четные и нечетные элементы списка в Python?
Иногда у вас может возникнуть задача - в цикле не только обработать элементы, но и пронумеровать их. Или по-разному работать с четными и нечетными элементами. Для решения этой задачи в python есть отличная функция enumerate()
Знакомимся с генераторами в…
Знакомимся с генераторами в…
Интересная и подробная статья о том, как 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.me/tricky_python…
Я в Telegram - https://t.me/tricky_python…