don't repeat yourself / copy and paste programming

Евгений 'Rush' Непомнящий rush.zlo на gmail.com
Ср Ноя 23 11:28:26 UTC 2011


В нашем случае используется №1 (genshi templates + fabric, так как
серверов много). Минус только один - ленимся написать запуска для этой
связки вебморду :) Впрочем тот же подход практикуем и для конфигов
другого софта, не только nginx, так что метод в общем то
универсальный, хотя не для ленивых, это да.

23 ноября 2011 г. 15:11 пользователь Gena Makhomed <gmm на csdoc.com> написал:
> On 23.11.2011 12:39, Denis F. Latypoff wrote:
>
>>> И ещё вопрос, вот мне нужно в отдельную директорию (админку) разрешить
>>> доступ только с определённой сетки. Как это сделать, чтобы в
>>> соответствующем location-е не дублировать все proxy* настройки из
>>> location-а, который перехватывает .php?
>
>> ну так же - инклудом.
>> nginx не будет работать быстрее, если в конфиге меньше строк,
>> что за панический страх перед дублированием конфига?
>
> по поводу copy/paste:
>
> http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
> http://en.wikipedia.org/wiki/Copy_and_paste_programming
>
> по поводу include:
>
> не просмотрев все конфиги нельзя понять какие сайты
> затронет модификация того или иного фрагмента include-файла,
> потому что все include-файлы имеют глобальную область видимости.
>
> как вариант - применить трехуровневую схему:
>
> /etc/nginx/nginx.conf
> /etc/nginx/virtual/example.com/example.com.conf
> /etc/nginx/virtual/example.com/include-file.inc
>
> в таком случае у каждого сайта будет свой собственный
> подкаталог и там будут include-файлы только с локальной
> областью видимости, которые можно будет безопасно
> модифицировать, точно зная, что это не затронет никакие
> другие сайты. но это опять же, конфигурирование nginx
> методом copy/paste, потому что в 99% случаев
> это будут полностью одинаковые копии файлов.
>
> как избавиться от метода copy/paste в том или ином виде:
>
> 1. написать свой собственный генератор конфига nginx из DSL.
>
> 2. добавить в nginx возможность создавать "макросы"
> с локальной областью видимости, тогда можно будет
> конфигурировать nginx по принципу "1 сайт == 1 конфиг"
> и вместе с тем, избавиться от индусского метода copy/paste.
>
> 3. ......................................................... ?
>
> --
> Best regards,
>  Gena
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Cogito ergo sum


Подробная информация о списке рассылки nginx-ru