ESPspectrum третья статья. Версия 1.1. Доработка первого экземпляра. Создание ESPspectrum for projects. Схемы и описание.
Инженер-программист
VSCode+CMake+openocd для программирования и отладки ch32
На хабре немало статей по настройке окружения для разработки под микроконтроллеры stm32 и другие платформы. Кто-то предпочитает использовать спец.пакеты (CubeIDE, Keil), кто-то - расширения для IDE "общего назначения" (PlatformIO, VisualGDB), кто-то, как и автор, "голый" CMake в связке с бесплатным VSCode.
В процессе знакомства с пока еще не слишком популярными RISC-V микроконтроллерами ch32, которые, в целом, способны заменить stm32, захотелось обеспечить себе привычную и уже удобную связку VSCode+CMake для программирования, сборки, прошивки и отладки. И это получилось!
Сказ о том, как я за год решил более 600 leetcode задач
Всем салют!
Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...
Публикация локального сервера из дома в интернет
Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.
Рокет сайнса здесь не встретите, и в целом все эти вещи справедливы и работают уже минимум лет 10, просто не так тривиально понять, какой именно запрос нужно задать в гугл, и что делать.
Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!
Загрузка драйверов в ядре Linux
Почти все знают, как написать простой драйвер под Linux. На эту тему много материалов в сети. Очень мало информации о том, что находится "под капотом" у процедуры загрузки драйверов.
Domain fronting для чайников, и как его использовать для обхода блокировок
Давайте сразу вопрос на засыпку: может ли быть так, что клиент подключается, ну, например, к серверу www.python.org (самому настоящему, тому, к которому обращаются еще миллионы клиентов со всего мира), а потом использует его как прокси и гоняет через это подключение трафик до своего VPS для доступа в неподцензурный интернет? Если вы не уверены в ответе на этот вопрос или почему-то ответили "нет", то добро пожаловать в статью.
Я уже не раз рассказывал здесь о технологии XTLS-Reality (1, 2, 3) суть которой в том, что ваш прокси-сервер VPS может очень достоверно маскироваться под какой-нибудь популярный веб-сайт - принимать подключения, которые будут выглядит точно так же, как обращения к настоящему сайту, отвечать на них полностью аутентичным TLS-сертификатом, и в целом вести себя как тот настоящий сайт. Единственная проблема - сам IP-адрес. Немного подозрительно, когда к какому-нибудь якобы www.google.com постоянно обращается только один пользователь, а IP-адрес этого сервера на самом деле даже не относится к автономной сети Google.
Еще я рассказывал о разных вариантах проксировать трафик посредством вебсокетов и простых HTTP-туннелей через различные CDN
, такие как Cloudflare и Gcore. Вероятность того, что под блокировку попадет вся CDN гораздо ниже, чем что забанят какой-то один сервер или диапазон хостера, но та схема требовала регистрацию своего домена для работы через CDN.
И наверняка многим в голову приходила идея, а нельзя ли как-нибудь совместить эти два механизма? Проксироваться через CDN, но при этом "прикрываясь" каким-нибудь чужим доменом? Ответ: да, можно, и сейчас мы посмотрим, как именно.
Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции
Всем маткульт-привет! В этой статье мы продолжаем и заканчиваем написание консольного инженерного калькулятора.
В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)
на токены. На выходе мы получаем массив токенов, каждый их которых содержит информацию о типе (оператор, скобка, число, ...) и об ассоциативности, если он таковую имеет.
Теперь мы хотим привести выражение к виду обратной польской записи (RPN), чтобы затем удобно его посчитать. Это нам позволяет сделать изобретенный Эдсгером Дейкстрой алгоритм сортировочной станции.
Делаем ST-Link V2.1 из китайского ST-Link V2
В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1.
Возможно для кого-то это не будет новостью, но особой инфы по данной теме в инете не нашел.
Кому интересно — прошу под кат.
DIY-программатор ST-Link V2.1
Привет, Хабр!
Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.
Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.
Flipper Zero — подробный обзор
Летом 2020 года компания Flipper Devices Inc. вышла на Kickstarter с девайсом Flipper Zero. Их стартовой целью было собрать 60К$. Но за первые сутки было собрано 1млн$. За сутки?! Да, именно за сутки. Девайс произвел настолько сильную шумиху в сообществе гиков, что про Flipper Zero знает каждый второй пользователь интернета, сидящий в TikTok или YouTube.
Как минимум, вы наверняка могли видеть видео на просторах интернета, как Flipper Zero открывает люк от зарядного порта Tesla, выключает телевизоры в общественных местах и "ломает" устройства на iOS. Это не все возможные варианты использование Flipper Zero.
Интерфейс JTAG? — Это очень просто
Orange Pi 5 (как настоящий...)
Недавно компания OrangePi обновила линейку одноплатных компьютеров Orange Pi 5/5B/5+, распаяв на платах 32GB LDDR4 RAM. Однако данные платы вполне прилично работают и с меньшим объемом памяти на борту, а наличие SPI Nor Flash и возможность подключения NVMe диска делают эти платы достойными конкурентами среди одноплатных устройств для разаработки.
Нас заинтересовал первый образец серии 5/5B/5+, а именно Orange Pi 5, на предмет того, как на данном устройстве поведет себя EDK II и можно ли его использовать так, как мы привыкли работать с обычными ПК.
RVO и NRVO в C++17
Предположим, что в программе на C++ вы возвращаете из функции локальную переменную. Что происходит при вызове оператора return
: копирование, перемещение или ни то, ни другое? От этого зависит длительность вызова функции и эффективность наших программ. Я постарался разобраться с этим вопросом и дам рекомендации по написанию функций так, чтобы повысить шансы на применение этой оптимизации компиляторами. Ну, а сокращения в названии статьи — это Return Value Optimization (RVO) и Named Return Value Optimization (NRVO).
C++ Дайджест №2 (21 августа 2023 – 3 сентября 2023)
Привет, Хабр! Сегодня я хочу вам представить подборку интересных новостей и материалов из мира C++ за последние две недели.
Приятного чтения!
Алгоритмы заливки изображений, популярно и с видео
Аннотация
Заливка изображений — часто нужная на практике задача, суть которой — заполнить некоторую область изображения, ограниченную контуром, заданным цветом. И казалось бы все просто, однако часто медленно и криво. В данной статье рассказывается об известных алгоритмах заливки на основе стека и приводится реализация на псевдокоде MatLab. Я постарался наполнить столь скучную тему интересными видео роликами, и описал процесс их получения, опять же с использованием MatLab. В этой статье мы будем заливать Карлсона который живет на крыше, так как хабралоготипа для этих целей в нормальном разрешении я не нашел. А так же несколько строк кода о том как читать и работать с картинками в MatLab.
Про злые угри и чёрные точки и добрые сальные нити (не путайте их)
Так выглядит механизм образования комедонов изнутри
Потому что это симптом, а проблема начинается чуть раньше. Например, с ДНК или неправильного питания. Обычно чёрные точки появляются из-за избыточной секреции сальных желёз, закупорки фолликулов секретом сальных желёз и кератиноцитами или колонизации фолликулов Propionibacterium acnes (этот анаэроб, кстати, входит в состав нормальной микрофлоры человека (сейчас cutibacterium acnes)). Упрощённо говоря, когда в волосяной фолликул набивается всякое типа мёртвой кожи, сала и грязи, начинается закупорка пор изнутри. А гигиена и косметика действуют снаружи. И сразу развею пару мифов: это не из-за сладкого и не из-за молока.
А вот сальные нити — обязательный и полезный элемент нашей кожи. Выглядят они иногда страшнее, но решение очень и очень простое.
О кэшах в микроконтроллерах ARM
В предыдущей статье мы для ускорения графики на микроконтроллере в Embox применяли процессорный кэш. При этом мы использовали режим «write-through». Тогда мы писали о некоторых преимуществах и недостатках связанных с «write-through» режимом, но это был лишь беглый обзор. В этой статье я, как и обещал, хочу подробней рассмотреть типы кэшей в ARM микроконтроллерах, а также сравнить их. Конечно, все это будет рассмотрено с точки зрения программиста, и вдаваться в детали работы контроллера памяти в данной статье мы не планируем.
Разбираемся в особенностях графической подсистемы микроконтроллеров
В этой статье я бы хотел рассказать об особенностях реализации графического пользовательского интерфейса с виджетами на микроконтроллере и как при этом иметь и привычный пользовательский интерфейс и приличный FPS. Внимание я хотел бы акцентировать не на какой-то конкретной графической библиотеке, а на общих вещах — память, кэш процессора, dma и так далее. Поскольку я являюсь разработчиком команды Embox, приведенные примеры и эксперименты будут на данной ОС РВ.
Фрэнки
Доброго времени суток!
Меня зовут Александр, я работаю программистом микроконтроллеров, и это история о Фрэнки.
. . .Фрэнки родился чуднЫм. Родителями были пионэрский задор вашего автора и требования заказчика.
Когда младенца скомпилировали и по его венам потекли животворные байты, мой коллега процедил:
- Вы слепили монстра, герр Франкейштейн, но он не лишен некоторого очарования. . .
В то время я писал прошивку для станка с ЧПУ, причем заказчик наложил ограничения - строго Си, никаких сторонних библиотек, допускался только HAL с открытыми исходниками от производителя МК.
Был предоставлен забугорный образец станка, который мы должны были воспроизвести на собственных схемотехнике и ПО.
Общую логику работы подопытного мы с электронщиками раскурили довольно быстро, но оставалось несколько лакун в понимании взаимодействий между узлами, которые ничем, кроме домыслов не заполнялись. В итоге решили начинать как есть, рассчитывая в ходе экспериментов на прототипе постичь финальный замысел самураев.
Ну хорошо, а какой тогда должна быть архитектура приложения, когда нет итогового ТЗ и при этом низзя(!) ни в какие сторонние РТОСы и диспетчеры? Как выстроить программу, чтобы не перелопачивать все исходники, если вдруг осознаешь в середине проекта, что логику нужно править?
Атопический дерматит (нейродермит): что сломалось и как лечить
Одно из возможных проявлений атопического дерматита
Знаете, чему учат студентов-медиков, когда они в первый раз попадают на курацию по кожно-венерологическим заболеваниям? Правильно общаться с пациентом и корректно его осматривать. Типичный студент, увидевший кожу с неприглядными корочками или покраснениями, сразу отодвигается на полтора метра и делает круглые глаза. А потом чуть ли не палочкой пытается тыкать в пациента, стараясь не приближаться. Людей это расстраивает, особенно с учётом того, что большинство пациентов там вовсе не болеет чем-то страшным и заразным.
Часто попадаются довольно неприятно выглядящие хронические заболевания, которые радикально не лечатся, но поддаются контролю при правильном подходе. Псориаз или атопический дерматит очень сложно лечить из-за двух причин:
- Базовая причина связана с генетическими дефектами, которые мы пока не можем чинить, несмотря на все успехи генотерапии.
- Есть куча непонятных факторов, которые могут запускать этот процесс.
В итоге можно попытаться загнать заболевание в постоянную ремиссию. Сегодня мы поговорим:
- Что это за патология, с которой сталкивается около 20 % людей.
- Что ломается в организме у атопиков.
- Как это связано с аллергией.
- Что лучше мазать на кожу.
- Почему антидепрессанты могут сильно помочь.
Под катом будет несколько фотографий повреждённой кожи, но не ужас-ужас, как вы и просили.
Информация
- В рейтинге
- 2 442-й
- Откуда
- Владивосток, Приморский край, Россия
- Зарегистрирован
- Активность