Сообщения

Raspberry Pi + X830 + DS1307

Изображение
Что зачем Начал замечать, как мой домашний внешний диск (WD MyBookWorld) с семейным фотоархивом начал умирать (уже во второй раз). В первый раз вовремя не спохватился и затем пришлось потратить больше года, чтобы круглосуточно без перерывов! шло восстановление данных побитовым считыванием напрямую с полудохлого диска (с помощью dd). Отдельное спасибо mybookworld.wikidot.com за дельные статьи по проблеме! Да знаю, что данные нужно хранить в нескольких местах. Но фотографии и видео занимают много места. Очень сложно это организовать финансово и технически. Пока был бесплатный терабайт от mail.ru и их рабочий клиент для GNU/Linux, - всё было хорошо, но позже они убрали возможность монтирования тома и прямую работу с ним (через rsync, например). Халява кончилась, внешний диск остался. Опыт использования различной "специализированной" техники от знаменитых брендов показал, что доверять им не стоит никогда. Обновления безопасности? Обновление системообразующих пакетов (типа, ...

Битрикс подружился с composer

В Битриксе с версии 18.0.5 официально используется composer. Есть даже страница документации . Многие проекты уже давно применяют composer и сделано у всех это как-то по своему. Я имею ввиду расположение конфига самого composer и каталога с библиотеками (vendor). Тут опишу пошагово, как привести применение composer на проекте к официальным рекомендациям: ведь хорошо же, когда на разных проектах всё устроено единообразно, безопасно и понятно. Описание заточено под боевой сайт, но сначала, конечно, стоит всё это проделать на тестовом сайте. Перенос за пределы сайта Если composer уже где-то задействован, и он не за пределами DOCUMENT_ROOT, - переносим (сначала копированием; оставляем старые файлы на месте) за пределы DOCUMENT_ROOT файлы composer.json, composer.lock и скрипт composer, если он используется локальный, а не системный глобальный. Старые файлы пока оставляем на месте, чтобы не валились ошибки при переключении сайта с одного расположения библиотек на другое (opcache будет нек...

Пропорциональное распределение суммы

Изображение
Есть довольно распространённая потребность в функции, которая могла бы распределять заданную сумму согласно весовым коэффициентам. На первый взгляд, не очень понятно, о чём речь. Приведу примеры. Распределение скидки на заказ Допустим, интернет-магазин предоставляет клиенту скидку на заказ (по бонусной карте, купону или ещё как-то). Скидка даётся на весь заказ, но её действие нужно пропорционально распределить по товарам, чтобы, например, правильно сформировать кассовый чек (в нём каждую позицию чека нужно расписать: цена до применения скидки и сумма с учётом скидки). Пример: 1) Товар №1 - цена 1500 руб. 2) Товар №2 - цена 1700 руб. Итого сумма заказа получается 3200 руб. Допустим, клиенту предоставляется скидка 10%. В данном случае легко посчитать, что скидка в процентах будет одинаковой для каждого товара: 1) Товар №1 - цена со скидкой 1500 - 10% = 1350 руб. 2) Товар №2 - цена со скидкой 1700 - 10% = 1530 руб. Это лёгкий пример, где никакого распределения не потребовалось...

Сервер очередей Beanstalkd на Fedora

Изображение
Введение Сервер очередей выручает, когда нужно какие-то задачи выполнять параллельно от основного тела программы. Т.е. какую-то часть логики вынести из основной программы, если выполняемые действия не требуют немедленной синхронной обработки. Установка Установка обычным способом: sudo dnf install beanstalkd Я дополнительно поставил ещё несколько вспомогательных вещей: sudo dnf install PyYAML supervisor Запуск сервера производится через systemd: sudo systemctl start beanstalkd.service Добавить в автозапуск: sudo systemctl enable beanstalkd.service Проверить текущий статус: sudo systemctl status beanstalkd.service или ps ax | grep beanstalkd Краткая справка: man beanstalkd Настройки находятся в файле /etc/sysconfig/beanstalkd Дополнительно я сразу поставил систему мониторинга " Admin console for Beanstalk queue server " по их инструкции (там есть описание и на русском языке) в каталог ~/vhosts/beanstalk-console/www. В каталоге ~/vhosts/beanstalk-console со...

Shadowsocks на CentOS 7

Изображение
В продолжение статьи по настройке SOCKS 5 прокси-сервера "Socks5 proxy на CentOS 7" настроим ещё один прокси-сервер - Shadowsocks . Тот прокси SOСKS 5 с авторизацией нельзя применить, например, в браузере Firefox, зато отлично можно применить, например, в Telegram. Этот же прокси можно будет применить для любого приложения, поддерживающего прокси. Но тут есть минус, чтобы это заработало, на клиентской машине нужно устанавливать ещё одну программу, которая выступает промежуточным звеном цепочки проксирования. Основные моменты этой статьи почерпнуты из статьи "Create a SOCKS5 Proxy Server with Shadowsocks on Ubuntu and CentOS 7" . Но попутно пришлось столкнуться с некоторыми трудностями. Поясню для начала вот какой момент, а то сам я не сразу понял, что к чему. Есть несколько реализаций алгоритма прокси сервера Shadowsocks. Наиболее часто мне в сети попадались инструкции по настройке Python реализации, например, статья "Set up Your Own Shadowsocks Server On D...

Продление сертификата Let's Encrypt через systemd

Текущий рецеп основан на статье "Renew let’s encrypt SSL via systemd" . Изменены только пути и время запуска - для соответствия статье по настройке получения сертификата "Настройка Nginx с Let's Encrypt на CentOS 7" . В результате описанных в данной статье действий, сертификат будет обновляться не через cron, а с помощью таймера systemd. Итак. Шаги для настройки автоматического продления сертификатов (которые выдаются на 90 дней). 1. Создаём сервис systemd: sudo nano /etc/systemd/system/letsencrypt.service Вставляем такое содержимое: [Unit] Description=Renews letsencrypt certificates After=network.target [Service] Type=oneshot WorkingDirectory=/opt/letsencrypt/ ExecStart=/opt/letsencrypt/letsencrypt-auto renew 2. Создаём таймер для запуска: sudo nano /etc/systemd/system/letsencrypt.timer Вставляем такое содержимое: [Unit] Description=letsencrypt timer [Timer] OnCalendar=*-*-10 02:12:0 Persistent=true Unit=letsencrypt.service [Install] WantedBy=bas...

МФУ Panasonic KX-MB2051 на Kubuntu 24

Изображение
Статья в очередной раз пригодилась и была актуализирована 04.10.2025 по следам свежей настройки в Kubuntu 24.04 (изначально основана на Kubuntu 16.04). В первый раз пришлось столкнуться с настройкой устройства фирмы Panasonic для работы в GNU/Linux (если не считать подключение домашнего фотоаппарата Panasonic DMC-LZ5, который автоматом распознаётся). Сначала закрались подозрения, что МФУ Panasonic KX-MB2051 не имеет родных драйверов для Linux. Но оказалось, что драйвера есть, хоть и запрятаны в недрах официального сайта. Итак, поиск драйверов нужно выполнять на сайте https://www.panasonic.com (а не в официальных залежах CUPS). Прямая ссылка, которую я приведу может вам не помочь, т.к. наверняка она формируется динамически и нет гарантии, что это долгосрочная прямая ссылка (все указанные в статье ссылки в любой момент могут перестать существовать, но есть шанс, что останется логика переходов). Переходим: Support -> Download / Business / Consumer FAX . Далее Download for PC interface...