Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Баг в SQLite скрывался 16 лет: как Tailscale потратила полгода на его поиски

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

За полгода Tailscale 19 раз столкнулась с повреждением баз SQLite, но воспроизвести сбой не удавалось: между инцидентами проходили то часы, то недели. Инженеры собирали диагностику прямо в продакшене, проверяли одну гипотезу за другой и в итоге нашли редкую гонку между записью и созданием контрольной точки — баг, который скрывался в SQLite минимум 16 лет.

Читать расследование

Новости

Как писать моки, чтобы тесты падали вместе с продом: 7 частых ошибок

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

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

В статье разберём типичные ошибки при работе с unittest.mock, особенности patch, spec и autospec, а также когда лучше использовать фейки вместо моков.

Разобрать ошибки

Как найти причину сбоев внешнего API и исправить её до того, как интеграция попадет в прод

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

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

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

Изучить практику

Я обучил собственную визуально‑языковую модель меньше чем на 1 млрд параметров

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

Как собрать собственную визуально-языковую модель с нуля, имея ограниченный бюджет и одну арендованную GPU? Автор эксперимента взял небольшую языковую модель, подключил к ней визуальный энкодер и прошёл весь путь обучения VLM – от настройки архитектуры до оценки качества ответов. В статье – разбор решений, ошибки первых запусков и результаты модели на 628 млн параметров, которая научилась описывать изображения примерно за $200.

Смотреть результат

Почему трафик филиалов тормозит через ЦОД и как исправить это с помощью Identity‑First

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

Когда весь трафик филиала сначала уходит в центральный ЦОД, привычная схема быстро начинает давать побочные эффекты: задержки растут, SSL‑инспекция становится дорогой, а попытка сделать обход через PBR приводит к асимметричным маршрутам.

Один из выходов — перенести принятие решений ближе к пользователю и строить маршрут с учётом его идентификатора и политики приложения. На конкретных конфигах посмотрим, как такую схему собрать с PoP, DNS, WireGuard и Envoy.

Разобрать архитектуру

Новый стек, новые задачи, новые навыки: 42 бесплатных урока сентября

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

В этом дайджесте собрали 42 бесплатных урока второй половины сентября по ключевым направлениям ИТ: от искусственного интеллекта и LLM до backend-разработки, DevOps, тестирования, архитектуры, информационной безопасности и управления командами.

В программе — разборы актуальных технологий и практических задач: работа с ML-моделями, применение ИИ в разработке и аналитике, eBPF в production, PostgreSQL 18, автоматизация тестирования, архитектурные ревью и другие темы, с которыми специалисты сталкиваются в современных проектах. Занятия проводят наши преподаватели-практики, поэтому это возможность обсудить подходы с экспертами, задать вопросы и оценить формат обучения на реальных примерах.

Посмотреть все темы

От «магии» к инженерии: 9 ошибок работы с контекстом при внедрении AI‑агентов в процессы

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

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

Разобрать ошибки

Как гаражная разработка шведских любителей обошла стартап Бэббиджа с бюджетом в 30 паровозов

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

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

Читать историю

Валидатор не нашёл поле is_admin, а Go его нашёл: пять ошибок при работе с JSON

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

Один и тот же JSON может привести систему к разным выводам. Валидатор пропустит поле, которое Go‑сервис спокойно прочитает, nil‑слайс превратится в неожиданный для клиента null, а ошибка в имени параметра останется незамеченной до самого продакшена.

Разбираем пять случаев, где поведение encoding/json в Go способно создать расхождение между компонентами системы, и смотрим, что меняет переход на encoding/json/v2.

Узнать детали

Фича популярна у самых ценных пользователей. Стоит ли делать её центральной частью продукта?

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

Фича популярна у самых ценных клиентов и связана с высоким удержанием — но достаточно ли этого, чтобы сделать её основой продукта? Разбираем, почему корреляция в метриках может вводить в заблуждение, какие данные нужны для проверки гипотезы и как принимать продуктовые решения на основе экспериментов.

Читать далее

Микрокод внутри сопроцессора Intel 8087: обмен регистрами

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

В 1980 году Intel 8087 стал первым массовым математическим сопроцессором компании и заложил основу для современных вычислений с плавающей точкой. Сегодня его уже не встретить в компьютерах, но внутри этого чипа скрыта интересная инженерная история: сложные операции выполнялись с помощью микрокода, записанного в собственном ПЗУ.

В этой статье разберём, как устроен микрокод одной из инструкций 8087 — FXCH, которая меняет местами значения в стековых регистрах. На первый взгляд операция кажется простой, но внутри она превращается в последовательность из 14 микроинструкций с проверкой тегов, обработкой исключений и обменом данных через временные регистры. Посмотрим, как исследователи восстановили эту логику по фотографиям кристалла и что можно узнать о внутреннем устройстве процессора спустя десятилетия после его выхода.

Разобрать 8087

Бэкап, из которого ни разу не восстанавливались — это не бэкап

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

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

Узнать больше

Как тестировать API с 202 Accepted и не пропускать сбои фоновой обработки

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

Запрос получил 202, автотест прошёл, а через несколько дней выясняется, что часть операций так и не завершилась успешно. Такая ситуация возникает, когда проверяется только ответ HTTP‑обработчика, а сама асинхронная цепочка остаётся без контроля. Разберём, как построить тест для API с polling: от запуска операции и проверки статуса до валидации итогового результата и безопасного повторного запроса.

Проверить API

Ближайшие события

Внедрение AI в продукт: 9 ошибок продуктового менеджера

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

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

Разобрать ошибки

ИИ для передачи дел: как найти знания, которые уходят из компании вместе с техлидом

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

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

Разобрать подход

Как AI‑агент видит страницу. Контракт наблюдения между браузером и моделью

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

AI‑агент может ошибаться не из‑за модели, а из‑за того, как браузер описывает ему интерфейс. В статье разбираем, что такое контракт наблюдения между браузером и ИИ, почему агент «не видит» элементы страницы и как проектировать надёжные сценарии взаимодействия с веб‑интерфейсами.

Изучить подробнее

Как не получить лгущий дашборд: 7 ошибок в SQL‑агрегациях

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

SQL-запрос выполнился без ошибок, дашборд обновился, цифры выглядят правдоподобно — и всё же выручка внезапно выросла на треть. Причина может скрываться в одном JOIN, незаметном NULL или неверной границе периода. Разбираем семь ошибок в SQL-агрегациях, которые не ломают запросы, зато вполне способны сломать выводы из данных.

Читать далее

Как выявлять саботаж стейкхолдеров в ИТ‑проектах и сохранить внедрение под контролем

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

ИТ‑проект может остановиться задолго до технических проблем: сроки начинают плыть, согласования затягиваются, а пользователи формально участвуют в работе, но фактически блокируют изменения.

Разберём, как аналитики могут распознать признаки сопротивления, найти реальную причину конфликта и выстроить работу с ключевыми стейкхолдерами — от первого сигнала до выбора стратегии действий.

Разобрать кейсы

Атаки на агентные системы и защита данных

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

ИИ‑агенты получают доступ к данным и инструментам, но вместе с автономностью появляются новые риски. Разбираем, как работают атаки на агентные системы — от промпт‑инъекций до отравления данных — и какие подходы помогают защитить ИИ‑системы.

Разобрать угрозы

Зелёный Jenkins ещё ничего не значит: 12 ошибок, которые не ломают сборку

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

Иногда самый опасный баг в CI/CD — тот, который не меняет цвет сборки. Jenkins продолжает показывать зелёный статус, а внутри уже формируется неверный результат: переменная превращается в null, ошибка маскируется под успешное выполнение, а метрики начинают показывать искаженную картину. Разбираем реальные места, где пайплайн может незаметно врать, и способы сделать его честнее.

Читать разбор
1
23 ...