Слияние массивов в PHP, почему лучше array_replace() а не array_merge()

Распространённая задача — сделать слияние значений нескольких массивов. Однако, в PHP это можно сделать разными способами и с разным конечным результатом. Почему-то большинству программистов первым на ум приходит способ с использованием функции array_merge(). Однако, ранее я уже писал о некоторых подводных камнях в её использовании совместно с http_build_query(). Следующий способ […]

Как в docker-compose сменить project name

Всем известно, что после выполнения команды docker-compose up пачка контейнеров создаётся в так называемом стеке, а все контейнеры получают префикс с именем стека.По-умолчанию за имя стека берётся имя директории, в которой происходит запуск. Но это не всегда подходит. На данный момент мне удалось найти только один способ переопределения имени стека.

Как в git создать коммит с выборочными изменениями

Допустим, вы дисциплинированный и аккуратный программист. Все правки кода строго привязываете к задачам и ничего лишнего и не относящегося к задаче в коммит не попадает. Но как быть, если в файл были внесены правки относящиеся сразу к нескольким задачам? Можно ли теперь изменения одного файла разделить на несколько коммитов? Можно:

Что такое Laravel Backpack и как им пользоваться

Это удивительно, но на русском языке до сих пор нет ни одного материала о работе с пакетом Backpack для фреймворка Laravel. Исправляю это недоразумение. Итак, существует такой проект: https://backpackforlaravel.com/, и страница на github: https://github.com/Laravel-Backpack. По заявлению авторов, это: The most popular admin panel software for Laravel. Или на русском: Самая популярная панель администратора для Laravel. […]

Настройка стран в Tor Browser

Как выходить в сеть Tor через IP адрес определённой страны Для того чтобы задать страну выхода в сеть в Tor откройте файл Tor Browser\Browser\TorBrowser\Data\Tor\torrc для редактирования и добавьте в конец файла следующие строки: ExitNodes {US,RU} StrictExitNodes 1 Где {US} — страны для выхода в сеть.

Как в Guzzle отправить multipart запрос с дополнительными полями

Допустим есть задача — отправить HTTP-запрос с бинарным файлом на сторонний сервис. Рассмотрим решения на примере клиентской библиотеки Guzzle. $client->request(‘POST’, ‘/post’, [ ‘multipart’ => [ [ ‘name’ => ‘avatarka.jpg’, ‘contents’ => fopen(‘/path/to/file’, ‘r’), ‘filename’ => ‘custom_filename.jpg’ ], ] ]);

Формат сериализации DateTime объектов с помощью JMS Serializer в Symfony 3.4

Вы не поверите, в ёбаном Симфони снова приключилась злоебучая пизда. И снова с блядской сериализацией объектов, а конкретнее с DateTime. Как думаете, в каком виде по-умолчанию JMS Serializer выводит даты? Делает он это примерно так: 2018-08-09T11:01:25+0000. Пиздец! Хорошо хоть в JavaScript есть стандартная функция для преобразования подобных дат в timestamp: Date.parse(‘2018-08-07T13:43:28+0300’)

Symfony 3.4: создание бандла, модели и таблицы в БД

Для того, чтобы создать какое-то минимально вменяемое приложение на Symfony нужно сгенерировать несколько сущностей. Все примеры команд будут рассмотрены для версии 3.4. Для начала нужно сгенерирвовать бандл, фактически это пакет для Symfony, в котором могут содержаться все компоненты приложения, либо какие-то его части.

Обзор на книгу Go на практике от Мэтт Катчер и Мэтт Фарина

С помощью советов из этой книги мне уже удалось написать одно консольное приложение на Go Lang и внедрить его в продакшен. Главная особенность книги в том, что это не справочник по синтаксису, а полноценные советы по решению типовых задач программиста. Поэтому перед началом чтения книги нужно иметь представление о концепции […]

Как в Symfony 3.4 в PHPUnit тестах вызвать сервис контейнер

Иногда очень удобно написать юнит-тест для какого-либо класса. Но что делать, если в этот класс нужно внедрить заранее сконфигурированные зависимые классы? Правильнее всего использовать сервис-контейнер из Symfony приложения. Для этого нужно немного изменить сигнатуру тестового класса: