Делаем дамп БД и отсылаем себе на почту

Введение Здравствуйте. Наша задача – периодически делать дамп указанной базы данных (БД) и отсылать нам на почту, чтобы в случае чего можно было восстановиться в любой момент времени. Для этого достаточно штатных средств Linux‘а. DB.SH Итак, составляем простой шелл скрипт – текстовый файл, назовём его db.sh, и делаем его исполняемым: $ vim /var/adm/cron/db.sh $ chmod […]

Инсталлируем и конфижим DKIM с Postfix на Debian/Ubuntu

Перевод с https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy Введение Для многих серверных админов попадние в спам-лист не является такой уж редкой возможностью, тогда как конечно никакой спам они не рассылают и не рассылали. Возможные способы попадния в спам-листы сервера (при условии что Ваш сервер чист, не заражен троянами, рассылающего спам без Вашего ведома) могут быть одними из: Сервер явлется открытым […]

Создаём плэйлисты (playlists) M3U/PLS на PHP

Итак, у нас имеется список треков в формате MP3 в нескольих папках. Мы хотим создать плэйлисты в формате M3U/PLS для этих треков. Информации по данным форматам не особо много, она пересекается (согласно гуглу, конечно), но в итоге можно использовать то, что мы прочитаем в википедии: Описание формата M3U – https://ru.wikipedia.org/wiki/M3U. Для него конечно же будем […]

Комментарии VKontakte/Facebook – перехватываем и отправляем нам на почту

Добавляем виджеты комментариев VK/FB на свою страничку Создаём приложения Добавить комменты VK/FB на свой сайт относительно просто – создаём соотв. приложения в VK/FB, получаем их id. Вот адреса страничек для создания приложений: https://vk.com/dev/widgets_for_sites для ВК и https://developers.facebook.com/apps/ для Фэйсбук. Подробно на этой теме останавливаться нет смысла, так как у них меняется всё очень часто, я […]

ffmpeg: склеиваем два видео-файла в один и исправляем ошибку “width not divisible by 2”

Здоровья и благополучия! 1.mov + 2.mov = output.mp4 Итак, надо склеить два видео-файлика, присланных любимым клиентом, в один для его пост-обработки. По идее в FFMPEG это делается в два счёта, но получилось только со второго или третьего раза. Итак, самый простой и верный вариант. Имеется два видео-файлика, 1.mov и 2.mov, мы пытаемся их склеить в […]

Часовые пояса и расширение tar.lz в Windows

Здравствуйте! Нам понадобилось вывести список мировых временных зон, чтобы можно было выбрать одну из них. Для PHP в итоге я смог сделать такой вариант: function getOptTimeZones($dk_timezone = 0) { // построим select для dk_timezone $dk_tzs = array( -15 => ‘(GMT -12:00) Эневеток, Кваджалейн’, -14 => ‘(GMT -11:00) Остров Мидуэй, Самоа’, -13 => ‘(GMT -10:00) Гавайи’, […]

Node.js: пишем простой сервер с middleware, используя Connect

Предисловие. Пара слов о том, почему Node.js Да, Node.js – это Вещь (с большой буквы, как и написано). Чем больше я читаю и узнаю о нём, и пробую его, тем больше он мне нравится. С Ruby и Python‘ом пока не складывается (все мои проекты были на PHP, поэтому поддержка новой платформы была не актуальна – […]

bcrypt в NodeJS в Windows 10 Home и Linux Mint

Я работаю с nodejs в Windows 10 Home (параллельно иногда загружаюсь в Linux Mint, но редко). Изучаю книгу `Node.JS в действии`, она, к сожалению, в некоторых местах устарела, но в целом даёт представление о теме. Итак, в главе 9 нам нужен был brcypt, но простой npm install bcrypt –save завершился с ошибкой. Пошарив инете пару […]

Emmet: balance tag исправляем

Здравствуйте. На страничке http://docs.emmet.io/actions/match-pair/ у Сергея написано следующее (перевод мой с английского): ******************************************************************************** Balance “Balance Outward” (Ctrl+D) “Balance Inward (Shift+Ctrl+D) Известная балансировка тэгов: поиск границ тэгов и выбор их от текущей позиции каретки. Она может быть расширенной (outward balancing) или суженной (inward balancing) при вызове несколько раз подряд. Не каждый редактор поддерживает одновременно суженную и […]

Читаем/пишем бинарники на JavaScript (JScript) для Win Wscript

Да, проблема в том, что JavaScript пытается преобразовать полученные байты в юникод (unicode), и портит большинство байт, которые больше 0x7F. Поэтому при чтении/записи бинарников получается не то, что мы хотим. Пошарив какое-то время в инете, я нашёл табличку преобразований символов больше либо равным 0x80, но она в итоге оказалась не полной, и мои бинарники читались […]