Мне недавно захотелось странного - делать diff для файлов odt и pdf.
Скрипт вытаскивает текст из двух файлов (doc,odt,docx,pdf,xls,xlsx,ods,rtf) и сравнивает эти тексты в моей любимой программе meld.
Я применяю этот скрипт для сравнения файлов в Eclipse. Для этого надо поставить плагин (http://sourceforge.net/projects/externaldiff/). В SVN плагине Subversive уже есть функция External diff. А затем в качестве внешней команды сравнения настроить этот скрипт.
Установка зависимостей (команда для Ubuntu):
sudo apt-get install odt2txt python-pdfminer catdoc antiword unoconv
12.11.13
10.11.13
Динамические виртуальные хосты (dynamic vhost) в nginx
У apache есть такая полезная вещь как dynamic vhost - динамические виртуальных хосты. Собственно, оно нужно для того, чтобы каждый раз при добавлении домена, не было нужды редактировать файл конфигурации. Достаточно один раз настроить, добавить\обновить DNS запись и добавить директорию на сервер.
Так вот до недавнего времени, мне не было нужды в динамических виртуальных хостах, но не так давно понадобилось сделать и я, признаться, немного был поражён тому, насколько это просто, лаконично и главное гибко можно настроить в nginx.
Так вот до недавнего времени, мне не было нужды в динамических виртуальных хостах, но не так давно понадобилось сделать и я, признаться, немного был поражён тому, насколько это просто, лаконично и главное гибко можно настроить в nginx.
Не буду томить, всё действительно очень просто:
server {
server_name $host;
root /var/www/$host;
...
}
По большему счёту это всё, но на практике хорошо бы проверять наличие директории, и если такой нет - показывать 404 ошибку:
server_name $host;
if (!-d /var/www/$host) {
return 404;
}
root /var/www/$host;
Если необходимо только для поддоменов то:
server_name $subdomain.example.com;
if (!-d /var/www/$subdomain.example.com) {
return 404;
}
root /var/www/$subdomain.example.com;
Или вместо 404 ошибки можно сделать перенаправление (редирект, если будет угодно) на основной:
server_name $subdomain.example.com;
if (!-d /var/www/$subdomain.example.com) {
rewrite ^/(.*) http://example.com permanent;
}
root /var/www/$subdomain.example.com;
Ну и совсем универсальный вариант для доменов и поддоменов:
server {
set $basepath "/var/www";
set $domain $host;
if ($domain ~ "^(.[^.]*)$") {
set $domain $1;
set $rootpath "${domain}/html/";
set $servername "${domain}";
}
if ($domain ~ "^(.*)\.(.[^.]*)$") {
set $subdomain $1;
set $domain $2;
set $rootpath "${subdomain}.${domain}/html/";
set $servername "${subdomain}.${domain}";
}
if (!-d $basepath/$rootpath) {
return 404;
}
server_name $servername;
root $basepath/$rootpath/;
}
Підписатися на:
Дописи (Atom)