Обновить
33
Зеленый Андрей Сергеевич@Green21

Пользователь

13
Подписчики
Отправить сообщение

Под капотом Kafka: путь сообщения от send() до commit offset. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4.8K

Привет, Хабр! Меня зовут Максим Шуматбаев, я инженер технической поддержки в Arenadata. Это вторая часть разбора, что на самом деле происходит при работе клиентских приложений с Kafka-кластером. В первой части мы проследили запись от получения метаданных до транзакций и exactly-once. Теперь очередь второй половины пути: как потребитель получает данные, делит партиции с другими участниками группы, фиксирует прогресс и почему иногда начинает отставать.

Читать далее

Свой VPN для дома и семьи: дёшево, просто, без знаний Linux

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели124K

Несколько лет назад я перестал доверять чужим VPN. Не из паранойи, а по скучной причине: бесплатный сервис живёт на твоих данных, платный - на твоём доверии, и оба разом отваливаются, когда их блокируют. А блокируют сейчас волнами, под выходные особенно.

Свой сервер звучит как “ну, надо быть админом”. Не надо. У меня на одном таком сидят жена и пара друзей, подняли за вечер пару лет назад, и с тех пор я к нему почти не прикасаюсь. Ниже - как поднять свой VPN на дешёвом VPS, и про грабли, которые обычно обходят молчанием.

Читать далее

Сборка Docker для микросервисов: 7 шагов к идеальному образу

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели13K

В этой статье разбираем важную тему микросервисной архитектуры — «толстые» образы. Приведен пример реальной практики снижения размера с 800 МБ до 120 МБ, почему Uber перешел на distroless и как 7 простых шагов по multi-stage сборке сделают ваш деплой в разы быстрее и безопаснее. Будут схемы слоев и реальные цифры. Под катом — готовый рецепт оптимального образа для продакшна.

Перейти к статье

Создатель Redis написал ИИ-распознавание речи на чистом C — без Python и зависимостей

Время на прочтение2 мин
Охват и читатели28K

Создатель Redis Сальваторе Санфилиппо (antirez) выложил на GitHub проект voxtral.c — реализацию инференса модели Voxtral Realtime 4B от Mistral на чистом C. Модель с 4 миллиардами параметров распознает речь в текст, работает с микрофона или из аудиофайлов, а весь процесс сборки укладывается в одну команду make. Внешних зависимостей — ноль: ни Python, ни PyTorch, ни vLLM.

Читать далее

Мы научили ИИ писать настоящий код для Postgres

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.9K

Когда ИИ за секунды генерирует «нормальную» схему Postgres, соблазн принять её как есть слишком велик. Проблема в том, что в этих схемах часто прячутся тихие минные поля: неудачные типы данных, странная индексация, путаница с идентификаторами, ловушки с временем и миграциями — всё то, что не ломает сборку сегодня, но превращается в боль через полгода в продакшене.

В статье разберем, почему универсальные LLM регулярно промахиваются по нюансам именно Postgres, и как авторы пытаются закрыть эту дыру через pg-aiguide: набор «навыков» с лучшими практиками, версионный семантический поиск по официальной документации и интеграцию с код-агентами через MCP/плагин.

Читать далее

Книга «Python для инженерных задач»

Время на прочтение5 мин
Охват и читатели18K

Приветствуем, коллеги.

Расскажем вам о нашей долгожданной новинке – «Python для инженерных задач». Эту книгу написал уважаемый Евгений Ильин @jenyay, кандидат технических наук, преподаватель Московского Авиационного Института. В основу книги легли его университетские наработки, объём более чем внушительный – 672 страницы. Тем не менее, поскольку эта книга ориентирована на самую широкую аудиторию инженеров, мы решили выпустить её в серии «Самоучитель», из которой вам также может быть известен знаменитый «Компас-3D  V 23» Анатолия Герасимова.

Читать далее

Почему Я выбираю Spring Data JDBC

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.3K

Реляционные базы данных по-прежнему остаются главным хранилищем наших данных. А значит, вопрос выбора инструмента отображения данных из БД на уровне приложения - всё так же актуален.

Долгое время я выбирал: Spring Data JPA. Уверен, что большинства из вас — тоже. Но времена меняются, и в 2025 для своих новых проектов я использую — Spring Data JDBC.

Почему? Если вам стало любопытно — добро пожаловать под кат.

Читать далее

context-async-sqlalchemy — лучший способ использовать sqlalchemy в async python приложении

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8K

Привет! Хочу рассказать о своей новой библиотеке context-async-sqlalchemy, которая помогает очень просто работать с sqlalchemy в async python приложениях. Минимум кода для простых сценариев, но и максимум свободы для сложных.

Читать далее

Отправляем Elasticsearch в отпуск: полнотекстовый поиск на одном PostgreSQL

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели15K

Зачем сразу тянуть в проект тяжёлую артиллерию типа Elasticsearch, если нужно просто поискать по тексту статей? Ведь у PostgreSQL есть свой, встроенный полнотекстовый поиск. Многие о нём забывают.

Читать далее

Выбор между RabbitMQ и Apache Kafka

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели14K

Если вы задаётесь вопросом, что лучше — Apache Kafka или RabbitMQ, или думаете, что RabbitMQ надёжнее Apache Kafka, хочу сразу остановить вас. Эта статья рассматривает обе системы с более широкой точки зрения и сосредоточится на функциональности, которую они предоставляют. Это поможет вам принять обоснованное решение о том, какую систему использовать и в каких случаях.

Kafka vs RabbitMQ

Вышел Spring Framework 7.0

Время на прочтение1 мин
Охват и читатели8.6K

Spring команда выкатили GA релиз Spring Framework 7.0 — это старт нового поколения фреймворка с фокусом на Java 25 и фундамент для Spring Boot 4.0, который на момент выпуска поста пока не вышел в GA.

Что нового...

Читать далее

Kafka для начинающих: Гарантии доставки на практике и идемпотентность

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели14K

Почему exactly-once — это миф? Как защититься от дубликатов в распределённых системах?

Продолжаем работу с Kafka на практике и рассматриваем более интересные темы.

Читать далее

Мой домашний Kubernetes, или DevOps-«песочница» на домашнем ПК

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели17K

Наряду с развитием искусственного интеллекта, облачные вычисления названы основополагающей технологией будущего. Наверное, многие слышали, как важны и ценны знания Docker и Kubernetes в современном мире ИТ. Но как подступиться к этим технологиям, если ранее с ними вы не сталкивались?

Я всегда считал, что серьезные вещи начинаются с малого, но это малое должно быть самой сутью интересующего феномена. Предлагаю разобраться, как работает полнофункциональное веб-приложение, реализующее современный стек технологий и, конечно же, развёрнутое в кластере Kubernetes. Сделав первый шаг, вы всегда сможете продолжить свой путь исследования, заниматься самообразованием и отладкой разнообразных приложений, реализующих различные подходы, в том числе и самые современные.

Читать далее

Docker изнутри: исчерпывающее руководство. Механизмы контейнеризации + примеры, эксперименты и реализация

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели137K

Docker — не магия, а грамотное применение механизмов Linux. Разбираем инструмент, который пугает своей сложностью не меньше блокчейна. Показываем на пальцах как работают: Namespaces, Cgroups, OverlayFS – основные компоненты любого контейнера, и как стандарт OCI объединяет их в единую экосистему. Об этом и не только в статье.

Читать далее

Паттерны ООП в 10 минутах от вас… Поведенческие шаблоны с примерами на Java

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели19K

Ночь. Курсор мигает, как маяк в тумане. Логи шепчут о том, что в коде — своя улица, свои правила и кодекс общения. Объекты — не безмолвные элементы системы. У каждого свой характер, привычки и слабости. Один щёлчок и поведение меняется: кто-то отдаёт приказы, кто-то внимательно прислушивается, а кто-то терпеливо ждёт сигнала. Эта статья — карта такого города.

Всем привет! Меня зовут Бромбин Андрей и сегодня разберёмся в поведенческих паттернах ООП. Короткие определения, идеи через ясные метафоры и рабочие примеры на Java. Всё это для того, чтобы система не трещала по швам, а решения были ясными, предсказуемыми и поддерживаемыми.

Шаблонизироваться

Как понять, что пора менять компанию, а не просто проект

Время на прочтение3 мин
Охват и читатели21K

Иногда кажется, что ты просто устал. Хочется сменить проект, внедрить новые технологии, чтобы было чуть меньше алертов в три ночи. Но проходит полгода — и снова дежавю: тот же прод, те же пожары, то же чувство, что растёшь только в умении чинить хаос.

А что, если дело не во временном выгорании? Вдруг это система, в которой вы работаете, тянет вас на дно? Мы собрали главные признаки, которые кричат о том, что пора начинать ресерч вакансий — если вы узнали в этих пунктах себя и свою работу, значит, дело не в проекте, просто ваш рост уперся в потолок возможностей, которые может предложить текущий работодатель.

Читать далее

Как сканировать Docker-образы на уязвимости

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.9K

Представьте: вы скачали готовый образ с Docker Hub, запустили контейнер, и вдруг ваш сервер становится частью ботнета. Как этого избежать? 

Рассказываем 3 простых способа сканирования образов

Trivy — сканер для ленивых (но эффективный)

Читать далее

Как мы за 1.5 года переобучили с PHP на Java всех разработчиков

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7K

В прошлой статье мы рассказали, почему Compo Soft решила уйти от привычного PHP‑стека и перейти на Java ради выхода в сегмент Enterprise. Но если кто‑то подумал, что за этим решением последовал массовый найм Java‑разработчиков — нет. Мы пошли по куда более хардкорному пути: взяли всю свою PHP‑команду и начали переобучать ее на Java. Полностью c нуля. И без отрыва от производства.

Читать далее

6 Docker-фич для продвинутого использования

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели29K

Docker давно перестал быть просто инструментом для упаковки приложений в контейнеры. Сегодня это целая экосистема с множеством возможностей, о которых многие разработчики и даже DevOps специалисты догадываются лишь поверхностно.

В этой статье я расскажу о некоторых функциях Docker, которые редко попадают в учебные руководства и официальные туториалы, но которые могут облегчить жизнь разработчикам и понять Docker чуть глубже. По ходу статьи фичи будут переходить от более известных к менее известым (подобно когда-то популярному формату айсбергов)

Погрузиться

Виртуальные потоки в Java: эволюция, практика, подводные камни

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели12K

Привет! Меня зовут Денис, я руковожу группой R&D в Naumen Service Management Platform. В этой статье — разбор виртуальных потоков (VT) в Java: почему исторически обычные потоки упирались в I/O, как и зачем появились виртуальные потоки, что пошло не так в Java 21, что исправили в JDK 24–25, а также когда виртуальные потоки необходимы, а когда — лучше от них отказаться.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Краснодар, Краснодарский край, Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Фулстек разработчик, Инженер технической поддержки
Старший
Web
RESTful WebServices.
RESTful API
Fullstack
NestJS
Vue.js
TypeScript
TypeORM
C#
Python