Что такое feature toggle или как избавиться от мучительных мёржей и долгоживущих веток?

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

Using Laravel’s Bootable Eloquent Traits

In this blog post we’ll take a look at using PHP traits with Laravel’s Eloquent models, hooking them up with events and making them configurable. Traits are a useful means of writing DRY code. They provide a way of horizontally sharing logic between classes. Any properties or methods of a […]

Finding Docker container processes from host point of view

You can use docker top command. This command lists all processes running within your container. For instance this command on a single process container on my box displays: UID PID PPID C STIME TTY TIME CMD root 14097 13930 0 23:17 pts/6 00:00:00 /bin/bash All methods mentioned by others are […]

Что будет нового в PHP 8

PHP 8 — следующая мажорная версия, примерная дата релиза конец 2020 года. Итак, PHP 7.4 вышел и должен закончить эпохальную ветку седьмой версии. Столько много всего интересного было в ней реализовано, но разработчики PHP не стоят на месте и уже готовят 8 версию, которая будет содержать в себе много грандиозных […]

Капризы WebSocket и при чём здесь костыли

Протокол WebSocket, как и любые другие протоколы, имеет свои преимущества и свои недостатки. Именно из-за последних появляются новые версии протоколов, новые протоколы и новые подходы к реализации всего, что вокруг них, а конкретно — клиентских и серверных приложений. Хороший сервер — это такой сервер, который учитывает особенности протокола. Хороший клиент […]

Introduction to how Laravel Horizon works

Laravel Horizon is a queue manager that gives you full control over your queues, it provides means to configure how your jobs are processed, generate analytics, and perform different queue-related tasks from within a nice dashboard. In this dive we’re going to learn how Horizon boots up and handles processing […]

Creating flamegraphs with XHProf

This post assumes that the reader has created a new Git branch (and corresponding Platform.sh environment) or wishes to use an existing one to perform this work. Please see the documentation page for details on this process. The first thing we need to do is make sure that the XHProf […]

Docker + Laravel + RoadRunner = ❤

Хотелось бы начать с того, что оказалось «не лучшими практиками» в контексте предыдущей статьи: Необходимость изменять структуру файлов в репозитории Использование FPM. Если мы хотим производительности от своих приложений то, пожалуй, одним из лучших решений ещё на стадии выбора технологий будет отказ от него в пользу чего-то более быстрого и […]

Создание расширения (пакета) для Laravel 5.

Создание автономного пакета — вещь очень удобная, т.к. позволяет легко подключать и использовать для других своих (и не только) проектов. В данной статье рассмотрим процесс создания такого пакета на примере одного из моих пакетов для работы с виджетами в Laravel.Страница данного пакета на GitHub — https://github.com/klisl/laravel-widgetsНедавно я опубликовал статью Виджеты […]

Docker + Laravel = ❤

В данной статье я расскажу о своём опыте «заворачивания» Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов. «А в чём, […]