Pull to refresh
8
0
Send message

Устанавливаем и настраиваем прокси-сервер Marzban

Level of difficultyEasy
Reading time6 min
Views118K

Marzban — это cреда на базе Xray-core, которая предоставляет простой и удобный пользовательский интерфейс для создания и управления учетных записей прокси (XTLS-Reality, Trojan, Vless, VMess, Shadowsocks) и созданный с использованием Python и ReactJS.

В данной статье рассмотрим установку и настройку сервера Marzban, настройка конфигураций клиентов и настройка дополнительных нод (масштабирование)

Читать далее

Обработка распределенных транзакций в микросервисной архитектуре

Reading time7 min
Views51K
Привет, Хабр!

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

Приятного чтения!
Читать дальше →

I2C датчик INA219 + Python + Repka Pi: измеряем ток, напряжение и мощность во встраиваемых системах управления

Level of difficultyMedium
Reading time31 min
Views17K

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

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

В этой статье мы расскажем об использовании для контроля напряжения, тока и мощности недорогого модуля GY-219 с интерфейсом I2C и чипом INA219. Вы сможете подключить его практически к любому микрокомпьютеру, где есть такой интерфейс.

В статье будет описано подключение GY-219 к отечественному микрокомпьютеру Repka PI, однако все будет работать и с Raspberry Pi. В интернете вы найдете руководства, как подключить GY-219 к любому другому микрокомпьютеру или микроконтроллеру с интерфейсом I2C.

Читать далее

Зачем ограничивать наследование с помощью final?

Reading time45 min
Views40K

Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией.


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


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


Проблема хрупкого базового класса


Проблема хрупкого базового класса

Читать дальше →

Information

Rating
Does not participate
Registered
Activity