Многие считают, что Assembler – уже устаревший и нигде не используемый язык, однако в основном это молодые люди, которые не занимаются профессионально системным программированием. Разработка ПО, конечно, хорошо, но в отличие от высокоуровневых языков программирования, Ассемблер научит глубоко понимать работу компьютера, оптимизировать работку с аппаратными ресурсами, а также программировать любую […]
Как в Linux получить часть файла по номерам строк?
Достаточно повседневная задача, поделить файл на части не выходя из bash. sed -n 4646,9999p old.file > new.file Где 4646 — начальная строка, а 9999 — конечная строка.
Быстрый экспорт данных с джойнами из MySQL в Clickhouse
Подготовка и импорт данных в Clickhouse достаточно обширная тема. В данной заметке приведу рецепт быстрого экспорта данных с джойнами из MySQL в CSV с последующим импортом этих CSV в Clickhouse. В MySQL есть очень полезная директива: INTO OUTFILE, которая в контексте SELECT запросов сохраняет данные в файл на сервере, а не […]
Как отладить PHP скрипт в Windows 10 с помощью PHPStorm и xDebug внутри docker-контейнера находящимся на сервере за NAT?
Вопрос отладки PHP-скриптов будоражит умы многих разработчиков. Так же эта инструкция поможет и тем, кто Docker не использует. На самом деле всё очень просто, достаточно прокинуть порт с удалённого сервера на локальный (так называемый remote port forwarding или ssh tunnel), делается это одной командой, но требует предварительной правки конфигов. Начнём. […]
Как на Windows 10 скомпилировать из исходника на Go Lang бинарник для Linux?
Этой заметкой открываю новую рублику по программированию на Go Lang. Один из первых вопросов, которые пришлось решить — как пользователю Windows 10 скомпилировать исполняемый файл для Linux сервера? Процесс сборки бинарного файла на системе одного типа для системы другого типа называется кросскомпиляцией. Ответ достаточно прост, сначала нужно задать константы: set […]
Как запускать cron jobs для docker-контейнеров?
Следуя хорошим практикам работе с Docker, в каждом контейнере должно быть запущено одно и только одно приложение. Как только приложение завершает работу — контейнер останавливается. Эти ограничения заставляют посмотреть на работу с cron задачами по-другому. Конечно, законами физики не запрещено в каждый контейнер устанавливать более одного приложения и запускать крон […]
Оптимизация и тюнинг производительности MariaDB MySQL сервера внутри Docker
Пожалуй, это единственное актуальное и максимально полное руководство на русском языке по оптимизации MySQL сервера в docker-контейнерах. По сути большая часть советов отлично подойдёт и тем, кто не работает с Docker. Оптимизацию базы данных можно разделить на 3 слоя: Оптимизация запросов, таблиц и индексов Тюнинг параметров сервера баз данных Оптимальная […]
CentOS 7 настройка SSH авторизации по ключу без пароля
Как сгенерировать пару приватного и публичного ключей для ssh соединения? От имени пользователя, для которого нужно создать ключи: ssh-keygen
Как установить библиотеку ncurses для PHP
yum install ncurses-devel phpize —clean phpize ./configure (./configure —with-php-config=/usr/bin/php-config —enable-ncursesw=autodetect —with-ncurses) make make install
Как в docker-compose перезапустить запущенный контейнер с пересборкой
После редактирования Dockerfile или docker-compose.yml файла, например, прообрасывания порта или добавления волюма, изменения не вступают автоматически! Даже если сделать restart контейнера то всё-равно ничего не изменится. Чтобы применить изменения к контейнеру его нужно пересобрать (build).