Перейти к содержанию

2024

Массивы в shell

Реализация массивов возможна, например, при помощи переменных, имена которых отличаются лишь числовым индексом.

Сервер для разработки веб-приложений

О статье

Здесь описывается пример установки виртуального сервера в среде виртуализации KVM/QEMU, предназначенного для разработки веб-приложений на базе PHP, с использованием MySQL. Требования, предъявляемые к серверу: - отдельные виртуальные диски для размещения кода и баз данных; - доступ разработчиков по ssh и sftp в пользовательские пространства (chroot).

Ограничение среды пользователей SSH

Если ваш сервер SSH сконфигурирован по-умолчанию (или без указанных ниже опций), скорее всего любой пользователь, который может подключиться к нему, будет иметь доступ на чтение множества файлов, в том числе системных. Да, это всего лишь доступ на чтение, но далеко не всегда необходимо, чтобы пользователи могли просматривать, например, файл конфигурации того же SSH, список всех пользователей системы и многие другие файлы.

Использование триггеров в MySQL

Бывает удобно при вводе или редактировании таблицы автоматически формировать некоторые поля. Например, при вводе полей "фамилия", "имя" и "отчество", было бы удобно автоматически формировать поля "полное ФИО" и "сокращенное ФИО".

В первом поле фамилия, имя и отчество должны указываться полностью, разделяемые пробелом. Во втором поле должна быть указана фамилия и через пробел инициалы.

Чтобы это сделать, нужно добавить триггер для операций INSERT и UPDATE, срабатывающий перед событием (BEFORE) со следующим содержимым:

BEGIN
SET NEW.f_name = CONCAT_WS(' ', TRIM(NEW.name), TRIM(NEW.m_name), TRIM(NEW.l_name));
SET NEW.s_name = CONCAT(TRIM(NEW.l_name), ' ', TRIM(LEFT(NEW.name, 1)), '. ', TRIM(LEFT(NEW.m_name, 1)), '.');
END