Хитрый Питон @tricky_python Channel on Telegram

Хитрый Питон

@tricky_python


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

Хитрый Питон (Russian)

Хитрый Питон - это канал Telegram, который создан для всех любителей и профессионалов в области программирования на языке Python. Под названием "tricky_python" здесь собраны самые интересные и полезные материалы, отобранные лично мной. Меня зовут @korneevm и я страстный читатель, который всегда в поиске новых знаний. Поэтому, я читаю много книг, статей, и блогов, чтобы делиться с вами только самым интересным и актуальным контентом о Python. Если вас интересует мир программирования, а особенно Python, то этот канал обязательно станет вашим источником вдохновения и информации. Присоединяйтесь к нам, чтобы узнавать первыми о новых трендах, инструкциях, и возможностях, которые открывает перед нами этот удивительный язык программирования!

Хитрый Питон

06 Feb, 15:59


Завтра, 7 февраля в 14:00 (по мск) увидимся в прямом эфире подкаста и обсудим последние новости:
⭕️PEP 768 — Safe external debugger interface for CPython;
⭕️результат опроса Facebook об аннотациях типов в Python;
⭕️PEP 770 — возможность указывать SBOM-файлы в pyproject.toml.

Когда и во сколько: 7 февраля в 14:00 по мск https://youtube.com/live/hYke_DRJ2LQ

Хитрый Питон

06 Jan, 03:37


Никита выпустил 1.0 версию wemake-python-styleguide https://github.com/wemake-services/wemake-python-styleguide/releases/tag/1.0.0

Если вы незнакомы с wemake-python-styleguide - это очень строгий линтер для кода, который помогает находить потенциально проблемные места в коде. Искренне рекомендую посмотреть - тут можно спорить надо или не надо его использовать в своих проектах, но как минимум попробовать и подсмотреть хорошие идеи - обязательно.

Что интересного в релизе?
- Добавлена поддержка ruff
- Добавлена поддержка black
- Множество новых правил сложности
- Крутая поддержка match и case. Находим дубликаты case условий, проверяем сложность, находим много разных ошибок
- Много новой конфигурации, чтобы точечно настраивать отдельные правила линтера
- Куча багов поправлено!
- WPS стал минимум в 2.4 х быстрее

Хитрый Питон

25 Dec, 12:26


В эту субботу, 28 декабря встретимся в прямом эфире Moscow Python Podcast в 14:00 по мск и обсудим самые интересные новости Python за 2024 год. Пишите в комментарии, какие новости запомнились за этот год и какой выпуск подкаста больше всего понравился.

Когда и во сколько: 28 декабря в 14:00 по мск
🟤Смотреть на YouTube
🟤Cмотреть на Rutube

Хитрый Питон

11 Dec, 14:16


По многочисленным просьбам...

Оффлайн-курс Learn Python в Москве возвращается! Читайте детали и оставляйте предварительные заявки, если Вас это интересует. Ну или делитесь новостью с друзьями. :)
https://forms.gle/wE7Lit97U9Q2q3oT9

Хитрый Питон

10 Dec, 05:01


Django часто выбирают для быстрого старта в небольших стартапах — как средство накодить прототип бекенда за минимальное время. Но с ростом проекта неизбежно возникают вопросы производительности и надежности.

Такой рост может вызывать у не очень опытных разработчиков панику и непонимание - все тормозит, бизнес жалуется, что делать? В сегодняшней статье просто и по делу описаны ключевые аспекты масштабирования Django: оптимизация запросов, кэш, CDN и т.д. Отличное вводное чтиво для тех, кто впервые столкнулся с ростом нагрузи или просто хочет подготовить проект к будущему росту: https://slimsaas.com/blog/django-scaling-performance

Хитрый Питон

22 Nov, 07:15


Всем привет!

Сегодня в прямом эфире Moscow Python Podcast встретимся с сооснователями проекта KeepHQ.dev — Владимиром Филоновым и Матвеем Кукуй, обсудим в выпуске:
🟤жизнь open-source продукта;
🟤плюсы и минусы Python;
🟤рынок AiOps и что это такое.

Когда и во сколько: 22 ноября в 14:00 по мск
🟤Смотреть на YouTube
🟤Cмотреть на Rutube

Хитрый Питон

19 Nov, 07:52


Этой осенью нашему Python-подкасту исполнилось 5 лет, и я хочу немного рассказать о его внутренней кухне. Сам проект начался как идея раскачать авторов и преподавателей курса от сообщества Moscow Python регулярно делиться контентом с людьми. Ее соавтором и первыми "руками" проекта был Леша, мой младший брат по жизни и маркетолог/пиарщик, а последние 5+ лет - деврел - по профессии.

В 2022-м, когда мы все разъехались и уже не могли как раньше записывать подкаст в оффлайне, он же помог нам пересобрать состав ведущих и наладить регулярную запись эпизодов теперь уже в онлайне.

Сейчас Леша ищет новые проекты на парт-тайме или фуллтайм. В его портфолио, помимо нашего подкаста, Skyeng, 2ГИС, YADRO и другие компании (многие митапы, доклады, статьи на хабре, что вы видели от них - делал или помогал делать он), налаженные связи с Go, PHP, C++, C сообществами, подкаст "Битовые маски" и не только.

Если вам нужен человек, которые поможет раскачать внутренние и работу с внешними сообществами, наладить выступления на митапах, технический блог и другие каналы (в том числе найти темы и раскачать движ), а также грамотно выстроить все процессы вокруг этого - пишите @leshahoroshiy

Хитрый Питон

19 Nov, 02:42


Мигель Гринберг, известный своим мега-туториалом по Flask написал большой пост про обработку ошибок в python. Вопросы "когда и какие эксепшены обрабатывать" и "откуда мне узнать, какие эксепшены тут могут возникнуть" особенно актуальны у новичков, я даже у мидлов видел с этим затруднения. Статья довольно длинная, но я очень рекомендую потратить время и почитать https://blog.miguelgrinberg.com/post/the-ultimate-guide-to-error-handling-in-python

Оказывается, на хабре опубликовали перевод статьи https://habr.com/ru/articles/853056/

Хитрый Питон

31 Oct, 13:54


Завтра, в первую пятницу месяца обсудим в прямом эфире Moscow Python Podcast новости октября. Больше всего времени уделим Python 3.13 и посмотрим ещё несколько новостей.

🟤Когда и во сколько: 1 ноября в 14:00 по мск
🟤Смотреть на YouTube — https://youtube.com/live/1pv5Fq89I5Y
🟤Cмотреть на Rutube — https://rutube.ru/video/f0369fe1772d9a225df120a0304f2270/

И подписывайтесь на наши каналы, чтобы не пропускать выпуски: YouTube и Rutube.

Хитрый Питон

30 Oct, 10:24


Очень рекомендую канал Никиты, там такого много:)

Хитрый Питон

30 Oct, 10:24


`LOAD_CONST` разделили на три опкода в 3.14

https://github.com/python/cpython/pull/125972

В Python 3.14 распилили один из самых популярных опкодов: LOAD_CONST. Он, как можно понять из названия, он загружал константы из frame->co_consts:


// 3.13:
pure inst(LOAD_CONST, (-- value)) {
value = GETITEM(FRAME_CO_CONSTS, oparg);
Py_INCREF(value);
}



>>> def func():
... return 1

>>> func.__code__.co_consts
(None, 1)


Теперь LOAD_CONST разделен на:
- LOAD_SMALL_INT для интов в range(256)
- LOAD_CONST_IMMORTAL для загрузки бесмертных объектов (на 1 Py_INCREF меньше, см PyStackRef_FromPyObjectNew vs `PyStackRef_FromPyObjectImmortal`)
- LOAD_CONST для оставшихся

А еще и RETURN_CONST удалили под шумок.

И вот демо байткода:


>>> import dis
>>> def func():
... x = 1
... y = ...
... z = 'привет, мир'

>>> dis.dis(func, adaptive=True)
2 LOAD_SMALL_INT 1
STORE_FAST 0 (x)

3 LOAD_CONST 1 (Ellipsis)
STORE_FAST 1 (y)

4 LOAD_CONST 2 ('привет, мир')
STORE_FAST 2 (z)
LOAD_CONST 0 (None)
RETURN_VALUE

>>> # Create caches for tier1 adaptive interpreter to work:
>>> for _ in range(100):
... func()
>>> dis.dis(func, adaptive=True)
2 LOAD_SMALL_INT 1
STORE_FAST 0 (x)

3 LOAD_CONST_IMMORTAL 1 (Ellipsis)
STORE_FAST 1 (y)

4 LOAD_CONST 2 ('привет, мир')
STORE_FAST 2 (z)
LOAD_CONST_IMMORTAL 0 (None)
RETURN_VALUE


Зачем нужен LOAD_SMALL_INT?

https://github.com/python/cpython/issues/101291

Если вы внимательно смотрели мой видос про int, то вы помните, как выглядят инты внутри питона:


typedef struct _PyLongValue {
uintptr_t lv_tag; /* Number of digits, sign and flags */
digit ob_digit[1];
} _PyLongValue;

struct _longobject {
PyObject_HEAD
_PyLongValue long_value;
};


Большие и сложные объекты. Но, для очень частых маленьких чисел, такое переусложнение замедляет работу. Мы можем просто представлять числа в рамках одного машинного слова и складывать их сразу в oparg, без необходимости заргужать их из co_consts:


op(_LOAD_SMALL_INT, (-- value)) {
PyObject *val = PyLong_FromLong(this_instr->oparg);
value = sym_new_const(ctx, val);
}


В Python2, кстати, работало быстрее, потому что там был честный int тип.

Обсуждение

Задумываетесь ли вы про подобные микро-оптимизации, когда пишите код?

Хитрый Питон

22 Oct, 04:16


Сейчас регулярно вижу (и иногда сам участвую) в дискуссиях "зачем нам nogil"? И вот люди начинают пробовать free-treading билд питона и рассказывают о своем опыте.

Например, вот тут чувак в асинхронной программе вынес cpu-bound задачку в тред используя asyncio.to_thread и предсказуемо получил хорошее ускорение по сравнению с GIL-версией. Конкретно в его случае - в 3 раза.

Пока это просто прикольный эксперимент и вся эта новая машинерия довольно далека от продакшен использования, но лично мне - интересно 🙂 Вполне вероятно, что после полноценного прихода free-terading мы именно так и будем структурировать наш код в каком-нибудь FastAPI - в вебе, конечно, поменьше cpu-bound задачек, по сравнению с datasience, но тоже хватает.

https://blog.changs.co.uk/free-threaded-python-with-asyncio.html

Хитрый Питон

17 Oct, 04:02


Привет! Сегодня в 14:00 по мск встретимся в прямом эфире Moscow Python Podcast с нашим гостем из K R M N Information Technology и обсудим:
🟤как стать топ-1 в IT-фрилансе;
🟤как разрабатывать ботов для торговли внутриигровых предметов;
🟤чем занимается специалист по парсингу.

Когда: 17 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.

И подписывайтесь на наши каналы в YouTube и Rutube

Хитрый Питон

09 Oct, 05:13


Python Software Foundation и JetBrains запустили опрос python-разработчиков 2024. Опрос доступен в том числе на русском языке и результаты обещают тоже перевести. В этом году они хотят охватить больше народа, поэтому если у вас есть 10 минут свободного времени - заполните его. Я уже заполнил 🙂 https://pyfound.blogspot.com/2024/10/join-python-developers-survey-2024.html

Хитрый Питон

08 Oct, 07:12


Зарелизился python 3.13, кратенько перечислю самое интересное, а подробно обсудим на подкасте в первых числах ноября.

Сначала самые интересные штуки, которые пока недоступны конечным пользователям:

- Первый релиз с nogil (который теперь официально называется free-threaded). Доступен только если собрать интерпретатор со специальным ключом --disable-gil, но если очень хочется поиграться, то можно поставить 3.13.0rc3t с помощью pyenv. Производительность пока замерять рановато, потому что сам по себе питон в free-threaded режиме на 20% медленнее обычного из-за проблем с garbage collector-ом, мы с Никитой Соболевым довольно подробно в подкасте про это говорили, в 3.14 должны поправить, а для тестирования совместимости с библиотеками это пока не важно.

- Новый copy-and-patch JIT-компилятор, который (сюрприз!) тоже по умолчанию выключен и требует сборки с ключом --enable-experimental-jit. На самом деле если его включить, то какой-то пользы для себя вы не увидите, так как для работы ему требуются "шаблоны", которые будут заменять куски байт-кода на машинный код, а их еще требуется написать. Собственно, его, как и nogil включили в релиз для того, чтобы можно было экспериментировать

Это все выглядит очень интересно, но давайте перейдем к изменениям, которые можно пощупать и которые реально полезны:

- Эксепшены в питоне, итак, были довольно дружелюбны (по сравнению с другими языками), но в последних версиях идет планомерная работа по их улучшению. В этот раз добавили выделение цветом в терминале и более понятное сообщение об ошибке в случае, когда в проекте есть файл, совпадающий по названию с модулем, который ты хочешь импортировать (пример - у меня в проекте есть файл django.py и я в другом файле пробую импортировать что-то из реальной джанги `from django import forms`)

- Новый клевый repl с подсветкой, возможностью редактировать не только текущую строку, автоотступами, режимами просмотра истории (F2) и вставки (F3) и самое главное – с возможностью писать exit без скобочек 🙂

- Новые улучшения системы типов - дефолты (теперь не надо писать Generator[int, None, None] - можно просто Generator[int]`), возможность объявить атрибут TypedDict-а как `ReadOnly и TypeIs для более строгой проверки типов

- glob("**") из pathlib теперь показывает файлы и папки рекурсивно (раньше показывал только папки), привели в соответствие с тем, как это реализовано в большинстве других инструментов, например ls **

Ну и еще всякое по мелочи. Релиз получился без каких-то больших изменений для тех, кто пишет на python, но с очень большим и интересным заделом на будущее.

Хитрый Питон

04 Oct, 03:28


Привет! Напоминаем, что сегодня, 4 октября в 14:00 по мск обсудим новости сентября:
🟤перенос релиза 3.13 или настало время перестать использовать 3.8;
🟤Python Developers Survey 2023;
🟤большая дискуссия про uv в хвиторе.

Когда: 4 октября в 14:00 (по мск).
Где: онлайн и в записи на YouTube и RuTube.

И да, у нас теперь есть канал и на RuTube, подписывайтесь — https://rutube.ru/channel/45885590/

Хитрый Питон

03 Oct, 03:14


Один из частых вопросов в комментариях к подкасту - где взять идеи для учебных Dajngo-проектов. Хотя я сам считаю, что лучший учебный проект — это тот который ты придумал сам и который тебя драйвит, я понимаю, что многим было бы удобнее взять какую-то плюс-минус готовую идею и сосредоточиться на разработке.

JetBrains у себя в блоге опубликовали список идей для проектов на Django. Хотя там в основном высокоуровневое описание проекта без деталей и всего пара ссылок на туториалы, если вам такое актуально - посмотрите https://blog.jetbrains.com/pycharm/2024/09/django-project-ideas/

Хитрый Питон

12 Sep, 10:28


Следующий выпуск Moscow Python Podcast записываем в эту пятницу, 13 сентября - обсудим новости августа:
🟤релиз Django 5.1;
🟤большое обновление uv;
🟤PyPI улучшила время реагирования на malware до 24 часов;
🟤Лучшие языки программирования 2024 года по версии IEEE.

Когда: 13 сентября в 14:00 (по мск)
Где: онлайн и в записи по ссылке

Хитрый Питон

09 Sep, 05:03


Хорошая статья про то, как устроена в питоне сборка/установка пакетов и почему именно так. Для тех, кому любопытно чуть больше погрузиться в историю - самое то. Выводы у статьи простые - используйте pyproject.toml везде, где это возможно. Я с автором в этом согласен, например у меня на работе как минимум во всех новых проектах pyproject.toml используется по умолчанию.

Ссылка - https://www.bitecode.dev/p/whats-the-deal-with-setuptools-setuppy

Хитрый Питон

22 Aug, 08:01


Вышел новый большой релиз менеджера пакетов uv в котором добавили много нового:

- теперь uv может создавать более сложные файлы зависимостей и самое главное - они теперь кроссплатформенные. Например, если файл создавался, скажем, на маке он будет содержать также хеши для версий пакетов для Linux и Windows и также пакеты, которые нужны только доя конкретной платформы буду указаны и установлены только для нее. Они говорят, что формат файла standart complient но я не совсем понял на какой именно стандарт они тут ссылаются
- появилась возможность ставить нужную версию питона с помощью uv
- появилась возможность запускать с помощью uv другие консольные команды по аналогии с pipx, например uvx ruff check
- возможность запускать скрипты содержащие в файле зависимости (inline script metadata https://packaging.python.org/en/latest/specifications/inline-script-metadata/#inline-script-metadata). При этом он автоматически создаст виртуальное окружение и поставит зависимости туда, а если указанной в зависимостях версии питона нет в система - сам установит ее

В общем выглядит как еще один большой шаг к тому, чтобы заменить другие тулы - https://astral.sh/blog/uv-unified-python-packaging

Хитрый Питон

09 Aug, 09:49


Вышла Django 5.1, изменений не сильно много, но из интересного:

- поддержка connection pool-ов для psycopg 3
- миддлварь, которая делает аутентификацию обязательной для всех эндпоинтов (полагаю многие писали подобную миддлварьку для своих проектов)
- новый template tag querystring, который позволяет в шаблоне легко добавить новый/заменить значение существующего параметра url-а, сохранив все остальные параметры
- для работы с сессиями пользователя теперь доступно асинхронные методы
- дропнули совместимость с Postgres 12, MariaDB 10.4 и SQLite ниже 3.31.0

ну и много всего по мелочи, почитать release notes можно здесь https://docs.djangoproject.com/en/5.1/releases/5.1/

Хитрый Питон

03 Aug, 10:27


Последние три месяца я был сначала занят на работе и не успевал писать новости, а потом поехал в отпуск и вообще старался не подходить к компу. Я немного отдохнул, выдохнул и попробую вернуться к регулярному постингу и начну с того, что разберу отложенные интересные статьи 🙂

Начну с короткой заметки, которая хорошо рассказывает о том, какие UUID бывают и для чего их использовать. Если вы всегда просто используете uuid4 то думаю будет полезно расширить кругозор https://www.ntietz.com/blog/til-uses-for-the-different-uuid-versions/

Я последнее время с интересом смотрю в сторону uuid7 - по нему можно делать сортировку и поэтому он выглядит интересно в качестве id-шника. Из коробки модуль uuid в питоне не поддерживает uuid6, uuid7 и uuid8 (потому что пока они по факту не приняты как часть RFC), но есть либа uuid-utils которая реализует все варианты https://github.com/aminalaee/uuid-utils

Хитрый Питон

02 Aug, 07:19


Сегодня традиционно в первую пятинцу месяца, в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast и обсудим новости за июль:

🟡утечку токена для полного доступа к GitHub-репозиториям проекта Python
🟡python без GIL можно попробовать теперь и локально
🟡почему Apple начал заворачивать приложения на Python 3.12 в App Store
🟡релиз Polars 1.0
🟡PEP 751 — общий формат для lock-файлов зависимостей

➡️Когда: 2 августа в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

Хитрый Питон

11 Jul, 06:55


В эту пятницу, 12 июля в прямом эфире Moscow Python Podcast в 14:00 (по мск) обсудим новости за июнь:

🟡Должен ли Python использовать календарную нумерацию версий
🟡Релиз NumPy 2.0
🟡Как устроена инфраструктура работы с уязвимостями в Python
🟡Современные практики для разработки на Python

➡️Когда: 12 июля в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

Хитрый Питон

05 Jun, 13:34


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

В пятницу 7 июня в прямом эфире Moscow Python Podcast в 14:00 (по мск) обсудим новости за май, а именно:
🟡Релиз беты Python 3.13
🟡Django Developers Survey 2023
🟡В Django предложили затащить бекграунд-воркеры
🟡Разработчики ставят себе бекдоры на тестовых собеседованиях

➡️Когда: 7 июня в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

Хитрый Питон

15 May, 04:40


Привет, в четверг, 16 мая в 14:00 по МСК встретимся в прямом эфире Moscow Python Podcast с Иваном Кривошеевым, ведущим разработчиком Positive Technologies и обсудим:
🟡идеальную ORM;
🟡проблемы asyncio;
🟡опыт перехода на Rust.

➡️Когда: 16 мая в 14:00 по Москве.
➡️Где: онлайн и в записи по ссылке.

Хитрый Питон

02 May, 03:39


Всем привет! На этой неделе у нас будет 2 выпуска Moscow Python Podcast подряд.

🟢Сегодня, 2 мая в 14:00 МСК, поговорим про новости Python за последний месяц - релиз ruff 0.4.0, сборку CPyhon из исходников, PEP-744 Jit Compilation, студенческие задания в open source и что с ними не так, Ubuntu 24.04 LTS онлайн и в записи по ссылке.

🟢Завтра, 3 мая встретимся с Александром Гончаровым, автором телеграм-канала Блог погромиста. В следующем анонсе расскажу подробности выпуска.

Хитрый Питон

28 Apr, 05:21


И вдогонку чуть более простой и практически применимый материал. Наверное, большинство сейчас для форматирования строк используют f-строки, и чаще всего это просто f"string {variable}", но на самом деле f-строки позволяют удобно форматировать переменную. Например, мне недавно надо было выводить целое число как трехпозиционную строку, т.е. если в числе меньше трех цифр - подставлять в начало нолики (5 -> "005", 10 -> "010", 123 -> 123).

И сегодня наткнулся на pybites хороший гайд по тому, что f-строки умеют. Если вы всем этим богатством не пользовались - очень рекомендую https://pybit.es/articles/python-f-string-codes-i-use-every-day/

Хитрый Питон

28 Apr, 04:20


Хорошая статья про то, как устроены списки в питоне. Начинается с примера, который выглядит простым и понятным, и потом довольно быстро ныряет в зубодробительные детали сишной реализации list-ов.

Если интересно, как python устроен "под капотом" - очень рекомендую, так как автор явно заморочился, нарисовал много картинок и вообще расписал все очень детально, думаю даже для людей, никогда не писавших на C будет в целом понятно https://codeconfessions.substack.com/p/why-do-python-lists-multiply-oddly

Хитрый Питон

20 Apr, 06:30


Вышел ruff 0.4.0. Из интересного - они переписали парсер, который преобразует код в ast (abstract syntax trees). Это увеличит скорость работы ruff дополнительно на 20-40% что звучит здорово. Также новый парсер позволяет улучшить обработку ошибок парсинга, нарпимер сделав ошибки более читаемыми.
Также они добавили свой language server, написанный на rust для интеграции с редакторами кода, которые поддерживают language server protocol (LSP). Предыдущий lang server у них был написан на питоне.
Ну и как обычно много всяких улучшений/исправлений меньшего размера.
Ссылка на анонс https://astral.sh/blog/ruff-v0.4.0
Ссылка на ченджлог https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md#040

Хитрый Питон

14 Apr, 11:06


Я всегда был сторонником обучения на практических задачах и сам не люблю при изучении новых языков/фреймворков/библиотек решать синтетические задачки. Поэтому мне понравился подход ребят из https://codecrafters.io/ - "напишите Redis, Git или Docker своими руками". Я некоторое время мариновал этот сайт в закладках, но тут во время отпуска решил попробовать.

Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу

У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для go, с которым я знаком поверхностно - мне было очень интересно посмотреть на разные подходы к решению одной и той-же задачи и что-то утащить себе в копилочку
- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного

В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.

Хитрый Питон

11 Apr, 00:01


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

встречайте: https://www.youtube.com/@sobolevn

уникальность формата в том, что я рассматриваю одну узкую тему с трех уровней сложности: junior, middle, senior. так что, контент должен быть интересным для всех уровней Python разработчиков!

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

важные ссылки:
- все материалы курса: https://github.com/sobolevn/the-best-python-course
- мой гитхаб: https://github.com/sobolevn
- поддержать мою работу: https://boosty.to/sobolevn
- вступить в наше новое глобальное сообщество: https://discord.python.ru

пишите в комментах к видео, если узнали что-то новое!
мета информация: https://www.youtube.com/watch?v=SVBPkrs9UFg
первый выпуск: https://www.youtube.com/watch?v=WBKf2Cw_9Pc

буду рад обратной связи!
в ближайших планах:
- починить звук и свет
- избавиться от слова "интересный" в описании примерно всего
- сделать много новых видео по разным темам