Перейти к содержимому

Учебный центр

Курсы и материалы из собственной работы. Не из чужих слайдов.

9курсов
85уроков
18материалов

Учебные материалы

Разборы из работы. Открыты целиком.

pythonarchitecturebusinesstypescriptdevopsanalyticsmarketingdatabaseproducttesting

Рекомендуемые

pythonСредний180+ минут

asyncio в Python

Пока запрос ждёт БД, поток может делать другую работу. Когда это спасает, когда event loop встаёт, и как не заблокировать его синхронным кодом.

#python#asyncio#async#асинхронное программирование+1
architectureСредний50 минут

Feature-Sliced Design, когда components/ уже не открывается

Двести файлов в одной папке, фичу нельзя выкинуть. Слои, слайсы и public API, чтобы импорт шёл вниз, а не во все стороны.

#fsd#architecture#frontend#react+4
typescriptНачальный60 минут

TypeScript, если уже пишешь на JavaScript

Тот же JS, только редактор орёт до запуска. Типы, интерфейсы, generics и как переезжать по одному файлу.

#typescript#javascript#react#nextjs+4
devopsСредний120 минут

Docker и Compose, чтобы окружение перестало спорить

У разработчика Python 3.12, у тестировщика 3.9, на сервере другой Postgres. Dockerfile и compose, чтобы это перестало быть разговором на час.

#docker#docker-compose#контейнеризация#devops+3
pythonПродвинутый90 минут

Утечки памяти в Python

Сервис не падает сразу. Память растёт неделю, потом OOM. Как это увидеть до ночи с пейджером: tracemalloc, циклы ссылок, кэш, который никто не чистит.

#python#memory leaks#утечки памяти#garbage collector+10
pythonСредний75 минут

Poetry и uv вместо requirements.txt

Poetry собирает и публикует пакет. uv ставит зависимости быстро. Оба фиксируют версии, чтобы «у меня поставилось» совпало с CI.

#python#poetry#uv#зависимости+6
pythonСредний50 минут

Типы в Python, чтобы ревью не гадало

Аннотации, TypedDict, Protocol, mypy. Типы не ускоряют рантайм. Они ускоряют человека, который читает чужой код.

#python#typing#mypy#static typing+3
marketingСредний60 минут

Омниканал: клиент не должен чинить ваши стены

Начал на сайте, закончил в магазине. Если консультант не видит, что человек уже купил, это не омниканал, а набор витрин.

#маркетинг#омниканальность#customer experience#CDP+3
databaseСредний80 минут

PostgreSQL из Python

SQLAlchemy, asyncpg, N+1, индексы, EXPLAIN. Когда ORM врёт, и что смотреть в плане запроса.

#postgresql#python#sqlalchemy#asyncpg+6

Все материалы

businessСредний30 минут

Упаковка идеи: кому, зачем, что меняется

Не «всем, кому нужно качество». Сегмент, боль, проверка гипотезы за одну формулировку.

#упаковка#product#custdev#гипотезы
analyticsСредний45 минут

Umami: своя аналитика без Google

Скрипт в два килобайта, данные на своём сервере. Куда люди уходят, какой канал приводит заявку, где кнопку не видно.

#analytics#umami#business-metrics#conversion+2
productСредний45 минут

Customer Journey Map: где клиент спотыкается

Карта пути: что человек пытается сделать, где бросает, какой отдел держит этот шов.

#customer journey#cjm#ux research#customer experience+2
architectureСредний55 минут

Self-hosted CMS и Next.js

Strapi, Directus, Keystone, Payload, Medusa. Не что моднее, а кому принадлежит контент, кто его правит и что ломается при деплое.

#headless-cms#nextjs#architecture#jamstack+6
testingПродвинутый30 минут

Когда flaky в CI, смотрите трейс, не угадывайте

Тест падает раз в двадцать. Лог врёт порядком. Трейс, счётчик и артефакт рядом с тестом, без продового стека.

#pytest#observability#opentelemetry#prometheus+1
testingСредний15 минут

pytest-benchmark: бюджет времени рядом с тестом

Сериализация вдруг стала в три раза медленнее, а функциональные тесты зелёные. Бюджет в миллисекундах и baseline в CI.

#pytest#performance#benchmark#testing
testing

Тест не должен ждать семь секунд

Retry с паузами 1, 2, 4 секунды. В проде это нормально. В тесте sleep надо подменить, иначе сюит спит.

#pytest#asyncio#mocking#time+2
testing

Синхронные тесты БД, пока async ещё рано

Тест вставил пользователя и оставил его в базе. Следующий падает. Фикстуры, транзакция, rollback без async.

#pytest#postgresql#fixtures#beginner+1
testing

Гонка в потоках: два пакета молока

Два потока прочитали одно число и оба записали плюс один. Счётчик врёт. Холодильник с молоком, потом Lock.

#threading#race-condition#concurrency#pytest+1

Если нужен разбор один на один, напишите.

Разбор задачи или материала. Отвечаю в течение суток.

Написать