LINUX.ORG.RU
ФорумTalks

Реестр! Ы!


0

1

Шучу, не обязательно реестр...

Навеяно срачем не по теме в теме: http://www.linux.org.ru/forum/talks/5707291
«Пост гнева относительно /etc/бла-бла-бла.conf»

Почему когда речь заходит о конфигах и реестре, то oldschool'ные (а может и не oldschool'ные, а просто тролли) *nix'оиды посылают лечиться приверженцев реестра и других БД-образных конфигохранилищь?

То, что в винде реестр представляет собой неудобоваримое нечто еще не означает что нельзя сделать хорошо.
Обычно выдвигается аргумент типа «Текстовый конфиг можно править текстовым редактором».
А что бинарный нельзя? Можно сделать редактор который будет выглядеть как текстовый, будет маленьким и удобным, его без проблем можно будет использовать на том самом удаленном сервере, о котором так часто пишут oldschool'ные тролли.
Можно сделать текстовый интерфейс на уровне файловой системы (Например через FUSE или как часть ядра. Oldschool'ные тролли «Ааа... жуть... Реестр в ядре... Иди на семерочку!»). Пользователь сможет править конфиг как текст, программы будут работать через библиотеку, храниться может это все очень по-разному. Более того, можно будет сделать текстовый интерфейс с разным сиснтаксисом.

Какие я вижу плюсы:
- Равноправие текстового (или еще какого там)и графического конфигураторов. Если в этом, так называемом реестре, сделать схемы, то строить GUI можно будет быстро и просто, гораздо проще чем писать парсер конфига.
Хочешь GUI, а хочешь grep, sed и т.п.
- Легко связать со справкой даже для текстового интерфейса (см. пред пункт)
- Единый формат. Одни программы легко меняют конфиги других.

★★★★★
Ответ на: комментарий от DNA_Seq

1.Ну это отлавливается на раз,
2.Руцями закрывают тегы только ... а вот не скажу ))

elipse ★★★
()
Ответ на: комментарий от Deleted

>sed & awk тьюринг полные? Какие извращения, оказывается, существуют в мире линукс…

почему извращения? про awk точно не помню, но sed тюринг полный ЯП. кстати, ещё и компилируемый (опционально). я часто пишу достаточно сложные sed скрипты, в десятки, а то и сотни строк. кроме того, иногда одни sed скрипты создают и запускают другие. Преимущество - высокая скорость написания «одноразового» скрипта.

drBatty ★★
()
Ответ на: комментарий от drBatty

>я часто пишу достаточно сложные sed скрипты, в десятки, а то и сотни строк

Вот такие понапишут, а потом это добро лежит мёртвым грузом, т.к. никто не понял что оно делает… :}

Deleted
()
Ответ на: комментарий от DNA_Seq

>SQL

Это вообще лучше закопать. С таким синтаксисом это ж удавиться можно.

Deleted
()
Ответ на: комментарий от drBatty

> и её все заменили на 6.6.6a. Все, кроме автора прожки.

автор прожки - слоупок, и не может оказать своему творению должную поддержку. Проги без поддержки не нужны.

Другой пример: что делать со старой прогой, которая понимает только koi8-r?


ничего. Разработчики программы ее перепишут на utf. А если не перепишут - значит она устарела. Устаревшие проги без поддержки не нужны.

где в дампе regedit'а UTF-16, в текстовом редакторе CP1251, а в консоли CP866.


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

stevejobs ★★★★☆
()
Ответ на: комментарий от drBatty

> файловая система == БД. так, между прочим...

реляционную. так чтобы понятия «файл» вообще не было, было бы понятие «ресурс» которое можно получать запросами.

stevejobs ★★★★☆
()
Ответ на: комментарий от elipse

>какой-то идиотский способ аргументации в треде: на каждый чих очередная порция бреда про вантуз, а вроде про linux тут ...

а где реестр-то есть? именно в венде...

drBatty ★★
()
Ответ на: комментарий от DNA_Seq

ты не поверишь, но BrainFuck тоже полный по Тьюрингу. Но это совсем не значит, что его нужно использовать для написания кода.

drBatty ★★
()
Ответ на: комментарий от Deleted

>Вот такие понапишут, а потом это добро лежит мёртвым грузом, т.к. никто не понял что оно делает… :}

меня это слабо волнует. я для повседневных задач пишу. очень долго создавать одноразовое С++ приложение.

drBatty ★★
()
Ответ на: комментарий от stevejobs

>везде должно быть UTF по умолчанию, а первой строчкой конфига (раз уж ты о конфигах) - актуальная кодировка и версия формата файла. Вот, например, как в HTML =)

осталось убедить в этом (быдло)кодеров :(

drBatty ★★
()
Ответ на: комментарий от stevejobs

>в линуксе тоже давно есть, внезапно

это где? в убунте что-ли? так то не Linux.

drBatty ★★
()

концептуальное возражение

Конфиги лучше хранить в виде большого текста потому, что с ними предполагается работа человека. Если бы «конфиги» являлись простым набором независимых «ключ-значение», БД была бы лучше. Однако развитие более-менее сложных программ описывается 10м правилом Гринспуна, так что их конфиги вскорости потребуют мозгов для обработки. С другой стороны, человечьи мозги, как раз, 1. достаточно гибки для обработки информации в разных форматах, 2. плохо реагируют на смену контекста, необходимость поиска, нелокализованные «зависимости», большие списки «монотонных» данных. Т.ч. оптимальным способом «это» делать является как раз изобретение специфичного для структуры данных данной программы языка, укладывающего хранимые данные в удобоваримый _человеками_ вид. Ибо если парсер попыхтит несколько лишних микросекунд, катастрофы не случится, а если человек что-то не то наконфигурит - очень даже может быть.

Естественно, когда программы научатся придумывать свои конфиги сами, это всё станет не очень нужным. Включая нас. Но тогда у нас будет более интересная тема для обсуждения.[/thread]

DonkeyHot ★★★★★
()
Ответ на: комментарий от no-dashi

Да?! Елки палки, что же делать. А как же моя «стандартная» точка восстановления в /opt/backup? А как же diff? А как же svn?

vasily_pupkin ★★★★★
()
Ответ на: комментарий от stevejobs

это xml-файлы gconf ?))
дык, тогда и evince можно называть акробатом, а gimp - фотошопом.

elipse ★★★
()
Ответ на: комментарий от no-dashi

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

Тут простая штука: для формализованного хранилища или протокола доступа к хранилищу я всегда смогу построить такой формат файла, для которого будет существовать изоморфное отображение _всех_ доступных через API данных и обратно, тем самым сведя проблему к существующей. А ты для разнобойного дерьма из /etc этого сделать не сможешь.

// З.Ы. Для особо непонятливых - я не поклонник реестра, а сторонник унифицированного API для доступа к данным конфигурации. Впрочем, даже с реестром не всё так плохо, как с помойкой в /etc, ~/. , ~/.config/

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

>А ты для разнобойного дерьма из /etc этого сделать не сможешь.

Ну вон в сусях, дебианоподобных и в том же альте, например, пытаются.

dn2010 ★★★★★
()
Ответ на: концептуальное возражение от DonkeyHot

>Естественно, когда программы научатся придумывать свои конфиги сами, это всё станет не очень нужным. Включая нас. Но тогда у нас будет более интересная тема для обсуждения.

Это для вас КОГДА, для меня это уже СЕЙЧАС - sed скрипты, которые создают другие sed скрипты. Они являются одновременно и программой, и документацией, и своим конфигом. А некоторые тут грозят отменить такую чудесную фичу.

drBatty ★★
()
Ответ на: комментарий от dn2010

Я на работе сузей пользуюсь. Давай не будем об этом вспоминать. Это такая попоболь >_<

vasily_pupkin ★★★★★
()
Ответ на: комментарий от drBatty

Я смотрел по телевизору программу. Там мужчина в бане наклонялся за мылом.. Вобщем бани - это такой ужас!!1

vasily_pupkin ★★★★★
()
Ответ на: комментарий от drBatty

> Это для вас КОГДА, для меня это уже СЕЙЧАС - sed скрипты, которые создают другие sed скрипты. Они являются одновременно и программой, и документацией, и своим конфигом.

Вах , sed на sed-е сидит и sed-ом погоняет.)
Почему-то мне всегда казалось, что в linux есть не одна программа.))

Попробуйте что-то еще освоить помимо sed-а ?

elipse ★★★
()
Ответ на: комментарий от vasily_pupkin

> Строят город на болоте.

Ну уж точно не более безнадежно, чем твое «изоморфное хранилище» :)

Но будем за них болеть :D

Будем.

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

>Попробуйте что-то еще освоить помимо sed-а ?

зачем? для конфигов sed'а достаточно. конфиги в БД имхо бред.

drBatty ★★
()
Ответ на: комментарий от stevejobs

>везде должно быть UTF по умолчанию, а первой строчкой конфига (раз уж ты о конфигах) - актуальная кодировка
В случае с UTF-16 это поможет, да.

x3al ★★★★★
()
Ответ на: комментарий от Deleted

>Именно синтаксис — не нужен. Правила его написания хотя бы не меняются.
Хм. То есть я могу писать
<foo bar=«1»/>
и это будет полностью эквивалентно
<foo><bar>1</bar></foo>,
и ни один парсер не заметит разницы?

x3al ★★★★★
()
Ответ на: комментарий от x3al

Включение дурачка хорошо работает, я смотрю. Синтаксис XML от этого не изменился. Ты изменил структуру. // К.О.

Deleted
()
Ответ на: комментарий от drBatty

>sed скрипты, которые создают другие sed скрипты

Могу спорить, что эти скрипты просто преобразуют уже придуманное с одного «языка» на другой — что есть вполне адекватная работа для современного компютера. Т.е. в лючшем случае ты просто придумал очередной DSL для описания часто встречающихся у тебя конфигураций и сделал переводчика в язык конфига программы. Что недостаточно хорошо — ты всё ещё нужен, ибо найти причину неадекватного поведения программы и догадаться, какие параметры нужно изменить для приведения его к «правильному» они пока умеют только в очень немногих случаях.

Интересно, в твоём случае для анализа проблем ты лезешь в «свои» конфиги, или в наsedженные?

DonkeyHot ★★★★★
()
Ответ на: комментарий от Deleted

>каждый раз сверяться с очередным 100500ым синтаксисом легко, а XML громоздкий

Именно. Рекламные фишки xml-я с т.з. читающего его человека - ничего, ввиду конструкции мозгов. А недостатки бъют именно по слабым сторонам оных. Посмотри, хотя бы, статью в википедии, раздел про «достоинства»: из того, что не присутствует в альтернативах - только «XML является подмножеством SGML»,«XML имеет реализации»,и «стандартный механизм преобразования». Ничего из этого человеку не поможет понять, что там написано. Т.ч. xml не для конфигов.

DonkeyHot ★★★★★
()
Ответ на: комментарий от elipse

а sed и нафиг не нужен при разнообразии dom и xslt примочках.

Представленный выше конфиг предлагалось хранить в виде строки или бинарного блоба. И чем мне твои dom и xslt в данном случае помогут?

ugoday ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Попробуй написать парсер конфигурационных файлов named, и извлечь им информацию из конфигурационного файла postfix.

И чем мне в данном случае поможет реестр?

ugoday ★★★★★
()
Ответ на: комментарий от DonkeyHot

>Могу спорить, что эти скрипты просто преобразуют уже придуманное с одного «языка» на другой — что есть вполне адекватная работа для современного компютера.

да. /me ещё не придумал AI. тем более - на sed :-)

Что недостаточно хорошо — ты всё ещё нужен, ибо найти причину неадекватного поведения программы и догадаться, какие параметры нужно изменить для приведения его к «правильному» они пока умеют только в очень немногих случаях.

ага... речь идёт о преобразовании одного кода в другой. К тому же, как я уже писал, в sed нету переменных (всего 2 штуки), потому невозможны даже простейшие задачи вроде

$BEGIN,$END p

(распечатать от $BEGIN до $END), потому приходится извращаться - сначала получать начало и конец, а потом вставлять их в шаблон. Можно конечно сделать и так:

s/(RE_FOR_BEGIN)(RE_FOR_END)/sed '\1,\2p'/ep

но генерация промежуточного скрипта обычно на порядок быстрее.

Интересно, в твоём случае для анализа проблем ты лезешь в «свои» конфиги, или в наsedженные?

в «свои» конечно.

drBatty ★★
()
Ответ на: комментарий от vasily_pupkin

Не понимаю, почему темы об унификации доступа к конфигурационным данным всегда скатываются к реестру.

Потому, что реестр есть и (хоть как-то) работает. В отличии от твоих фантазий.

Есть стандартная утилита regedit, которая экспортирует и импортирует реестр в ini' подобный файл Внезапно. С которым ты можешь это всё проделывать твоими «стандартными» штуками.

т.е. предлагается экспортировать реестр в ini-файл, обрабатывать его text-utils, затем импортировать обратно?

Где у /etc/ стандартные точки восстановления кстати, а? )

man VCS

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Неверные предположения порождают неверные вопросы ?)

elipse ★★★
()
Ответ на: комментарий от Deleted

>Синтаксис XML от этого не изменился. Ты изменил структуру.
Я изменил синтаксис конфига в пределах синтаксиса XML. Чем это отличается от мифических «значимых пробелов» в plaintext-конфигах? Такие мелочи точно так же нужно обдумывать заранее и точно так же держать в голове при редактировании.

x3al ★★★★★
()
Ответ на: комментарий от x3al

С вами всё понятно.

Мифические значимые пробелы связаны со 100500 синтаксисами, которые могут быть использованы. Yaml, например, и др. В XML такого нет. Зачем мне гадать, нужны пробелы и сколько или не нужны каждый раз когда я смотрю конфиг какой-то программы? И др.

Deleted
()
Ответ на: комментарий от Deleted

Не, ну ты можешь ещё на yaml всё перевести, например, если сможешь.

Deleted
()
Ответ на: комментарий от Deleted

>Прекратите читать википедию и воспользуйтесь имеющимся для размышления органом.

Я пробовал. Получалось ещё хуже для XML.

DonkeyHot ★★★★★
()

ТС бредит либо толсто троллит. Тред не читал, но уверен что в нем высказали достаточно убедительных возражений.

drull ★☆☆☆
()
Ответ на: комментарий от vasily_pupkin

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

Я ее и сам знаю, и эта причина формулируется просто: я (no-dashi) не спорю с идиотами и троллями. Поэтому отправляйся дальше откатывать изменения одной программы из пяти из «единой точки восстановления».

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.