Нужно помнить что в мире Kubernetes есть два варианта nginx ingress, которые можно спутать:
В самом кластере их можно опознать по контроллеру в ingressclass:
- k8s.io/ingress-nginx - это ingress-nginx
- nginx.org/ingress-controller - это nginx-ingress
Заметки о Linux, системном администрировании, программировании, электронике и не только
Нужно помнить что в мире Kubernetes есть два варианта nginx ingress, которые можно спутать:
В самом кластере их можно опознать по контроллеру в ingressclass:
Для большинства проектов на макетной плате приходится использовать тактовые кнопки (как минимум сброс микроконтроллера). Ниже показана эволюция тактовых кнопок в моих проектах.
Слева самый базовый вариант, который заодно и самый ненадёжный. От частого нажатия кнопка расшатывается и начинает самостоятельно вываливаться из платы.
Дальше идут два уродца, которые я сделал для последнего проекта, когда замучился с выпадающими кнопками.
А справа - последний вариант, идею которого подсмотрел на AliExpress, но добавил больше контактов для надёжной фиксации в макетной плате.
Собрал простейшую схему гальванического изолятора для USB UART преобразователя. Для этой задачи есть специализированные микросхемы вроде ADUM1201, но был спортивный интерес попробовать максимально доступный вариант с использованием оптопар. Под рукой нашлись только оптопары PC817C производства UMW (Китай).
Первый вариант схемы показал время реакции около 200 мкс, хотя документация обещает около 18 мкс. Вдумчивое чтение даташита вывело на график "Response Time vs. Load Resistance" из которого следует что чем меньше сопротивление нагрузки транзистора оптопары, тем быстрее она срабатывает.
Открыл для себя что не только Java, но и Python имеет отдельное хранилище корневых сертификатов, которое не привязано к системному. Наткнулся на это в процессе настройки приложения, которое подключается к серверу у которого сертификат подписан внутренним удостоверяющим центром (Certification Authority).
Корневой сертификат удостоверяющего центра добавлен в список доверенных (/etc/ssl/certs/ca-certificates.crt в дистрибутиве Debian) и отправка запросов на сервер через curl работает. Но приложение ругается
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.example.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)')))
Чтобы этого не происходило нужно задать переменную окружения REQUESTS_CA_BUNDLE и указать в её значении путь к системному хранилищу доверенных сертификатов.
В качестве проекта выходного дня собрал держатель для печатных плат.
При пайке порой не хватает ещё одной или двух дополнительных рук чтобы подержать провод или компонент. Привлекать каждый раз кого-то из домочадцев можно, но не всегда это удобно в моменте.
В середине марта я описывал блок питания на 5 фиксированных напряжений, который я довольно активно использую и уже несколько раз дорабатывал.
Первой доработкой стала замена однополупериодного выпрямителя на двухполупериодный с использованием диодного моста. Для этого потребовалось перемотать вторичную обмотку трансформатора чтобы получить две с отводом от середины и заодно снизить напряжение вторичных обмоток с 18В до 13В.
Печатную плату менять не стал - подключил диодный мост навесным монтажом и поставил его на мелкий радиатор.
Вторая доработка чисто визуальная - заменил клеммы отрицательного напряжения с красных на жёлтые.
В моём регулируемом лабораторном блоке питания изначально выход был всегда включен. Для отключения питания схемы я отсоединял провода либо от клеммы ЛБП, либо от платы устройства. В блоке питания на 5 выходов есть выключатель, который отключает все выходы одновременно и это оказалось очень удобным.
За время использования этого выключателя я нашёл два недостатка:
Поначалу было лень делать отдельную схему, но низкое качество выключателей обязывает. Взял за основу схему электронного выключателя и заменил полевой транзистор на реле (ресурс электрических контактов реле заявлен 100000).