Последние посты

Артём Шумейко
22 сент., 10:33изменён
Как скам-краулеры регулярно атаковали наш сайтУ нас долгое время периодически падал фронт на Солвит, гораздо реже — бэк. Иногда сайт не отвечал или зависал на 10, 15, а иногда и 30 секунд. Я долго игнорировал эти поломки, но в какой-то момент задолбался жить с постоянными алертами.Причиной оказались краулеры и сканеры. Какие-то чудики (хакеры) со всего мира запускают скрипты, которые ходят по интернету и ищут .env, .sql, .git, ключи, WordPress-файлы, пытаются делать SQL-инъекции и т.п. Например, скрипт обращается к solvit.space/.env в надежде найти файл с кредами (я к счастью его там не храню).Обычный рейт лимит здесь не помогал: для обычного юзера даже 20 GET-запросов в секунду — нормально, и люди крайне редко выходят за эти рамки. Краулеры тоже струячат по 10 запросов в секунду, но делают это по 10–15 секунд подряд, чтобы перебрать все комбинации подозрительных путей. Плюс к
Артём Шумейко
18 сент., 09:01
Уже используете ИИ в проектах? Уверены, что делаете это эффективно и безопасно?Разберемся 8 октября на бесплатной конференции Selectel ТехноДень про ИТ-тренды, инфраструктуру, ИИ, данные и информационную безопасность.Присоединяйтесь, чтобы: 🔺Узнать о реальном опыте внедрения ИИ в технологических компаниях. 🔺Обсудить изменение подходов к информационной безопасности в бизнесе в 2027. 🔺Наметить план по созданию отказоустойчивой инфраструктуры.Вас ждут 20 экспертных докладов, 20 интерактивных стендов, живое общение и запись подкаста Вселенная Плюс на главной сцене конференции.Место встречи — Москва, Кластер «Ломоносов». Участие в конференции бесплатное, нужно зарегистрироваться →.Реклама. АО "Селектел". erid:2W5zFGgnnDX


Артём Шумейко
15 сент., 10:21
4 причины поехать на Алтай- встретить закат на вершины горы - покататься на огромных квадроциклах - впервые в жизни увидеть двойную радугу - не ловит инет — не получится вайбкодить 😁



Артём Шумейко
9 сент., 15:03
Топ вопросов по Git с собеседований➡️ Новое видео: YouTube | VK | RutubeВ новом видео разбираю вопросы по Git, которые часто встречаются на технических собеседованиях на backend-разработчиков:🟢 Что такое Git и какие у него плюсы 🟢 Что такое hotfix 🟢 Как перенести коммит в другую ветку 🟢 Как правильно называть ветки и коммиты 🟢 Как убрать закоммиченные файлы 🟢 Как восстановить удаленную ветку 🟢 Как понять, кто изменил конкретную строчку кода 🟢 Что такое Git stash 🟢 Что такое Merge и что чем он отличается от Rebase 🟢YouTubeЛучшие вопросы с собеседований по GIT. Сможешь ответить?🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: ☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: Мой телеграм-канал, где я пишу о своем…
Артём Шумейко
4 сент., 14:01
Постепенно получаю отзывы с первого потока курса "Параллелизм в Python на продакшен-примерах"Курс закончился, и я попросил поделиться впечатлениями. Ребята пишут, что обучение оказалось полезным и для понимания темы параллелизма в целом, и для решения рабочих задач в частности.👉 Здесь можно почитать больше обратной связиКто-то пришёл разобраться глубже в асинхронности, потоках и процессах, а в итоге получил гораздо больше, чем ожидал. Кто-то отдельно отметил формат и то, что к обсуждённым вопросам можно было возвращаться, если в процессе работы появлялось новое понимание.Конечно, особенно приятно читать, что полученные знания уже можно применять в своих проектах: Для меня самое главное то, что я приобрёл знания о том, как делать мою работу лучше, чем сейчасНу и отдельный респект тем, кто советует другим это обучение 😎




Артём Шумейко
27 авг., 13:24
9 ошибок, которые выдают Junior Backend разработчика➡️ Новое видео: YouTube / VK / RutubeВ коде Backend разработчика ошибки часто начинаются с мелочей, которые легко пропустить, а затем приводят к проблемам в проде.В новом видео разберём такие ошибки: начнём с простых и постепенно перейдём к более сложным случаям. Покажу, почему эти они возникают, чем опасны и как можно их избежать.Сможешь найти ошибки во всех примерах до того, как я их разберу?YouTube9 ошибок, которые выдают Junior Backend разработчика🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: https://tinyurl.com/yn5mmh3j ☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: https:/…
Артём Шумейко
25 авг., 12:47изменён
Как мы уменьшили RPS в 2 разаЗвучит странно, да? Как будто мы потеряли половину пользователей. Ведь обычно чем больше RPS, тем круче компания?) Давайте разбираться.Речь как обычно пойдет о моем стартапе Солвит — тренажере для подготовки к собеседованию. Количество запросов на наш бэкенд (API на FastAPI) упало в 2+ раза за счет внедрения кэширования на стороне браузера.Как это работает Представим себе эндпоинт, который отдает список языков программирования GET /languages. Он вызывается на фронтенде довольно часто, и мы как хорошие бэкендеры, конечно, добавим Redis для кэширования данных, чтобы не ходить каждый раз в базу. Для сравнения: запрос в Базу данных может занять 20-30 мс, тогда как в Redis сходит за 2-3 мс — выигрыш в 10 раз.Это всё звучит круто, но потом ты узнаешь, что клиент, находящийся далеко от сервера, ждет эти данные по сети 200 мс. И тут выигрыш в 20-30 мс
Артём Шумейко
25 авг., 07:06
Что происходит с приложением при нагрузке 10 000 RPS➡️ Новое видео: YouTube / VK / RutubeНа 1 RPS приложение может работать совершенно спокойно: один экземпляр, база данных, простой пул соединений.Но что произойдёт, когда станет 10, 100, 1 000 или 10 000 запросов в секунду? В новом видео разбираем основные этапы масштабирования и смотрим, какие изменения требуются на каждом уровне нагрузки.YouTubeОт 1 до 10 000 RPS: Как масштабируется Backend приложение при росте нагрузки🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: https://tinyurl.com/4p45wwnb ☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: https:/…
Артём Шумейко
20 авг., 11:39
Джун без коммерческого опыта | Собеседование Python разработчик❗️Новое видео: YouTubeВ видео приглашенный гость Дил не имеет коммерческого опыта, всего 1 год изучает Python, но выдает такие ответы, что многие могут позавидовать.В начале разобрали с Дилом базовые темы: изменяемые типы данных, скорость работы структур, хеш-функции, декораторы, асинхронность, лямбда-функции, контекстные менеджеры и миксины.Затем перешли к таким темам, как JWT, access и refresh токены, аутентификация в микросервисах, Kafka и RabbitMQ, N+1, CORS и CSRF, REST API, PUT и PATCH, HTTP-статусы, идемпотентность, логирование и трейсинг.И зафиналили практической частью: решили задачи и провели код-ревью.Если готовишься к собеседованию на разработчика, это видео поможет понять, какие вопросы могут встретиться на интервью и какие темы стоит повторить перед нимYouTubeДжун без коммерческого опыта | Собеседование Python Junior разработчик☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: https://solvit.space/l/wcxcop Чтобы получить шпаргалку с вопросами и ответами из видео, переходи в бота: https://clck.ru/3VKpHQ Телеграм-канал о стартапе и работе разработчиком:…
Артём Шумейко
17 авг., 13:17
⚡️ С сегодняшнего дня действует скидка 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 авг., 18:24
Чего ждать от Python 3.15?Python 3.15 выйдет через полтора месяца, и новые фичи уже зафиксированы, поэтому давайте посмотрим, что интересного появится в следующей версии языка.Ленивые импорты Теперь модуль можно импортировать не сразу, а только в момент, когда он реально понадобится: lazy import aioboto3print("приложение запустилось")session = aioboto3.Session() # только здесь загрузится код библиотеки aioboto3 В больших приложениях импорт всех зависимостей может занимать заметную часть времени запуска, причём часть из них в конкретном запуске может вообще не понадобиться. Раньше для этого часто приходилось переносить импорты внутрь функций, а теперь для ленивой загрузки появится отдельный lazy import.Новый тип данных frozendict У set уже давно есть неизменяемая версия frozenset, а теперь такая появится и у словарей: config = frozendict( timeout=5, retries=3, )
Артём Шумейко
10 авг., 19:20
Лучшая разгрузка после тяжелого дня
Артём Шумейко
6 авг., 14:01
SQL — разбираем популярные вопросы с собеседований➡️ Новое видео: YouTube | VK | RutubeВ новом видео разбираю вопросы по SQL, которые часто встречаются на технических собеседованиях на backend-разработчиков:🟢Чем отличается WHERE от HAVING 🟢 Что такое JOIN и какие виды существуют 🟢 Что такое UNION и UNION ALL и чем они отличаются 🟢 Что такое CTE, подзапросы и временные таблицы 🟢 Как найти дубликаты 🟢 Что такое оконные функции и когда их использовать 🟢 Использование IN и EXISTS 🟢 Конструкция NOT INYouTubeЛучшие вопросы с собеседований по SQL. Сможешь ответить?🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: https://tinyurl.com/3ky7pz3b ☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: https://…
Артём Шумейко
30 июл., 10:04
Топ вопросов по HTTP с собеседований с разбором ответов➡️ Новое видео: YouTube | VK | RutubeВ новом видео я разобрал вопросы по HTTP, которые регулярно задают на собеседованиях на backend-разработчика, а именно:🟢 POST, PUT и PATCH запросы 🟢 В чем разница между заголовками и куки 🟢 Какие есть уязвимости при работе с куки 🟢 Что такое CSRF-атака 🟢 Что такое CORS 🟢 Как HTTP связан с ограничением запросов 🟢 Какие способы передачи файлов существуют 🟢 Кэширование в HTTP 🟢 В чем различие статус-кодов: 200, 201 и 204В видео разобрал все, что нужно знатьYouTubeТоп вопросов по HTTP с собеседований с разбором ответов🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: https://tinyurl.com/3fyy6j6m ☘️ Все вопросы и задачи с собеседований в IT собраны в одном месте. Заходи и готовься: https://…
Артём Шумейко
22 июл., 11:16
Middle из бигтех собеседуется на Python Backend👉 Новое видео: YouTube | VK | RutubeВ новом ролике с приглашенным разработчиком Александром, работающим в бигтехе, провели интервью на Middle Backend.За время собеседования мы успели обсудить проектирование высоконагруженных сервисов, PostgreSQL, индексы и оптимизацию запросов, Python и asyncio, архитектуру приложений, SQLAlchemy, интеграцию с внешними API, тестирование, алгоритмы, аутентификацию и авторизацию, JWT, микросервисы и многое другое.Если ты готовишься к собеседованию на Middle Python Backend или хочешь понять, какие вопросы задают на технических интервью, смотри видео.YouTubeMiddle из бигтеха проходит собеседование на Backend разработчика🎓 Курс по Backend разработке, на котором я готовлю востребованных разработчиков. Начинай бесплатно или записывайся на экскурсию: https://tinyurl.com/yxhv6fy9 ☘️ Готовься к собеседованиям бесплатно на Солвит: https://solvit.space/l/nngeay Забрать памятку…
Артём Шумейко
4 июл., 11:12изменён
Новый HTTP-метод. 0_о ЧТоОоО??Все уже давно привыкли к GET, POST, PUT, DELETE и прочим ребятам, как вдруг решили добавить новый метод QUERY!Это не шутка если что. Вот официальный RFC двухнедельной давности.Кому лень читать, кратенько объясню проблематику и почему это классный метод стоит юзать в будущем.Очень часто в GET запросах хочется передать туеву хучу параметров, например, для фильтров, сортировки, поискового запроса и прочих параметров. Но! Во-первых, длина URL часто ограничена веб-серверами и браузерами. Во-вторых, это просто тупо неудобно для разработчиков и тестировщиков.Поэтому многие разработчики для запросов, которые должны просто отдавать данные (то есть по семантике должен был быть GET) делали POST, так как в нем можно напихать бо́льшее количество параметров в удобном джейсончике.Что теперь? Новый метод QUERY совместил часть семантики GET: кэшируемость,


Артём Шумейко
29 июн., 10:28
ПОСЛЕДНИЙ ДЕНЬ НАБОРА НА КУРССегодня в 23:59 по МСК закрываю набор учеников на курс по параллелизму и конкурентности в Python.Курс для тебя, если ты: — Уже работаешь Python-разработчиком, но чувствуешь, что знания по async заканчиваются на async/await и gather— Хочешь увереннее проходить собеседования на Middle/Senior позиции, где спрашивают event loop, GIL, потоки, процессы, очереди и продакшен-кейсы— Работаешь с FastAPI, aiohttp или другими асинхронными технологиями и хочешь понимать, что происходит под капотом— Хочешь разобраться, как строить высоконагруженные распределенные приложения, которые не тормозят и не падаютНа курсе мы будем разбирать и чинить полноценный продакшен-проект сервиса доставки продуктов.Проблемы, которые ты научишься решать: 1️⃣ Как обрабатывать timeout, retry, rate limit и нестабильные внешние сервисы


Артём Шумейко
28 июн., 13:28
Похоже, места на курсе по параллелизму постепенно заканчиваютсяИ уже в понедельник, 29 июня в 19:00 МСК, мы проводим первую онлайн-встречу с участниками курса.Познакомимся, обсудим программу, проект, домашки, формат обучения и вообще поймём, кто все эти люди, которые добровольно решили разбираться с конкурентностью, дедлоками и Kafka 😇Кстати, на картинке почти реальный состав созвона)Если ты всё ещё в раздумьях, стоит ли идти на курс, сейчас самое время задать все вопросы.Напиши в @artem_shumeiko_support, расскажем про программу, формат, домашки, нагрузку и поможем понять, подойдёт ли курс именно тебе


Артём Шумейко
27 июн., 11:51
Разбираем тестовое задание для Junior Python Backend разработчика👉 Новое видео: YouTube | VK | RutubeВ новом видео вместе спроектируем API и структуру базы данных, обсудим, как правильно хранить секретные данные, чем отличаются хеширование, шифрование и кодирование, а затем реализуем решение на Python с использованием асинхронности и PostgreSQL.Также поговорим о типичных ошибках, которые допускают начинающие разработчики, разберем производительность хеширования паролей, особенности работы с базой данных и в конце я дам рекомендации, как можно доработать проектYouTubeРешаю тестовое задание на Python Junior Backend | Используем хэширование, шифрование, кодирование🎓 Занимай место в анкете предзаписи на курс "Параллелизм в Python на продакшен примерах" и фиксируй за собой самые выгодные условия: https://tinyurl.com/mt4mrhzs Телеграм-канал, где я пишу о Параллелизме и конкурентности в Python: https://t.me/+2BDciec24pxiMmJi…
Артём Шумейко
26 июн., 10:36
А хватит ли мне скилов на курс?Периодически получаю вопросы по типу "блин, а точно ли мне хватит текущих навыков? может сначала ещё подтянуть что-то?"Давай нормально разложу)Для старта тебе нужно иметь минимальный опыт работы с FastAPI, PostgeSQL и Git. Все это осваивается достаточно быстро и это единственные минимальные знания, которые нужны для курсаНе нужно заранее идеально знать async, потоки, процессы или Kafka, как раз это ты и будешь изучать на курсе.Если у тебя уже есть опыт в разработке, на курсе будешь чувствовать себя комфортно. HTTP, базы данных, очереди, API, кэш, скорее всего ты уже с этим сталкивался, а на курсе начнёшь глубже понимать как всё это работает под нагрузкой и в проде.Если с Redis, Kafka, TaskIQ, вебсокетами или мультипроцессингом раньше не работал, вообще не проблема. Мы всё это разбираем постепенно на одном большом проекте.Самое тяжёлое на

