Подключение в mongo

В настройках linux переходим

cd /etc/mongod.conf

Изменяем настройку net

net:
port: 27017
bindIp: 0.0.0.0

Подробнее тут

Проигрывание аудио записи на устройстве через Termux

Устанавливаем на устройстве приложение

apt install mpv

Выполняем команду и на телефоне должна заиграть музыка:

mpv https://appcode.mobwal.com/betkhoven-simfonija-5-allegro-con-brio.mp3

Можно например запустить воспроизведение в определенной позиции:

mpv https://appcode.mobwal.com/betkhoven-simfonija-5-allegro-con-brio.mp3 --start=00:00:59

Termux для Android

Данное приложение предназначено для установки nodejs на устройство под управление ОС Android. В Google Play находим приложение Termux и устанавливаем на телефон (требуется минимальная версия android 5). Запускаем приложение и устанавливаем нужные пакеты, выполнив следующие команды:

apt update
apt upgrade
apt install coreutils
apt install nodejs
Читать далее «Termux для Android»

Бесплатный SSL на собственный сервер

Установка SSL сертификата от Let’s Encrypt на собственный сервер. Доменное имя у меня зарегистрировано на reg.ru. Мои шаги:

  • Переходим по ссылке и выбираем нужные конфигурации сервера. Я выбрал nginx и ubuntu 14
  • Выполняем команды
Читать далее «Бесплатный SSL на собственный сервер»

Маска подсети

Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.

Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.

Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32. Читать далее «Маска подсети»

postgresql

Для разрешения подключения со всех адресов пишем в файле postgresql.conf

listen_addresses = '*'

Для разрешения пользователей указываем в файле pg.hba.conf

#IPv4 local connections:
host all all 0.0.0.0/0 md5

Выполнение команд

sudo -u postgres psql

Создание пользователя:

sudo -u postgres createuser [username]

Применение пароля для пользователя:

$ sudo -u postgres psql
psql=# alter user  with encrypted password '';

Создание функции с IF ELSE

CREATE OR REPLACE FUNCTION is_accesses(role_name varchar, currentuser integer, claims varchar, user_id integer) RETURNS integer
AS 
$BODY$
BEGIN
    IF role_name is null and user_id is null then
		RETURN 1;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then
		RETURN 2;
	ELSEIF (role_name is not null and claims is not null and POSITION(CONCAT('.', role_name, '.') IN claims) > 0) then  
		RETURN 3;
	ELSEIF (role_name is null and currentuser = user_id) then
		RETURN 4;
	else
		RETURN 0;
	end if;
 END
$BODY$
LANGUAGE plpgsql;

Создание функции

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF sys_users
AS 
$
BEGIN
    return QUERY SELECT * from sys_users;
END

$ LANGUAGE plpgsql; 

или

CREATE OR REPLACE FUNCTION get_object_fields()
RETURNS SETOF RECORD AS $
SELECT department_id WHERE ...
$ LANGUAGE sql STABLE;

Создание backup’a

sudo su - postgres 
pg_dump postgres > postgres_db.sql 

Восстановить. Нужно заранее создать бд и пользователя.

su - postgres 
psql -d database -f databas.sql 
====
psql -U postgres dbname < infile

MySQL — логирование долгих запросов

Чтобы включить лог медленных запросов, нужно открыть конфигурационный файл MySQL (путь может отличаться):

nano /etc/mysql/my.cnf

и поправить там настройки:

До версии 5.7

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

Начиная с версии 5.7

slow_query_log = /var/log/mysql/mysql-slow.log
long_query_time = 1

log_slow_queries (slow_query_log) указывает путь к файлу настроек
long_query_time указывает минимальное время выполнения запроса, после которого он считается медленным в секундах,
После этого необходимо перезапустить MySQL:

/etc/init.d/mysql restart

После этого в файл /var/log/mysql/mysql-slow.log будут попадать медленные запросы, которые Вам прийдется оптимизировать.