Всем привет, меня зовут Миша, и я бэкенд‑разработчик в платформе Яндекс Еды. Я уже рассказывал, как мы анализировали наш PHP‑монолит и вынесли из него процессинг заказов, и с тех пор роль этого легаси заметно уменьшилась. Заодно туда стали писать гораздо меньше нового кода, релизы стали реже, и он спокойненько себе работал, не привлекая лишнего внимания.
Так оно бы и продолжалось, но тут случилась повышенная нагрузка и необходимость зарезервировать побольше мощностей для беспроблемной обработки повышенного спроса. Монолит справился на отлично, но самое интересное случилось потом: возвращая выделение ресурсов к прежним значениям, я случайно обратил внимание, что RPS в пиковые вечерние часы как‑то подозрительно совпадает с количеством ядер CPU, выделенных на весь монолит.
Количество выделенных ядер, конечно, ещё ничего не означает, поэтому я полез смотреть реальное потребление процессорного времени, сложив CPU usage по всем подам. С помощью нехитрой арифметики я обнаружил, что 100% загрузки одного ядра приходятся на 2,5 RPS. Какое‑то время я находился в состоянии глубокого изумления, после чего решил, что это никуда не годится, и отправился в увлекательное приключение на 20 минут.
Немного спойлеров: дело оказалось далеко не только в PHP.
Читать далееУ компании могут быть десятки QA-метрик и при этом не быть ответа на вопрос: почему продукт становится все дороже и сложнее менять?
Команда знает, сколько дефектов нашла за спринт, сколько ошибок дошло до продакшена, сколько времени занимает регрессия, какой процент сценариев автоматизирован. После каждого релиза появляются новые цифры, графики и отчеты.
А теперь представим продукт, который выпускает релизы раз в две недели. Серьезных дефектов больше не становится, автоматизация развивается, команда укладывается в релизный цикл. На первый взгляд все в порядке.
Но за последний год регрессия заметно выросла. Изменение одного сервиса все чаще требует проверки нескольких соседних. Одни и те же компоненты регулярно всплывают в инцидентах и срочных исправлениях после релиза.
Для QA это дополнительные проверки и знакомые проблемные модули. Для CTO — возможный сигнал, что растет стоимость изменений.
Через несколько кварталов эта история может проявиться уже в сроках разработки. Новые функции станут выходить дольше, оценки начнут расти, а для сохранения прежней скорости понадобится больше людей.
Первые признаки проблемы при этом уже были в данных QA.
Примерно вокруг этой идеи и строится Quality Intelligence.
Что вообще такое Quality Intelligence
За термином Quality Intelligence скрывается практичная идея: данные о качестве могут рассказать о продукте гораздо больше, чем просто показать, насколько хорошо он протестирован перед очередным релизом.
История тестирования, дефекты, изменения компонентов, продакшн-инциденты, обращения пользователей, продуктовые показатели — все это следы того, как система развивается и как она реагирует на изменения. Если смотреть на них вместе и в динамике, можно заметить проблемы задолго до того, как они станут очевидны на уровне сроков, бюджетов или пользовательских жалоб.
Читать далееПод моей первой статьёй о блокчейне как append-only базе данных самые интересные вопросы были не про базу. Всплывали другие вопросы, примерно следующего содержания. А что будет, если валидаторы сговорятся? Кто мешает большинству переписать историю? Почему я вообще должен верить блокчейну?
Ответ достаточно развернутый и занимает больше, чем один адекватный комментарий. Поэтому публикую его отдельной статьей.
Читать далееОрганизация Объединённых Наций проголосовала за принятие резолюции, призывающей официально отказаться от традиционной карты мира в проекции Меркатора в пользу карты, которая точнее передаёт размеры Африки.
На заседании в штаб‑квартире ООН в Нью‑Йорке Генеральная Ассамблея официально отказалась от проекции Меркатора XVI века в пользу карты, основанной на более точной равновеликой проекции Equal Earth, разработанной в 2018 году. За резолюцию проголосовали 164 страны. Против выступили только США, представитель которых назвал резолюцию «излишней». Шесть стран воздержались.
Резолюции ООН не имеют обязательной силы, поэтому страны и организации не будут обязаны использовать только новую проекцию, а старая не окажется под запретом. Однако ожидается, что решение приведёт к изменениям в школьных программах и повседневных технологиях, учитывая широкое распространение проекции Меркатора в образовании, технологиях и государственном управлении.
Того, возглавившее кампанию за принятие резолюции от имени Африканского союза, заявило, что страна «признаёт и подтверждает, что непропорциональные картографические изображения, особенно возникающие при использовании проекции Меркатора, имели долгосрочные когнитивные, образовательные, культурные, геополитические и социально‑экономические последствия, способствуя резкому уменьшению воспринимаемых размеров Африки и других регионов мира в глобальном коллективном сознании».
Перед принятием резолюции министр иностранных дел Того Робер Дюссе заявил: «Это не политическая, а научная дискуссия, поскольку существуют научные доказательства, и поэтому мы все должны принять реальность».
Читать далееПромышленная автоматизация десятилетиями жила с четким разделением: на верхних уровнях управления царил Ethernet, а на нижнем — полевые шины и аналоговые интерфейсы 4–20 мА. Этот рубеж долгое время казался непреодолимым: Ethernet требовал четырех пар проводов, имел ограничения по дальности и не мог использоваться во взрывоопасных зонах.
Сегодня ситуация кардинально меняется. Две технологии — Single Pair Ethernet (SPE) и Ethernet-APL — делают возможным то, о чем раньше можно было только мечтать: единую IP-сеть от центра управления до самого простого датчика. В этой статье мы рассмотрим обе эти технологии подробнее.
Изучить Ethernet-APLВ прошлой статье я рассказывал, как мы перевозили терабайт банковской базы с Oracle на PostgreSQL без даунтайма. Там был раздел про производительность, и в комментариях несколько человек спросили примерно одно и то же: «а что конкретно вы дебажили и как?».
Это продолжение. Три инцидента из двух разных проектов — банковской системы после миграции и enterprise-платформы на Java/Spring, где PostgreSQL жил под Hibernate. Разные домены, разные команды, но сюжет один: запрос, который вчера работал, сегодня не работает, а EXPLAIN показывает, что всё хорошо.
Если вы пришли в PostgreSQL из Oracle или из мира, где база — это «то, куда ORM пишет», три четверти статьи будут про вещи, о существовании которых вы не подозревали. Я тоже не подозревал.
Дисклеймер: проекты под NDA, названия, объёмы и часть деталей изменены. Порядок величин и сами инциденты — настоящие.
Читать далее«У меня просто плохая память».
Наверное, это одно из самых удобных объяснений, почему не получается выучить иностранный язык.
В школе учил английский — забыл.
Вчера запомнил десять слов — сегодня осталось три.
Новую фразу повторил несколько раз, а через неделю опять приходится смотреть перевод.
Вывод кажется очевидным:
память плохая. Языки мне не даются.
Но есть одна странность.
Имя нового коллеги вы через некоторое время запоминаете.
Пароль, который постоянно вводите, тоже.
Дорогу в новый магазин сначала приходится смотреть по карте, а через несколько поездок вы уже едете автоматически.
И фразу из песни, которую никогда специально не учили, почему-то можете помнить двадцать лет.
Возможно, дело не только в памяти.
Читать далееЯ трачу миллиард+ токенов в день (я проверяла статистику по Minimax / GPT), запуская порой по 7-9 потоков агентов в течении 12 часов.
Как мне удается не разориться? Как то, что я делаю, не разваливается, а как-то работает?
Прошлая статья:
https://habr.com/ru/articles/1030414/
С 1 мая прошло не просто 3 месяца. Прошло несколько эпох качества ИИ агентов и обвязки вокруг них. Сменилось несколько парадигм. Суб агенты перестали быть эффективными, западные фронтиры не упали в грязь лицом перед китаем, и многое другое.
Обо всем по порядку.
Знакомый попросил ChatGPT написать интервальную тренировку одним HTML-файлом. В браузере всё пикает, но стоит погаснуть экрану — тишина. Разбираюсь, почему веб-страница не умеет будильник, и что с этим делать, если код вам написал чат.
Читать далееБесплатная свободно распространяемая многофункциональная Win64 утилита Easy Disk Checker за авторством ведущего инженера лаборатории восстановления данных "Хардмастер" Артёма Макарова, о которой уже писалось на Хабре тут, или здесь, доросла до Major Update версии 6.0.0 где помимо глубокой переделки UI интерфейса появилась перспективная разработка модуля работы с неисправными SSD дисками.
Читать далееУ тех, кто внедряет ИИ, появилась новая головная боль. Чем больше технология умеет, тем труднее понять, где ее применить. Чат-боту достаточно ответить на запрос пользователя, а агенту уже можно дать доступ к браузеру, корпоративным документам, коду и другим инструментам. И вместе с этим уже недостаточно убедиться, что модель умная. Нужно еще доказать, что она решает конкретную задачу, вписывается в процесс и не тащит за собой новые риски.
Этому и был посвящен митап «ИИ без иллюзий». Эксперты разобрали корпоративный ИИ с разных сторон — от поиска реальной пользы для человека и первых агентных сценариев до внутренних инструментов и их внедрения в масштабе целой организации.
Читать далееКогда-то очень давно, нам в вузе преподавали на одном из предметов, что, пожалуй, единственным способом, который может проявить уровень человека — является дело.
И достаточно большое количество людей находят в себе смелость творить удивительные вещи, зажигая своими начинаниями всех остальных — ведь, согласитесь, что идти вперёд, имея под рукой примеры, гораздо проще, чем пробивать дорогу совсем самостоятельно? ;-)
И сегодня будет рассказ как раз о таких людях, которые имея горячее желание творить, получать недостающие знания, рождать нечто новое — создали примеры, которые дают нам всем повод задуматься и, может быть, сотворить тоже нечто подобное? ;-)
Читать далееДавно собирался написать статью о самых запомнившихся презентациях в ИТ. О тех, которые не просто оказались для всех яркими событиями, а заложили основы новых форматов и стилей публичных выступлений. Однако когда завершил работу, то задумался, актуально ли это все еще.
Получившаяся статья под катом. Если захотите найти ответ на мой вопрос, то дочитайте ее до конца, а потом можем обсудить.
Читать далееНа территории бывшего механического завода работают десятки арендаторов, а разница между показаниями счетчика на вводе и суммой показаний счетчиков арендаторов доходила до 15–20 тыс. кВт·ч в месяц. Что сделала управляющая компания, чтобы найти пропавшие киловатт-часы, где их обнаружила и как окупила затраты на систему, расскажем в статье.
Читать далееКомпания «Нанософт» объявляет о выходе обновленной базы данных ООО «Промрукав» для nanoCAD BIM Электро.
В базу данных добавлены следующие элементы:
Узнать большеПеред аудитом мы ротировали сертификат на стенде, а старый отправили в отзыв - обычная гигиена. Мне захотелось убедиться, что отзыв действительно сработал: поднял на отдельном порту сервис со старым сертификатом и открыл его в браузере.
Браузер открыл страницу. Замок на месте, предупреждений нет.
Первая мысль была, что отзыв не прошёл: запрос ушёл не туда, серийный номер не тот, удостоверяющий центр ещё не обновил список. Проверил сам - скачал список отзыва по адресу из сертификата и нашёл в нём его серийный номер с датой отзыва. Отозван. Он этого не учитывает, потому что не проверяет.
Читать далееЛень — двигатель прогресса. Я очень ленив, поэтому прогресс должен был выйти впечатляющим. Спойлер: он и вышел, но с ленью что-то пошло не так.
Началось с того, что я предложил взять go-playground/validator — и услышал, что рефлексия нас замедлит. Бенчмарки показали единицы микросекунд на структуру: примерно столько же, сколько json.Unmarshal того же тела, и на три порядка меньше похода в базу двумя строками ниже. Решение всё равно осталось прежним.
Поэтому я убрал рантайм целиком: разбор запроса и валидация генерируются из тегов структуры на этапе сборки. Опечатка в теге стала ошибкой генерации, а не пропущенной проверкой. Транспорт и вовсе оказался ни при чём.
Ниже — как это выглядит, чего генератор делать отказывается и чем я за это заплатил.
Читать далееПодключите OpenSearch Dashboards к Manticore Search, исследуйте данные в Discover и создавайте визуализации и дашборды в знакомом интерфейсе.
Читать далееСобрал в онлайн-таблицу гайды от топовых авторов как писать статьи в блог-платформах Хабр, VC, DTF и Дзен, чтобы получить бесплатный целевой трафик или подписчиков. Эти материалы набрали 16500+ закладок в избранное и 3.8 млн просмотров.
Читать далееПривет! Эта статья написана командой системных аналитиков из ПСБ:
Юрием Моргуновым, Анастасией Самсонниковой, Ольгой Догадкиной, Максимом Белявским и Максимом Зуевым. Мы, как и многие компании, перешли с монолита на микросервисы. Причины тривиальны — их озвучивают, пожалуй, в каждой истории ухода от монолита: поддерживать всё это стало дорого, неудобно, монолитная архитектура замедляла процессы.
В общем, здесь начинается наша история. Если вы планируете переходить на микросервисы, эта статья для вас. Если же вы уже раздробили свой монолит, заглядывайте и дополняйте нас в комментариях.