MongoDB — индексы

Получить список индексов
https://www.mongodb.com/docs/manual/reference/command/listIndexes/

Изменить TTL у существующего индекса
https://www.mongodb.com/docs/manual/core/index-ttl/#std-label-change-ttl-expireafterseconds-value

Конвертирование сертификатов (PEM/P7B/PFX/DER)

Конвертирование сертификатов (PEM/P7B/PFX/DER)
Форматы сертификатов можно менять при помощи команд OpenSSL или посредством инструментов Конвертор SSL. Ниже указаны наиболее употребляемые комманды:

I. Конвертирование файлов PEM
PEM в DER
openssl x509 -outform der -in certificate.pem -out certificate.der

PEM в P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

PEM в PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

II. Конвертирование файлов P7B
P7B в PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

P7B в PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer

III. Конвертирование файлов PFX
PFX в PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

IV. Конвертирование файлов DER
DER в PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem

Настройка почты на VDS

Установка Postfix

Установка и настройка SMTP-сервера исходящей почты Postfix в Ubuntu 18.04

Настройка dkim
https://serveroid.com/ru/kb/dkim-spf-postfix.html

Настройка dmarc
https://www.unisender.com/ru/glossary/dmarc/

Проверка корректности настройки почты
https://mxtoolbox.com/emailhealth/

Что такое Rx и Tx?

TTrancieve (отправление)
RRecieve (получение)

Занимаемый размер таблиц в БД

ТОП 30 по занимаемому месту объектов в БД

Как узнать размер таблицы в базе данных PostgreSQL?

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

Как узнать размер таблицы в базе данных PostgreSQL без учёта индексов?

301 редирект с www на без www

Давно уже не пользуюсь Apache но переодически беру на фрилансе заказы. Была задача сделать обыденность — для СЕО сделать редирект всех ссылок www.domain.ru/* на domain.ru/*

Если по простому — то как-то так:

Если на сайте HTTP

Если на сайте HTTPS

 

Использование Laravel во внешнем коде

Была у меня задача подключить внешний PHP код, но открыть к нему  доступ только для пользователей с ролью Администратор. Через routes это было не сделать.
Помог следующий код в файле конфиге внешнего PHP кода который инклудился во всех файлах:

Тоже самое для Laravel 5

Долго искал как это можно было сделать, нашёл в итоге это решение на гитхабе: https://gist.github.com/frzsombor/ddd0e11f93885060ef35

Шпаргалка по Postgresql

Собрал для себя запросы которые мне были нужны в то или иное время — источник — интернет.

 

Аналог GROUP_CONCAT

 

Удаление миллисекунд у now()

 

Статистика по индексам
Список по индексам: сколько записей из индекса были возвращены в запросах по этому индексу; сколько рядов при этом все же пришлось просматривать в родительской таблице; отношение этих двух чисел. Суть данной статистики проста: если у вас много fetch-ей, значит индекс устарел и при выполнении запроса PostgreSQL вынужден смотреть непосредственно в таблицу, как в источник самых актуальных данных, что замедляет его работу. В этом случае необходимо перестроить данный индекс, чтобы он соответствовал реальным данным в таблице.

 

Список текущих блокировок
Список текущих блокировок с указанием типа блокировки, таблицы и базы данных, на которой она выставлена и номера транзакции, которая выставила блокировку. Не стоит пугаться, если запрос выдает длинный список lock-ов — не все они являются критическими и блокирующими таблицу от всех возможных изменений и даже чтения. Для анализа списка блокировок обязательно стоит ознакомиться с документацией об их типах в PostgreSQL и о том, когда и какими запросами они выставляются. Один из распространенных случаев, когда список блокировок может пригодиться: выполняя команду ps aux | grep ^postgres вы видите, что в статусе одного из процессов postgres-а написано waiting — это как раз и означает, что данный процесс ждет, когда будет снята нужная ему блокировка. Какая именно — выясняйте, запустив данный запрос.

 

Выполняющиеся запросы с их продолжительностью
Простой список выполняющихся сервером в настоящий момент запросов. Бывает полезен, когда вы недостаточно хорошо знаете систему или просто не успели ее настроить — с его помощью можно найти и прервать «плохой» запрос, который мешает работе сервера (колонка procpid содержит PID процесса, которому можно сделать kill при необходимости).