Цвета терминала и управление вывода с sh и php echo

Иногда, когда пишешь терминальное приложение (миграции например), хочется кроме стандартного потока, создавать более красочные сообщения и прогресс-бары. Для этого надо использовать управляющие коды для шелла. Перепечатаю для себя шпаргалку на будущее..

Многообразие тестов

Типы автоматических тестов я разделяю таким образом.. ​Чёрный ящик Это семейство тестов рассматривает тестируемую систему как изолированный объект малоизвестной природы Базовые сценарные/UI тесты. Соответсвуют фичам, в основном тестируют навигацию и наличие html элементов Продвинутые UI тесты. Автоматизированы и эффективны. Тестируют все роли пользователей, ресетят данные, повторяющиеся функции абстрагированы. Medium priority […]

Микросервисы #2

В прошлой статье я начал изучать микросервисный подход, но до полноценного решения тогда не дошёл. Тогда я пробовал сам поднимать процессы на php, управлять ими, связывать между собой через очереди потому что монолит не мог справиться с асинхронными задачами. Но чего у меня реально нехватало, так это нормальной изоляции и деплоймента, межсервисного […]

Микросервисы

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

Мини-шпаргалка по Unix

С  юниксом я до некоторых пор был в достаточно прохладных отношениях — мы встречались довольно редко, каждый раз у него были новые дистрибутивы и формы. То в университете Солярис удивлял своим UI, то на хостинге каком-то надо покопаться через ssh. В какой-то момент я стал пристальней посматривать за его возможностями, удивляясь […]

Основы Android-приложения

Android — основанная на linux платформа для мобильных устройств использующая изменённую виртуальную машину Java построенную для учёта компактности файлов и энергоэффективности Dalvik. Из-за этого используется не Mobile Edition и тем более не Java SE, а свои библиотеки. Приложения соответсвенно пишутся на Java, либо же через обходные пути  — Titanium, AppInventor, Adobe AIR. Интересно что […]

Шпаргалка по golang — часть 1

После php и node начал писать на go, поэтому по-аналогии с unix-шпаргалкой, выпишу для себя основы.. Запуск go run main.go → компиляция и запуск exe go build main.go → только компиляция и создание exe, без запуска go get -u https://github.com/x/y → импортирование зависимостей

Dashboard на основе Grafana и InfluxDB

В продолжение темы умного дома где мой котёл умел выдавать API для мониторинга температур, захотелось мне вывести эти данные в более приятный вид. Кроме того, хотя сам котёл умеет рисовать графики, он показывал на них только температурную зону одного контура, а мне хотелось видеть два. Поэтому я решил поизучать бесплатный dashboard и […]

Как параллельно запустить процессы в sh скрипте

Порой надо написать какой-то установочный скрипт, который требует одновременный запуск нескольких задач, из которых некоторые достаточно долгие — сервер, билд проекта. Это не то же самое что последовательный запуск с «&&» или «;» разделителями. Shell-скрипты могут и это с помощью комманды trap. Комманда работает на прерывании процесса (второй параметр). В данном случае это EXIT […]

JasperReports

JasperReports Server это web-приложение на java (spring, hibernate, axis), бегающее на tomcat сервере (по умолчанию — http://localhost:8080/jasperserver/ ) с postgres базой данных. Основная цель — бизнес аналитика, тоесть получение агрегированных данных для отчётности по продажам, пользователям, их поведению.