Как в Linux просмотреть jpg изображение в консоли

Достаточно специфическая задача — посмотреть содержимое графического файла не выходя из консоли bash. Причём посмотреть не в виде текста, а в виде изображения. Один из вариантов решения — установить пакет caca-utils и воспользоваться утилитой cacaview: yum install caca-utils -y cacaview var/tmp/9036116903362_623752297389759.jpg Результат довольно специфичен, но зато быстро и лучше, чем ничего.

HttpKernelInterface в Symfony

Symfony знаменит благодаря своему HttpKernelInterface: namespace Symfony\Component\HttpKernel; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; interface HttpKernelInterface { const MASTER_REQUEST = 1; const SUB_REQUEST = 2; /** * @return Response */ public function handle( Request $request, $type = self::MASTER_REQUEST, $catch = true ); } Реализация этого интерфейса должна содержать один метод и с его […]

Книга один год с Symfony

Один год с Symfony. На самом деле, для меня это был даже не год, а почти 6 лет. Начинал я с symfony 1 (именно так, с маленькой буквы и отдельно стоящая единичка), потом продолжил с Symfony2. Symfony2 — это то, что можно охарактеризовать как «взрослый» фреймворк, с его помощью вы […]

Как в nginx отдавать ошибки в виде json

При разработке API часто бывает так, что абсолютно все ответы даже с непредвиденными ошибками нужно отдавать в json-формате. В плане PHP, ошибки и эксепшены перехватывать достаточно легко. А вот 500, 502, 504, 404 и прочие ошибки могут генерироваться уже не на стороне PHP, а на стороне веб-сервера, например, nginx. В […]

Как определить, выполняется ли текущая система в виртуальной машине?

Хороший вопрос — является ли Lnux-система реальной железкой или выполняется в виртуальной машине? Для этого можно проверить вывод команды dmesg. Также можно также использовать команду dmidecode, для получения информации из системного BIOS. Далее примеры выполнения команд в разных средах виртуализации. Как определить, что система запущена в внутри KVM? $ dmesg | grep -i virtual […]

Как на PHP получить построчную разницу между двумя файлами или строками

Довольно часть встречается задача: взять два файла или строки, сравнить их построчно и отобразить разницу. И конечно же это можно решить стандартными средствами PHP! Для PHP создано расширение xdiff, которое позволяет создавать и накатывать патч-файлы, содержащие различия между различными версиями файлов или документов. В основе этого расширения лежит библиотека libxdiff.

Как в PHP определить путь к классу по его неймспейсу?

Достаточно нетривиальная задача: как в рантайме определить путь к файлу с классом? Может пригодиться при работе со всяким легаси-кодом, чтобы проверить, например, актуальность файла. Делается это элементарно: $reflector = new \ReflectionClass(Constants::class); $filename = $reflector->getFileName(); Наслаждайтесь!

Service Container and Dependency Injection in Symfony framework

Иногда одна единственная идея способна изменить все представление о программировании. Для меня одной из такой идей была идея сервис-контейнера. Это как золотой грааль). Вообще-то, идея не сугубо Symfony framework, это просто один из удачных паттернов проектирования приложений, часто используемый в Symfony. В двух словах и на пальцах: сервис-ориентированая архитектура позволяет регистрировать класс (сервис), […]

Коллекция полезных Bundle для Symfony

Помимо стандартного набора поставки Symfony, существует множество бандлов (Bundle) от сторонних разработчиков, которые очень упрощают жизнь при разработке приложения (действительно, зачем изобретать велосипед, если есть готовое решение). Не будем разворачивать спор по поводу нередкого присутствия в бандлах функционала, который никогда не будет использован в вашем приложении — скорость разработки покроет эти достаточно […]