sobolevn

Пикабушник
Дата рождения: 5 марта
в топе авторов на 672 месте
353 рейтинг 41 подписчик 0 подписок 20 постов 1 в горячем
163

Бесплатный курс по Python для Junior / Middle / Senior разработчиков

Привет! Меня зовут Никита Соболев, я занимаюсь опенсорсом. Я основной разработчик многих популярных технологий: CPython, mypy, typeshed, hypothesis, dry-python, wemake-python-styleguide, TypedDjango, и тд: https://github.com/sobolevn

Недавно я начал делать бесплатный курс на YouTube для не-новичков. Потому что совсем новичкового контента уже довольно много, а вот что делать, если ты хочешь вырасти из джуна в мидла или из мидла в сениора? Тут-то мой курс вам и поможет :)

Я делаю короткие видео (около 20 минут) по одной узкой теме на трех уровнях сложности, например – про тип "int":

- На уровне "junior" мы повторяем все магические методы, которые могут превратить объект в `int`: `__int__`, `__index__`, `__trunc__`, `__ceil__`, `__floor__`. Вспоминаем про формы записи чисел через `0x`, `0o`, `0b`

- На уровне "middle" знакомимся с Numeric Tower и `numbers.py`

- А на уровне "senior" знакомимся с C-шной реализацией `longobject.c`, говорим про пределы значение `int`, C-API `PyLong_*`, ну и конечно про оптимизации байткода

На канале уже 5 видео про базовые вещи в CPython, всего планируется около 50 видосов.

Надеюсь, что вам будет полезно и интересно.

P.S. К 5му видео я успешно разобрался с тем, как правильно нужно записывать звук!

Показать полностью 1
6

Храним большие файлы в репозитории правильно

Вы сталкивались с проблемой, что рабочий проект клонируется 10 минут?

А когда начинаешь разбираться: почему так? То оказывается, что внутри десятки непережатых картинок для фронта, которые еще и менялись регулярно (а значит, оставили след в истории git навсегда).

Данная проблема влияет не только на локальное использование, ведь мы на самом деле довольно редко делаем git clone с нуля, но и самое главное – на скорость всех наших сборок (если мы не используем `fetch-depth: 1` или аналог, а использовать их надо).

Решение: использовать git-lfs!

Обсудили в видео: https://github.com/git-lfs/git-lfs

- Как работает git-lfs на базовом уровне?

- Как мигрировать на него с базового сетапа?

- Как он устроен внутри? Поднимаем https://github.com/git-lfs/lfs-test-server и детально смотрим, что там внутри происходит

Ну и конечно чуть-чуть глянули исходники, они, кстати, на #go 🌚️️️️

Обсуждение: как вы храните большие файлы в рабочих проектах? Насколько большие файлы вы храните?

Показать полностью
1

Minimal vscode: убираем / кастомизируем status bar

В статусбаре в vscode – очень много всего: как полезного, так и лишнего.

Сегодня посмотрим, как можно его кастомизировать:

- Можно просто спрятать (как делаю я)

- Можно очень детально кастомизировать

- Можно перенести часть его функций в плагины

И вот тут главная фича vscode выходит наружу – у нас ведь просто браузер с html / css / js.

А значит, мы можем использовать css и js для кастомизации всего!

И оно будет работать одинаково даже в cloud версиях IDE.

В выпуске:

- Будем писать CSS для удаления лишнего из status bar

- И создавать локальные плагины на #javascript для кастомизации поведения редактора

Впереди еще пара взрывающих мозг видосов, будем и дальше превращать vscode в Черный Квадрат Малевича!

Ссылка на конфиги: https://github.com/sobolevn/the-best-python-course/tree/main...

Показать полностью
2

EasyP – тулбокс для работы с ProtoBuf

Ссылка на проект: https://github.com/easyp-tech/easyp

Документация: https://easyp.tech

easyp – пакетный менеджер, билд-система и линтер для .proto файлов.

Хоть easyp и написан на #go 😱, одна из его фишек в том – что вы можете использовать любые плагины для генерации финального кода: он может быть хоть на #python, хоть на #rust.

Если много используете ProtoBuf – обязательно для ознакомления!

EasyP – тулбокс для работы с ProtoBuf

Прощайте огромные Makefile с кучей скриптов для сборки.

Показать полностью 1
0

Minimal vscode: заменяем вкладки на удобные инструменты

Убираем вкладки из vscode! А еще я рассказываю, что за язык Cooklang (язык разметки для рецептов)

Конфиг выпуска: https://github.com/sobolevn/the-best-python-course/blob/main...

Показать полностью
8

Бесплатный курс по упрощению работы с vscode

Ссылка на полный конфиг: https://github.com/sobolevn/dotfiles?tab=readme-ov-file#vsco...

Ссылка на пошаговые изменения: https://github.com/sobolevn/the-best-python-course/tree/main...

Пока вышло 2 видео, скоро будет еще :)

Показать полностью
3

Minimal vscode: учимся работать с vscode

Открываем окна! Нет, не от духоты, ее в видео как раз не будет 🌚️️️️

Видео короткое, динамичное, практичное.

Перед тем как учиться пользоваться vscode, необходимо:

1. Её поставить

2. Научиться её открывать

3. Располагать её на рабочем пространстве

В видео поговорили про:

- Brewfile и синхронизацию программ / плагинов

- Hotkey managers на примере https://github.com/koekeishiya/skhd

- Тайловые менеджеры окон: https://github.com/rxhanson/Rectangle

- Красивости вроде https://topnotch.app и https://hazeover.com

Все материалы для всех операционных систем тут: https://github.com/sobolevn/the-best-python-course/blob/main...

Показать полностью
7

FastStream: современный асинхронный Python фреймворк для работы с очередями

Сгоняли с автором на рыбалку: поговорили про FastStream, пожарили мясо, обсудили проблемы разработчиков при работе с очередями / брокерами сообщений.

FastStream – аналог FastAPI, но для работы с событиями в брокерах / очередях.

Пример:

FastStream: современный асинхронный Python фреймворк для работы с очередями

Что делает данный код? Читает сообщения из first-topic, парсит из них поле user типа str, выполняет логику обработки, отправляет новое сообщение в another-topic. Просто? Удобно?

Что нам дает такой код?

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

- AsyncAPI документацию (аналог OpenAPI в вебе)

- Удобное тестирование

- Кучу других плюшек!

Внутри видео обсудили:

- Детали работы DI фастстрима

- Встроенное Observability

- Open Tracing

- Сообщество фреймворка (тут не будет проблемы "одного автора", сообщество живет!)

- Отличия от Celery: когда брать что?

Репозиторий: https://github.com/ag2ai/faststream

Документация: https://faststream.ag2.ai

Показать полностью 1
Отличная работа, все прочитано!