Как откатить версию composer для PHP

В августе произошла странная вещь,всеми любимый composer получил 1.7 версию. Однако, не всё так гладко, некоторые проекты перестали корректно инсталлироваться. Например, вывод команды composer install мог внезапно выдать ошибку: (далее…)

Пивоварня Grainfather — инструкция на русском

К сожалению, не существует инструкции к пивоварне Grainfather на русском языке. Но я поделюсь своими советами и наблюдениями при работе с этой автоматической пивоварней, а точнее сусловарней. Но так уж и быть, большинство терминов я постараюсь перевести самостоятельно. Важно! Все советы описаны для пивоварни 3-го поколения с Bluetooth и противоточным чиллером. Это авторский материал, его написал я и опубликовал на своём личном блоге, поэтому копирования материала целиком не приветствуется, а если копируете даже фрагмент, будьте добры оставить ссылку на оригинал статьи! (далее…)

Как на PHP обрезать GET-параметры в url

Допустим, есть ссылка вроде https://evilinside.ru/admin/post-new.php?attempt=1. Как убрать из неё всё, что идёт после знака вопроса? Сразу предлагаю рассмотреть самый простой и самый быстрый способ: $url = strtok($url, '?'); В результате чего получится: https://evilinside.ru/admin/post-new.php

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

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

Как в 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 для редактирования и добавьте в конец файла следующие строки:
  1. ExitNodes {US,RU}
  2. 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')
(далее…)


Любишь мемасики?

Подпишись на мой телеграм-канал!

Открыть
Закрыть