Праздничные дни — это не только культовая классика по ТВ и тонны салатиков с фейерверками. Для бизнеса это рост продаж, всплеск трафика и сотни автоматических задач. Для инженерной команды это еще и проверка на прочность: достаточно одного забытого cron-а, одного просроченного сертификата или одной горячей рассылки — и вы получаете массовый инцидент в самый неудобный момент.
В статье разберем, почему именно новогодние и рождественский ажиотаж становится проверкой для сервисов и систем. Посмотрим реальные сценарии фейлов и разборов, которые можно сразу положить в on-call playbook. Берите свое новогоднее настроение, прошу всех под кат.
Читать далееПосле моей статьи про АИС «Налог-3» (как одну из самых мощных государственных IT-систем России) в комментариях больше всего спорили не про масштабы данных и вопроса, «видит ли ФНС всё». Основной скепсис вызвал мой тезис о необходимости внедрения больших языковых моделей (LLM) в работу налоговых органов.
Основной аргумент в противовес моей позиции звучал так: «Зачем там нужен Искусственный Интеллект? Всё формализовано, достаточно жестких алгоритмов и грамотных шаблонов. Экспертная система справится сама, не надо усложнять».
В этой статье я постараюсь привнести ясность в то, как происходит сбор доказательственной базы по налоговым правонарушениям и как формируется итоговый документ (акт и решение по налоговой проверки). Потому что в реальной налоговой проверке проблема не в том, чтобы найти риск или подсветить признаки. Это АИС «Налог-3» уже умеет делать достаточно хорошо. Проблема в другом - превратить массив фактов в доказательства и выводы, а затем изложить это в юридически выверенном тексте, который выдержит спор сначала на стадии возражений, потом в вышестоящем налоговом органе, а при необходимости и в суде.
Если вы читаете меня впервые: я не аналитик со стороны и не «диванный эксперт». За моими словами 12 лет работы в налоговых органах, в том числе на руководящих должностях. Из системы я ушёл совсем недавно и прекрасно понимаю, как это работает изнутри.
Читать далееПривет Хабр!
В основе многих законов физики лежит простой принцип: ничто не возникает из ниоткуда и не исчезает в никуда. Этот принцип сохранения находит своё выражение в уравнениях неразрывности, описывающих, как текут реки, перемещаются заряды или распределяются вероятности в квантовом мире. Представленный здесь вывод обобщённого уравнения неразрывности начинается с элементарной геометрии — бесконечно малого треугольника — и через язык комплексных чисел приходит к удивительно универсальному результату. Это уравнение сохраняет свою форму в пространствах любой размерности и оказывается полностью совместимым с продвинутыми алгебраическими системами, такими как алгебры Клиффорда, предлагая тем самым единый и элегантный формализм для описания законов сохранения в классической физике, квантовой теории и за их пределами. Эта работа демонстрирует, как глубокие физические истины могут проистекать из простых геометрических рассуждений.
Читать далееС момента появления загадочного репозитория на GitHub с описанием «Pink + Purple = Fuchsia» прошло десять лет. За это время медиа-пространство успело пережить несколько циклов хайпа: от «Убийцы Android» до «Мертвого проекта Google».
На календаре январь 2026 года. В магазинах нет коробок с надписью «Fuchsia Phone». Однако, если у вас дома стоит Nest Hub второго поколения, вы уже пользуетесь этой ОС. Если вы разработчик под Android, вы, возможно, уже взаимодействуете с её компонентами через виртуализацию.
Fuchsia не умерла. Она совершила то, что в биологии называется метаморфозом. В этой статье мы отбросим маркетинговую шелуху и разберем архитектуру системы "под микроскопом". Поговорим о том, как Google решает фундаментальные проблемы ядра Linux, что такое Starnix на уровне системных вызовов, зачем нужен FIDL и почему 2024–2025 годы стали переломными для проекта, переведя его из стадии R&D в стадию инфраструктурного фундамента.
Читать далееНесколько лет назад я наткнулся на статью про CRISPR‑Cas9 и домашние биолаборатории — люди буквально у себя дома экспериментировали с редактированием генов. Я бэкенд‑разработчик, биологию последний раз открывал в школе, но желание разобраться никуда не делось. В этой статье разберёмся, как работает CRISPR на минимальном уровне, и напишем CLI‑утилиту на Python для поиска потенциальных guide RNA — «наводчиков» для молекулярных ножниц Cas9.
Читать далееВведение
Рассмотрим две проблемы при изучении иностранного языка. Это освоение грамматики и увеличение словарного запаса. Они не единственные, но важные. Про способы погружения в грамматику, на языке оригинала, можно прочитать в моей статье: «Уроки французского и пересоздание данных для изучения иностранного языка с помощью обучающей программы «L'école»», в https://habr.com/ru/articles/972594/ .
Там идея простая. Мы берем хороший учебник на языке оригинала, разбиваем текст на короткие смысловые фразы, снабжаем их фонетическим слогоделением и буквальным контекстным переводом (БКП). Затем, озвучиваем данные, например, с помощью TTS, для, в данном случае, обучающей программы «L'école» и создаем двуязычные html-тексты с транскрипцией (фонетическим слогоделение) или, другими словами, небольшую книгу в формате html.
Идея изучения грамматики основана на двух принципах:
– Мы читаем, громко, вслух фонетическую транскрипцию (предварительно осваиваем фонетический алфавит с помощью представленных уроков) и смотрим подстрочный перевод. Это для html-книг. А при работе в обучающей программе, мы можем, при желании, еще набирать текст руками (используя метод «запоминание руками», в режиме «Конспект»), слушать и проговаривать вслед интерактивную озвучку. При этом, не обязательно даже стремиться запоминать текст, при наборе его руками и повторении озвученной речи, уроки запоминаются «сами собой», особенно, если к ним периодически возвращаться.
– В таком случае, мы выигрываем дважды, осваиваем иностранный текст как таковой и, заодно, запоминаем его содержимое, то бишь, собственно грамматику изучаемого языка.
Читать далееДостижение целей требует четкого понимания текущего состояния системы и желаемого результата. Одним из способов оценки близости достижения цели является использование расстояния Хемминга. Расстояние Хемминга применяется для измерения различия между двумя строками равной длины путем подсчета количества позиций, в которых символы различаются. В контексте постановки и достижения целей оно позволяет количественно оценить разницу между текущим состоянием и целевым состоянием, помогая определить шаги, необходимые для минимизации этой разницы.
Таким образом, если задать текущее состояние строкой Sтек и желаемое состояние строкой Sцель, то достижение цели можно назвать: работу по переводу ситуации в строке Sтек в строку Sцель.
Читать далееCлушай, если ты до сих пор шлёшь JSON туда-сюда и мучаешься с валидацией — пора смотреть в сторону gRPC. Но сперва давай без пафоса разберём, что это вообще такое.
Читать далееРоссийский Гражданский кодекс закрепил, что человек может размещать публично и без разрешения правообладателя, например, кадры из кино, но в строго определенных пределах: при наличии информационной, научной, учебной, полемической или критической цели, а также в объеме, который необходим для подобного формата цитирования. При публикации — нужно обязательно указывать название ленты и источник заимствования. Судя по практике, это правило, установленное в статье 1274 ГК РФ, не всегда соблюдается.
Читать далееС Новым годом! Возвращаемся к вопросам новогоднего квиза и, как обещали, публикуем правильные ответы. Ниже — разбор каждого вопроса с пояснением логики выбора и небольшим контекстом, чтобы еще раз погрузиться в нетленку Маяковского.
Читать далееГенератор паролей из /dev/random: от one-liner'а к Rust CLI
В этой статье хочу поделиться процессом написания собственного генератора паролей, использующего энтропию /dev/random. От pipe команды до Rust утилиты.
Читать далееМного-много лет назад делал я простенький лазерный тир с raspberry и камерой https://habr.com/ru/articles/371891/
Технологии с тех пор сильно шагнули вперёд, и захотелось сделать новую, максимально дешёвую версию. В качестве основы взял ESP32 с камерой OV2640 — стоит около 5 евро на AliExpress. Серьёзно переживал за производительность, но её у этого малыша оказалось более чем достаточно. В нём два ядра: одно полностью отдано под обработку изображения, второе — под веб-сервер.
Идея следующая: 60 раз в секунду делаем снимок и ищем на нём пятно от лазера. Параллельно крутится веб-страничка, где на canvas рисуются мишень, попадания и очки. Поскольку полноценный OpenCV на ESP32 не запустить, всё сделано максимально просто. Камера выдаёт чёрно-белые JPEG-кадры, которые я распаковываю в пиксели и ищу те, что превышают порог яркости. Да, камера умеет работать и с RAW-форматами, но там есть нюанс — частота кадров в таком режиме ограничена примерно 15 FPS. А вот распаковывать JPEG «на лету» для ESP32 оказалось посильной задачей, и благодаря этому удалось выжать почти 60 FPS при разрешении 240×240. Для надёжности детектирования у камеры дополнительно задаётся смещение экспозиции.
Но просто найти пятно на картинке недостаточно — нужно сопоставить его с координатами мишени. И вместо того чтобы нагружать микроконтроллер сложной математикой, это можно переложить на пользователя. Поэтому предусмотрена разовая ручная калибровка: на отдельной странице в браузере нужно выбрать четыре маркера на изображении по часовой стрелке. По ним строится матрица обратного перспективного преобразования. Благодаря этому камера может смотреть на мишень под любым углом — математика всё компенсирует.
Читать далееПривет, Хабр! Холодным зимним вечером мне понадобилось настроить статический ip-адрес на CentOS 7. В этой статье я делюсь своим опытом по настройке статического ipv4. И путем от Destination Host Unreachable до полностью работающего интернета.
Читать далееСтатья - комментарий / возражение к статье Осознанный вайб-кодинг. Осознанный вайб-кодинг наверное лучше не Осознанного, но последний тоже работает.
Читать далееАвтоматизированное тестирование API часто начинается с простых решений в виде коллекций Postman или скриптов на коленке. Такой подход работает на старте, но быстро исчерпывает себя.
Создание собственного проектного фреймворка является осознанным переходом от хаотичной, фрагментарной автоматизации к устойчивой, гибкой предсказуемой и масштабируемой системе тестирования. Такой фреймворк дает полный контроль над архитектурой, обеспечивает строгую валидацию контрактов API, безопасную работу с базой данных, генерацию осмысленных тестовых данных и простую интеграцию в инфраструктуру разработки.
Статья поделена на три части.
В первой части дается обоснование преимуществ создания полноценного проектного фреймворка по сравнению с использованием готовых универсальных инструментов по типу Postman. Вы узнаете, какие принципы легли в основу архитектуры фреймворка и какой был подобран технологический стек для их реализации на практике.
Статья техническая и адресована инженерам-программистам в тестировании (SDET) и инженерам по автоматизации тестирования, которые перешли от написания обособленных тестов к осознанному проектированию тестового фреймворка или только начинают этот переход.
Читать далееВсе главные новости из мира Joomla с июля по декабрь 2025 года в одной статье. Я честно пытался напрячь самые разные ИИ сортировкой постов по смыслу и, к сожалению, ни один из них не справился с этой задачей так, как нужно мне. Поэтому, напрягая собственный интеллект, представляю читателю наш дайджест, который обозревает новости, расширения, шаблоны и статьи из мира Joomla. Прошлый выпуск вы можете прочитать здесь.
Читать далееСовременные автономные ИИ-агенты и киберфизические ИИ-системы (от беспилотного транспорта и умных электросетей до медицинских роботов и промышленных контроллеров) всё чаще принимают решения, напрямую влияющие на жизнь, здоровье, экономику и национальную безопасность. В современных условиях вопросы безопасности и отказоустойчивости перестают быть вспомогательными и становятся центральными при проектировании, развёртывании и сопровождении таких систем.
Одна из главных проблем здесь заключается в том, что ИИ-системы, особенно автономные, функционируют в условиях высокой неопределённости: данные могут меняться, сенсоры - выходить из строя или банально загрязняться, внешняя среда может вести себя очень непредсказуемо, а злоумышленники - целенаправленно атаковать сотнями разных способов уязвимости моделей или инфраструктуры. При этом физические последствия сбоев могут быть катастрофическими. Поэтому архитектура таких систем должна быть изначально ориентирована не столько на максимальную производительность, сколько на безопасность, отказоустойчивость, верифицируемость и контролируемость.
Читать далееУниверсальный автогенератор тестов API на базе Schemathesis
В этой статье я расскажу, как мы разработали универсальный автогенератор тестов, который, как нам кажется, подходит для любого сервиса API. Ну и, конечно, расскажу, как он работает и как мы его планируем развивать.
Читать далееКак мы программировали в 80-е или Путь в тысячу ли начинается с первого шага программы.
Как мы программировали в 90-е. Часть #01
Как мы программировали в 90-е. Часть #02
Итак, у меня появился мануал по Клипперу и первые представления о БД.
Первая же задача – загрузка (импорт) текстового файла в базу – была сама по себе интересной.
Когда в марте 2024 года BlackRock — крупнейший в мире управляющий активами с $10 трлн под управлением — запустил токенизированный фонд BUIDL, скептики замолчали. За полтора года фонд привлёк $2,9 млрд и стал эталоном для всей индустрии. Это не эксперимент энтузиастов — это новая инфраструктура финансовых рынков.
Я занимаюсь блокчейн-разработкой и smart-контрактами для security tokens более пяти лет. За это время видел десятки проектов — успешных и провальных. В этой статье расскажу, как устроена токенизация реальных активов изнутри: какие юрисдикции выбирать, сколько это стоит и почему 90% проектов умирают на старте.
Читать далее