Сборщик RSS-лент

SoftSerial: Однобитный ADC на STM32 (или самодельный логический анализатор)

Habr.com - сб, 09/19/2026 - 02:06

Можно ли на STM32 реализовать однобитный ADC ?
Причем без использования аппаратного ADC.

Да так, чтобы GPIO пин читался со строго определенным микросекундным периодом по команде аппаратного таймера и сохранял значения прочитанных логических уровней в массив.

При этом во время чтения N однобитных семплов должно произойти не более 2х аппаратных прерываний.

Да, можно.

Читать далее

Codebase Intelligence для агента: строим «dev tool будущего» и сразу тестируем на Rails монолите в 3,5M+ строк

Habr.com - сб, 09/19/2026 - 00:04

Сгенерированная картинка для привлечения внимания. Промпт: «Продемонстрируй, что всё новое — это хорошо забытое старое» (нет)

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

Осенью прошлого года я пользовался связкой Claude + RooCode + семантический поиск на Ollama, и это был мой основной рабочий инструмент — ровно до того момента, как связка перестала работать (об этом чуть ниже). Я решил полностью пересесть на Claude Code и начал искать замену семантическому индексу, но так её и не нашёл: альтернативы для меня просто не работали — на монолите в 3,5M+ строк они либо индексировались часами, либо требовали отдать код в облако (и заплатить немалую сумму за эмбеддинги!!!), либо поддерживали Ruby, мягко говоря, номинально. В итоге я принял непростое для себя решение сделать собственный инструмент — начав с форка простого движка семантического поиска на Ollama + Qdrant — и, что характерно, сделал: полностью локальный, чтобы ни код, ни его производные (индекс, эмбеддинги, граф вызовов) никуда не уезжали. На сегодняшний день на него ушло больше полугода (и, честно признаюсь, не одна сотня чашек чая).

Читать далее

ERP внедрили. Что дальше? Часть III. От Project-DR к Enterprise-DR

Habr.com - сб, 09/19/2026 - 00:00

Начало в статье ERP внедрили. Что дальше?

Термины, используемые в статье

Project-DR ERP Technology Distribution — полное название технологической сборки. В дальнейшем — «технологическая сборка Project-DR ERP», версия.

Project-DR — Project Digital Replica, проектная цифровая реплика — внутренняя производственная технология и проектная среда, в которой строится и при необходимости структурно перестраивается профессиональная модель предприятия. Заказчику Project-DR как технологическая среда не передаётся.

Project Core — проектное ядро — проектный носитель специализированного ресурса, в котором хранится подробный результат его работы по конкретному проекту.

Unified Project Store — единое проектное хранилище — машиночитаемый слой Project-DR, в котором собираются принятые проекции результатов специализированных Project Core.

Enterprise-DR — Enterprise Digital Replica, цифровая реплика предприятия — эксплуатационная машиночитаемая модель конкретного предприятия, полученная из принятого состояния Project-DR. Именно Enterprise-DR передаётся заказчику.

Enterprise-DR Runtime — эксплуатационная среда Enterprise-DR — физически работающая система, в которой клиентская модель загружена в базу данных и доступна через Enterprise-DR API.

Enterprise-DR Runtime Kit — комплект, передаваемый заказчику для развёртывания и эксплуатации Enterprise-DR.

PostgreSQL — система управления базами данных, используемая в версии 2.5.1 как эталонная реализация базы Enterprise-DR. Далее — «база Enterprise-DR».

Enterprise-DR API — программный интерфейс доступа к эксплуатационной модели. Через него получают профессиональный контекст, причины решений, зависимости, сигналы и операции изменения.

Читать далее

Интеграция Apache NiFi с корпоративной системой управления секретами

Habr.com - пт, 09/18/2026 - 23:32

Привет, Хабр. Я Игорь Юрченко, backend-разработчик Сбера. В предыдущей статье я описал автоматизацию развёртывания потоков NiFi, а сейчас расскажу о дальнейшем развитии этого подхода для интеграции с корпоративной системой управления секретами — SecMan. Буду использовать терминологию предыдущей статьи.

Читать далее

Автоматизация процесса привлечения инвестиций

Habr.com - пт, 09/18/2026 - 23:01

У меня есть проекты, на который я привлекаю инвестиции. Потому что эти инвестиции помогут проектам масштабироваться, привлечь больше юзеров, выполнять задачи большего масштаба и тд и тп - в общем все, что будет приносить этим проектам больше денег. Соответственно, инвесторы с этого получат хороший процент прибыли.

Я автоматизировал почти всю цепочку действий по фандрейзингу: сбор инвесторов из источников, отбор, отправку им сообщений через свою CRM, отслеживание ответов и вывод на звонок.

Чуть ниже описываю, как делал и какие цифры получились. Ну и где не получилось так, как мне бы хотелось.

Читать далее

Усилители: реальность под нагрузкой

Habr.com - пт, 09/18/2026 - 22:56

Это шестая статья цикла о том, почему акустика, которая хорошо измеряется, может плохо звучать.

В первой статье выяснилось то, что АЧХ суммирует всю поступившую энергию независимо от времени её прихода. Во второй — что помещение добавляет к звуку большое количество отраженных копий и резонансов, с которыми надо научиться дружить. В третьей — что качество воспроизведения низких частот сухие цифры характеристик не отражают. Четвёртая спустилась глубже — до самого динамика: идеального решения не существует, а ошибки проектирования после покупки уже не исправить. Пятая (ч.1 и ч.2) была посвящена искажениям: что это такое, почему порядок гармоники важнее её абсолютной величины, и почему слух отзывается на эти явления совсем не так, как измерительный прибор. На тот момент все закончилось заменой усилителя, но проблема с высокими частотами осталась на месте.

С усилителями получилась занятная картина — эти устройства незаметно присутствовали фоном практически с самого начала цикла. Уже в первой статье я сознательно отложил разговор о них приняв допущение об их невиновности по сравнению с динамиками: измерительный стенд, синусоида, резистивная нагрузка и красивые цифры. Позже, в пятой, тема снова возникла вскользь — упоминались выходной каскад класса B, режекторный фильтр и мысль о том, чтобы управлять током вместо напряжения. Каждый раз разговор откладывался, и вот настал момент, когда откладывать дальше некуда.

Главный вопрос звучит просто: все ли усилители звучат одинаково? Когда происходили описываемые события готового ответа у меня не было. Понимание приходило постепенно, шаг за шагом. Мешало то, что распутывались сразу две нити, усилитель и источник сигнала, и понадобилось несколько заходов, чтобы понять, кто из них за что отвечает. Поэтому объяснение первопричин моего недовольства и разделилось надвое: источникам будет посвящена отдельная статья.

Читать далее

[Перевод] Blazor против Vue.js: что замечает C#-разработчик

Habr.com - пт, 09/18/2026 - 22:36

Два фронтенда, один C#-мозг — что действительно различается, что похоже сильнее, чем принято считать, и что говорит рынок труда.

До 2019 года моим фронтендом были семантический HTML и CSS. Div'ы, классы, разметка, которую я мог удержать в голове. Я был бэкенд-разработчиком, и меня это вполне устраивало.

Потом случились две вещи. Компания попросила меня залезть в проект на Vue, а Microsoft выпустила Blazor. В следующие годы я плотно поработал с обоими: с Vue — у двух работодателей, с Blazor — на личном проекте, который до сих пор работает.

Это не статья с бенчмарками. Это про то, как эти две технологии ощущаются, когда мышление у тебя C#-овое.

Читать далее

Навигация во Flutter: выносим переходы из экранов

Habr.com - пт, 09/18/2026 - 22:33

Гайдлайны Apple, Android и Flutter по-разному, но одинаково настойчиво подталкивают задавать переход прямо в коде экрана — в документации go_router это штатный пример. В результате экран отвечает и за интерфейс, и за навигацию: его трудно переиспользовать, он знает про следующие экраны, а модульный тест превращается в интеграционный.

В статье — приём, который выносит переход из кода виджета туда, где для решения есть вся информация: экран сообщает о запросе пользователя, а решение принимает роутер вкладки или приложения. Одна и та же задача (две вкладки со своими стеками и общий экран, который в каждой вкладке ведёт себя по-своему) решена трижды: на штатном Navigator, на go_router и на auto_route.

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

Читать далее

Почему сеньоры не хотят становиться тимлидами (и правильно делают)

Habr.com - пт, 09/18/2026 - 22:00

Нет, разумеется, хотят. И многие даже соглашаются. Правда потом возвращаются обратно в разработку, но соглашаются же. Так что вопрос стоит ставить ребром: «почему то, что им предлагают, вообще называется повышением».

У Максима было восемь лет опыта. В пятницу он сеньор. В понедельник он — кто? По грейду выше, но по факту джун в специальности, где у него ноль лет практики, с зарплатой и ожиданиями как от человека с восемью. И самое издевательское — ему никто не сказал, что он джун. Ему сказали «ты вырос». А что, если это не повышение, а смена профессии с билетом в один конец?

Читать далее

Может ли дата-центр вообще отказаться от воды?

Habr.com - пт, 09/18/2026 - 21:51

Немного экспериментальный формат, который надеюсь, вам зайдет. Мне лично очень нравится изучать разные темы вне статистики, аналитики и прикладных к ним темам, поэтому иногда для того, чтобы лучше разобраться с какой-то темой лучше всего ее попробовать объяснить или описать самостоятельно.

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

Читать далее

«Да, конечно»: как один вопрос на брифинге переписал ролевую модель

Habr.com - пт, 09/18/2026 - 21:41

Как три вопроса к заказчику про жизнь после MVP поменяли ролевую модель портала: от одной таблицы связей к RBAC + ABAC. Внутри ER-диаграмма, SQL проверки доступа и пример на живом пользователе.

Плюс список вопросов, которые теперь задаём на каждом брифинге про доступы.

Читать далее

Код как борьба. Кратчайшая история IT. 6. Ричард Столлман

Habr.com - пт, 09/18/2026 - 21:00

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

Это седьмая статья цикла “Код как борьба: Кратчайшая история IT”. И сразу хочу предупредить о структуре статьи, она будет чуть сложнее, чем обычно. Нам придётся держать в голове одновременно две вещи, которые нельзя смешивать в одну оценку. Техническое и юридическое наследие нашего героя - это одна история, вполне нейтральная. А личная куда более сложная.

Погнали

Почему AI упрощает обучение программированию и поднимает порог первой работы

Habr.com - пт, 09/18/2026 - 21:00

Я помогаю жене войти в backend-разработку. На её примере хорошо видно противоречие, которое появилось у начинающих программистов: AI позволяет учиться быстрее, но одного работающего кода теперь недостаточно, чтобы доказать свою квалификацию.

До backend она пробовала войти в профессию через дизайн, затем изучала frontend. Первую работу во frontend получить удалось, но закрепиться в компании не получилось. Процессы были плохо выстроены, а общение с частью коллег оказалось токсичным.

Позже я предложил попробовать C# и backend. Это мой основной стек, поэтому здесь я могу не только посоветовать материал, но и проверить решение, объяснить контекст из реальной разработки или заметить, когда нейронка ведёт не туда.

Мы поправили резюме, подготовили рассказ об опыте и сделали тестовый task tracker. В нём есть задачи и подзадачи, которые можно завершать. Проект разворачивали в Azure примерно на месяц, чтобы пройти весь путь до работающего сервиса, а затем выключили. Я помогал с частью реализации и деплоем. С метриками жена разбиралась в основном сама.

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

Что именно AI упрощает в обучении

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

Читать далее

NEOMSA ESB: как мы приводили в порядок состав зависимостей интеграционной шины

Habr.com - пт, 09/18/2026 - 21:00

Мы выпустили очередной релиз NEOMSA ESB. Фокус этого цикла — состав поставки: мы прошли по всем контурам сборки, сформировали SBOM, устранили уязвимости уровня Critical и High и зафиксировали версии так, чтобы они не «уехали» при следующей сборке.

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

Читать далее

Cloud Trust vs Zero Trust: стандарты безопасности в гибридном окружении

Habr.com - пт, 09/18/2026 - 20:50

Меня зовут Саша Черток, руковожу отделом безопасности контейнерных и облачных технологий в Альфа-Банке. Расскажу, как вывести организацию в облако, даже если она максимально зарегулирована.

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

Читать далее

Как я хотел написать простенький Go-first DB-мигратор, а получил альтернативу Atlas для управления схемой БД

Habr.com - пт, 09/18/2026 - 20:30

История разработки Ptah: как небольшой Go-first инструмент для миграций собственной базы данных постепенно превратился в полноценную open-source систему управления схемой БД. Причины появления проекта, какие архитектурные решения пережили весь проект, зачем понадобилась совместимость с Atlas, к чему привёл конфликт с его разработчиками, как это повлияло на развитие Ptah и что в итоге представляет собой решение сегодня.

Читать далее

XML-маршруты в redb.Route: схема в редакторе, проверка на сборке и замена модуля на лету

Habr.com - пт, 09/18/2026 - 20:13

Маршрут в .route.xml на том же движке, что и C#: подсказки в VS Code, проверка пакета в dotnet build, граф-редактор и горячая замена модуля.

Интеграционный маршрут живёт дольше, чем код вокруг него. Партнёр переезжает в другую папку на SFTP, аналитик просит отдельную ветку под новый тип файла, поддержка хочет понять, каким путём прошла заявка, которую ночью отклонили. Всё это вопросы к маршруту, и отвечать на них через C#-проект, сборку и выкладку модуля выходит дороже, чем сам вопрос.

В 4.0 у redb.Route появилась вторая запись маршрута: XML. Файл .route.xml кладётся в пакет, пакет в папку работающего сервиса, и меньше чем через полсекунды по новому маршруту идёт первое сообщение. При этом ...

Читать далее

Вот что американские инженеры на самом деле говорят о русских разработчиках

Habr.com - пт, 09/18/2026 - 20:03

На Hacker News есть два треда, которые стоит прочитать целиком, если вы русский разработчик. Первый — «Why So Many Top Hackers Hail from Russia», июнь 2017 года, 142 балла. Второй — «Ask HN: Why does the Eastern…

Читать далее

Команда аналитики: от ручного управления к автономной системе. Часть 1

Habr.com - пт, 09/18/2026 - 19:53

Привет! Меня зовут Олег Игнатов. Сейчас я руковожу продуктовой аналитикой в Garage Eight. До этого я строил продуктовую аналитику в Литрес. Параллельно преподаю продуктовую аналитику в ВШЭ, менторю аналитиков и руководителей и веду свой канал.

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

В этой статье я разберу практические инструменты, которые помогли мне перейти от ручного управления к более автономной команде: регулярные 1–1, ревизию бэклога, командные ритуалы, приоритизацию, Focus Factor и развитие аналитиков через реальные задачи. Я не буду пытаться описывать идеальный процесс из учебника. Это скорее набор подходов, которые я проверял на практике и которые помогли мне уйти от хаоса.

Читать далее

Почему в науке находят причины там, где их нет

Habr.com - пт, 09/18/2026 - 19:48

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

Ученые из Университета Пенсильвании проанализировали с помощью LLM заголовки и аннотации 194,6 тысяч статей по социальным наукам за 1980–2024 годы. Они отобрали работы с кросс-секционными данными: в таких исследованиях ученые сравнивают людей, организации или другие объекты в один момент времени, а не наблюдают за их изменениями.

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

Тем не менее в 46,3% отобранных статей авторы использовали формулировки, которые прямо или косвенно указывали на причинность. Речь именно о заголовках и аннотациях к статьям. С 2000 по 2024 год доля таких публикаций выросла примерно с 20% до более 60%. В 2024 году в работах по бизнесу она достигла 84%, по экономике — 67%.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.
Ленты новостей