Обновить

Все потоки

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

Eventual Consistency: как мы починили тормоза апрува и сломали бюджет

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

Мы убрали одну блокировку, чтобы апрувы перестали тормозить. Через несколько недель из‑за этого клиент пробил квартальный бюджет — а наша система этого даже не заметила.

Полгода после MVP, первые крупные клиенты. B2B travel SaaS, конец 2016-го. Компании начали подключать не по 15–20 человек, а по 80–100.

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

Обнаружили через 3–4 часа — когда финансовый менеджер клиента открыл квартальную сводку и позвонил нам.

Читать далее

Опреснение воды без образования солевого рассола

Время на прочтение18 мин
Охват и читатели7.2K

Несмотря на то, что около 70% нашей прекрасной планеты покрыта водой, большая ее часть не пригодна к употреблению ввиду ряда причин. Одной из самых очевидных является соленость морской и океанической воды, которая занимает порядка 97% гидросферы. Опреснение такой воды — это довольно сложный, дорогой и энергоемкий процесс. Дополнительным недостатком является то, что после классического опреснения (например, через обратный осмос или термическую дистилляцию) остается большой объем концентрированной соленой воды, известной как рассол. Выливать эту жидкость обратно в океан — крайне плохая идея, ведь это приводит к повышению солености и снижению уровня кислорода, тем самым оказывая негативное влияние на водные экосистемы. Следовательно, необходим метод опреснения, который не будет давать рассол в качестве побочного продукта. Ученые из Рочестерского университета (Рочестер, Нью-Йорк, США) создали такой метод. Как именно он работает, что является его основой, и какие он дает результаты? Ответы на эти вопросы мы найдем в докладе ученых.

Читать далее

Введение в архитектуру ИИ‑систем: как GPT‑wrapper превращается в распределённую систему

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

Почти все AI-проекты начинаются одинаково. Разработчик делает небольшой сервис с одним вызовом модели, подключает FastAPI, добавляет чат и показывает демо команде. На этом этапе всё выглядит настолько просто, что возникает опасное ощущение: «Ну это же обычный API-вызов, только ответ пишет нейросеть».

Читать далее

Детерминированность реактивных вычислений

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

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

Упорядочить понимание

Создаем I2C Master Controller на Verilog. Перенос на Zynq 7000 (bare‑metal)

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

После успешной отладки на плате с Cyclone IV пришла пора перенести наработки на плату Zynq Mini c XC7Z020. В этой статье я опишу, каким образом можно организовать вывод нужной нам информации из PS‑части Zynq на дисплей который подключен к EMIO на выводах PL. Сделаем обновленный модуль i2c_master_axi который добавляет сверху к уже разработанному ядру поддержку AXI4-Lite Slave, сделаем сборку проекта, подключим их к PS и проверим в bare‑metal сценарии. После того как это будет все работать — переходить к Linux уже будет гораздо проще.

Всем заинтересованным добро пожаловать под кат! 

Читать далее

Рецензия на книгу «Алгоритмы на языке Go»

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

Эта книга для тех, кто уже пишет на Go и понимает синтаксис, но хочет прокачать знания в вопросе выбора алгоритмов под свою задачу. Книга «Алгоритмы на языке Go» написана именно для такой аудитории. Это первая специализированная русскоязычная книга по алгоритмам с реализацией на Go. Она не очень объемная, — всего 192 страницы, 8 глав с конкретными примерами кода, —  по-своему, это ее  плюс, т.к. сейчас никто из разработчиков не читает толстенные «кирпичи» без крайней необходимости.

Читать далее

Танчики: хроники города битв

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

Каждый русскоязычный автор ретро-игровой тематики обязан рано или поздно написать статью про «Танчики». Сегодня моя очередь, и нам просто необходимо поговорить именно про них: про самую любимую восьмибитную игрушку на просторах нашей необъятной Родины, которая также оказалась горячо любимой в братском Китае, но при этом не особо-то известна в значительной части остального мира. Ну хотя бы потому, что там она просто не выходила.

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

Читать далее

Избегаем парадокса пестицида, или Как мы внедрили систему рекомендаций «забытых» тест‑кейсов

Время на прочтение6 мин
Охват и читатели9.6K

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

Меня зовут Александра Атаман, я QA‑инженер в команде веба Яндекс Такси. В этой статье я расскажу, как мы оптимизировали процесс формирования регрессионного тестирования для ручного прогона, внедрив систему весов для тест‑кейсов. Этот подход помогает прицельно отбирать наиболее «опасные» сценарии: самые старые, забагованные или потенциально проблемные.

Я поделюсь техническими деталями реализации, логикой распределения весов и результатами нашего эксперимента. Спойлер: ожидания не во всём совпали с реальностью — но именно этот опыт оказался для нас самым ценным.

Читать далее

APItizer — конструктор REST API-контрактов

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

Добрый день, уважаемые читатели Хабра.

В этой статье я хочу рассказать о продукте APItizer, почему появилась потребность в его создании и какой путь привёл от небольшого Python-скрипта к полноценному инструменту для проектирования REST API-контрактов.

Если вам интересно сразу посмотреть на продукт, добро пожаловать в APItizer (прямая ссылка, вдруг домен не работает).

Читать далее

Экспедиции по организационному ландшафту

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

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

Несколько человек отписались: «Если говорить о нашем отделе — результат высокий. Но если выйти за пределы отдела — там для меня начинается настоящий ад».

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

Читать далее

Total War: Medieval 3 — новости об игре, и чего от нее ожидать

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

Серия Total War по праву считается одним из самых знаковых явлений в мире военных стратегий, и когда компания Creative Assembly представила трейлер-анонс третьей части Medieval, сообщество фанатов по-настоящему всколыхнулось, ожидая от предстоящего релиза возвращения к историческим истокам «тотальной войны».

В этой статье мы с вами поговорим о том, какое место занимает Средневековье в мире Total War, чего категорически не хватало предыдущим частям Medieval, что обещают разработчики третьей части, а также выскажем предположения о дате выхода игры.

Читать далее

Я не пошёл на маркетплейс, не нанял людей, не плачу за рекламу и заработал 2,5 млн

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

Статья написана на основе интервью с Дмитрием Покатаевым, основателем мебельного производства «Столетти» и интернет-магазина «Скелетт». 

Я больше двадцати лет делаю мебель в Екатеринбурге. Привык, что клиенты приходят в наш салон ножками, с рулеткой, с вопросами, с мужьями. А с конца 2024 года ко мне начали приходить заказы из городов, в которых я никогда не был: Алматы, Владивосток, Чебоксары, Ростов-на-Дону, Новокузнецк. Этих людей я в глаза не видел: они оставляют заявку на сайте, оплачивают, и через несколько недель присылают мне фотографию готовой ванной или прихожей у себя дома.

Производство у меня небольшое, четыре человека в цеху. Делаем кухни, ванные, прихожие, гардеробные, любую корпусную мебель для жилья. Основное направление — обстановка квартир под дизайн-проекты, по 3-4 полных проекта в год плюс частичные заказы. Параллельно я запустили совсем новое направление: интернет-магазин типовой мебели в плоской упаковке. Бренд назвали «Скелетт», от русского слова, основа, каркас.

За полтора года работы направление принесло около 2,5 миллиона рублей при среднем чеке 48 тысяч. Запустили без новых сотрудников и без выхода на маркетплейс. Расскажу, как мы к этому пришли.

Читать далее

Атомарный кислород на орбите медленно поедает МКС

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

Примерно в 400 километрах над поверхностью Земли летает Международная космическая станция, окружённая своеобразной космической погодой.

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

Атомарный кислород не проедает МКС подобно кислоте, этот процесс медленнее и малозаметнее, он обладает более тонкими свойствами. Но за годы нахождения на низкой околоземной орбите он способен разрушать полимеры, делать матовыми покрытия и влиять на оптику, что заставляет проектировщиков тщательно продумывать каждое защитное покрытие, слой краски, уплотнение, плёнку и композитную панель.

Читать далее

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

Evals для чайников. Как тестировать AI-агента, чтобы понимать, где именно он ломается

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

Большинство команд оценивают производительность AI-агентов через end-to-end метрики: success rate, количество токенов, tool usage, стоимость запроса, долю успешных задач. Это полезно для общего контроля ситуации, но почти бесполезно для реальной диагностики системы.

Например, если success rate упал с 85% до 72%, то само по себе число не объясняет причину деградации. Команда вынуждена гадать, какая часть системы вдруг начала допускать ошибки. Сломался retrieval? Модель хуже начала выбирать инструменты? Контекст загрязняется после нескольких ходов? Или система уперлась в возможности base model? При росте проекта и увеличении сложности кодовой базы, сбои начинают расти мультипликативно – ошибки всех систем начинают перемножаться между собой. В конечном итоге, команда теряет реальный контроль.

Проблему решает внедрение покомпонентных eval. Они дополняют end-to-end метрики, показывая, какой слой AI-агента работает, какой деградировал – и где именно искать причину. То есть внедрение evals помогает получать метрики производительности каждого компонента вашего агента.

Читать далее

Гибридный поиск в RAG: как мы подняли Top-1 с 62% до 88% на базе из 50 000 документов

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

Если вы строили RAG, вы знаете эту боль: вектор-поиск красиво работает на демо-вопросах, но в продакшене теряется на номерах договоров, артикулах и аббревиатурах. Я расскажу, как мы добавили к чисто векторному поиску BM25, слили два ранкинга через RRF и поставили сверху cross-encoder. На внутренней базе из 50 000+ корпоративных документов это подняло Top-1 с примерно 62% до 88%, а время ответа осталось в районе 2–4 секунд.

Читать далее

Зачем backend разработчику Python, если он не собирается становиться data scientist

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

Долго воспринимал Python как язык из соседнего мира. Где то там data science, pandas, ноутбуки, модели, эксперименты. А у меня обычный backend: API, микросервисы, Kafka, БД, CI/CD и продакшен.

C# и Java для этого хватало.

Но когда начал разбираться с LLM быстро понял, вызвать модель можно из любого языка, а вот руками потрогать RAG, embeddings, локальные модели, чанкинг и evaluation проще всего через Python.

И ещё быстрее стало понятно другое, LLM это не просто «отправить prompt и получить ответ». Как только речь заходит о реальной системе появляются привычные backend вопросы «доступы, логи, стоимость, latency, качество ответа, безопасность данных и сопровождение».

Поэтому для меня Python стал не заменой C# или Java, а инструментом который помогает быстрее зайти в новый слой backend задач.

Зачем backend разработчику Python

Проблема 3x+1: Задача для школьника, которая сломала величайших математиков

Время на прочтение6 мин
Охват и читатели9.2K

Представьте себе задачу, условия которой можно объяснить восьмилетнему ребенку ровно за тридцать секунд. А теперь представьте, что эта же самая задача десятилетиями заставляет сдаваться величайших математиков современности. Гипотеза Коллатца (или проблема «3x+1») доказывает поразительную вещь: за самыми элементарными арифметическими правилами может скрываться абсолютно непредсказуемый хаос и бесконечная сложность. Разбираемся, в чем подвох этой задачи, почему Пауль Эрдёш предлагал за её решение деньги из своего кармана и как с ней справляются современные суперкомпьютеры.

Читать далее

Инструмент работы со знаниями и данными компании: умные таблицы

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

У «Здоровье-Ресурс» всё как у многих производств: технологические карты лежат в папках у технологов, инструкции по безопасности — на отдельном общем диске, коммерческие предложения теряются в почте, а регламенты работы магазинов знает только старший продавец. Новичок в цехе тратит час, чтобы найти актуальную инструкцию, логист сверяет остатки с Excel-файлом трёхмесячной давности, а руководитель узнаёт про ошибку в рецептуре уже по итогам списаний и претензий клиентов.

Читать далее

Спутниковая связь в симуляторе NS-3. Часть 2

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

Моделирование спутниковых систем связи в симуляторе компьютерных сетей NS-3 с использованием модуля Satellite. Продолжение статьи, где мы выполнили скачивание и компиляцию симулятора NS-3. В этой статье мы рассмотрим варианты организации проекта в NS-3.

Читать далее

AI Gateway для микросервисов: гайд по интеграции LLM в 2026

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

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

В статье разбираем, как спроектировать AI Gateway — инфраструктурный слой для централизованной маршрутизации, кеширования, лимитов, observability и отказоустойчивости при работе с AI‑моделями.

Читать далее