Feed aggregator

Кэш — это холодильник: TTL, инвалидация и cache stampede

Habr.com - Thu, 08/13/2026 - 16:15

Объясню кэш через холодильник, а потом покажу, где эта аналогия ломается, и что с этим делают в проде.

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

Читать далее

Агентная правка багов, ч. 1: всё для отладки

Habr.com - Thu, 08/13/2026 - 16:07

Соавтор статьи — Сергей Левенец, CTO в команде ТестОпс.

Что останется делать людям, когда код будут писать машины? Практика показывает — на удивление много, без работы никто не останется. В двух статьях мы опишем реальный опыт создания внутреннего агента для исправления багов в команде ТестОпс. Расскажем, сколько такой агент экономит, как его отлаживать, и чем автоматическая правка отличается от диалога с Claude Code.

В команде ТестОпс разработка поставила себе задачу: ноль багов в бэклоге. Эта амбициозная задача запустила большую работу по исследованиям и разработке, в результате которой родился агент, способный исправлять и проверять баги. Команда стихийно назвала его «Агент Смит».

Написать первую версию агента было делом двух-трёх дней. Гораздо сложнее оказалось внести в него экспертизу — то есть отладить его шаги и настроить помощников. Для этого потребовалось и набить шишек в реальной работе, и изучить много научной литературы. Возможно, самым сложным и важным было научиться оценивать издержки от внедрения агента. Об этом мы и поговорим — но вначале разберёмся, как устроен сам «Смит».

Читать далее

Зуд от укуса комара или мошки — лютый биохимический прикол

Habr.com - Thu, 08/13/2026 - 16:02

Предположим, вас укусил комар прямо в задницу.

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

Прикол в том, что почесаться надо достаточно сильно, чтобы боль от царапин перекрыла сигнал зуда в спинном мозге. Тогда вы чувствуете облегчение на несколько секунд. Но механическое воздействие на это место усиливает выброс гистамина и цитокинов, и раздражение становится сильнее. А раздражение — главная причина зуда.

Есть ещё невероятный прикол с серотонином в этой же цепочке, но про него чуть позже.

Боль вообще-то — технология отрицательной обратной связи. Не делай, чтобы тебе не было больно. Не трогай горячее; не выгибай вот так руку; береги пораненную ногу; не бей организмом по кокосу, бей лучше камнем и так далее.

Зуд от укуса комара даёт положительную обратную связь. Чем больше зудит, тем больше зудит.

Часто бывает, что 90% итогового воспалительного процесса — это не комар и его токсины, это мы своими ногтями.

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

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

Читать далее

Grok 4.6 вышел: разбираем тесты и цену долгих задач

Habr.com - Thu, 08/13/2026 - 16:00

12 августа SpaceXAI выпустила Grok 4.6. Модель получила 500 тысяч токенов контекста, четыре режима рассуждения и явный уклон в длинную агентную работу. В первых тестах она держится рядом с сильнейшими конкурентами, а в CursorBench выходит вперед при средней стоимости 2,81 доллара за задание.

Цифра выглядит приятно. Почти так же приятно, как счет из ресторана, пока никто не вспомнил про вино. У Grok 4.6 таким вином стал длинный контекст: после 200 тысяч токенов тариф удваивается. Поэтому разберемся, где модель действительно прибавила, сколько стоит длинный прогон и кому есть смысл пробовать ее прямо сейчас.

Читать далее

Бесшовный переезд с Perl на Nuxt: история одного 20-летнего монолита

Habr.com - Thu, 08/13/2026 - 15:46

Привет, Хабр! Меня зовут Эрнест Гилязов, я тимлид группы разработки интерфейсов Рунити. В этой статье расскажу, как мы переносим на новый стек проект Рег.ру, кодовой базе которого исполняется 20 лет, и почему в итоге Nuxt-приложение само раздает шапку и футер в легаси-монолит через обычный JSON-эндпоинт.

Читать далее

Нужен ли радиатор для SSD, или почему чаще всего на нем можно сэкономить

Habr.com - Thu, 08/13/2026 - 15:39

Почти любой NVMe-диск сегодня выпускается в двух версиях: с радиатором и без. Разница в цене между ними выходит не такая уж и большая, поэтому многие не глядя берут более дорогую. Да и чего бы не взять? Доплата копеечная, зато на выходе получаешь диск, который точно не перегреется. Звучит логично, вот только чаще всего деньги улетают в трубу. Не потому, что есть сценарии, когда SSD не греется. Греется. Просто настоящая причина ставить радиатор лежит совершенно в другой плоскости, о которой почему-то почти не говорят.

Читать далее

Поиск в глубину: какие инструменты помогают работать поиску в Uzum Market

Habr.com - Thu, 08/13/2026 - 15:39

Всем привет! 

Меня зовут Дмитрий Шипилов, с вами команда поиска Uzum Market.

Мы уже рассказывали вам о нашем поисковом движке: о том, как вообще работает ранжирование и что у него под капотом и как мы получаем кандидатов с помощью векторного поиска

Но хороший поиск — это не только правильное ранжирование и мощная retrieval-часть. Хороший поиск — это набор различных инструментов и компонентов, собранных в сложную систему.  Поэтому в этой статье вы узнаете о важных вещах, без которых наш поиск не может обойтись, в том числе: как мы помогли опечаточнику понимать контекст нашего маркетплейса, почему безобидные синонимы могут привести к неожиданным эффектам, в каких случаях важно сужать количество товаров и как построить устойчивую LLM-систему для оценки качества ранжирования. 

Так что там про поиск

Elementor PRO или Bricks: почему я перестал выбирать один WordPress-билдер на все проекты

Habr.com - Thu, 08/13/2026 - 15:30

Споры между Elementor и Bricks обычно сводятся к попытке определить победителя: что быстрее, удобнее, чище, функциональнее.

После нескольких лет работы с WordPress мне такой вопрос кажется не совсем правильным.

Я много работаю с Elementor PRO и не собираюсь от него отказываться. При этом для новых проектов всё чаще смотрю в сторону Bricks.

Причина не в том, что один билдер «хороший», а второй «плохой». Они по-разному вписываются в процесс разработки.

Для себя я сейчас разделяю их примерно так:

Читать далее

Как тестировать распределенные системы: тайм-ауты, дубликаты, Saga и частичные отказы

Habr.com - Thu, 08/13/2026 - 15:23

Распределенная система может сломаться так, что по отдельности все ее части будут выглядеть исправными.

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

Самое очевидное решение — повторить запрос. И получить второе списание.

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

Так, проверки «отправили запрос — получили ожидаемый ответ» здесь недостаточно. Интереснее проверить, что будет, если ответ задержится или потеряется, запрос придет повторно, события поменяются местами, а один из сервисов восстановится после нескольких минут простоя.

В таких ситуациях проявляются ошибки, которые сложно увидеть на happy path (позитивном сценарии). Ниже разберем, как их воспроизводить и что проверять, чтобы отказ одного компонента не превращался в некорректное состояние всей системы.

Почему распределенную систему нельзя тестировать как обычное приложение

Возьмем простой пример — оплату заказа в интернет-магазине.

Читать далее

Rsync 3.5

Linux.org.ru - Thu, 08/13/2026 - 15:11

13 августа состоялся выпуск rsync 3.5.0, свободной утилиты для синхронизации и передачи файлов, широко применяемой для резервного копирования, создания зеркал и переноса данных между системами. Основное внимание в новой версии уделено безопасности: разработчики устранили 33 проблемы, обнаруженные в ходе целевого аудита обработки путей, фаззинга сетевого протокола rsync daemon и анализа сообщений внешних исследователей.

( читать дальше... )

 

Шесть человек и root на чужие серверы: зачем я занялся выбором СЭД для учета доступов

Habr.com - Thu, 08/13/2026 - 15:09

У меня хостинг-провайдер, в штате шесть человек. Когда я говорю, что мы внедрили СЭД, знакомые ржут: вам-то зачем, вас на одну переговорку хватит.

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

Читать далее

Алгоритм был правильным. Ошибка была в контракте графа

Habr.com - Thu, 08/13/2026 - 15:04

Мне нужен был сервис, в котором должны были работать несколько разных алгоритмов. Часть математики я помнил, часть понимал поверхностно, часть собирался восстановить по ходу работы. Чтобы быстрее получить прототип, я подключил LLM к генерации бойлерплейта, интерфейсов и первых реализаций.

Через несколько дней (говно)кода стало много — вменяемого сервиса не получилось.

Один BFS принимал map[string][]string. DFS жил на другом типе графа. В одной реализации направленность задавалась на уровне графа, в другой вытекала из того, как было записано ребро. Опции существовали, но их комбинации не образовывали понятной политики. Result types возвращали срезы и числа, однако я не мог внятно ответить, что именно они гарантируют.

Проблема была не в том, что LLM «не умеет BFS». Я попросил реализации раньше, чем сформулировал общий контракт данных. Генератор заполнил пустые места правдоподобными допущениями — которые, очевидно, не совпали в разных кусках кода.

Исходный сервис я остановил. Дальше пришлось вернуться к математике, разобрать алгоритмы по отдельности и сначала спроектировать фундамент, на котором они вообще могут сосуществовать. ...решение смелое и честно говоря не самое лёгкое.. и совершенно не дооценённое

Спуститься на уровень архитектуры

DeepSeek V4 Pro и Grok 4.6: как изменился баланс цены, скорости и качества

Habr.com - Thu, 08/13/2026 - 15:04

Сегодня выдался какой-то безумный день. Сначала вышла финальная версия DeepSeek V4 Pro, а меньше чем через два часа появился Grok 4.6. Обе модели близки по масштабу: у одной около 1,6T параметров, у второй около 1,5T. И обе за одну ночь подобрались к уровню пользовательского опыта Claude Fable 5.

Читать далее

Горутины изнутри, часть 1

Habr.com - Thu, 08/13/2026 - 14:53

Эта серия для тех, кто выучил синтаксис Go, написал первые go func() и хочет понять, что за ними стоит. Многопоточность знать не нужно: начнем с того, что такое поток. К концу первой части ты будешь понимать, почему поток операционной системы дорогой, что такое горутина физически и как Go пришел к схеме GMP.

Go читать

Восемь раз я думал, что сломал код. Это была платформа

Habr.com - Thu, 08/13/2026 - 14:49

В начале августа я сел делать игру для мессенджера MAX – обычный вордли, слово из пяти букв, шесть попыток. Мини-приложение на ванильном JS, сервер на Go, самый дешёвый VPS. По моим прикидкам – три вечера.

Первый вечер целиком ушёл на то, чтобы сервер вообще смог поговорить с API мессенджера. Не на игру, не на словарь – на TCP-соединение.

Дальше было ещё семь таких мест. Каждое выглядело как мой баг, каждое оказалось особенностью платформы, и ни одного из них нет в документации. Ниже – все восемь, с кодом и с тем, как именно я до них дошёл. Игра тут нужна только как повод: она набрала 107 игроков за пять дней, это скромно, и рассказывать я собираюсь не про неё.

Читать далее

[Перевод] AirSense: самый умный самодельный очиститель воздуха

Habr.com - Thu, 08/13/2026 - 14:42

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

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

Эта система на основе Waveshare ESP32-S3 выполняет мониторинг концентрации пыли PM2.5, индекса качества воздуха (Air Quality Index, AQI), температуры, влажности и атмосферного давления при помощи специальных датчиков окружающей среды. Все собираемые данные отображаются локально на ЖК‑дисплее устройства; кроме того, к ним можно получить удалённый доступ при помощи Arduino IoT Cloud, что позволяет пользователям отслеживать состояние окружающей среды и управлять очистителем через смартфон.

Ядром AirSense служит HEPA‑фильтр Xiaomi Air Purifier 4 Lite, способный фильтровать до 99,97% частиц размером вплоть до 0,3 мкм, включая пыль, пыльцу, частицы дыма и другие распространённые загрязнители воздуха. Система оснащена мощным вытяжным вентилятором размером 150 мм, непрерывно пропускающим воздух через цилиндрический фильтр.

Чтобы проект выглядел как изготовленный профессионально, конструкцию всего корпуса я создал в Autodesk Fusion 360. Система объединяет в себе HEPA‑фильтр, вентилятор, датчики, дисплей и электронику.

Читать далее

Code, Force, Repeat. Олдскульный GUI для олдскульных скриптов. Часть 1. Экспозиция

Habr.com - Thu, 08/13/2026 - 14:38

В этот раз я пришёл с двухчастным текстом про F#, тайппровайдеры, скрипты, спортивное программирование, MVU, консольные интерфейсы в стиле FarManager, низкоуровневый интероп с виндой, некоторое количество хаков ХМ и, внезапно, живопись. Причём только консольные интерфейсы с некоторой натяжкой можно назвать центральным элементом повествования, поэтому я понятия не имею, как должен выглядеть потенциальный читатель этой статьи. Будем исходить из предположения, что он либо достаточно опытен, либо у него достаточно времени и усердия, чтобы расковырять всё, что я не счёл должным разобрать детально (я могу, но только за 16 глав).

Сегодня мы изучим небольшой .fsx-скрипт, который я ежедневно запускаю, чтобы получить очередную порцию задачек из архива codeforces.com. Необычно то, что скрипт функционирует как полноценное GUI-приложение, пусть и очень страшное старое. Кажется, что до меня так никто не делал, так что с осторожностью назову это авторской инновацией.

Читать далее

Как собрать базовый стек для защиты инфраструктуры на open source

Habr.com - Thu, 08/13/2026 - 14:29

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

На связи Виктор Иевлев, я руковожу отделом информационной безопасности в «Гарде».

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

Я уже рассказывал в одной из статей об open source-сканерах уязвимостей. В этот раз предлагаю остановиться на защитных решениях и попробовать собрать минимальный стек на базе open source.

Узнать подробности

Как извлечь знания уходящего эксперта до его увольнения

Habr.com - Thu, 08/13/2026 - 14:09

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

Читать далее

Дронопорт на ГОКе: что он реально делает для маркшейдерской службы

Habr.com - Thu, 08/13/2026 - 14:05

Дисклеймер. Пишу от своего имени и излагаю своё мнение — с учётом 15-летнего опыта в робототехнике. Прежде чем сесть за этот текст, я провёл порядка 20 полноценных встреч с разными специалистами: среди них геодезисты, маркшейдеры и поставщики оборудования. Так что это не пересказ встреч, а попытка свести в одно то, что я услышал «с земли».

Читать далее

Who's online

There are currently 0 users and 7 guests online.
Syndicate content