Начну с личного. Моя бабушка, сейчас уже очень пожилая женщина, работала оператором ЭВМ в вычислительном центре (дата‑центре для зумеров) Горьковской железной дороги. То есть была человеком образованным. Это не мешало ей рассказывать мне, пятилетнему, о том, что в ближайшем будущем государство нас всех чипирует, и тогда нам всем конец.
Позже, в юности, я в порядке развлечения воспроизводил в голове этот мысленный эксперимент и приходил примерно к такому же выводу: ну да, государственной машине это удобно, ID‑номер гражданина не в бумажной книжке, а сразу «пришит» к гражданину вместе с онлайн‑кошельком, скачанными фильмами и авторизацией в соцсетях. Но не могут же всех заставить поставить такой чип? Очень большой круг недовольных можно нащупать. Ну, на крайний случай, при тотальной мобилизации и государственном законе всегда можно опять уйти скрываться в джунгли Южной Америки.
Любое принуждение даёт утечку.
Сейчас мне кажется, бабушка боялась не того. Страшно не то, что чип поставят всем. Страшно, если его поставят не всем.
Вот я, например: у меня есть корпоративная подписка на Клодаза 200 баксов для решения рабочих задач, домашняя подписка за 200 баксов для решения домашних задач и бесплатный ChatGPT для быстрых голосовых переводов при живом общении (на момент написания статьи у Клода на мобильном устройстве было не очень хорошо с распознаванием речи). Я делегировал моделям довольно большую часть рутинных и рабочих задач, они неплохо (иногда!) справляются, и в целом я доволен. Плюс я ещё человек такой, что мне нравится, что я в любой момент могу задать дурацкий вопрос о чём‑нибудь и сразу получить ответ. Я зануда.
Читать далееПредставьте клиент-серверную архитектуру, где фронтенд написан на React, бэкенд — на ASP.NET Core, а для логирования на стороне бэкенда используется NLog.
Иногда может происходить следующий сценарий: пользователь находится на веб-странице и выполняет какое-то действие (например, нажимает на кнопку «Обновить»). В этот момент фронтенд присылает HTTP запрос на бэкенд, и по какой-то причине этот запрос начинает долго обрабатываться на бэкенде. В это время пользователь уходит со страницы, браузер присылает отмену запроса, бэкенд получает сигнал отмены (CancellationToken), выбрасывается OperationCanceledException, и в логи улетает полноценная ошибка.
С точки зрения observability такие логи — чистый шум: это штатная ситуация, ошибки бэкенда тут нет, и реагировать на неё технической поддержке или разработчикам не на что. Но сам факт таких логов — это проблема: они засоряют файлы, на основе которых строятся отчёты о работоспособности системы, и приучают команду игнорировать алерты («опять эти отмены»).
Рассказываю, почему стандартные фильтры NLog или кастомные Middleware не решают эту проблему системно. Разбираем, как с помощью библиотеки Scrutor динамически декорировать ILoggerProvider и глушить логи отмен на уровне рантайма без размазывания try/catch по контроллерам. Внутри — анализ подводных камней, бенчмарки и ссылка на репозиторий с тестами.
Читать далееИстория эта началась на пермском «Металлорынке», когда я обнаружил на одном из развалов пару блоков от явно армейской аппаратуры. Хозяин развала объяснил, что в прошлой жизни эти блоки были генераторами опорной частоты радиостанции «Глёт». Так за символическую плату я стал обладателем двух герметично запаянных модулей с маркировкой «Блок №20» на крышках.
Читать далееВсем привет! Это Денис Сметнев. Я уже писал про то, как узкое горлышко в стартапах переместилось из разработки в сторону маркетинга. При этом я сооснователь бизнес-клуба «Твоя Опора», где собираются молодые digital-предприниматели, и вижу, что айтишники испытывают проблемы в целом с бизнес-процессами, а не только продвижением. Поговорил с другим основателем Ильей Крамником, чтобы рассказать, на что обратить внимание, если работаете в IT и хотите сделать свой бизнес.
Читать далееМногие убеждены, что для кодинга на собственном ПК требуются железки по заоблачным ценам вроде RTX 3090ti или Mac Studio, но это не совсем так. В этой теме мы затронем противостояние старой грубой силы против нового технологического преимущества. Как китайская поделка стала реальной бюджетной альтернативой мейнстримной 3090ti? Спойлер: за меньшую цену мы получим большую выгоду.
Читать далееВы внедрили ИИ-агента в свою работу. Он показывает информацию по счетам, формирует сводки, разбирает входящие сообщения и делает ещё много полезного. Но на каком уровне автоматизации вы находитесь? И что делать дальше?
В этой статье разберём, что такое ИИтизация, как внедрить ИИ-агента в рабочий процесс и почему следующий шаг - не обязательно более умный агент, а движение в сторону AI-Native-подхода к управлению процессами.
Я выделяю пять уровней ИИтизации: от ИИ в роли личного ассистента до системы, в которой процессы изначально проектируются вокруг возможностей ИИ и программной автоматизации.
Это моя практическая модель, которую я разработал для себя и своих клиентов, чтобы определять необходимый уровень автоматизации и выбирать следующий шаг. Она не претендует на роль универсального стандарта зрелости, но помогает понять текущее место и возможные следующие шаги.
Читать далееПредставьте, что сейчас 2023 год и готовых AI-агентов ещё нет. Есть только обычная LLM, которая умеет продолжать текст. Что нужно к ней добавить, чтобы она смогла читать файлы, искать информацию, запускать команды, исправлять код и сама решать, какой следующий шаг сделать?
Примерно с этого вопроса я начал встречу, на которую записалось двадцать человек из моей и соседних команд. Задачу я себе поставил не самую простую: за час разобрать агента снизу вверх. Начиная от языковой модели до tools, agent loop, RAG, MCP и skills, а потом ещё успеть перейти к практике и посмотреть, как он ведёт себя в первых рабочих задачах.
В конце запустили собранную конструкцию вживую. Там всё сразу пошло не по плану.
Читать далееКогда вы слышите волшебную фразу «теорема о неполноте Гёделя», возникает соблазнительная мысль. Вот оно! Наконец-то нашлось математическое доказательство того, что наука чего-то не понимает, а все наши физические теории в конечном счёте ошибочны.
Особенно приятно вспомнить об этом, когда речь заходит о теории относительности Эйнштейна, квантовой механике или попытках создать теорию всего. Ведь если сама математика неполна, то как мы вообще можем доверять физике, которая на ней построена?
Читать далееНа самом деле история началась не с Rust. Наша система управления корпоративными устройствами обслуживает более 200 тысяч Android-устройств. Для нового контура связи понадобился прокси, а команда оценила его разработку и функциональные тесты примерно в 12 недель. Я собирался использовать ИИ как план Б – подготовить прототип и передать разработчику, но постепенно он стал основным инструментом работы – примерно за 30 часов активных итераций мы получили версию, готовую к нагрузочным испытаниям.
При этом сервер уже принимал пакеты и отвечал, а клиент в одном из сценариев ничего не получал и тут началось интересное.
Читать далееНачнем с самой проблемы - откуда идет травматизм и штрафы на стройке? Почти всегда начинаются с мелочей: каску сняли «на минутку», зашли под стрелу крана, подрядчик пустил на объект людей без инструктажа.
В статье разберу, почему ручной контроль охраны труда не справляется, какие нарушения ведут к травмам и штрафам, как устроена видеоаналитика изнутри и что из неё получается на реальных объектах, а конце дадим чек-лист внедрения и честно перечислим ограничения технологии.
Читать далееО технологической сингулярности обычно говорят как о моменте, после которого искусственный интеллект будет открывать новые законы, создавать технологии и совершенствовать собственные модели с такой скоростью, что человеку останется пользоваться результатами его работы.
Уже сегодня большинство окружающих нас устройств выглядят почти магическими для тех, кто не знаком с их устройством. Но внутри этой «магии» — вполне понятные людям принципы, исследования, расчёты и инженерные решения. При этом никто из людей не держит в голове целиком все знания. Они существуют как общее достояние множества ученых и специалистов, которое передаётся, проверяется и развивается. Наука задолго до появления ИИ стала коллективным способом понимания мира.
А что, если и главный результат развития ИИ так же войдёт в этот общий запас знаний?
Представьте, что искусственный интеллект поможет открыть достаточно понятную человеку, но при этом глубокую математическую теорию. Такую, что ранее раздельные области математики станут видны как части одной структуры. При этом подготовленные специалисты смогут освоить её принципы и вполне применять их самостоятельно. А если новая теория одновременно даст существенный выигрыш в уже известных вычислениях, изменится прежде всего распределение влияния между людьми в обществе.
Читать статьюПривет, Хабр!
Начну с небольшой предыстории. Я начинал свой путь в IT с базового курса «Разработка программного обеспечения» в одной из профильных академий. Этого фундамента хватило для уверенного старта, но реальные коммерческие задачи часто выходят за рамки учебных программ.
Одной из таких «болей» стала дистрибуция Java‑приложений конечному пользователю. Сколько раз мы слышали от клиентов: «А у меня не запускается, наверное, Java не та»? Чтобы раз и навсегда избавиться от необходимости писать в README фразу «сначала установите JRE», я решил глубоко погрузиться в тему нативной упаковки.
В этой статье я систематизировал весь свой опыт работы с jpackage: от создания портативных версий до сборки полноценных инсталляторов для Windows, Linux и macOS, а также разобрал подводные камни при работе с JavaFX и Spring Boot.
jpackage— это мощный инструмент, встроенный в JDK (начиная с версии 14, JEP 343/392), который предназначен для упаковки Java-приложений в нативные образы для конкретных платформ. Он автоматически создает нативный лаунчер (запускатор) и включает в себя урезанную версию JRE (созданную черезjlink`), чтобы пользователю не нужно было устанавливать Java.
Далее так как я не знал изначально что умеет jpackage я для себя выделил два приоритета:
1. Создание Portable (портативных) приложений
2. Создание установочных пакетов (Installers)
Далее я расскажу о каждом из приоритетов и не только чтобы у каждого получилось поделиться своим приложением на Java без последующих лишних вопросов.
Зачем всё это
Представьте себе классическое такое ынтерпрайз приложжение с несколькими слоями логики. Хоть те самые презентация, домен, инфраструктура. Хотя большинство реальных приложений имеют еще больше слоев, лазанья обзавидуется.
На самом глубоком уровне вам неожиданно нужна информация о текущем пользователе: его ID и его пермишны. В результате вы получаете множество вложенных пробросов, когда UserContext передается через каждый слой.
Читать далееХотелось Wispr Flow на Linux: нажал кнопку, сказал, текст вставился в любое поле. Рассказываю, как собрал плавающую кнопку диктовки на GTK, faster‑whisper и /dev/uinput под Wayland, и какие грабли нашлись по дороге: фокус, буфер обмена, хлопок микрофона и связанные регуляторы громкости.
Читать далееAllure Report всегда не хватало хранилища для отчётов, которое позволяло бы легко работать с историей и смотреть отчёты удалённо — а это сильно облегчило бы определение флаков и анализ трендов.
Чтобы решить эту проблему, сообщество Allure Report создало целую плеяду проектов. Недавно в Allure 3 появился официальный их аналог — Allure Report Storage, работающий через Docker или Cloudflare Worker. В этом руководстве я покажу, как установить и запустить это хранилище.
Читать далееСотрудник столкнулся с ошибкой, скопировал её в нейросеть и она ему всё починила — через полминуты работает дальше, а в системе не остаётся ни заявки, ни записи об обращении. Разбираемся, что при этом теряет ИТ-поддержка, почему в России такая самодеятельность обходится особенно дорого и как вернуть видимость, не возвращая людей в очередь.
Читать далееЯ более 15 лет работаю в партнёрском бизнесе и много лет смотрю, как люди, которые продают сами, без отдела продаж, планируют свою работу. Почти все планируют одинаково: «надо больше контактов». Когда что-то не получается, ответ тот же: «значит, мало написал». И почти никто не может сказать, сколько контактов ему на самом деле нужно и почему через месяц их всё равно не хватает.
У этого вопроса есть простое инженерное решение, и оно давно лежит в теории очередей. Ниже попробую разложить лидогенерацию для одного человека как систему с входом, выходом и временем пребывания, а потом посчитать её на условных числах.
Читать далееКак мы выбрали решение, адаптировали статусы под внутренний процесс и поняли, что главное - не картинка, а управление рекомендациями
Привет, Хабр! Меня зовут Алексей Бубликов, я Solution Architect в Банке Уралсиб.
Я вам расскажу как в банке превратили хаос технологических решений в управляемый процесс. Раньше перед стартом проекта приходилось собирать контекст по крупицам: десятки ссылок, мнения архитекторов, старые Wiki и презентации, а в ответ на вопрос «что рекомендуем?» - фраза «лучше уточнить у команды». Вместо красивого списка технологий банк получил живой процесс управления техрекомендациями: инициатива → экспертная оценка → решение → публикация → обратная связь → пересмотр.
Читать далееIssuerd — Keycloak-совместимый IAM-сервер, написанный на Rust и распространяемый по лицензии Apache-2.0. Распространяется как один самодостаточный бинарник.
IAM-сервер (Identity and Access Management) — сервис, позволяющий реализовать централизованную аутентификацию и авторизацию (Single Sign-On, SSO) для веб-приложений.
Проект проходит тестирование по полной сертификационной матрице OpenID Foundation Conformance Suite (11 OP-профилей, 43 тест-плана, 612 модулей, более 31 000 условий) в CI на каждом релизе без ошибок и предупреждений. Результаты хранятся в репозитории.
Реализованы:
Поставляются бинарники для шести платформ с SBOM, Docker Hub, crates.io.
>>> Документация
Возможно, многие из вас, как и я, в один прекрасный день задавались вопросом: «Не собрать ли мне Swift Toolchain из исходников под Linux?»
Конечно, собрать. Даже думать нечего.
В статье опишу, как это делал я. Свои главные ошибки и сделанные выводы.
Читать далее