TGViewer
Channel Public Channel
Хитрый Питон

Хитрый Питон

@tricky_python

Я много читаю и делюсь в этом канале заинтересовавшими меня материалами, в основном про Python. @korneevm
Subscribers
3.47K
Photos
5
Videos
0
Links
258

Showing posts older than #89 · Back to latest

Older Posts 20 shown
Post #88 1.81K
Я довольно мало работаю с данными, но, когда возникает задача, привычно беру pandas. Про polars, конечно, слышал но никогда его не использовал. Сегодня наткнулся на подробное сравнение синтаксиса этих библиотек, и мне прямо очень понравился синтаксис выборок в полярсе. В следующий раз, когда надо будет покрутить набор данных, я попробую взять для этого polars - https://kevinheavey.github.io/modern-polars/
Modern Polars A side-by-side comparison of the Polars and Pandas libraries.
  • 👍 16
  • 🔥 1
Post #87 1.93K
В качестве пятничного чтения рекомендую большую статью про состояние и перспективы менеджмента пакетов в Питоне. На мой взгляд это одно из самых проблемных мест в экосистеме языка. Есть много инструментов, у каждого из которых свой подход. Нет единого лидера - судя по опросам, top3 самых популярных менеджера, одинаково популярны. Проблемы со стандартизацией - тот же PEP 582 уже несколько лет как завис в непонятном состоянии.

В статье довольно много личного авторского отношения и статья довольно длинная. Но если вы интересуетесь тем, что происходит в экосистеме это прямо must read https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/
  • 👍 15
  • 🔥 2
Post #86 2.67K
Послезавтра, 19 января в 14:00 МСК будем в прямом эфире записывать очередной Moscow Python Podcast.

В гости к нам придет Георгий Могелашвили, Engineering Manager в Shopify и основатель GetMentor.dev. Обсудим опыт жизни за рубежом и адаптацию в зарубежной компании, развитие, поиск наставника и всем ли нужно становиться тимлидами.

В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Ссылка https://www.youtube.com/watch?v=1mpHfaxy104
YouTube Куда расти разработчику: взгляд из-за рубежа В гостях у Moscow Python Podcast Георгий Могелашвили, Engineering Manager в Shopify и основатель GetMentor.dev. Обсудили опыт жизни за рубежом и адаптацию в зарубежной компании, развитие, поиск наставника и всем ли нужно становиться тимлидами. 00:00 - разница…
  • 🔥 13
  • 👍 5
Post #85 2.94K
Tryo Labs опубликовали ежегодный обзор "Top Python Libraries 2022". Обзор несколько субъективный и смещен в сторону анализа данных/машинного обучения, но все равно но его интересно посомтреть с точки зрения " какие из этих библиотек я знаю/пробовал?". Мне было интересно пробежаться по предыдущим выпуска - самый ранний вышел в 2015 году. https://tryolabs.com/blog/2022/12/26/top-python-libraries-2022
Tryolabs Top Python libraries of 2022 There are so many amazing Python libraries and tools out every year that it's hard to keep track of them all. That's why we share with you our hand-picked selection of our best picks.
  • 👍 12
  • 🔥 6
Post #84 3.5K
На мой взгляд, одной из больших проблем как у тех, кто приходит в разработку так и у тех, кто довольно давно в ней работает. Это умение не просто хорошо писать код, а умение структурировать проект. Понимать, чем хорошая архитектура отличается от плохой. В книгах часто описываются высокоуровневые абстрактные концепции и дальше возникает вопрос — все это хорошо, но вот у меня есть проект на условной Джанге, как все это применить?

На выходных я разбирал закладки и наткнулся на несколько неплохих практических "около архитектурных" гайдов, про которые хочу рассказать:

1. Django Styleguide - гайд который ребята из HackSoftware развивают уже несколько лет. Если вы не читали - очень рекомендую, много хорошего можно утащить для своего проекта. Там хорошо описано как структурировать проект так, чтобы код было легче развивать, поддерживать и тестировать. Гайд постоянно развивается и обновляется https://github.com/HackSoftware/Django-Styleguide

2. Django API Domains - пример применения некоторых принципов Domain-Driven Design в Django. Тут как и в предыдущем гайде использован довольно прагматичный подход - вместо того, чтобы тащить все что есть в DDD, автор предлагает достаточно простую, легко реализуемую и поддерживаемую структуру проекта. Это не "чистый DDD", но лично мне такой подход больше нравится своей простотой. Гайд небольшой и не очень активно развивается, но я все равно рекомендую потратить время и ознакомиться с ним https://phalt.github.io/django-api-domains/

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

P.S. Я попробовал включить комментарии в канале, надеюсь сработает 🙂 Если у вас есть другие хорошие гайды по архитектуре python-веб-приложений - кидайте в комменты, я по итогам сделаю еще один пост.
GitHub GitHub - HackSoftware/Django-Styleguide: Django styleguide used in HackSoft projects Django styleguide used in HackSoft projects. Contribute to HackSoftware/Django-Styleguide development by creating an account on GitHub.
  • 👍 29
  • 🔥 12
  • 👎 1
Post #83 1.51K
С наступающим! Пусть новый год будет к нам всем добрее, чем старый. И больше питончика вам в новом году :) 🐍
  • 👍 36
  • 🔥 8
Post #82 2.05K
Закинули резюме того, что обсуждали на предновогоднем подкасте на Хабре https://habr.com/ru/post/708204/
Те, кто предпочитает читать выжимку прослушиванию подкаста - велкам
  • 🔥 14
  • 👍 4
Post #81 4.79K
Наткнулся на интересный gist Python People - список людей из глобального python-сообщества со ссылками на их twitter, github и mastodon. Если вы ищите "кого-бы почитать интересного про python" то посмотрите на людей из этого списка https://gist.github.com/samuelcolvin/1743d8919acb465c1fbbcea2c3cdaf3e
Gist An incomplete list of people in the Python community to follow on Twitter and Mastodon. An incomplete list of people in the Python community to follow on Twitter and Mastodon. - python-people.md
  • 👍 13
  • 🔥 6
Post #80 2.04K
Привет, в эту пятницу в 14:00 МСК буду вести прямой эфир Moscow Python Podcast. Обсуждаем итоги года в python-разработке, приходите, задавайте ввопросы и вообще участвуйте 🙂
Ссылка - https://www.youtube.com/watch?v=Mq3Tkgrczi0

P.S. Конечно, подкаст будет как всегда доступен в записи через некоторое время после эфира
YouTube Подводим итоги Python-года с Григорием Петровым, Златой Обуховской и Михаилом Корнеевым 00:00 - Григорий и Михаил про планы на 2023 и новые форматы прямых эфиров и новостных выпусков 1:35 - говорим про планы на ускорение Python (у Златы проблемы со звуком) 5:15 - про эксперимент с выпиливанием gil 11:21 - (небольшие проблемы со звуком) …
  • 👍 20
  • 🔥 6
Post #79 2.55K
В среду 02 ноября, в 19:00 мск пройдет Python meetup online

1. Куда двигается python в 2022 году? Денис Аникин — Райффайзенбанк
Расскажу о том куда двигается python: в первую очередь, о том как, когда и зачем он ускоряется, о nogil, cinder и прочих нововведениях.
 
2. Тестирование АПИ при помощи Django - Алексей Шарыпов VK
История написания сервиса для тестирования черного ящика без тестов и документации, написанном на малоизвестном языке
 
3. Распознаем интересные моменты в матчах Dota 2 - Савостьянов Дмитрий — Nordcurrent
В рамках доклада я расскажу как искать хайлайты в матчах Dota 2. Продемонстрирую, как парсить реплеи матчей и записи стримов на YouTube. Кратко обсудим архитектуры нейросетей BERT и TrOCR

Регистрация - https://meetups.evrone.ru/python-meetup-online-1?utm_source=tg&utm_medium=tricky_python&utm_campaign=online_python_meetup
  • 👍 6
Post #78 3.33K
Post #77 6.04K
Вышла джанга 4.1 https://www.djangoproject.com/weblog/2022/aug/03/django-41-released/ из интересного:

1. Поддержка асинхронных запросов в ORM, но магическим образом запросы асинхронными не станут, надо в явном виде вызывать начинающиеся с a методы типа .afirst() вместо .first()
2. В class-based views можно делать асинхронные методы
3. Meta.constraints теперь проверяются во время валидации модели. Я не успел посмотреть как это работает, но если модель сама начнет неявно лазить в базу для проверки unique то это скорее минус

Еще всякие мелочи, которые показались интересными:
- makemigrations --scriptable выглядит как удобная для использования в CI штука
- новая команда optimizemigration обещает некие оптимизации для миграций, интеерсно будет посмотреть как это работает
- поддержка пеерименования индексов в миграциях
- bulk_create() теперь кажется умеет делать update если такая строка уже есть в базе
- iterator() научили делать prefetch_related
- добавили механизм ротирования SEKRET_KEY-а https://docs.djangoproject.com/en/4.1/ref/settings/#secret-key-fallbacks
- много всякого removed/deprecated но ничего для себя интересного в списке я не нашел https://docs.djangoproject.com/en/4.1/releases/4.1/#backwards-incompatible-changes-in-4-1

Попробую на выходных один пет-проджект перевести на 4.1
Django Project Settings | Django documentation The web framework for perfectionists with deadlines.
  • 👍 35
  • 🔥 15
Post #76 3.22K
Работа с датой и временем всегда была довольно мозголомной задачей, даже если не вспоминать про заморочки с часовыми поясами. Вообще про часовые пояса очень часто забывают, особенно если пишут прототип "для себя". В этом докладе с PyCon-а хороша разобрана тема с тем, как устроена работа с таймзонами в питоне, какие есть подводные камни и как делать правильно https://www.youtube.com/watch?v=XZlPXLsSU2U&list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&index=21

Резюме - всячески рекомендую
YouTube Talk - Benjamin "Zags" Zagorsky: Handling Timezones in Python Does your code use datetimes? There's a chance it has bugs that show up every night after 7pm! Timezones and daylight savings time are problems that plague most systems. Even if your system is designed for use in a singe timezone, you still need to be aware…
  • 👍 15
  • 🔥 12
Post #75 2.38K
Следующий доклад, который я сегодня посмотрел Bootstrapping Your Local Python Environment - https://www.youtube.com/watch?v=-YEUFGFHWgQ&list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&index=18

В самом начале показалось что, как и предыдущий уйдет в голую (и малополезную) теорию - "No SoDo" и вот это все. Но дальше докладчик довольно подробно показал работу pyenv, который думаю далеко не все знают и используют. Я для себя узнал про pipx, который позволяет удобно устанавливать python-утилиты.

В целом он вкратце упомянул наверное большинство более-менее распространённых инструментов для управления версиями языка и зависимостями. В конце рассказал про мои любимые piptools.

Резюме - никаких откровений, но как вводная для тех кто знает только python -m venv будет полезно.
YouTube Talk - Calvin Hendryx-Parker: Bootstrapping Your Local Python Environment There are simple, yet crucial, reminders that can differentiate an expert developer from a hobbyist. In this talk and live demo, developers will learn: - the importance of abiding by the Zen of Python; - where (and how) to install Python on your machine;…
  • 👍 26
  • 🔥 1
Post #74 2.67K
Как обещал, начну рассказывать свои впечатления о докладах с PyCon US. Первый доклад, который я посмотрел - "Best Practices for Continuous Integration in Python" https://www.youtube.com/watch?v=HMlXSiDKWrg&list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&index=17

Честно говоря, ожидал большего. В течении 20 минут чувак рассказывает довольно таки очевидные вещи, причем с минимумом прикладных советов - "хороший CI должен быть точным, быстрым и дешевым", "не забывайте пинить версию питона и библиотек", "кеширование - это хорошо" и все в таком духе. Возможно, доклад может показаться интересным новичкам, которые с CI не сталкивались. Но даже в этом случае можно найти более информационно насыщенные видео.

Резюме - не рекомендую
YouTube Talk - Moshe Zadka: Best Practices for Continuous Integration in Python V02 It is now accepted that having continuous integration is a best practice for almost all non-trivial projects. But configuring CI for Python correctly is still hard. The solution space is big, many common configurations work around the bugs and limitations…
  • 👍 31
  • 🔥 3
Post #73 3.36K
На ютуб выложены доклады с прошедшего PyCon US 2022. Я пока успел только посмотреть названия видео и темы докладов показались интересными, буду смотреть в ближайшие недели https://www.youtube.com/watch?v=nWnIRYQrVtk&list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl
YouTube Welcome - Emily Morehouse Welcome to PyCon US 2022 Note: Video begins at 1:50
  • 👍 19
  • 🔥 7
Post #72 2.53K
Мои хорошие знакомые делают сегодня онлайн-митап про тему которая сейчас кажется становится еще более актуальной - "Нанимать или выращивать" крутых специалистов. Я планирую сходить послушать и видится мне, что тема эта может быть интересна не только для CEO/CTO/HRD и прочих топов, но и для обычных разработчиков. Полезно знать как думают те, кто будет тебя нанимать 🙂
Регистрация бесплатная по ссылке https://aihub.timepad.ru/event/2003165/
  • 👍 12
  • 🔥 3
  • 👎 2
Post #71 4.21K
Возможно, вы слышали о AST — это встроенная в питон библиотека для построения абстрактного синтаксического дерева кода. AST используется, например, при написании линтеров. Минус в том, что он позволяет анализировать код, но при этом выкидывает части кода, которые не важны для компилятора, но важны для нас (например, комментарии).

Некоторое время назад Instagram выложил LibCST - которая гораздо бережнее относится к коду и соответственно может использоваться не только для проверки, но и для модификации кода.

В статье разобран хороший пример, как с помощью LibCST можно написать инструмент для ручного рефакторинга кода, который было бы сложно сделать другими инструментами (и долго и неудобно вручную). Если вам интересна тема разработки инструментария для python - рекомендую https://engineering.instawork.com/refactoring-a-python-codebase-with-libcst-fc645ecc1f09
Medium Refactoring a Python Codebase with LibCST How can an engineering team maintain consistent conventions in a growing codebase? When working on new code, engineers add new patterns to…
  • 👍 14
Post #70 3.45K
В питоне (как и в любом другом языке программирования) есть некоторое количество "особенностей", незнание которых может привести к серьезным проблемам с кодом.

Статья "10 подводных камней, связанных с безопасностью в python" рассказывает о таких неочевидных штуках. Некоторые из них уже не очень актуальны в новых версиях python, но все равно стоит потратить время и ознакомиться со статьей. Хотя бы потому, что примерно половина этих "особенностей" не будут проблемой, если вы никогда не доверяете данным пришедшим снаружи системы 🙂

https://blog.sonarsource.com/10-unknown-security-pitfalls-for-python
Sonarsource 10 Unknown Security Pitfalls for Python In this blog post, we share 10 security pitfalls for Python developers that we encountered in real-world projects.
  • 👍 28
Post #69 2.9K
Видимо это новость для маководов - Apple убирает python 2.7 из MacOs 12.3. Кажется это последнее место, где второй питончик шел из коробки. Это, конечно, уже ни на что не повлияет, но вдруг у ктого-то маке сих пор используются скрипты на втором питоне для какой-нибудь мелкой автоматизации. Большой тред на Hacker News https://news.ycombinator.com/item?id=30115214
  • 🔥 7
  • 👍 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →