• На чём сделать беспроводную кнопку с низким энергопотреблением? ZigBee, Bluetooth?

    @Visphord
    Я собирал на NRF24+arduino pro mini маяк, который работал от Lipo ~150mah (с интервалом пинга в 1с у меня он жил месяц на 1 зарядке), и это я не сильно то оптимизировал энергопотребление - подключил модуль и использовал sleep, ну и выкинул led по питанию (можно было отключать NRF-ку транзистором в периоды неактивности - получилось бы еще лучше).

    Но как я понял у них есть разные аппаратные ревизии - будьте оочень внимательны (я по началу дня 4 потратил на понимание этого факта) - они работают с чуть-чуть отличающимися библиотеками (у меня были модули с разных магазинов чуть-чуть отличающиеся по дизайну).
    Ответ написан
  • Как организовать структуру и деплой проекта с docker?

    @Visphord
    Я сделал чуть по проще (с меньшим кол-вом ручных действий).
    Имеем:
    - c#
    - Stateless-приложения
    - сервер с монгодб (ее не дают увести в докер).
    - TeamCity.

    Что сделал:
    - Собрал билд-агента под mono в докер-контейнере, прокинул туда хостовый докер.
    - Собрал базовый рантайм-контейнер с mono.
    - Настроил билд через билд агента из п.1, при этом сам тимсити генерит Dockerfile (для c# они типовые).
    - Поднял приватный докер registry.
    - после этого тимсити делает docker tag, docker push в приватный репозитарий.
    - на машинках кластера стоит watchtower, который обновляет и перезапускает контейнеры при появлении апдейта (но первый запуск нового сервиса делаю ручками).
    - в самих проектах в гите храню compose файлы со ссылками на другие сервисы\контейнеры\env (с ними пока нет большого понимания - как и куда их правильно деплоить, где хранить - пока валяются в /home/ на каждой машинке в кластере).
    Ответ написан
    2 комментария
  • Является ли нормой вести историю изменения всех свойств сущности приложения в mysql таблицу?

    @Visphord
    У меня в одной фин. системе был подобный паттерн - висел триггер на UPDATE + INSERT, который складывал все поля + DateTime в имя_таблицы_log. Работало, но есть один нюанс. Если вдруг кто придёт и сделает update table set amount=amount+1, то базе будет ооочень плохо.
    Ответ написан
    Комментировать
  • Как присвоить переменной результат echo?

    @Visphord
    Ну или вот так, если интересен сам принцип перехвата данных из echo:
    ob_start();
    echo "Привет ";
    $out1 = ob_get_contents();
    Ответ написан
    Комментировать