fa
Feedback
Хитрый Питон

Хитрый Питон

رفتن به کانال در Telegram

Я много читаю и делюсь в этом канале заинтересовавшими меня материалами, в основном про Python. @korneevm

نمایش بیشتر
2 505
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
+130 روز
آرشیو پست ها
В Python есть очень удобная функция enumerate(), которая помогает, к примеру, пронумеровать элементы в цикле. Часто особенно новички в языке, не зная о этой возможности, придумывают обходные пути. В этом видео я покажу как использовать enumerate https://www.youtube.com/watch?v=xysJ0r2Iv_Q

В веб-приложениях часто требуется прикрутить логин через соцсети. На testdriven.io вышел хороший туториал, который в общих чертах рассказывает, как работает OAuth и дается пример подключения социального логина к Flask-приложению https://testdriven.io/blog/flask-social-auth/

В комментариях к каналу люди регулярно спрашивали про итераторы. Записал видео - iterable, iterators вот это все https://www.youtube.com/watch?v=TvFQjT7S3kc

При написании сложных приложений очень важно помнить о целостности данных и многие проверки можно переложить на уровень базы данных. В статье показано несколько способов описания комплексных ограничений целосности (constraints) в моделях Django https://www.laac.dev/blog/database-constraints-in-django/

Конструкция if __name__ == "__main__": поначалу кажется каким-то загадочным колдунством. Записал видео, в котором показал на примере, зачем это нужно и что такое name https://www.youtube.com/watch?v=mjvNRybjNlk&feature=youtu.be

В новом видео я решил начать рассказывать о том, как python работает с памятью. Рассказал о том, как работает сборщик мусора https://www.youtube.com/watch?v=4KhVCga8guc

Интересная статья про внутренние оптимизации в cpython. В статье рассказано, как работает свертка констант (constant folding) - когда выражение вычисляется на этапе генерации байткода и в рантайме используется вычесленный результат. Будет интересно тем, кто хочет знать как все устроено внутри. Статья на английском и с некоторым количесвтом кода на C https://arpitbhayani.me/blogs/constant-folding-python

Вопрос про разницу между списками и кортежами иногда можно встретить на собеседованиях джуниор-разработчиков. Записал видео об этом https://www.youtube.com/watch?v=lsuo7g42Vps

Интересный материал про то, как сэкономить память при загрузке данных в pandas. И почему при объединении нескольких датафреймов можно получить ее неэффективное использование. Я не часто в последнее время использую pandas, но было интересно прочитать https://drawingfromdata.com/pandas/concat/memory/exploding-memory-usage-with-concat-and-categories.html

В большинстве веб-приложений нам приходится сталкиваться с задачей аутентификации пользователя - т.е. как получить от него логин/пароль, как их проверить и как после этого работать с ним. Хорошая статья, где преечислены основные виды аутентификации. используемые сейчас в веб-сервисах https://testdriven.io/blog/web-authentication-methods/ Статья как обычно на английском, с примерами кода и ссылками на бибилиотеки для flask/django/fastapi

В сегодняшнем видео я показываю, как можно сделать код более читабельным и избавиться от лишних ветвлений https://www.youtube.com/watch?v=MrfiwKZgpgo

Я как-то пропустил новость о том, что вышел новый 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

В новом видео я решил рассказать о использовании else в циклах. Да, в питоне так можно и это иногда вызывает неиллюзорное удивление у тех, кто пришел из других языков программирования 😈 - https://www.youtube.com/watch?v=SMN2Eo5jjOs

Хранение конфигурации в переменных окружения - один из 12 принципов создания качесвтенных веб-приложений https://12factor.net/ru/. Если вы еще не используете environment variables - эта статья расскажет как и зачем это делать https://doppler.com/blog/environment-variables-in-python В статье есть некоторое количество рекламы проекта над котором работает автор, но это не делает ее хуже.

Записал короткое видео с введением в генераторы https://www.youtube.com/watch?v=zbnEJon4a9s

Если вы работаете с Django на достаточно большом проекте, то стандартный StatReloader, который перезапускает сервер, когда вы изменили какой-то файл может создавать дополнительную нагрузку на процессор (и батарею ноута, когда работаешь от батарейки). В качестве альтернативы можно использовать Watchman, который запускается как сервис и получает информацию о изменении файлов от операционки. Вот тут можно будет почитать подробнее https://adamj.eu/tech/2021/01/20/efficient-reloading-in-djangos-runserver-with-watchman/

Записал новое видео о том, что такое папочки pycache и файлы .pyc, которые вы наверняка много раз видели в своих проектах https://www.youtube.com/watch?v=0aSie_CZkks #tutorial

На realpython вышел новый туториал - как написать игру в "камень-ножницы-бумага". Кажется, это очень просто. Но по мере работы с туториалам игра усложняется к камню-ножницам и бумаге присоединяются еще два актора (те, кто смотрел Теорию большого взрыва в курсе, о чем речь, для остальных будет сюрприз). Количество комбинаций возрастает и приходится переписывать код, чтобы избавиться от if/elif-ов - https://realpython.com/python-rock-paper-scissors/

Интересная статья про то, как ребята организовали event-driven архитектуру на Django https://monadical.com/posts/event-driven-architecture-1.html

Разобрал часто встречающуюся задачу - как отсортировать список словарей по значениям словарей https://www.youtube.com/watch?v=-ZHdlWyfL4s

Хитрый Питон - آمار و تحلیل کانال تلگرام @tricky_python