Pull to refresh
1
@LuminiteTimeread⁠-⁠only

User

Send message

Big Data больше не для гигантов: связка Airflow + ClickHouse вытеснила Airflow + PostgreSQL

Reading time3 min
Reach and readers7.9K

Открываю ноутбук. Захожу в метрики своего интернет-магазина. 500 тысяч посетителей в день. Каждый клик — событие. Каждый просмотр товара — строка в логах. Каждое добавление в корзину — ещё одна строка.

За месяц — 15 миллионов событий. За год — почти 200 миллионов. Это не Google. Не Amazon. Это обычный средний магазин на ~100 человек.

А теперь умножьте это на количество таблиц: пользователи, заказы, платежи, доставки, отзывы, просмотры, лайки, рефералы, купоны, возвраты...

Поздравляю. Вы уже работаете с Big Data. В 2026 году это уже не привилегия корпораций, а стандарт ведения цифрового бизнеса. И как следствие этой "гонки вооружений" произошла тектоническая смена ориентиров. Классическая связка Airflow + PostgreSQL, которая ещё вчера считалась золотым стандартом, сегодня стремительно сдает позиции. Её место уверенно занимает дуэт Airflow + ClickHouse — технологический фундамент современной инженерии данных.

Читать далее

Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб

Level of difficultyHard
Reading time17 min
Reach and readers9.2K

В статье показываем контракты будущей OLTP-СУБД: как разделены слои ядра, зачем нужен per-tablespace page size, почему конфигурация уходит в adaptive tuning и как мы встраиваем USDT/eBPF-наблюдаемость прямо в бинарник.

Читать далее

От больной спины к киберстанции: идеальное рабочее место в кино

Reading time7 min
Reach and readers16K

Привет, Хабр!

Я Денис Захаров — программист и разработчик первой в России киберстанции E‑station (история создания здесь).  В прошлых статьях я рассказывал, что проблемы со спиной сделали работу в обычном кресле просто пыткой, а купить иностранный космолет было нереально. Пришлось делать свой. Также я упоминал, что вдохновлялся зарубежными аналогами типа Altwork station, Okamura Cruise, lClubby. Но это были не единственные источники вдохновения. Поэтому сегодня хочу сделать обзор станций в легендарных научно-фантастических произведениях.

Читать далее

Kafka для начинающих: Apache Avro и Schema Registry (практика)

Level of difficultyMedium
Reading time14 min
Reach and readers11K

Переводим нашу платформу с JSON на Apache Avro и Schema Registry. Заменяем сериализаторы и десериализаторы, генерируем классы из схем и разбираем разницу между GenericRecord и SpecificRecord.

Практика на реальном проекте.

Читать далее

Мой VPN пережил белые списки. Архитектура из 4 уровней за 265₽ в месяц

Level of difficultyEasy
Reading time6 min
Reach and readers179K

Сделал себе VPN, который:

— работает через VLESS Reality, неотличимый от обычного HTTPS

— пробивает белые списки мобильных операторов через relay на Yandex Cloud

— имеет готовый код для аварийного канала через WebRTC и Яндекс.Телемост (пока не понадобился) — автоматически переключается между 4 уровнями защиты

— пропускает российские сайты (Яндекс, Госуслуги, банки) напрямую, без VPN

Весь код, конфиги, скрипты деплоя — всё написал Claude Code. Я только описал проблему и дал ему почитать несколько статей с Хабра про блокировки. Ну и бил его кнутом, пока всё не заработает.

Расскажу, как это устроено и как повторить.

Читать далее

Kotlin для новичков: всё о функциях за 15 минут

Level of difficultyEasy
Reading time7 min
Reach and readers9.6K

Продолжаем серию «Kotlin для новичков»!

В прошлых статьях мы настроили IDE, разобрались с переменными и типами данных, научились управлять потоком программы через условия и циклы. Пришло время сделать следующий шаг — освоить функции.

В этом туториале вы узнаете:

▪️ Как объявлять функции и чем это отличается от Java.
▪️ Что такое именованные аргументы и значения по умолчанию (и почему это круто).
▪️ Как работает стек вызовов и области видимости.
▪️ Главные best practices, которые используют в разработке.

Читать далее

Домашний сервер, Matrix-чат с близкими и личная автоматиция через OpenClaw

Level of difficultyEasy
Reading time7 min
Reach and readers13K

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

Читать далее

Как кодинг-агенты используют инструменты, память и контекст репозитория, чтобы писать код лучше

Reading time13 min
Reach and readers8.2K

Это перевод хорошей статьи про базу того, как устроены кодинг-ассистенты и что для них важно: что такое харнесс и харнесс-инжиниринг, в чем разница просто агентной обвязки и кодинговой, что такое компактизация и почему та же самая модель в консольке ощущается мощнее, чем просто в веб-чате.

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

Читать далее

Масштабируем OpenClaw: Docker, Kubernetes и отказоустойчивость

Level of difficultyMedium
Reading time12 min
Reach and readers10K

Запущенный на сервере OpenClaw решает большинство задач, которые пользователи ставят перед агентами. Для личного использования, параллельных запусков и несложной автоматизации его возможностей хватит с запасом. Одного VPS перестает хватать, когда приходят они: пиковые нагрузки.

В продакшене пиковые нагрузки у OpenClaw появляются раньше, чем можно ожидать. И когда это случается, варианта остается два: подбросить в печь больше вычислительных мощностей или пересмотреть архитектуру. Если второй вариант вам ближе, то эта статья для вас. Сегодня мы разберем контейнеризацию в Docker, отказоустойчивый деплой через Kubernetes, а также управление stateful-хранилищем, без которого стабильный запуск нескольких инстансов невозможен.

Все на борт!

Хакинг бытовых устройств программно-определяемым радио: от теории радиоволн к первому взлому

Level of difficultyEasy
Reading time13 min
Reach and readers24K

Вокруг каждого из нас постоянно что-то «шумит» в радиоэфире: брелоки от шлагбаумов, датчики «умного дома», метеостанции, беспроводные звонки. Огромный пласт бытовой электроники работает на частоте 433 МГц и не защищен от анализа и воспроизведения сигналов. Зачастую безопасность этих устройств держится на честном слове и надежде производителя, что «никто не будет в этом ковыряться».

Раньше, чтобы исследовать радиоэфир или изменить параметры сигнала, нужно было брать в руки паяльник и пересобирать колебательный контур. С приходом SDR (Software Defined Radio) правила игры изменились. Теперь радио — это не столько «железо», сколько математика и программный код. Любой сигнал можно визуализировать, разобрать на биты и собрать заново, не отходя от ноутбука.

В этой статье пройдем путь от теории к практике SDR-реверсинга бытовой техники. Вспомним необходимый минимум физики, разберем «зоопарк» доступных SDR-устройств — от копеечных свистков до USRP — и реализуем три вектора атаки на обычный беспроводной звонок: от простого перехвата до чистого программного синтеза сигнала.

Читать далее

Архитектура мультиканального Discord/Telegram voice-бота на Spring Boot: архитектура, грабли и production-решения

Level of difficultyHard
Reading time13 min
Reach and readers6.7K

Как я собрал мультиканального voice-бота на Spring Boot, который объединяет Discord, Telegram и веб-панель в одной системе.

Разбираю архитектуру, работу с голосом (TTS, запись каналов), интеграцию JDA + LavaPlayer и реальные проблемы продакшена — от memory leaks до ограничений Telegram API.

Читать далее

Как проектировать бизнес‑логику в микросервисах: 3 правила агрегатов, которые работают

Level of difficultyMedium
Reading time10 min
Reach and readers6.8K

Когда бизнес-логика становится сложной, микросервисы из удобного инструмента превращаются в источник боли. Классические «сценарии транзакций» приводят к монструозным классам и распределённым транзакциям, которые невозможно поддерживать.

В этой статье разберу, как DDD и агрегаты помогают проектировать бизнес-логику так, чтобы она не разваливалась под нагрузкой. Покажу на реальном примере HR-сервиса:

▫️ почему объектные ссылки между сервисами — зло;
▫️ как одно правило «транзакция = один агрегат» меняет архитектуру.

Читать далее

Claude отключил мне OpenClaw. Штош… я написал замену TG+Claude Max по oAuth

Level of difficultyMedium
Reading time5 min
Reach and readers12K

В субботу Anthropic заблокировал мой рабочий сетап, построенный на oAuth Claude Code и Telegram. Вместо того чтобы ждать, я за вечер написал self-hosted замену с блэкджеком и постоянной памятью. Рассказываю, как устроен TeleClaude — опенсорсный инструмент, который позволяет управлять проектами через топики в Telegram, используя вашу локальную подписку Claude с лимитами из oAuth. Никаких облаков, API и дополнительных трат. Разбираю архитектуру, систему памяти и показываю, как запустить у себя.

Читать далее

Техдолг как невидимый налог: почему бизнес платит за него дважды, но не знает об этом

Level of difficultyEasy
Reading time5 min
Reach and readers6.9K

Разработчик приходит к руководству и говорит: «Нам нужен рефакторинг». Руководство слышит: «Мы хотим потратить деньги и ничего не выпустить». Дальше — тишина, новый спринт с новыми фичами и ещё один слой технического долга сверху.

Посчитать свой техдолг

Навыки в OpenClaw: установка, создание и защита от вредоносных наборов

Reading time8 min
Reach and readers13K

341 вредоносный навык на 2857 проверенных — и это только то, что нашли. Навыки в OpenClaw — это не плагины и не контент. Это инструкции, по которым агент читает файлы, запускает команды и ходит в сеть. Одна неудачная установка из ClawHub — и вы отдали незнакомцу выполнение кода в привилегированной среде. Разбираемся, как устроена система навыков, как писать свои, где они хранятся, почему порядок приоритета важнее, чем кажется, — и что делать, чтобы удобство не обернулось инцидентом.

Читать далее

Как я обошёл блокировку Anthropic для сторонних агентов и вернул все на подписку — пошаговый гайд

Level of difficultyEasy
Reading time5 min
Reach and readers12K

Anthropic отключила сторонние инструменты от подписки — теперь всё, что не Claude, идёт в Extra Usage по ценам API. Мой агент на Opus за вечер нажигает на десятки долларов. Я потратил вечер на то, чтобы разобраться, как именно Anthropic детектит сторонние запросы, и нашёл способ обойти блокировку. Ни одного гайда я еще не видел. Оказалось, что всё сводится к двум именам инструментов из семнадцати — этого достаточно, чтобы сервер понял, что запрос не от Claude Code. В статье весь путь от гипотезы до работающего решения, плюс пошаговый гайд для тех кто хочет повторить.

Читать далее

Kotlin для новичков: всё об условиях и циклах за 15 минут

Level of difficultyEasy
Reading time7 min
Reach and readers7.5K

Продолжаем серию «Kotlin для новичков»! Сегодня разбираем самое сердце любого кода — управляющие конструкции: if, when, for, while.Вы узнаете, почему if в Kotlin — это не просто оператор, а выражение, как when заменяет целые лесенки else-if, и чем for по диапазонам лучше классического цикла. Реальные примеры и лучшие практики и история о том, как мы отрефакторили 300 строк спагетти-кода в 80 строк с помощью when и диапазонов. Читайте, чтобы писать чистый и понятный код на Kotlin.

Читать далее

Data as Code на практике: создаем, версионируем и делимся модулями БД с помощью ArchDB

Level of difficultyMedium
Reading time29 min
Reach and readers6.7K

Представьте: вы заходите в репозиторий, открываете папку schemas и через пять минут понимаете, как устроена база во всём проекте, со всеми связями. Никаких устаревших диаграмм в Confluence, никаких гаданий по коду миграций. Схема базы данных становится частью кодовой базы — её можно версионировать, рецензировать и тестировать. Модель в формате ArchDB становится единым источником истины, из которого автоматически генерируются документация, DDL-скрипты и даже ORM-сущности. Звучит как мечта? Для нас с командой это стало реальностью, когда мы перешли на ArchDB.

Читать далее

EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно

Level of difficultyMedium
Reading time5 min
Reach and readers9.2K

Привет, Хабр!

Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже.

Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил.

Понять PostgreSQL

OpenClaw переписали на Go и уместили в один бинарник на 35 МБ. Зачем и что это даёт

Reading time3 min
Reach and readers22K

OpenClaw — это 180K звёзд на GitHub, но и 800 МБ node_modules, конфликты зависимостей и Node.js рантайм. Кто-то переписал его на Go: один бинарник на 35 МБ, 3-5x меньше RAM, деплой в одну команду. Разбираю, зачем это было нужно, что даёт мультиагентная архитектура на горутинах, и имеет ли смысл переходить с OpenClaw.

Читать далее

Information

Rating
Does not participate
Registered
Activity

Specialization

Десктоп разработчик, Бэкенд разработчик
From 80,000 ₽
Git
Python
ООП
Английский язык
Java
Spring Boot
Junit
Intellij IDEA
Объектно-ориентированное проектирование
Разработка программного обеспечения