Артём Шумейко (@artemshumeiko) — Telegram-канал | Telegram Dialogs
Telegram Dialogs — логотип
Все каналы
Артём Шумейко

Артём Шумейко

@artemshumeiko

19.9K подписчиков технологии 💬 Комментарии открыты

Senior Backend разработчик. Рассказываю о лучших практиках разработки приложений и делюсь жизнью разработчика Курс по Backend на Python: https://clck.ru/3RHSKg По рекламе: ads@pytex.school Для связи: t.me/artem_shumeiko_support РКН: clck.ru/3SvT2D

Последние публикации

Артём Шумейко
18.09.2026 09:01 · 👁 9K
Уже используете ИИ в проектах? Уверены, что делаете это эффективно и безопасно? Разберемся 8 октября на бесплатной конференции Selectel ТехноДень про ИТ-тренды, инфраструктуру, ИИ, данные и информационную безопасность. Присоединяйтесь, чтобы: 🔺Узнать о реальном опыте внедрения ИИ в технологических компаниях. 🔺Обсудить изменение подходов к информационной безопасности в бизнесе в 2027. 🔺Наметить план по созданию отказоустойчивой инфраструктуры. Вас ждут 20 экспертных докладов, 20 интерактивных стендов, живое общение и запись подкаста Вселенная Плюс на главной сцене конференции. Место встречи — Москва, Кластер «Ломоносов». Участие в конференции бесплатное, нужно зарегистрироваться →. Реклама. АО "Селектел". erid:2W5zFGgnnDX
Артём Шумейко
15.09.2026 10:21 · 👁 8.2K
4 причины поехать на Алтай - встретить закат на вершины горы - покататься на огромных квадроциклах - впервые в жизни увидеть двойную радугу - не ловит инет — не получится вайбкодить 😁
Артём Шумейко
09.09.2026 15:03 · 👁 10.4K
Топ вопросов по Git с собеседований ➡️ Новое видео: YouTube | VK | Rutube В новом видео разбираю вопросы по Git, которые часто встречаются на технических собеседованиях на backend-разработчиков: 🟢 Что такое Git и какие у него плюсы 🟢 Что такое hotfix 🟢 Как перенести коммит в другую ветку 🟢 Как правильно называть ветки и коммиты 🟢 Как убрать закоммиченные файлы 🟢 Как восстановить удаленную ветку 🟢 Как понять, кто изменил конкретную строчку кода 🟢 Что такое Git stash 🟢 Что такое Merge и что чем он отличается от Rebase 🟢 Что такое GitFlow и какие виды бывают 🟢 Что такое Trunk-Based Development
Артём Шумейко
04.09.2026 14:01 · 👁 7.4K
Постепенно получаю отзывы с первого потока курса "Параллелизм в Python на продакшен-примерах" Курс закончился, и я попросил поделиться впечатлениями. Ребята пишут, что обучение оказалось полезным и для понимания темы параллелизма в целом, и для решения рабочих задач в частности. 👉 Здесь можно почитать больше обратной связи Кто-то пришёл разобраться глубже в асинхронности, потоках и процессах, а в итоге получил гораздо больше, чем ожидал. Кто-то отдельно отметил формат и то, что к обсуждённым вопросам можно было возвращаться, если в процессе работы появлялось новое понимание. Конечно, особенно приятно читать, что полученные знания уже можно применять в своих проектах: Для меня самое главное то, что я приобрёл знания о том, как делать мою работу лучше, чем сейчас Ну и отдельный респект тем, кто советует другим это обучение 😎
Артём Шумейко
27.08.2026 13:24 · 👁 10.9K
9 ошибок, которые выдают Junior Backend разработчика ➡️ Новое видео: YouTube / VK / Rutube В коде Backend разработчика ошибки часто начинаются с мелочей, которые легко пропустить, а затем приводят к проблемам в проде. В новом видео разберём такие ошибки: начнём с простых и постепенно перейдём к более сложным случаям. Покажу, почему эти они возникают, чем опасны и как можно их избежать. Сможешь найти ошибки во всех примерах до того, как я их разберу?
Артём Шумейко
25.08.2026 12:47 · 👁 9.4K
Как мы уменьшили RPS в 2 раза Звучит странно, да? Как будто мы потеряли половину пользователей. Ведь обычно чем больше RPS, тем круче компания?) Давайте разбираться. Речь как обычно пойдет о моем стартапе Солвит — тренажере для подготовки к собеседованию. Количество запросов на наш бэкенд (API на FastAPI) упало в 2+ раза за счет внедрения кэширования на стороне браузера. Как это работает Представим себе эндпоинт, который отдает список языков программирования GET /languages. Он вызывается на фронтенде довольно часто, и мы как хорошие бэкендеры, конечно, добавим Redis для кэширования данных, чтобы не ходить каждый раз в базу. Для сравнения: запрос в Базу данных может занять 20-30 мс, тогда как в Redis сходит за 2-3 мс — выигрыш в 10 раз. Это всё звучит круто, но потом ты узнаешь, что клиент, находящийся далеко от сервера, ждет эти данные по сети 200 мс. И тут выигрыш в 20-30 мс кажется уже ничтожно маленьким, и хочется любым способом сократить эту сетевую задержку или вообще избавиться от нее. На помощь приходит кэширование ответа от бэка в браузере. За него, кстати, отвечаем мы, бэкендеры) Если в заголовках ответа добавить, например, Cache-Control: max-age=60, то в браузере на 60 секунд закэшируется результат вызова нашего GET /languages. И при любом повторном вызове эндпоинта запрос просто не уйдет на бэк, данные возьмутся из кэша. Но ведь тогда мы не можем мониторить реальный RPS! Ну да, часть запросов не долетает до бэка, мы не увидим логи ни в Nginx, ни в Python. И что? А что такое реальный RPS? И какой смысл пытаться постоянно его увеличивать? Я пришел к тому, что мои графики и цифры не будут расти стремительно, зато пользователи будут получать лучший опыт использования моего сервиса. И даже в условиях медленного интернета мой сайт будет быстро работать. Подробнее про кэширование в бэкенд разработке рассказывал на большом эфире в Школе Pytex. Чтобы писать надежные бэкенд приложения, выстраивать масштабируемую архитектуру и выдерживать возрастающий RPS — приглашаю на мой Практический курс по Backend разработке на Python. На нём я обучаю всему, что знаю сам и использую в своем стартапе.
Артём Шумейко
25.08.2026 07:06 · 👁 7.9K
Что происходит с приложением при нагрузке 10 000 RPS ➡️ Новое видео: YouTube / VK / Rutube На 1 RPS приложение может работать совершенно спокойно: один экземпляр, база данных, простой пул соединений. Но что произойдёт, когда станет 10, 100, 1 000 или 10 000 запросов в секунду? В новом видео разбираем основные этапы масштабирования и смотрим, какие изменения требуются на каждом уровне нагрузки.
Артём Шумейко
20.08.2026 11:39 · 👁 10.6K
Джун без коммерческого опыта | Собеседование Python разработчик ❗️Новое видео: YouTube В видео приглашенный гость Дил не имеет коммерческого опыта, всего 1 год изучает Python, но выдает такие ответы, что многие могут позавидовать. В начале разобрали с Дилом базовые темы: изменяемые типы данных, скорость работы структур, хеш-функции, декораторы, асинхронность, лямбда-функции, контекстные менеджеры и миксины. Затем перешли к таким темам, как JWT, access и refresh токены, аутентификация в микросервисах, Kafka и RabbitMQ, N+1, CORS и CSRF, REST API, PUT и PATCH, HTTP-статусы, идемпотентность, логирование и трейсинг. И зафиналили практической частью: решили задачи и провели код-ревью. Если готовишься к собеседованию на разработчика, это видео поможет понять, какие вопросы могут встретиться на интервью и какие темы стоит повторить перед ним
Артём Шумейко
17.08.2026 13:17 · 👁 10K
⚡️ С сегодняшнего дня действует скидка 15% на курсы Школы Pytex до конца августа! Скоро осень, а значит близок сезон самого активного найма новых специалистов. Чтобы достичь новых вершин в карьере, пользуйся скидкой до конца лета и развивайся в разработке. BACKEND РАЗРАБОТКА НА PYTHON За 3 месяца ты пройдешь полный цикл продакшен разработки на Python. Напишешь API на FastAPI, научишься работать с PostgreSQL и SQLAlchemy, освоишь SQL, миграции Alembic, JWT-аутентификацию, Redis, Celery, тестирование, Docker, CI/CD и развертывание проекта на сервере. Практика занимает около 80% обучения. Тебя ждут более 30 заданий, полноценный проект, код-ревью нескольких production-проектов на FastAPI и Flask, а также разбор типичных ошибок, с которыми сталкиваются Python-разработчики. ❗️ Выбирай подходящий тариф на сайте Записаться на бесплатную экскурсию
Артём Шумейко
16.08.2026 18:24 · 👁 11.1K
Чего ждать от Python 3.15? Python 3.15 выйдет через полтора месяца, и новые фичи уже зафиксированы, поэтому давайте посмотрим, что интересного появится в следующей версии языка. Ленивые импорты Теперь модуль можно импортировать не сразу, а только в момент, когда он реально понадобится: lazy import aioboto3 print("приложение запустилось") session = aioboto3.Session() # только здесь загрузится код библиотеки aioboto3 В больших приложениях импорт всех зависимостей может занимать заметную часть времени запуска, причём часть из них в конкретном запуске может вообще не понадобиться. Раньше для этого часто приходилось переносить импорты внутрь функций, а теперь для ленивой загрузки появится отдельный lazy import. Новый тип данных frozendict У set уже давно есть неизменяемая версия frozenset, а теперь такая появится и у словарей: config = frozendict( timeout=5, retries=3, ) config["timeout"] = 10 # TypeError Такой объект удобно использовать, например, для конфигурации, которую вы передаёте между разными частями приложения и хотите гарантировать, что никто случайно её не изменит (ни вы, ни другие разработчики). Кстати, теперь на собеседовании на вопрос про типы данных надо не забыть ещё и frozendict назвать :) Распаковка внутри comprehensions Теперь можно будет написать: lists = [ [1, 2], [3, 4], [5], ] result = [*items for items in lists] # [1, 2, 3, 4, 5] Вместо [item for items in lists for item in items]. То же самое работает с set, генераторами и даже словарями через **. Не сказать, что без этого было невозможно жить, но для некоторых задач код станет чуть короче. UTF-8 кодировка теперь стоит по умолчанию Если написать open("file.txt") и явно не передать параметр encoding, Python 3.15 будет использовать UTF-8 независимо от системной кодировки. Меньше шансов словить ситуацию, когда локально всё работает, а в другом окружении (или другой операционной системе) начинаются проблемы с кодировкой. Ещё в Python 3.15 будет несколько менее заметных изменений и улучшений — полный список можно посмотреть в тутачки. Релиз, конечно, не революционный, но язык продолжает постепенно развиваться, это радует. 🔥 — сижу на Python 3.13 или выше 👍 — сижу на Python 3.12 или ниже
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.