RSS
Pages: 1 ... 82 83 84 85 86 87 88 89 90 91 92
[>] Отладка Программ Уровнями Логирования (или Медицинская Карта Вашей Программы)
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-29 17:35:02


Опубликовано: Sun, 29 Mar 2026 12:56:03 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Программы часто отлаживают применяя printf-отладку. Однако в этом есть недостаток. Со временем вывод printf сообщения становится настолько частыми и плотным, что становится просто невозможно что-либо прочитать. Чтобы с этим бороться придумали уровни логирования LogLevels. Суть в том, чтобы из shell консоли в run time можно было включать или отключить логи для конкретных программных компонентов. Отдельными командами вы можете увеличивать или уменьшать многословность логирования. Это позволяет Вам сфокусировать внимание на конкретном программном компоненте и найти суть ошибки в программе или причину по которой не проходит модульный тест.
Читать далее]]>

https://habr.com/ru/articles/1016480/

[>] Снимаем показания счётчика электроэнергии МИР С-05.10 c помощью Raspberry по Bluetooth
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-29 17:35:04


Опубликовано: Sun, 29 Mar 2026 12:39:10 GMT
Канал: Все статьи подряд / Raspberry Pi / Хабр

Из любопытства была у меня идея попробовать снять показания со счётчика удалённо, но так как был уже установлен древний дубовый счётчик Энергомера СЕ102, то вкладываться в замену не хотелось. Однако межповерочный интервал начал подходить к концу и я начал задумываться насчёт замены счётчика на более продвинутый (с интерфейсами связи). Начал выбирать варианты в виде LoRaWan, Zigbee, RS-485, но оказалось, что по современному законодательству счётчики электроэнергии меняет ресурсоснабжающая организация (так называемый "гарантирующий поставщик"). С надеждой ждал, что электрик придёт и поставит современный навороченный счётчик с кучей интерфейсов, но всё оказалось не совсем так...Представитель ресурсоснабжающей организации установил новый счётчик МИР С-05.10-230-5(80)-G2Z1B-KNQ-S-D. Читать далее]]>

https://habr.com/ru/articles/1016552/

[>] Машина Тьюринга в Minecraft
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-29 19:35:01


Опубликовано: Sun, 29 Mar 2026 14:35:49 GMT
Канал: Все статьи подряд / DIY или Сделай сам / Хабр

Что если взять одну из базовых концепций computer science и построить её прямо внутри игры — из пикселей, блоков и виртуальных проводов? Именно это я и сделал. Машина Тьюринга — теоретическая модель, которая лежит в основе всех современных компьютеров. Она читает символы, записывает их и переходит между состояниями по заданной программе. Майнкрафт позволяет симулировать электрические сигналы с помощью редстоуна. Из этого материала можно собирать настоящие логические схемы — и в итоге целые вычислительные устройства. Получился полностью рабочий механизм: машина читает данные, выполняет команды и останавливается по завершении программы. Делаем интересную Майнкрафт штуку]]>

https://habr.com/ru/articles/1016582/

[>] [Перевод] Структуры данных на практике. Глава 10: B-деревья и деревья, эффективно использующие кэш
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-29 21:35:05


Опубликовано: Sun, 29 Mar 2026 16:54:20 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Загадка базы данныхВся наша база данных находилась в памяти, однако операции поиска по ней занимали 12 тысяч тактов. При миллионе показаний датчика IoT-устройства с 64 КБ кэша реализация красно-чёрного дерева оказалась слишком медленной для запросов в реальном времени.«Давайте попробуем B-дерево», — предложил я.«Разве они нужны не только для баз данных на дисках?», — спросил лид, — «У нас всё находится в памяти. Чем нам будет полезно B-дерево?»Вопрос был вполне разумным. B-деревья были придуманы для доступа к диску; каждый узел в них — это блок диска. Однако паттерны промахов кэша выглядели подозрительно похожими на паттерны дискового ввода-вывода — всего в 100 раз, а не в 100000 раз быстрее.В итоге мы реализовали B-дерево. Результаты удивили всех... Читать далее]]>

https://habr.com/ru/articles/1013048/

[>] DIY: создание новых компнентов в LibrePCB
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-30 03:35:01


Опубликовано: Sun, 29 Mar 2026 23:20:11 GMT
Канал: Все статьи подряд / DIY или Сделай сам / Хабр

При создании плат в той или иной программе периодически приходится использовать какие-то компоненты, которых нет в стандартном пакете: какой-нибудь разъем необычного размера, готовый модуль и т.д.Сам пользуюсь сейчас LibrePCB, и вот в комментариях видел вопрос: а где брать компоненты для LibrePCB, если их там не нашлось? Создать, конечно!Создание нового компонента только на первый взгляд кажется сложным. но на самом деле всё довольно просто, если понять логику, как это там делается. Например, нужно создать компонент модуля понижения напряжения DCDC: Читать далее]]>

https://habr.com/ru/articles/1016668/

[>] Немного интересностей про ультразвук
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-30 11:35:03


Опубликовано: Mon, 30 Mar 2026 07:06:57 GMT
Канал: Все статьи подряд / DIY или Сделай сам / Хабр

Sebastian HartlaubМногие вещи существуют в природе достаточно давно, однако открывая их для себя человек частенько придумывает весьма любопытные новые применение для них — не является исключением и ультразвук, который, несмотря на достаточную изученность к нынешнему моменту (учёными), для обычных людей содержит ряд скрытых возможностей, малоизвестных широкой публике… Читать далее]]>

https://habr.com/ru/companies/beget/articles/1013144/

[>] [Перевод] Структуры данных на практике. Глава 11: Префиксные деревья и базисные деревья
bot.habr.rss
BotHabr(tgi,2) — All
2026-03-30 11:35:04


Опубликовано: Mon, 30 Mar 2026 07:33:49 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Кошмар с автозавершениемНаше префиксное дерево было в 8 раз медленнее хэш-таблицы. И оно потребляло 128 МБ памяти, в отличие от хэш-таблицы с 24 МБ.Такого не должно было произойти. Префиксные деревья — стандартное решение для автозавершения: поиск за O(k), где k — длина строки вне зависимости от размера датасета. Идеально подходит для сопоставления префиксов. Обычно всегда используется для автозавершения, проверки правописания и таблиц IP-маршрутизации.Мой коллега предложил использовать префиксное дерево для функции автозавершения в нашем инструменте командной строки. Поиск в нём должен был выполняться по 50 тысячам команд и опций. Учебники говорили, что это правильный выбор.Поэтому мы реализовали префиксное дерево. Результаты бенчмарка оказались ужасными:Префиксное дерево было в 8 раз медленнее простой хэш-таблицы. И оно использовало 128 МБ памяти, в то время как хэш-таблица — всего 24 МБ.Где мы ошиблись? Читать далее]]>

https://habr.com/ru/articles/1015900/

Pages: 1 ... 82 83 84 85 86 87 88 89 90 91 92