Представьте, что у вас есть сайт. А на этом сайте у вас подключен TinyMCE. Да подключен не к одному textarea, а к пачке разных, и надо сделать так, чтобы на разных textarea были разные настройки. Что в первую очередь приходит в голову? Правильно! Наделаем разных классов и будем по css-селекторам создавать разные инстансы. А что получим в итоге? Тоже правильно! Лапша в коде

Сделаем по-умному

13 март 2018 года LetsEncrypt наконец объявила, что, они начали поддерживать wildcard-сертификаты. Теперь можно за раз получить сертификат, включащий в себя все субдомены

Процесс всё так же автоматизирован через консольную утилиту certbot. Отличие в том, что теперь подтверждение домена можно сделать только через TXT-запись в DNS-зоне, а не через webroot, как раньше.

  1. Качаем обновлённый certbot v0.22, разархивируем, переходим в папку

    wget 'https://github.com/certbot/certbot/archive/v0.22.2.tar.gz' && \
    tar -xvf v0.22.2.tar.gz && \
    cd certbot-0.22.2
    

В summernote для codeview используется codemirror, так что нам надо, чтобы сам summernote расставил переносы строк (prettifyHtml: true), а средствами codemirror`а мы уже сделаем отступы.

По мотивам официального мануала

Скорость переноса данных, по сравнению с обычными консольными dump / restore просто колоссальная, т.к. переносятся целиком файлы таблиц.

Особенность в том, что на целевом сервере не должно быть рабочей mysql с нужными данными

На серверах должен быть установлен Percona XtraBackup

Source server

Делаем частичный бэкап (partial backup), указывая опцию -database, где через пробел перечисляем базы для бэкапа. Важным моментов является то, что необходимо забрать и базу mysql для сохранения учётных записей и разрешений

Введение

Об удобстве использования профайлера, да ещё с графическим интерфейсом и говорить нечего, особенно когда надо найти узкие места под нагрузкой.

tideways - само расширение php для сбора данных о производительности кода

xhgui - графический веб-интерфейс (см. скриншот выше), который, помимо всего прочего, сохраняет данные профилирования в mongodb и затем использует их для вывода статистики

Кейс следующий:

Есть запросы к API с передачей уникального токена в GET параметре. По этому токену (user_token=) имеются лимиты на запросы через limit_req_zone, типа такого:

limit_req_zone $arg_user_token zone=token5:10m rate=12r/m;

Необходимо для некоторых токенов отключить лимиты. Тут на помощь и приходит модуль map nginx. Он позволяет динамически получать переменную, значение которой будет зависеть от значений других, входных, переменных. Т.е., грубо говоря, мы имеем

Упало письмо с рассылкой от DO, в котором говорится что они анонсируют ранний доступ, по запросу, к новым типам дроплетов

We're excited to share some big new products and capabilities, and other improvements you may have missed

High CPU Droplets: Early Access

We are now offering early access to a new set Droplet Plans: High CPU Droplets.

Focused on reliable high performance, High CPU Droplets are backed by a more powerful, best-in-class CPU, and won't have any overcommitment on the underlying physical resources.

Провайдер услуг: ovh

Проц: Intel Xeon D-1521

ОС: CentOS 7.3

Ядро: 3.14 кастомное от ovh

Дело было на майских праздниках. Клиент, держащий сервис, написанный на php и использующий mysql как бд, попросил посмотреть, почему сервер внезапно перестаёт отвечать.

Предположили, что дело может быть в высокой нагрузке и отваливается сеть. Но нет, нагрузка так себе, на интерфейсе максимум 300 pps, трафик низкий, память не кушается, проц процентов на 40% загружен. В процессе выяснилось, что сервер не только перестаёт отвечать, но и сам перезагружается.

Ага! Настраиваем kdump. kdump не запускается на кастомном ядре 3.14 ovh. Ставим ванильное из родных реп

Чтобы отправить декларацию от доходах 3-НДФЛ в ФНС, можно получить ключ неквалифицированной электронной подписи и его сертификат, сформированные онлайн и отправить декларацию через личные кабинет налогоплательщика.

Если решите хранить ключ у себя на компьютере, то ФНС предложит установить «средства электронной подписи, которые установят в систему свои корневые сертификаты с неограниченными правами использования. А это означает, что ваша машина будет доверять любыми сертификатам, выпущенными удостоверяющим центром (УЦ), указанном в корневом сертификате.

Проверить установленные недоверенные сертификаты можно с помощью утилиты RCC (https://www.trustprobe.com/fs1/apps.html). Утилита запускается в юзер-спейсе без запроса админских прав и только читает сертификаты.

До установки средств электронной подписи

После установки средств электронной подписи появляется аж четыре корневых УЦ

Введение

Когда-то, настраивая nginx+php-fpm, я просто делал setenforce 0 или правил /etc/selinux/config, перманентно отключая selinux на сервере

/etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled

Теперь, наконец разобравшись, я понял, что никогда больше не буду выключать selinux