Трудовыебудни

Стоит ли читать бумажные книги о программировании в 2018 году?

Стоит ли вообще покупать и читать книги о программировании в 2018 году, ведь всё можно найти в интернете. Это правда, в интернете можно найти ответы на большинство вопросов. Однако, информация в интернете может появляться не своевременно по той причине, что зачастую она основана как раз на материалах из книг. Т.е. Сначала выходит книга, затем в интернете постепенно начинают появляться статьи по её мотивам. (далее…)

Трудовыебудни

Аналог функции file_put_contents в go lang

Нельзя просто так взять и записать текст в файл на языке Go Lang. Для этого нужно произвести достаточно большую последовательность действий, которые так и просятся быть вынесенными в отдельную функцию: (далее…)

Трудовыебудни

Как в Go Lang объявить мультилайн строку

Так случилось, что в Go Land не всё можно делать по аналогии с другими языками программирования. Например, нельзя просто так взять и объявить переменную типа string на нескольких строках кода таким образом:

text := "123
456
678"
Такой код просто не скомпилируется, а вы получите ошибку:
newline in string
syntax error: unexpected if, expecting expression
syntax error: non-declaration statement outside function body
(далее…)

Трудовыебудни

Would you like to try reinstalling the package instead

Во время выполнения composer install может произойти пренеприятнейшее извещение:

Would you like to try reinstalling the package instead [yes]?
При вводе yes и ещё некоторых сообщениях может случиться ошибка:
[RuntimeException]
Source directory has unpushed changes on the current branch
Хорошего решения из коробки для этой проблемы я не нашёл. Однако, есть workaround. (далее…)

Трудовыебудни

Как в docker-compose выполнить комманду с пайпами и перенаправлением вывода

Когда лень входить в терминал контейнера, а выполнить какие-то действия в нём нужно, то можно воспользоваться лайфхаком и запустить команду через вызов docker-compose exec:

docker-compose exec -u appuser appcontainer command args --options=values
Однако, если логика вашей команды подразумевает конвейерную обработку или запись вывода команды в файл внутри контейнера, то подобные команды будут выдавать ошибки:
docker-compose exec appcontainer echo 'something' | worker
Выведет:
bash: php: command not found
(далее…)

Трудовыебудни

Как в docker-compose exec разово задать переменную окружения

Тоже достаточно повседневная задача — выполнить какую-либо команду в bash разово задав переменную окружения меняющую поведение данной команды. Например, в командной строке это может выглядеть так:

SYMFONY_ENV=prod composer install --no-dev
Однако, если выполнить это через docker-compose exec
docker-compose exec -u app php SYMFONY_ENV=prod composer install --no-dev
возникнет ошибка: (далее…)

Трудовыебудни

Как в Symfony 3.4 принудительно закрыть соединение с MySQL

Достаточно частая ситуация, когда скрипт закончил всю работу с базой и переходит к какой-то длительной обработке данных. В такой ситуации соединение с БД остаётся открытым, но никто им не пользуется, в результате чего при большой нагрузке другие клиенты могут получить ошибку:

MySQL: ERROR 1040: Too many connections
Незадачливый амин или разработчик моментально предложит увеличить количество соединений. Но будет ли это хорошим решением? Не всегда. (далее…)

Трудовыебудни

Работа с build arguments в docker-compose и Dockerfile

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


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

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

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