Кто еще помнит дебаты на ткме стандартизации файлов настроек ?

Автор: XMan Дата: 03.06.2004 20:17 Так вот, не мы одни задавались этим вопросом:

[registry.sourceforge.net]

Улыбка
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:23Bircoph Отстой это всё.
/etc был есть и будет, и никакой хре#и выдумывать не нужно!
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:25GOzzy Реестр - это, конечно, неплохо. Но есть два больших "но".
1) Все настройки сосредоточены в одном файле, и если его повредить - мама не горюй.
2) Реестр на xml - это, мягко выражаясь, не самая быстрая вещь. Хотя это, возможно, повысит степень устойчивости к повреждению файла.

Только не надо делать здесь тред, как на ЛОРе - там уже за 800 сообщений зашкалило Улыбка
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:26XMan Ты явно не помнишь самого обсуждения и его результатов, раз утверждаешь такую чушь Улыбка

Между прочим, на LOR-е народ успел уже 18 страниц флейма написать Улыбка
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:28GOzzy 2XMan:
>Ты явно не помнишь самого обсуждения и его результатов, раз утверждаешь такую чушь Улыбка

Это кому?
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:35XMan to GOzzy:

Это Bircoph-у. Когда я это писал, тебя еще небыло Улыбка

Помнится, мы сошлись на том, чтобы не пихать всё в один файл, но сделать конфиг стандартного формата. Я предлагал тот самый XML как самый гибкий и простой формат для создания любых конфигов (от плоских до иерархических), и при этом сохранялась возможность правки не только из спец-программ, но и из обычного текстового редактора.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:38vano XMan писал(а):

> to GOzzy:
>
> Это Bircoph-у. Когда я это писал, тебя еще небыло Улыбка
>

Ну ты молодец Улыбка))
GOzzy отдыхает.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:40GOzzy 2XMan: идея с xml-ем неплохая. Кстати, мы, помнится, на одной из работ как-то делали несколько программ и конфигурилок к ним. Так вот мы тоже сказали, что конфиги будут в xml ;-)
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:41Bircoph Нафиг всё это, xml читать не приятно. Нефиг дрянь всякую из
выни тащить. Преимуществ от такого реестра - ноль,
недостатков - куча.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:43GOzzy Я тебе страшную тайну открою, наверное, когда скажу, что xml создавался не для чтения человеком.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:43GOzzy 2vano: щас ты у меня отдыхать пойдешь. Как всегда - по теме ты ни слова не сказал.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 20:51Bircoph 2 GOzzy:

Файлы настроек должны быть легко читаемыми и редактируемыми
человеком! Поэтому идите вы все нафиг со своими реестрами и
xml!
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 21:13XMan > Преимуществ от такого реестра - ноль, недостатков - куча.

Да ? Удивительно ! А ты наблюдал статистику на предмет использования webmin-а или других графических конфигурилок ? Так вот, она весьма велика.

А ты общался с админами, которые рассматривали конфиги после этих самых конфигурилок ? Видимо нет. Иначе узнал бы от них много нового о конфигах, программах и жизни вообще. В основном, нецензурного Улыбка

А всё почему ? Правильно - программы полностью убивают все комментарии, меняют порядок следования параметров и т.д. Вобщем, потом хрен разберешься что и зачем там написано Улыбка

Так вот, преимущество такого реестра - нормальная работа программных конфигурилок. Недостаток - непривычный по-началу вид в текстовом редакторе. Насколько я понимаю, после настройки vim, mc и emacs, вся непривычность резко уменьшится Улыбка

А легкость чтения - это просто привычка. Для примера, попробуй скажи профессиональному програмеру на C, что Pascal читается легче и проще. Опять таки узнаешь много нового. Впрочем, если ты предварительно таки поговорил с админами, то нового будет немного Улыбка

PS. Это всё относится не конкретно к реестру, как одному большому файлу для всего, а именно к единому формату конфигурационных файлов.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 22:09Bircoph 2 XMan:

> А ты наблюдал статистику на предмет
> использования webmin-а или других графических конфигурилок?

Я такой гадостью не пользуюсь и друним не советую. Конфиги
надо править руками. Конфигурилки мне нафиг не нужны, как и
реестр ради них создаваемый.

> PS. Это всё относится не конкретно к реестру, как одному
> большому файлу для всего, а именно к единому формату
> конфигурационных файлов.

Нафиг стандартизацию, в одном случае это полезно, в другом
вредит. Например, стоит ли писать значение опций в '"'? Для
параметров ifup-pptp0 - стоит, для mplayer - нет.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 22:26XMan > Я такой гадостью не пользуюсь и друним не советую.

Потому, вероятно, и не советуешь ? Улыбка

> Конфиги надо править руками. Конфигурилки мне нафиг не нужны, как и реестр ради них создаваемый.

Вот вот... Что-то подобное я и предполагал. Как это было ? "То, что было хорошо для наших отцов, хорошо и для нас" ? Чей (c) уже не помню. Может быть попутно решим жить на деревьях ? По хорошему нужно в океане, но от него мы уже отдалились слишком далеко Улыбка

А теперь скажи мне, милый друг - ты работаешь постоянно в консоли или таки пользуешься оболочкой ? А какой браузер ты используешь ? А чем ты его конфигуришь ? Неужели vim-ом ? Улыбка
Ну или спустимся непосредственно к системе - когда тебе нужно собрать ядро, то что ты говоришь:

a) vi .config и начинаешь вбивать параметры с их значениями один за другим;
b) make [menu|x]config и отмечаешь, что тебе нужно, а что нет;

?

Я еще раз повторяю - нельзя переходить на бинарный формат файлов, ибо их невозможно будет редактировать руками. Но и зацикливаться исключительно на текстовом редакторе тоже нельзя - необходимость в программных конфигурилках уже появилась. Причем, довольно давно.

> Например, стоит ли писать значение опций в '"'? Для параметров ifup-pptp0 - стоит, для mplayer - нет.

Аргументируй, пожалуйста.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 03.06.2004 22:32GOzzy 2Bircoph:
Забыл сказать: конфиги на xml читаются достаточно легко. В конфиги Open Office'а смотрел когда-нибудь? Все прозрачно. А конфигурилки всякие, с учетом амбиций опен-сорс (потеснить винду на десктопах), были бы большинству людей очень кстати.

> Поэтому идите вы все нафиг со своими реестрами и xml!

А базар, товарищ, надо бы фильтровать. Идея про реестр, к счастью, не моя ;-)
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 00:18Bircoph 2 Xman:

> А теперь скажи мне, милый друг - ты работаешь постоянно в
> консоли или таки пользуешься оболочкой ?

Юзаю konsole, в которой запущено 7 консолей, в которых почти
всё время и работаю. Иногда использую konqueror и ряд других
графических прог, но __управление и настройка__ системы
только из консоли.

> А какой браузер ты используешь ?

links, и только links, konqueror идет в крайних случаях.
Сейчас, например, сижу в links :Улыбка

> Неужели vim-ом ? Улыбка

Узаю mc или vim для правки конфигов. Vim - я его обожаю,
удивительно продуманный интерфейс, минимальными движениями
пальцев выполняются максимальные действия, оргономика
продумана до мелочей. Часто почитываю "The Vim book".

> тебе нужно собрать ядро

Чесно скажу, никогда не собирал ядро. Боюсь. Система вроде
нормально работает, функциональность новую добавлять не
нужно. Собранное под себя ядро, конечно, быстрее, но нужно
грамотно учесть кучу зависимостей, исключить всё лишнее и
суметь добавить всё нужное; брр, непросто грамотно собрать
ядро, а тяп-ляп не хочу.

Могу сказать, что samba-сервер я полностью настроил правкой
конфига ручками, без samba-swat.

> Но и зацикливаться исключительно на текстовом редакторе
> тоже нельзя - необходимость в программных конфигурилках уже
> появилась.

Знаете, за что я не люблю (w)? За то, что там куча
конфигурилок, и когда мне нужно было найти настройку какой-то
опции, я десятками их пускал, пока не находил нужную мне.
При использовании программных конфигурилок теряется простота
структуры настроек системы, не ясно что и где искать. Поэтому
я графические конфигурилки беспощадно тру.

Вы говорите, что xml позволит не терять комментарии; а не
проще ли добавить в программные конфигурилки функцию
нестирания всех строк, начинающихся на "#" и ";"? Тогда xml
становится нафиг не нужен.

> Аргументируй, пожалуйста.

В названиях параметров mplayer нет пробелов, поэтому '"' там
не нужны (если приспичит указать путь к своему файлу,
содежащему в имени пробелы или управляющие символы, никто не
запрещает их использовать). В параметрах ifup-pptp0 могут
быть пробелы, поэтому кавычки там нужны.

2 Gozzy:

> конфиги на xml читаются достаточно легко

но нормальный конфиг читается гораздо приятнее.

> А конфигурилки всякие, с учетом амбиций опен-сорс (потеснить
> винду на десктопах), были бы большинству людей очень кстати

Видимо, я к этому большинству не отношусь. И я не собираюсь
подстраиваться под большинство, мне вторая винда не нужна.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 00:29GOzzy 2Bircoph:
>Видимо, я к этому большинству не отношусь. И я не собираюсь подстраиваться под большинство

Сейчас большинство совершенно разумно хочет "сесть и поехать", а не ковыряться в конфигах посредством текстового редактора. Кстати, если уж править, то править конфиг при помощи специально сделанной для этого проги (или диалога с настройками) зачастую приятнее.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 00:37Bircoph > Кстати, если уж править, то править конфиг при
> помощи специально сделанной для этого проги (или диалога с
> настройками) зачастую приятнее

Дело вкуса, но быстрее (и надежнее) из консоли. Я успею пять
раз пофиксить, что нужно, пока вы будете мышкой тыкать.

А что будете делать, если иксы упадут или нужно будет их не
запускать?
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 00:44GOzzy >А что будете делать, если иксы упадут

Тогда я их быстренько подниму Улыбка

> или нужно будет их не запускать?

Ну тогда в консоли. Точнее, конфиги я только там и правлю всегда (когда в линухе сижу ;-)). Только у меня почему-то такое ощущение складывается, что скоро у дистростроителей пойдет мода по умолчанию ставить пятый runlevel и все такое прочее...
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 01:05XMan > Юзаю konsole, в которой запущено 7 консолей, в которых почти всё время и работаю.

Замечательно. Вероятно ты менял в ней шрифты и раскраску. Как, если не секрет ? Улыбка

> Узаю mc или vim для правки конфигов.

Так ты links из vim-а строил ? Улыбка

> Могу сказать, что samba-сервер я полностью настроил правкой конфига ручками, без samba-swat.

Аналогично. Но сразу по двум причинам - одну я описывал ранее, а другая - как по мне, так у свата жутко неудобный интерфейс Улыбка

> Знаете, за что я не люблю (w)? За то, что там куча конфигурилок, и когда мне нужно было найти настройку какой-то опции, я десятками их пускал, пока не находил нужную мне.

Угу. Но это от того, что если забраться в реестр... Вобщем, там сразу и потеряешься Улыбка
То есть, они ушли от возможности правки руками. Вот и получилось то, что получилось Улыбка

> Вы говорите, что xml позволит не терять комментарии; а не проще ли добавить в программные конфигурилки функцию нестирания всех строк, начинающихся на "#" и ";"?

Это тоже обсуждалось. Например, имеется следующий конфиг:

...
# комментарий к следующей строке
param1 = value1
# комментарий к набору строк
param2=value2
param3=value3
param4=value4 # комментарий к текущей строке
# и его продолжение
param5=value5
...

И как программа узнает, к какой строке отнисится тот или иной комментарий ? Например, ты хочешь удалить param5. Что станет с "# и его продолжение", если считать, что комментарий должен находиться перед параметром ?

Ну или вот такой конфиг:

...
section1 {
# комментарий ко всей секции
# комментарий к следующей строке
param1 value1;
};
...

Это то, что можно нарисовать в named.conf
Кстати, это уже два абсолютно разных по структуре конфига.

В случае с xml ситуация сразу же становится проще. Например, если использовать такую структуру:

<param1 value="value1" rem="комментарий">

Тут уж трудно промахнуться Улыбка

Я предложил xml как самый простой способ описания чего угодно, понятный как программам, так и человеку. Тем более, что уже валом библиотек, которые его понимают. В случае использования своего конфига приходится самому писать парсер. Задача средней тяжести (зависит от выбранного формата) и не факт, что он будет нормально работать.

> В названиях параметров mplayer нет пробелов, поэтому '"' там не нужны

Они там не "не нужны", а не обязательны. Это относится и к ifup-pptp. И что-то мне подсказывает, что в любом случае можно обойтись и без кавычек Улыбка
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 02:44Bircoph 2 Xman:

> Замечательно. Вероятно ты менял в ней шрифты и раскраску.
> Как, если не секрет ? Улыбка

Шрифты не менял. Раскраску менял мышкой, было дело, я тогда
ещё не разобрался что и как.

> Так ты links из vim-а строил ? Улыбка

Ну, есть файлик такой: ~/.links/links.cfg

> То есть, они ушли от возможности правки руками. Вот и
> получилось то, что получилось Улыбка

Реестр (w) можно править руками, один раз довелось. Очень
тяжко, но можно. Переходя на xml мы идем к тому же: сначала
жертвуем простотой конфигов ради графических утилит, а потом
и полностью на конфигурялки перейдем. Нет уж, меня такое
__не__ устраивает. Уже есть постыдные программы, не
понимающие параметры командной строки, нехватало ещё
конфигурялок, а потом будут вопли на форумах: "а где достать
конфигурялку" и будет новая (w). Спасибо, но мне такого не
надо. Кстати, уже пошла тенеденция не документировать файлы
настроек. Пример: konqueror. Ужас!

> И как программа узнает, к какой строке отнисится тот или иной
> комментарий ? Например, ты хочешь удалить param5. Что станет
> с "# и его продолжение", если считать, что комментарий должен
> находиться перед параметром ?

Обычно комментарии пишутся перед параметрами или сбоку, но
никак не снизу. Это уже ваши выдумки.

> В случае с xml ситуация сразу же становится проще. Например,
> если использовать такую структуру:
>
> <param1 value="value1" rem="комментарий">

А вот вам и лчевидный недостаток xml: забудете поставить
угловую скобочку и всё, конфиг сдох!

> В случае использования своего конфига приходится самому
> писать парсер.

Ну используйте xml, если так хотите, но делать это
обязаловкой для всех не стоит. Я считаю данный формат отнюдь
не лучшим, но свои идеи навязывать другим не хочу. У
программиста должна быть свобода выбора.

> Задача средней тяжести (зависит от выбранного формата) и не
> факт, что он будет нормально работать.

Ну не знаю, если для вас это задача средней тяжести..., хмм,
а я то думал, что парсер на С для конфига произвольной
сложности с непротиворечивой логикой любой начинающий
программист напишет... тут же думать не надо: пиши себе по
строгой, заранее известной логической цепочке...
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 09:54serg2003 А идите-ка вы со своим иксэмэл-ем вот сюда Улыбка
[www.opennet.ru]
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 10:27GOzzy 2Bircoph:
Мне один раз пришлось писать прогу, которая конфигурила ipchains. Сколько же гемора было с парсером ее конфига...
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 10:35Bircoph 2 GOzzy:

> Мне один раз пришлось писать прогу, которая конфигурила
> ipchains.

ipchains уже устарел, на смену им пришел iptables, а для его
настройки нужно bash-скрипт писать, а не программу.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 10:35Bircoph 2 GOzzy:

> Мне один раз пришлось писать прогу, которая конфигурила
> ipchains.

ipchains уже устарел, на смену ему пришел iptables, а для его
настройки нужно bash-скрипт писать, а не программу.
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 11:03GOzzy Да мне пох, что ipchains устарел. Я ту прогу года три назад писал. И потом, что заказчик сказал - то и писать надо, а не говорить, что вот, bash-скрипты рулят. Ему междумордие нужно, причем на qt. Отдельно оговариалось то, что прога должна напрямую с конфигом работать. Вот и пришлось. Но эта прога работала, причем четко Улыбка
Re: Кто еще помнит дебаты на ткме стандартизации файлов настроек ? 04.06.2004 20:17XMan to Bircoph:

> Реестр (w) можно править руками, один раз довелось. Очень тяжко, но можно.

Вот вот. Только из regedit и подобных, которые работают исключительно под оболочкой. Если же оболочка не загружается из-за ошибок в реестре, то и вот... Приплыли.

> Обычно комментарии пишутся перед параметрами или сбоку, но никак не снизу. Это уже ваши выдумки.

Это не мои выдумки, но такое существует. С другой стороны, даже если бы это было моими выдумками, то как рассматривать твои слова - как попытку построить меня под свое видение мира ? Может быть мне так удобно - чтобы сначала шли настройки, а потом комментарии к ним Улыбка

> А вот вам и лчевидный недостаток xml: забудете поставить угловую скобочку и всё, конфиг сдох!

Для этого и строится vim и emacs - чтобы не забывать Улыбка

> Я считаю данный формат отнюдь не лучшим, но свои идеи навязывать другим не хочу. У программиста должна быть свобода выбора.

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

> тут же думать не надо: пиши себе по строгой, заранее известной логической цепочке...

Ага. Попутно не забываем про объемы файла и строк параметров, дабы не попасть на SIGSEGV, про типы значений и их границы, дабы не попытаться забиндить порт "-2.78623784", про убирание лишних незначащих символов (не только пробелов), про конструкции, вида "... \\ ..." и вообще про экранирование бэкслэшем, обработка подставных значений, и т.д.

Подводных камней в этом деле, как ни странно, предостаточно Улыбка

Библиотека Qt облегчает эту задачу весьма и весьма, но это привязка к графической библиотеке. По крайней мере, пока не появилась Qt 4.x. Что-то мне подсказывает, что какой-нибудь sendmail,apache,named и прочие не пользовались бы популярностью, если бы требовали для себя XFree Улыбка
RSS-материал