Собрали в одном месте самые важные ссылки
читайте авторский блог
Цель доклада - познакомить слушателей с инструментами построения batch processing задач в экосистеме Python. В презентации я рассказал про две наиболее популярных тулзы: Luigi и Apache Airflow.
Новая серия code review от нашей команды дотошных питонистов. На сей раз разбору подвергся код предназначенного для организации волонтёрских активностей Telegram-бота GoLocal (написан на базе фреймворка Telegram Bot API). Операцию ведут тимлид NVIDIA Злата Обуховская, сооснователь W12 и соорганизатор Moscow Python Conf++ Михаил Осипов, соорганизатор Moscow Python Conf++ и сооснователь Itcanfly Владимир Филонов. Они объясняют, зачем код даже простого бота целесообразно разносить по разным модулям, в чём ужас хардкод-логирования ошибок, как без лишних манипуляций реализовать многоязычность в программе на Python, чем полезен middleware и как всё-таки называть переменные правильно
Доклад о том зачем начинающему (и не очень) разработчику участвовать в развитии OSS-проектов. Поговорим про PyPI, pip и Poetry, а также о не совсем очевидном следствии создания своего проекта.
В ЦИАН мы постоянно пользуемся линтером для проверки качества кода. Но случаются моменты, когда хочется проверять код на соответствие внутренним соглашениям, про которые линтер ничего не знает. Разработчикам приходится держать все соглашения в голове и самостоятельно проверять качество кода. Это усложняет и затягивает код-ревью. Я расскажу о том, как мы решили эту проблему с помощью Pylint, который имеет мощную систему создания плагинов. Покажу на примерах как плагины могут упростить процесс код-ревью. Рассмотрим процесс написания плагинов и попутно разберемся как работает сам Pylint изнутри.
* Какие мотивы стояли за созданием библиотеки asyncio?
* Как в ней реализовано асинхронное выполнение кода? * Почему это полезно знать, если пишешь код с её использованием?
В Питоне всё прекрасно, кроме одного „фатального недостатка“, и имя ему — GIL. Эти три буквы превращают любое многопоточное приложение в кошмар. Поговорим о том, что это, почему он всё ещё живёт в интерпретаторе, как его можно выключить и ускорить код. Разберём несколько реальных примеров, в которых оптимизированный код на тредах на Питоне работает так же быстро, как версия на C, или даже быстрее.
Сегодня едва ли не в каждой серьёзной IT-компании от соискателей с порога требуют владения soft skills. Но если, скажем, о Django или Tornado есть книжки и туториалы с достоверными best practices, то о навыках взаимодействия в команде в индустрии часто высказывают диаметрально противоположные мнения. Что же такое soft skills, что ими не является, как их правильно готовить и реально ли наработать?
Эволюция программиста лучше всего видна на личном опыте. И не нужно бояться того, что эволюция эта может быть стремительной. Мы позвали в Python Junior старшего разработчика компании «Код Безопасности» Александра Полищука и поговорили с ним о том, как извлечь пользу из собеседований, которые вы, как вам кажется, завалили, как не растерять запал на ранних стадиях карьеры, какие личные качества и лайфхаки помогают быстрее и эффективнее совершенствоваться в IT.
Слайды: https://speakerdeck.com/9seconds/fingerprinting
Фингерпринтинг — это мы берем некоторые запросы пользователя и делаем из него некоторый отпечаток, который нам нужен для грязных целей. А может быть не для грязных? Как защититься от фингерпринтинга? А надо ли вообще? Это вообще хорошо или плохо?
Слайды: https://docs.google.com/presentation/d/1bpUc8xxvdJZ95mfvhHSfMUaQTZjP4l8YijkIBuqFD0Y/edit?usp=sharing
Многие пытаются сделать стартап сразу красивым и привлекательным, используя очередной новомодный JS-фреймворк. Я же убежден, что в ряде случаях гипотезу можно проверить создав веб на базе админки. Расскажу об одном стартапе, которые был создан (и просуществовал в течение 1.5 лет) на Flask-Admin - админке, работающей поверх Flask, WTForms и SQLALchemy, при этом в проекте было написано минимум Javascript-кода. В докладе расскажу о граблях, на которые мы наступили и различных трюках кастомизации данной админки.
Слайды: https://dry-python.org/static/slides/introducing-dry-python.html#/
Как часто, получая новый ticket, вы задумываетесь: "Ну и где тебя искать?" Как часто, вглядываясь в обработчик запроса, вы гадали: "Что тут вообще твориться?" Качественный код всегда тяжело проектировать в начале, а ценить вложенные усилия начинаешь спустя время. В своём докладе я расскажу нехитрые подходы, которые позволят упростить дальнейшую жизнь проектов. А так же анонсирую проект Dry Python, воплотивший эти подходы в виде средств разработки.
От чего зависит, какую базу данных задействовать в проекте — реляционную или нереляционную, с ACID-гарантиями или без них, распределённую или нераспределённую? Чем определяется выбор БД, какие преимущества и недостатки есть у тех из них, что популярны в сообществе разработчиков сегодня? Чтобы получить ответы на эти вопросы, мы привлекли тяжёлую артиллерию.
Злата Обуховская (Teamlead в Nvidia, евангелист MoscowPython)
"В этой части докладов про внутренности питона мы посмотрим, как происходит выделение памяти, как работают счетчики ссылок, кэши объектов и сборка мусора, а также разберемся, причем тут GIL".
Слайды: http://www.moscowpython.ru/meetup/63/python-memory/
Цикл "Что внутри у Питона": https://www.youtube.com/playlist?list=PLv_zOGKKxVpi6BSAuySAtX5KyCa50PSCz