javascript
Как я построил кеш страниц для многодоменного проекта с помощью PVC и кастомного подхода

У меня был проект, где один Next.js сайт обслуживал несколько доменов, и возникла задача - эффективно кешировать страницы, чтобы не пересоздавать их каждый раз. Сначала я попробовал внедрить кеширование через Redis: я написал хендлер, подключил его, но вскоре обнаружил, что Redis потребляет колоссальный объём оперативной памяти - порядка 100 ГБ, и это при том, что ещё не все запросы были закешированы. Тогда я решил поискать другой подход и обратил внимание на PVC - общее хранилище, которое могл…

  • вторник, 28 апреля 2026 г. в 00:00:10
javascript
Пишем быстрые UI-автотесты без флаков, стендов и боли: изоляционный подход в CI/CD

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

  • вторник, 28 апреля 2026 г. в 00:00:09
javascript
Два пути к идеальному DatePicker: классический промптинг или системный подход по работе с AI

Привет, коллеги! Сегодня мы копнем в самую суть инженерного подхода. На повестке дня - сравнение двух кардинально разных философий создания сложного UI-компонента. Это не просто рассказ о DatePicker, это анализ стратегического выбора, который каждая команда делает каждый день: скорость в ущерб предсказуемости или наоборот?Исходный код доступен по ссылке: https://github.com/Codesrc-public-ru/ralf-datapickerЗа основу мы возьмем два реальных кейса. Первый - «AI-драфтинг», отлично описанный нашей с…

  • вторник, 28 апреля 2026 г. в 00:00:07
javascript
Баги n8n v4.4 и загрузка файлов в VK API: лечим ERR_UPLOAD_BAD_SIGNATURE и потерю метаданных

Автоматизация выгрузки отчетов в социальные сети часто превращается в каскад ошибок из-за специфики API и скрытых багов инструментов. В этой статье разберем, как загрузить Excel-отчет на сервера ВКонтакте (метод docs.save) через n8n v2.11.3, победить «тихое» затирание бинарных данных и исправить некорректную работу узла HTTP Request v4.4.Проблема: Двухэтапная загрузка и хрупкая подписьЗагрузка файлов в VK — это всегда два шага: сначала получение upload_url, затем POST-запрос с файлом. Главная с…

  • вторник, 28 апреля 2026 г. в 00:00:05
javascript
Frontend Status: свежий дайджест фронтенда и AI — 27.04.2026

Frontend Status: Привет! Свежий дайджест фронтенда и AIПривет!Это четырнадцатый выпуск Frontend Status — дайджеста по фронтенд-разработке.В этом выпуске:📺 Vue на развилке роста: разбираем State of Vue 2026, чтобы понять, куда вложить время сегодня и не чинить стек завтра.🤖 AI без иллюзий, но с результатом: от генеративных UI и reasoning-RAG до правил, которые уменьшают «переписывание ради переписывания» в код-ассистентах.🛡️ Безопасность как конкурентное преимущество: сверяем npm-практики по OWA…

  • вторник, 28 апреля 2026 г. в 00:00:02
golang
Деконструкция GO: CPU, RAM и что там происходит. Системные вызовы. Часть 1.5

Итак, финал части 1! По крайней мере основного разбора без дополнений. Собственно, сегодня мы разберем то, чем в основном с точки зрения ядра ОС и CPU являются все вот эти ваши бэкенды – системные вызовы и всё, что вокруг них.На самом деле механизм немного замудренный и “в лоб” сразу все эти системные вызовы мы разбирать не будем, потому что вокруг них существует ещё несколько концепций.Итак, начнем!User mode, Kernel modeПроцессор исполняет код в разных уровнях привилегий.Это механизм защиты, к…

  • понедельник, 27 апреля 2026 г. в 00:00:11
golang
Проектируем сервис HTTP-запросов: Kafka, PostgreSQL, Redis-очередь и миллионы логических партиций

Для тех, кому хочется сразу посмотреть код: репозиторий сервиса — в конце текста.Откуда задачаНужен сервис, который централизованно выполняет исходящие HTTP-запросы для экосистемы микросервисов и интеграций. Постановка на уровне требований:Два режима входа — и синхронный (ответ нужен вызывающей стороне), и асинхронный (достаточно принять задачу и отдать результат «куда-то ещё»).Два канала постановки — удобно и через HTTP API, и напрямую в Kafka (без лишнего hop через HTTP).Rate limit — защита к…

  • понедельник, 27 апреля 2026 г. в 00:00:10
golang
Динамический ресайзинг изображений (Image Previewer)

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

  • понедельник, 27 апреля 2026 г. в 00:00:09
javascript
Как я автоматизировал ведение финансов в Obsidian. Часть 1

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

  • понедельник, 27 апреля 2026 г. в 00:00:06