Ради справедливости хочу заметить, что blob читается программами легче (меньше кода писать) и быстрее, чем xml или текстовый конфиг. Но данные (в том числе конфиг) становятся просто нечитаемыми. Естестественно, многие разработчики берут на себя права решать за пользователя всё ему можно, а что нельзя, и делают бинарные конфиги. Но! Они почему-то все как один забывают, что когда их мегапрограмма вдруг падает из-за кривой настройке в конфиге, то пользователю приходиться вместо исправления одной строчки переустанавливать программу с нуля или же вообще отказывать от её использования, поскольку она настолько тестно интегрируется с ОС, что этот кривой конфиг нефига не найдешь.
Имхо, лучше потратить на один день больше времени и разработать нормальный конфиг, чем писать все в бинарном виде.
P.S.: Кстати, в OSS принято вместе с программой поставлять config.conf.example, который всегда можно взять, если полностью запорол основной конфиг. В проприетарных программах такого почти никогда не бывает. И если программа (или кто-то другой) запорол конфиг, то обычно приходиться переустанавливать.
Еще очень любят вместо использования значений по умолчанию, если конфиг не найден, кидаться исключениями и падать в страшных мучениях
Отредактировано LattyF (10-09-2006 20:10:16)
Black holes were created when the God divided by zero.
Отсутствует
Syzygy
Т.е. аргументация кончилась?
Добавлено Вск 10 Сен 2006 20:23:02 :
LattyF
Ради справедливости хочу заметить, что blob читается программами легче (меньше кода писать) и быстрее, чем xml или текстовый конфиг.
Нет, при увеличении сложности внутренней структуры, блоб будет требовать все больше и больше ресурсов, поскольку память-то у нас не резиновая. И получается извечная проблема - либо все закешировать, скопировав в память, но при это отдъедать ее все больше и больше при увеличении кеша (не забываем, есть еще и ядро, и сегменты данных приложений), либо линейно читать структуры с диска, тормозя и гоняя данные по маршруту диск-память-своп-память-диск, загаживая кеш бесполезной информацией. + не забываем, что у нас копируется _весь_ реестр, а не какая-то его часть (это все равно что если весь /etc/ загнать в память, запаковывая/распаковывая с переодичностью раз в несколько секунд).
Добавлено Вск 10 Сен 2006 20:24:14 :
О! у меня мысль - пусть венда перейдет на формат .pk3 ) и поставит парсер из quake4 в качестве парсера конфигов.
Все микробы умрут
Отсутствует
lakostis, согласен, если конфиг очень большой, то возникают проблемы. Тут решение только одно — XML и SAX parser. Если не нравиться XML можно написать что-то своё, с нуля, чтобы парсило огромные конфиги.
Кстати, где-то говорилось, что в Vista будет XML конфиги вместо реестра и даже сообщения между окнами будут слаться в XML. Как у них там с реализацией?
Зная их, думаю, что XML от всех программ у них вероятно запакован в мегаархив для экономии места, на который накручен API из, скажем, 200 функций, для доступа к конфигам в этом архиве Ну не верю я, что они просто взяли и конфиги в папочку положили Если эти конфиги у них вообще есть, конечно
Отредактировано LattyF (10-09-2006 20:37:02)
Black holes were created when the God divided by zero.
Отсутствует
lakostis
Не, просто анекдот вспомнил.
Аргументы я устал приводить ещё в прошлой ветке. Хватит. Я теперь просто пользуюсь.
Мне вполне хватило 3-х дней с Сусом10, чтобы понять - линух не для меня.
No mercy will be granted by the drone as the feature was removed in the last operating system update
Отсутствует
замечу, что большинство гуевых настроек все-таки на выходе генерят человекоподобные конфиги, а не блобы.
Об чем и разговор. Обычно гуевые настройки - фронтенд над файлами конфигурации.
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
Мне вполне хватило 3-х дней с Сусом10, чтобы понять - линух не для меня.
А что там такого страшного? Кино смотрится, музыка играется, картинки показываются, интернет подключается... Вроде все работает, что еще надо? Аа... Вам наверное нехватает экстрима... ))
Добавлено Вск 10 Сен 2006 22:05:38 :
Об чем и разговор. Обычно гуевые настройки - фронтенд над файлами конфигурации.
До сих пор не могу понять смысла фронтенда для iptables. Ну не нужно это там, не нужно... (очень порадовал ASP Linux 11 - на этапе инсталляции прописываешь настройки сети, а потом всеравно исправлять приходится. Вот вам и ГУЙ)
Добавлено Вск 10 Сен 2006 22:08:57 :
Охохо...
Вы еще не установили Linux? Тогда мы идем к Вам!
Отсутствует
ladserg
не, ну чесслово, что там в реестре такого сложного, что люди от него спиваться начинают? А вы говорите, что линуксоиды в большинстве своём проработали с виндой профессионально...
ВО-РВ(Вот они - разоблачители винды). Моя личная аббревиатура для вас.
Если честно, то ничего сложного, я уже писал своё мнение по этому поводу, повторю - реестр и /etc это просто разные способы хранения настроек, подробности опять описывать не буду. Причём в последних версиях винды /etc подход используют на пару с реестром, а INI файлы как не умерли, так и не умрут.
Если дальше говорить честно, то тот же самый /etc весьма реально запихать в аналогичный виндовому реестру каталог значений. Даже более того, есть программы, хранящие настройки в LDAP.
Ну а далее просто вопрос религии, мировозрения и предпочтений. Как говорится на вкус и цвет негров нет.
Да, чуть не забыл, труднодоступность документации по реестру и его ключам действительно делает реестр сложным для использования, но на остальные преимущества и недостатки это не влияет.
Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).
Отсутствует
ladserg
сли дальше говорить честно, то тот же самый /etc весьма реально запихать в аналогичный виндовому реестру каталог значений. Даже более того, есть программы, хранящие настройки в LDAP.
вы понимаете, что говорите, или повторяете фразы которые где-то услышали? LDAP ни разу не реестр и сравнивать их вот так, абсолютно глупо, и тем более, предлагать LDAP как замену /etc. LDAP - это отдельный вид _хранилища_ причем для всего, что подходит под определение иерархического дерева. Считать, что раз в венде сделано дерево и это правильно, и что это самое оно для конфигурации - неверно. Обслуживать такое будет еще сложнее, чем /etc или блоб реестра + оверхед для простого чтения такой конфигурации будет просто ужасным. Если бы все так было просто, то реестра бы не было, а был бы глобальный AD для всего - от конфигурации системы, до профилей пользователей.
Все микробы умрут
Отсутствует
До сих пор не могу понять смысла фронтенда для iptables.
Смысл? Не создавать вручную достаточно громоздкие цепочки.
Я у себя дома пользуюсь guarddog'ом. По той причине, что неохота возиться с ручной настройкой.
Другой вопрос, что настраивая iptables вручную точно знаешь, что фаервол сделает с тем или иным пакетом. Для себя я вижу в этом смысл только при настройке сервера.
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
Мне вполне хватило 3-х дней с Сусом10, чтобы понять - линух не для меня.
А мне хватило одного сбоя с потерей данных, чтобы понять: винда не для меня.
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
Ыгы. Особенно ключи типа {8439r83jf94r839hr3-74y783hr4783}
Вот только зачем у мозиловских расширений в профиле подобный путь тогда?.. оч. интересно шифруются от кого-то, не иначе
Я — внутри; смысл — вне © Генри Лайон Олди «Человек Номоса»
Отсутствует
Чтобы антивирус успешно боролся с вирусами нужно чтобы он знал о вирусе до появления оного
Тык обновляется раз в пару часов. Тем не менее - пропустил. Вообще говоря - антивирусы - подпорки для кривой архитектуры.
Отсутствует
Skull
Ну в общем-то сейчас нет абсолютно "прямой" архитектуры. Просто где-то вирусам легко распространятся, а где-то сложно.
К тому же в "некоторых" ОС обновления ядра выходят чаще, чем обновления антивирусных баз.
upd: Да, кто не понял, "некоторые" ОС - это Линукс.
Отредактировано Sky (11-09-2006 13:33:50)
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
exlex
Вот только зачем у мозиловских расширений в профиле подобный путь тогда?.. оч. интересно шифруются от кого-то, не иначе
нет, просто для того, чтобы установка одного расширения не пересеклась с другим.
Все микробы умрут
Отсутствует
Surgeon
Не зная броду, не лезь в воду. Почитай предыдущую ветку, мож тогда поймёшь.
No mercy will be granted by the drone as the feature was removed in the last operating system update
Отсутствует
Skull
Тык обновляется раз в пару часов. Тем не менее - пропустил. Вообще говоря - антивирусы - подпорки для кривой архитектуры.
А для Винды вообще много подпорок. Чистильщики реестра, антивирусы, твикеры, брендмауеры.
Последние приведены не случайно. Помнится Почесал в свое время доказывал что они не от чего не защищают. И был прав. Вовсе не обязательно закрывать порт, если его никакая программа не слушает. Иными словами защищать компьютер нужно не закрывая порты, а не запуская не нужные сервисы. Нужные все равно открывать придется.
Добавлено:
Пользователи Windows обычно предпочитают все усложнять. Их этому постоянно учат. Хочешь защитить компьютер - поставь фаерволл. Это любой ламер с ходу скажет, не подумав. Он это с молоком матери всосал. Вот вам индустрия защитных средств. На равне с фаером обязательно поставь антивирус. Иными словаим заплати еще и другому разработчику И так везде. Хочешь защититься - плати. Не думай, а плати.
Отредактировано Azathoth (11-09-2006 14:44:33)
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
Отсутствует
Azathoth
В случае Windows, не "не запуская", а отключая ненужные сервисы. Слишком там много по дефолту запущено.
Gentoo Linux 2007-03-23 by XOR
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b3pre) Gecko/2008010104
Нас мало, но мы в кедах! ;)
Отсутствует
ladserg
сли дальше говорить честно, то тот же самый /etc весьма реально запихать в аналогичный виндовому реестру каталог значений. Даже более того, есть программы, хранящие настройки в LDAP.
вы понимаете, что говорите, или повторяете фразы которые где-то услышали? LDAP ни разу не реестр и сравнивать их вот так, абсолютно глупо, и тем более, предлагать LDAP как замену /etc.
Не только слышал, но даже использую. К тому же я не предлагаю LDAP на замену реестру, я просто описал гибкость ОС линукс, которая позволяет хранить настройки хот в РСУБД, хоть в службе каталогов, хоть в файлах.
LDAP - это отдельный вид _хранилища_ причем для всего, что подходит под определение иерархического дерева. Считать, что раз в венде сделано дерево и это правильно, и что это самое оно для конфигурации - неверно.
Поверьте, я прекрасно представляю, что такое LDAP, к тому же это не только отдельное хранилище, LDAP - это ещё один из способов хранения информации.
Обслуживать такое будет еще сложнее, чем /etc или блоб реестра + оверхед для простого чтения такой конфигурации будет просто ужасным.
Смотря что там хранить. А вообще, именно настройки там хранить действительно не выгодно, не из-за неудобства, а из-за того, что LDAP - сетевой демон, который становится доступным только после запуска сети. Но зато там с успехом можно хранить DNS зоны, описания пользователей, почтовые аккаунты, абонентов и т.д. А на счёт оболочки для чтения/управления, то тут как напишешь.
Если бы все так было просто, то реестра бы не было, а был бы глобальный AD для всего - от конфигурации системы, до профилей пользователей.
Поспешили вы с выводом. Реестр хранится в каталоге значений, схожем с LDAP, это не значит, что всё надо в LDAP тащить, но если бы LDAP был бы доступен системе на начальном этапе загрузки, то я бы хранил ряд настроек там, или в РСУБД какой нибудь, централизованной. Но это относится только к сети в 100 компьютеров на моём предприятии, дома такая катавасия нафиг не нужна, там с файликами проще и быстрее.
P.S. AD - в принципе и планировался для замены реестра.
Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).
Отсутствует
ladserg
я просто описал гибкость ОС линукс, которая позволяет хранить настройки хот в РСУБД, хоть в службе каталогов, хоть в файлах.
а причем тут Linux? Это и freebsd умеет, и bind под cygwin. Скорее, это преимущество не ОС, а дизайна софта.
Поспешили вы с выводом. Реестр хранится в каталоге значений, схожем с LDAP, это не значит, что всё надо в LDAP тащить, но если бы LDAP был бы доступен системе на начальном этапе загрузки, то я бы хранил ряд настроек там, или в РСУБД какой нибудь, централизованной. Но это относится только к сети в 100 компьютеров на моём предприятии, дома такая катавасия нафиг не нужна, там с файликами проще и быстрее.
P.S. AD - в принципе и планировался для замены реестра.
c файликами безопаснее К примеру, грохнется ваш контроллер домена или LDAP сервер и все, привет.
Все микробы умрут
Отсутствует
exlex
Вот только зачем у мозиловских расширений в профиле подобный путь тогда?.. оч. интересно шифруются от кого-то, не иначе
нет, просто для того, чтобы установка одного расширения не пересеклась с другим.
В последнее время для новых расшиений рекомендуются id вида extension@author.domain
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
INFOMAN
В последнее время для новых расшиений рекомендуются id вида extension@author.domain
Неужели одумались?
Кстати есть примеры таких расширений?
Теперь осталось отделить Gecko от Firefox и Thunderbird. В смысле так, чтобы можно было поставить/обновить Gecko отдельно. Или часть Firefox/Thunderbird, не относящиеся к Gecko, ставить/обновлять отдельно. Вот тогда они полностью в духе Unix будут
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
Отсутствует
Теперь осталось отделить Gecko от Firefox и Thunderbird
В 1.9 так и будет.
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
Azathoth
Кстати есть примеры таких расширений?
Да довольно давно есть ILO, Keyconfig, Menumanipulator, statusbuttons (это из того, что у меня стоит)
жЫзнь рандомна... и ничего с этим не поделаешь ;)
Отсутствует
INFOMAN
В 1.9 так и будет.
Хм... Правда? А где про это говорили? Пока сам не увижу, не поверю
Lynxx
Да довольно давно есть smile ILO
А ведь точно, надо было просто посмотреть в папку с расширениями.
...она старалась, чтобы я больше времени проводил в разных пионерлагерях и группах продлённого дня - кстати сказать, удивительную красоту последнего словосочетания я вижу только сейчас. (c) Виктор Пелевин
Отсутствует
XULRunner 1.9 will be the first production release of XULRunner, and will be used and shipped by Firefox 3 (Q2 2007)
http://wiki.mozilla.org/XULRunner:Roadmap#XULRunner_1.9
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует