📚 Я нашел лучший способ для обучения. Пошаговый гайд. Последний месяц я тестирую связку двух инструментов от Google, которая стала для меня настоящим открытием. Делюсь гайдом. 📔 Первый этап: NotebookLM Это база для хранения знаний. Его главная фишка в том, что он работает исключительно с вашим контекстом и загружать в него можно много информации. Что я делаю на этом этапе? Загружаю туда разные ресурсы на конкретную тему (книги, статьи, ссылки). В результате NotebookLM считывает весь контекст и...
Maxim Korobov — DevBlog
Мой путь в IT/Саморазвитии по вопросам: @mkorobovv
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
16 из 16🛠 Автоматизация деплоя в Github Actions В продолжение предыдущего поста, делюсь своим рабочим workflow. Этот конфиг сэкономил мне кучу времени на сборку, тесты и деплой моих пет проектов на бою. 👀 Что внутри? 1️⃣ Linter - перед билдом запускается обязательная джоба с линтером. 2️⃣ Tests - если линтер прошел, то запускаются тесты из репозитория. 3️⃣ Build and Push - собираем Docker-образ и пушим его в Container Registry. 4️⃣ Deploy - Триггерим Dokploy через Webhook, и он сам подтягивает свежий ...
Как выжать максимум скорости из БД? 🚀 Ситуация, наши данные хранятся в кластере с несколькими хостами и мы хотим получить максимально быстрый ответ, индексы и SQL-оптимизации уже сделали, но все еще не то, что надо. Hedged Requests Вместо ожидания одного конкретного узла, мы отправляем запрос сразу на все реплики параллельно. Кто первый прислал ответ тот и победил. Остальные запросы отменяются. Как это выглядит на практике? 1. Создадим n независимых горутин на каждый хост 2. Используем общий ко...
🚀 Эволюция разработчика 2026: Почему быть просто "кодером" уже недостаточно Чтобы преуспеть в разработке в 2026 году, мало быть просто хорошим программистом. Нужно быть T-shaped. Что такое T-shape? Простыми словами, это такой человек, который глубоко понимает свое основное направление (например Go, Rust, Python, Java и тд.), но в то же время разбирается в смежных специализациях. Почему T? Если разобрать эту букву на две части то получим следующее. 1️⃣ I (глубина знаний) Это ваша ключевая экспер...
Как я открыл деплой моих проектов без боли ⚙️ Недавно я решил изучить вопрос деплоя моих пет проектов на VPS. Изначально это выглядело просто ужасно. Приходилось писать копоуз на сервере, потом git pull и в конце docker compose up -d. Мне показалось это жутко неудобным, так как при добавлении нового пет проекта приходилось бы проделывать ту же процедуру, а если что-то упало, то узнаю об этом последним. И вот я наткнулся на Dokploy. Возможно вы слышали про про PaaS типо Vercel, Heroku, которые по...
Проблема Dual Write или как не терять данные в микросервисах Частый вопрос на собеседованиях и классическая ловушка для новичков. Представим сервис заказов: нужно обновить статус в БД и отправить событие в брокер (Kafka/RabbitMQ). Если делать это по очереди, мы рискуем: запись в БД пройдет, а брокер упадет. Данные разошлись, система в неконсистентном состоянии. Объединить их в одну транзакцию нельзя т.к. разные системы. Решение - паттерн Transactional Outbox: 1. В одной транзакции обновляем зака...
ah shit, here we go again
⭐️⭐️ В высоконагруженных системах сотни сервисов общаются друг с другом каждую секунду, и любой простой напрямую влияет на бизнес. Когда latency внезапно вырастает в 5 раз, а алерт приходит среди ночи — хочется не гадать, а точно понимать, что произошло и почему. Максим Коробов, Go-разработчик, в новой статье на Хабре рассказывает: ⏹️Чем monitoring отличается от observability — и почему Prometheus ≠ решение всех проблем; ⏹️USE, RED и 4 Golden Signals — что реально работает в продуктовых ко...
Как я потерял сообщения из Kafka Однажды на работе столкнулся с неприятным багом - часть сообщений просто не доезжала до сервиса. Написал consumer с commit после обработки сообщений, казалось, всё ок. Но часть сообщений до сервиса не доезжала. Источник работает по at-least-once, в Kafka сообщения точно попадали. Начал разбираться, как оказалось, по дефолту в Kafka включён автокоммит: enable.auto.commit=true # Включить автокоммит auto.commit.interval.ms=5000 # Автокоммит раз в 5 секунд Какая здес...
Вот и пришло время подвести итоги года! Кажется, что он пролетел незаметно, но, оглянувшись назад, понимаю, что удалось сделать немало. - Прочел 2 книги. Раньше я не любил читать, и это первый раз по собственной инициативе. И мне действительно понравилось. - Закончил 3 курс в универе и вышел на финишную прямую к получению первого диплома. - Вырос профессионально, начал брать больше ответственности на себя. - Завел телеграм канал и не забросил его. - Побывал в 4 странах из которых 3 для меня абсо...