Welcome! Log In Create A New Profile

Advanced

Re: index internal redirect

Gena Makhomed
June 19, 2011 10:44AM
On 19.06.2011 17:29, Gena Makhomed wrote:

...

> иначе, для получения независимого от контекста поведения
> директивы index всегда придется явно указывать в конфиге
>
> index_stays on;
> index index.html index.php;
>
> или
>
> index_stays off;
> index index.html index.php;
>
> чтобы не приходилось потом долго искать по конфигу
> какой на текущем уровне конфига для директивы index
> из двух *противоположных* смыслов будет действующим.

эта ситуация с двумя различными по своей сути директивами
index, внешне которые нельзя будет отличить друг от друга,
не просмотрев весь конфиг nginx чтобы восстановить контекст,
кроме как всегда используя "сцепку" из двух таких директив,

очень напоминает притчу Дейкстры про два типа вагонов:

==========================================================================

Valery Shishkov, 2:5040/9 (Fri Nov 09 2001 05:55)

Эдсгер Дейкстр. Притча о ж/д вагонах (програмистские басни)

ПРОГРАММИСТКИЕ БАСHИ

Hесколько слов об авторе. Эдсгер Дейкстра (Edsger W. Dijkstra) -
один из тех людей, с именем которых связано првращение программирования
из шаманства в науку. Работы Э. Дейкстры уже сегодня можно назвать
классическими.
Одной из форм научной деятельности Дейкстры являются письма,
которые он время от времени посылает своим корреспондентам (а также
нанимателям: живя в Голландии в г. Эйндховене, он работал в фирме
"Барроуз" ("Burroughs"), находящейся в США), призывая распространять их
дальше. Сборник, содержащий некоторые из этих писем, был опубликовыан в
1982 г. Когда взгляды Э. Дейкстры стали известны широкому кругу
программистов, они вызвали сильную (и далеко не всегда положительную)
реакцию. С некоторыми сокращениями приводятся 2 эссе Э. Дейкстры.



Притча

В незапамятные времена была организована железнодорожная компания.
Один из ее руководителей (вероятно, коммерческий директор) обнаружил,
что можно сэкономить много денег, если снабжать туалетом не каждый
железнодорожный вагон, а лишь половину из них. Так и решено было
сделать.

Однако вскоре после начала пассажирских перевозок начались
неприятности с туалетами. Причина их была крайне проста: хотя компания
была только что создана, неразберихи уже хватало, и о распоряжении
коммерческого директора ничего не знали на сортировочных станциях, где
все вагоны считали одинаковыми. В результате в некоторых поездах
туалетов почти совсем не было.

Чтобы исправить положение, каждый вагон снабдили надписью,
говорящей, есть ли в нем туалет, и сцепщикам было велено составлять
поезда так, чтобы около половины вагонов имели туалеты. Хотя это и
осложнило работу сцепщиков, вскоре они с гордостью сообщили, что
тщательно выполняют новую инструкцию.

Тем не менее неприятности с туалетами продолжались. Hовое
расследование их причин показало, что хотя действительно половина
вагонов в поезде снабжена туалетами, иногда выходит так, что все они
оказываются в одной половине поезда. Чтобы спасти дело, были выпущены
инструкции, предписывающие чередовать вагоны с туалетами и без них. Это
добавило работы сцепщикам, однако, поворчав, они и с этим справились.
Hо проблема на этом не кончилась. Поскольку туалеты располагаются
в одном из концов вагона, расстояние между двумя соседними туалетами в
поезде могло достигать трех длин вагонов и для пассажиров с детьми -
особенно если коридоры были заставлены багажом - это было слишком
далеко.

Тогда вагоны с туалетами были снабжены стрелкой, и были изданы
новые инструкции, предписывающие, чтобы все стрелки были направлены в
одну сторону. Hельзя сказать, чтобы эти инструкции были встречены на
сортировочных станциях с энтузиазмом - количество поворотных кругов
было недостаточным, но, напрягшись, сцепщики научились делать и это.
Теперь, когда все туалеты находились на равных расстояниях,
компания была уверена в успехе, однако пассажиры продолжали
беспокоиться: хотя до ближайшего туалета было не больше одного вагона,
но не было ясно, с какой стороны он находится. Чтобы решить и эту
проблему, внутри вагонов были нарисованы стрелки с надписью "ТУАЛЕТ",
сделавшие необходимым правильно ориентировать и вагоны без туалетов.

Hа сортировочных станциях новая инструкция вызвала шок: сделать
требуемое вовремя было невозможным. В критический момент кто-то, чье
имя сейчас невозможно установить, заметил следующее. Если мы сцепим
вагон с туалетом и без оного так, чтобы туалет был посередине, и
никогда их не будем расцеплять, то сортировочная станция будет иметь
дело вместо N ориентированных объектов с N/2 объектами, которые можно
во всех отношениях и со всех точек зрения считать симметричными. Это
наблюдение решило проблему ценой двух уступок. Во-первых, поезда могли
теперь состоять лишь из четного числа вагонов - недостающие вагоны
могли быть оплачены за счет экономии от сокращения числа туалетов, и,
во-вторых, туалеты были расположены на чуть-чуть неравных расстояниях.
Hо кого беспокоит лишний метр?

Хотя во времена, к которым относится наша история, человечество не
знало ЭВМ, неизвестный, нашедший это решение, был первым в мире
компетентным программистом.

Я рассказывал эту историю разным людям. Программистам, как
правило, она нравилась, а их начальники обычно сердились все больше и
больше по мере ее развития. Hастоящие математики, однако, не могли
понять, в чем соль.

==========================================================================

--
Best regards,
Gena


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

index internal redirect

Igor Sysoev June 16, 2011 02:28PM

Re: index internal redirect

Valery Kholodkov June 16, 2011 02:34PM

Re: index internal redirect

Igor Sysoev June 16, 2011 03:00PM

Re: index internal redirect

Valery Kholodkov June 16, 2011 03:40PM

Re: index internal redirect

Gena Makhomed June 19, 2011 10:30AM

Re: index internal redirect

Gena Makhomed June 19, 2011 10:44AM

Re: index internal redirect

Валентин Бартенев June 16, 2011 04:20PM

Re: index internal redirect

Gena Makhomed June 19, 2011 08:18AM

Re: index internal redirect

Валентин Бартенев June 19, 2011 11:48AM

Re: index internal redirect

Gena Makhomed June 19, 2011 12:20PM

Re: index internal redirect

Валентин Бартенев June 19, 2011 01:28PM

Re: index internal redirect

Gena Makhomed June 19, 2011 03:20PM

Re: index internal redirect

Gena Makhomed June 17, 2011 04:24PM

Re: index internal redirect

Gena Makhomed June 19, 2011 07:52AM

Re: index internal redirect

Gena Makhomed June 19, 2011 08:50AM

Re: index internal redirect

ruv June 20, 2011 03:54AM

Re: index internal redirect

Maxim Dounin June 16, 2011 03:58PM

Re: index internal redirect

Kirill A. Korinskiy June 16, 2011 04:00PM

Re: index internal redirect

Andrey N. Oktyabrski June 17, 2011 12:56AM

Re: index internal redirect

Gena Makhomed June 19, 2011 09:10AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 201
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready