MongoDBРезервное копирование данных

Задача: настроить резервное копирование данных из MongoDB, с созданием архивов по датам и выгрузкой по FTP.

Пример реализации mongo_backup.sh:

#!/bin/sh
# переменные
DATE=`date "+%Y-%m-%d"`
dest_dir="/backup/dir"

# настройки подключения
mongo_server="127.0.0.1"
mongo_db="database"
mongo_username="user"
mongo_password="password"

# создаем врем.каталог, делаем дамп, архивируем, удаляем каталог
mkdir -p $dest_dir/mongo-$DATE
mongodump -h $mongo_server -d $mongo_db -u $mongo_username -p $mongo_password -o $dest_dir/mongo-$DATE
cd $dest_dir && tar czvf mongo-$DATE.tgz mongo-$DATE
rm -r $dest_dir/mongo-$DATE
# выгрузка по FTP
wput -q mongo-$DATE.tgz ftp://ftp-server/backup/
echo "Backup 'mongo-$DATE.tgz' - OK"

Варинат с ротацией: https://github.com/micahwedemeyer/automongobackup

Читать далее...

JavaScriptАдаптивные размеры

Задача: изменить размер объекта (любые другие свойства объекта), в зависимости от размера экрана. Другими словами реализовать адаптивный дизайн посредством JavaScript.

Решение:

Используем свойство clientWidth для определения ширины области просмотра (viewport).

// на css
@media all and (max-width: 768px) { }

// с помощью javascript
if (document.documentElement.clientWidth < 768) { }

Альтернативный способ, смотреть на ширину устройства screen.width

if (screen.width < 768) { }

Предпочтительней использовать первый вариант.

Читать далее...

HTML\CSSПредзагрузка страниц: ускоряем загрузку браузером

Улучшить субъективную скорость работы сайта можно указав браузеру, какую страницу пользователь откроет следующей и браузер начнет ее загружать предварительно (предзугрузка).

Реализуется это очень просто, добавлением в head страницы:

<link rel="next prefetch prerender" href="NEXT_PAGE" />

Проверить работу в Chome можно с помощью: chrome://net-internals/#prerender

Читать далее...

HTML\CSSПодсветка HTML кода в textarea

Задача: Подсвечивать HTML-синтаксис внутри textarea при редактировании. Например, у нас есть поле texarea содержащее некий HTML-код подлежащий редактированию, и мы хотим подсвечивать (разукрасить) синтаксис для удобства.

html syntax higlight

Решение: Воспользуемся CodeMirror — замечательным текстовым редактором, реализованным на JavaScript. Все что нам необходимо сделать — это скачать последнюю версию библиотеки с официального сайта, или из GitHub репозитория, и положить файлы в /css и /js директории на сервере, соответственно.

Читать далее...

ЗдоровьеОсновные принципы силовых тренировок

anatomy

1. Полная амплитуда движения – то есть полное растяжение и сокращение мышц с удержанием снаряда в пиковой точке, с дополнительным усилием при сокращении мышц.

2. Полный контроль над отягощением – возможность остановки снаряда в любой точке его движения.

3. Обходиться без читинга – не помогать движению снаряда другими частями тела, работать плавно, без инерции. Негативное движение снаряда должно быть медленнее позитивного, так как при обратном движении включаются дополнительные мышцы — стабилизаторы.

4. Постоянное напряжение при подходе – в крайних точках амплитуды следует постепенно снижать скорость движения снаряда, не закидывая его при подъёме и не отбивая в нижней точке.

Читать далее...