Мне 15. Мой сайт грузился две секунды, потому что каждый CSS-файл писал в базу данных
Сайт не сломан. Он открывается. В логах чисто, ошибок нет — просто ты кликаешь по вкладке и успеваешь заметить, что кликнул. Я померил: страница каб…
Tech news from the best sources
Сайт не сломан. Он открывается. В логах чисто, ошибок нет — просто ты кликаешь по вкладке и успеваешь заметить, что кликнул. Я померил: страница каб…
Здесь и далее: скрам-мастер и аджайл коуч тождественны. TL;DR Роль Agile Coach должна умереть, чтобы переродиться в роль Change Agent (или Organizat…
Когда приложение перестает справляться с растущей нагрузкой, появляется желание «залить» ресурсами виртуальную машину . Однако производительность не…
Сортировка строк без компаратора работает не так, как кажется, и заметно дольше. Замерил на четырёх машинах и четырёх рантаймах, посчитал обращения…
Всем привет! На связи Михаил Поливаха, технический лидер проекта Axelix . На известном в узких кругах блоге Hibernate (он же in-relation-to) пару ме…
У go func() есть неприятная особенность: вместе с результатом выполнения легко потерять контроль над самой задачей. Разберём, как пропускать такую р…
На одном собеседовании меня спросили про VIEW. Я ответил честно: в живых проектах они мне почти не попадались; для агрегатов надёжнее держать отдель…
После статьи о выборе Tauri нас спросили, сколько памяти будет занимать программа, которая живёт в трее рядом с игрой. Мы запустили старый БОЛТУН на…
Лаг Kafka растёт, консьюмеры простаивают, а добавление новых экземпляров только ускоряет проблему. Разберём, как по состоянию consume…
Сделал mmap-базу для 4 млн товаров и получил ~35k RPS. Поиск оказался настолько быстрым, что bottleneck пришлось искать уже после базы. В итоге опти…
Одни вызовы после OrderBy проходят набор один раз, другие приводят к полной сортировке. По коду разницы не видно. Давайте проверим счётчиком обращен…
Три независимые попытки сделать для PostgreSQL быстрый точный десятичный тип расширением заглохли. Но не потому, что не получилось ускорить арифмети…
Перегрузка Span.Sort с компаратором-структурой должна была работать быстрее обычной. Замер показал обратное: памяти она расходует больше всех, а вре…
Я автор aiochlite — асинхронного клиента ClickHouse на aiohttp . Раньше мой декодер RowBinary читал каждое числовое поле отдельно. Если брать 200 ты…
Один Where в начале запроса — и метод медленнее в тысячу раз. Причём чем дальше страница, тем хуже: на первой разница полтора раза, на тысячной — по…
Однажды мне довелось выступать на конференции DevNexus , и в качестве примера я написал на Java приложение для обработки заказов…
Всем привет я Артур Валиев, пятничная статья, поехали. Я каждый день кидаю заметки не в специальное приложение, а в Избранное в Telegram — просто по…
Самая неприятная часть расследования инцидента начинается, когда нужные данные в логах вроде бы есть, но связать их между собой невоз…
Объясню кэш через холодильник, а потом покажу, где эта аналогия ломается, и что с этим делают в проде. Статья для тех, кто кэш уже ставил, но не раз…
Последнее время я почти не пишу код руками — значительную часть реализации берут на себя AI-агенты. Но работы меньше не стало: теперь нужно задавать…
Добавили потоков, а программа стала медленнее? Причина может скрываться в ложном разделении кеш‑линий: потоки работают с разными пере…
Последние месяцы я довольно активно разрабатываю собственный AI SaaS-проект. Причём активность в случае AI-разработки имеет немного другой смысл, че…
25 марта 2026 года голосовая и видеосвязь Discord перестала нормально работать для большинства пользователей. Причиной стал не один большой сбой, а…
Привет, Хаброжители! В книге «Java для профи. Инструменты, фреймворки, тестирование, производительность» тандем опытных Java-разработчиков проводит…
Клавиатуре около 150 лет. Это один из самых старых интерфейсов, которым люди пользуются каждый день. При этом большинство людей не задумываются о то…
Бывают ошибки, которые не видит ни ревью, ни тесты: код отрабатывает правильно, прогон зелёный, а запросов к базе он делает в сто раз больше прежнег…
ZLinq — замена LINQ без аллокаций. На .NET 8 и .NET 9 время одинаковое. На .NET 10 иначе: массив тот же, но если параметр объявлен как IEnumerable,…
Несколько дней назад Meilisearch опубликовал сравнение с Manticore Search . Мы тоже любим сравнения: в 2023 году опубликовали своё…
В документации к PropertyNameCaseInsensitive есть предупреждение про накладные расходы, но не сказано, когда они появятся. Замерил на четырёх машина…
Когда приходишь на аудит СУБД к разным компаниям, картина удивительно похожа: одни и те же проблемы, одни и те же причины. Меня зовут Андрей, я DBA…