Теперь и у unix-like будет регистр !
-
- Уже с Приветом
- Posts: 257
- Joined: 05 Apr 2003 17:06
- Location: Европа :: Латвия
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
Re: Теперь и у unix-like будет регистр !
Pukite wrote:http://registry.sourceforge.net
Я не думаю, что он приживется.
И еще я не думаю, что это хорошая идея. Я бы скорее приветствовал стандарт на написание конфигурационных файлов. Думаю, это более UNIX way.
Зачем повторять чужие ошибки?
-
- Уже с Приветом
- Posts: 246
- Joined: 01 Feb 2002 10:01
- Location: DC suburb, Maryland
Re: Теперь и у unix-like будет регистр !
Pukite wrote:http://registry.sourceforge.net
это очень симптоматично.
Означает, что Майкрософт нарожала-таки достаточное количество
идиотов, которые ничего другого, кроме их ослиной registry
не знают.
Ладно, вопрос был к добру это или нет.
Однозначно - НЕТ. Я так и проголосовал.
И мне лично бы не хотелось, чтобы это прижилось.
Но мало ли ...
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA
-
- Posts: 11
- Joined: 30 May 2004 12:53
-
- Уже с Приветом
- Posts: 2107
- Joined: 04 Mar 1999 10:01
- Location: Gaithersburg, MD
-
- Уже с Приветом
- Posts: 630
- Joined: 01 May 2001 09:01
- Location: Москва -> New York
Как правило, ресстр ругают из за следующих недостатков:
- "Если реестр ломается, надо сносить систему." А чем это отличается от ситуатсии с порчей каталога /etc ? Понятное дело, в Линуксе лучше сделать реестр более ударопрочным (например, если ломается фрагмент реестра, остальные части все равно работают).
- "Нельзя руками поправить!" Опять-таки, никто не мешает сделать реестр текстом (он и не предназначен для сверхскоростного доступа). Да сделайте его через отдельные файлы - главное, чтобы это никто не знал, а все пользовались API для доступа к оным.
Зато, имея реестр, получаем два плюса:
- Единый метод доступа. Автоматически освобождаем девелоперов от изобретения Yet Another Vasya Pupkin's Configuration File Library. (на Freshmeat их, как собак нерезанных - сам написал три в 80-х - 90-х годах)
- Возможность совместного использования конфигурационных параметров программами. Типический пример: все, что лезет в Сеть через HTTP будет использовать единые установки прокси. Другой пример: принтеры, размеры бумаги и т.п. Сейчас ето иногда делается через переменные среды, но последние имеют массу недостатков по сравнению с иерархической стандартизированной БД.
Наиболее близко к этой идее подошел GConf, но авторы, как всегда, решили показать, как хорошо они умеют программировать демоны, и спроектировали его как центральный сервер gconfd, сделав его непригодным для использования во время загрузки системы и для "легких" приложений.
Так что мен идея реестра определенно нравится.
- "Если реестр ломается, надо сносить систему." А чем это отличается от ситуатсии с порчей каталога /etc ? Понятное дело, в Линуксе лучше сделать реестр более ударопрочным (например, если ломается фрагмент реестра, остальные части все равно работают).
- "Нельзя руками поправить!" Опять-таки, никто не мешает сделать реестр текстом (он и не предназначен для сверхскоростного доступа). Да сделайте его через отдельные файлы - главное, чтобы это никто не знал, а все пользовались API для доступа к оным.
Зато, имея реестр, получаем два плюса:
- Единый метод доступа. Автоматически освобождаем девелоперов от изобретения Yet Another Vasya Pupkin's Configuration File Library. (на Freshmeat их, как собак нерезанных - сам написал три в 80-х - 90-х годах)
- Возможность совместного использования конфигурационных параметров программами. Типический пример: все, что лезет в Сеть через HTTP будет использовать единые установки прокси. Другой пример: принтеры, размеры бумаги и т.п. Сейчас ето иногда делается через переменные среды, но последние имеют массу недостатков по сравнению с иерархической стандартизированной БД.
Наиболее близко к этой идее подошел GConf, но авторы, как всегда, решили показать, как хорошо они умеют программировать демоны, и спроектировали его как центральный сервер gconfd, сделав его непригодным для использования во время загрузки системы и для "легких" приложений.
Так что мен идея реестра определенно нравится.
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Главное преимужество отсутствие регистра - программу можно гарантированно ВЫЧИСТИТЬ с компьютера, потому что (как правило) все файлы располагаются в одном или паре мест
В registry ыособенно виндовые программы где только не пишут и еще ссылки делают. И куча user friendly guids В итоге бывает что чтото не ставится или не работает. Понятно что что то в registry. А где ?
В registry ыособенно виндовые программы где только не пишут и еще ссылки делают. И куча user friendly guids В итоге бывает что чтото не ставится или не работает. Понятно что что то в registry. А где ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 630
- Joined: 01 May 2001 09:01
- Location: Москва -> New York
Dmitry67 wrote:Главное преимужество отсутствие регистра - программу можно гарантированно ВЫЧИСТИТЬ с компьютера, потому что (как правило) все файлы располагаются в одном или паре мест
Не факт. Я повидал немало программ, ставившие свои файлы в /etc, /var, /etc/cron* и /usr/lib. Чистить их - не меньший геморрой, чем очистка реестра. Если разбрасывать свой "мусор" по всей файловой системе, то веселья будет не меньше, чем от реестра. Пример: Вы знаете, как гарантированно убрать sendmail из системы (подсказка: файлы есть в /etc, /etc/mail, /usr/sbin, /usr/lib и других местах).
Отдельные особи - вообще песня. Старый Win4Lin, ставил несколько "секретных" файлов, без удаления которых его нельзя было переустановить.
Оптимальный выход, по-моему, это комбинация трех подходов:
1. Жесткое разграничение параметров системного и программного уровня.
2. Набор средств, позволяющий регистрировать состояние реестра "до" и "после" с возможностью "отката."
3. Хорошая документация с примерами правильного использования реестра.
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
Чушь ети реестры. Простота - залог здоровья.
Читаешь текстовый файл в /etc и голову не морочишь.
Сразу все ясно и понятно. С режистри надо иметь API, надо иметь программу их читать, модифицировать. Ну хорошо. А бенефиты какие?
1 бенефит - все яйца в одной корзине.
Читаешь текстовый файл в /etc и голову не морочишь.
Сразу все ясно и понятно. С режистри надо иметь API, надо иметь программу их читать, модифицировать. Ну хорошо. А бенефиты какие?
1 бенефит - все яйца в одной корзине.
Верить нельзя никому - даже себе. Мне - можно!
-
- Уже с Приветом
- Posts: 630
- Joined: 01 May 2001 09:01
- Location: Москва -> New York
A. Fig Lee wrote:Читаешь текстовый файл в /etc и голову не морочишь.
Ага, просто великолепно. Если моя программа хочет смотреть конфигуратсию BIND, то она, по-видимому, должна знать синтаксис /etc/named и /etc/resolv.conf. А если ей еще надо знать тип мышки и монитора, то ей также надо уметь читать /etc/X11/XF86Config (или ето /etc/X11/XF86Config-4? или может /etc/xorg.conf?). Вот уж, действительно, synergy.
A. Fig Lee wrote:А бенефиты какие?
1 бенефит - все яйца в одной корзине.
"На горе мочало - начинай сначала." См. мое сообщение выше - тот факт, что Мелкософт сделал реестр ненадежным не означает, что в Unix его нельзя сделать лучше. Опять-таки, например в виде файловой иерархии /conf, которая будет читаться только библиотекой, реализующей API.
-
- Уже с Приветом
- Posts: 2191
- Joined: 04 Nov 2001 10:01
- Location: Новый cвет
zor0n wrote:Ага, просто великолепно. Если моя программа хочет смотреть конфигуратсию BIND, то она, по-видимому, должна знать синтаксис /etc/named и /etc/resolv.conf. А если ей еще надо знать тип мышки и монитора, то ей также надо уметь читать /etc/X11/XF86Config (или ето /etc/X11/XF86Config-4? или может /etc/xorg.conf?). Вот уж, действительно, synergy.
Ну неленивые так и сделали - webmin, например, написали же и никто не помер. Разве не программисты должны облегчать труд других пользователей системы?
Зато мне, как администратору, удобнее работать с отдельными конфигами, особенно при переносе настроенной софтины на другой сервер - установил, скопировал конфиг, чуть поправил по месту и всё. А с виндами какой нибудь сложно настроенный продукт попробуйте перенести, запаришься реестр ковырять или заново по менюхам прыгать пока все нужные галки проставишь и параметры пропишешь, особенно если производители талмуд для этого дела не написали как быстро переносить систему.
А уж про простоту бэкапа конфигурационных файлов я молчу.
Короче, то что программисту хорошо, амдминистратору - смерть.
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
zor0n wrote:Ага, просто великолепно. Если моя программа хочет смотреть конфигуратсию BIND, то она, по-видимому, должна знать синтаксис /etc/named и /etc/resolv.conf. А если ей еще надо знать тип мышки и монитора, то ей также надо уметь читать /etc/X11/XF86Config (или ето /etc/X11/XF86Config-4? или может /etc/xorg.conf?). Вот уж, действительно, synergy.
А зачем знать конфигурацию байнда? А с регистри - Вы что будете знать все ключи другой программы и что они значат?
Может с дизайном проблемы?
Нащет Х11 - думаю есть АПИ которое Вам ответит и о мониторе и о мышке. Не барское ето дело - в чужих конфигурациях ковырятся.
Выпустят новую версию - опьять начинай сначала?
Верить нельзя никому - даже себе. Мне - можно!
-
- Уже с Приветом
- Posts: 2191
- Joined: 04 Nov 2001 10:01
- Location: Новый cвет
zor0n wrote:Как правило, ресстр ругают из за следующих недостатков:
- "Если реестр ломается, надо сносить систему." А чем это отличается от ситуатсии с порчей каталога /etc ?
Тем что если я не могу загрузить систему вообще, то я могу поключить диск к другому компьетеру (или в юниксе часто просто загрузиться с сидюка и примонтировать разделы на диске) и быстро восстановить критические файлы из бэкапа (предположим что он делается регулярно). Если это так же легко с виндой и конкретно с реестром - дайте мне знать, может я отстал от жизни. Моя практика переноса системы при смене диска через полный бэкап системы и реестра на винде кончилась неудачей - пришлось опять операционку и весь софт заново устанавливать.
С реестром ещё бывают такие дела - недавно действительно пришлось переустанавливать систему, когда предыдущая установка IBM Sametime Domino "нагадила" в реестр так, что даже после полного сноса, новая версия этого же софта криво устанавливалась и не работала. После переустановки операционки стала туда без проблем. Так что пока с глюками реестра на практике быстрее снести и начать всё с нуля.
-
- Уже с Приветом
- Posts: 630
- Joined: 01 May 2001 09:01
- Location: Москва -> New York
A. Fig Lee wrote:А зачем знать конфигурацию байнда? А с регистри - Вы что будете знать все ключи другой программы и что они значат?
В том-то и дело, что некоторые ключи - системного, а не программного уровня. BIND - плохой пример, но, например, конфигурация почты и HTTP вполне подходят для разделения между программами.
A. Fig Lee wrote:Нащет Х11 - думаю есть АПИ которое Вам ответит и о мониторе и о мышке.
Ага, а сама X11 откуда эту информацию берет? И почему система должна иметь как минимум два разных конфигурационных файла для описания одной мышки (/etc/X11/XF86Config и /etc/gpm.conf)? А если моя программа хочет знать, какая мышь в системе, где нет ни Икса ни gpm, ей откуда эту информацию брать? И чем чтение лучше чем вызов:
Code: Select all
val = registryGetValue("/CurrentMachine/Configuration/Peripherals/DefaultMouse/Type", 0);
Хотя, в конечном счете все эти реестры-шмеестры - всего лишь способ слабать быстрый API к разным вещам. Если таковой API имеется, то и реестр не нужен.
A. Fig Lee wrote:Не барское ето дело - в чужих конфигурациях ковырятся.
Вот и я о том!
-
- Уже с Приветом
- Posts: 630
- Joined: 01 May 2001 09:01
- Location: Москва -> New York
Лирическое отступление о мышах. Помнится, читал я в субтильном возрасте в ГПНТБ книгу Янга по программированию Икса, и очень меня поразил тот факт что Икс-протокол поддерживает мышей, имеющих вплоть до пяти (!) кнопок. Тогда это казалось перебором. Сейчас, с моим маусом, имеющим колесо и еще три дополнительные кнопки, на которые Икс-протокола не хватило, ето уже не смешно. И ето еще без tilt wheel...
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
zor0n wrote:Ага, а сама X11 откуда эту информацию берет? И почему система должна иметь как минимум два разных конфигурационных файла для описания одной мышки (/etc/X11/XF86Config и /etc/gpm.conf)? А если моя программа хочет знать, какая мышь в системе, где нет ни Икса ни gpm, ей откуда эту информацию брать? И чем чтение лучше чем вызов:
Опять Ваш пример плохой. Два конфига должно быть потому, что два независимых режима - консоль и X, каждый работает с мышкой и должны работать совершенно независимо друг от друга и вне зависимости, присутствует ли другой.
Вашей программе вовсе незачем читать конфиги. Она должна общаться или с GPM, если это консольная программа, или с Xsever, если с графическим интерфейсом.
Вы учтите, что все примеры будут плохие, потому, что сама необходимость реестра притянута за уши.
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
zor0n wrote:"На горе мочало - начинай сначала." См. мое сообщение выше - тот факт, что Мелкософт сделал реестр ненадежным не означает, что в Unix его нельзя сделать лучше. Опять-таки, например в виде файловой иерархии /conf, которая будет читаться только библиотекой, реализующей API.
Тот факт, что реестр является слабым местом в надежности виндов, причем учитывая то, что в повышение его надежности они вбухали немало средств, наводит на мысль, что сама концепция порочна.
Пример в виде файловой конфигурации /conf - это и есть практически то, что мы имеем сейчас. И стандартные средства для парсинга конфигов есть.
Давайте разберем по пунктам, что мы потеряем, если:
1. Переведем конфиги в файловой иерархии в формат XML:
- XML, с его иерархией это явный перебор для конфигов, где вполне хватает формата ключ:значение
- увеличится размер конфигов, что плохо для устройств с лимитированными ресурсами
- добавится более громоздкая библиотека парсинга, что плохо для устройств с лимитированными ресурсами
- увеличатся затраты ресурсов на парсинг, что плохо для устройств с лимитированными ресурсами
- старые форматы все равно придется поддерживать,так что все выльется в создание еще одного, не самого удачного формата и библиотеки работы с ним
2. Если сделаем как в Виндовс - все в одном файле:
- получим один здоровенный файл, при крахе которого можно получить неработоспособную систему, придется вводить дополнительные средства для повышения надежности, как в Виндовсе и все равно, как видим надежность одного файла получается хуже, чем многих
- для получения параметров каждая программа будет парсить здоровенный файл, или придется рожать АПИ и демона, который это делает, что увеличит потребление ресурсов.
- придется придумать систему прав доступа для участков файла, как в Виндовс, иначе не сможем обеспечить безопасность и увеличится дырявость
- при ремонте придется ковыряться примитивными редакторами в огромном файле, или придется делать специализированный редактор как в Виндовсе.
В общем, не надо думать, что мы сделаем так же, как в Виндовс, только лучше, грабли будут те же, они сегодня видны за километр и результат будет такой же.
-
- Уже с Приветом
- Posts: 10367
- Joined: 12 Apr 2001 09:01
- Location: Lithuania/UK
zor0n wrote:- Возможность совместного использования конфигурационных параметров программами. Типический пример: все, что лезет в Сеть через HTTP будет использовать единые установки прокси. Другой пример: принтеры, размеры бумаги и т.п. Сейчас ето иногда делается через переменные среды, но последние имеют массу недостатков по сравнению с иерархической стандартизированной БД.
Ну, не знаю, чем не нравятся переменные окружения. Я вообще-то очень доволен ситемой записи конфигурационных параметров в UNIX. Если бы в Windows было бы похоже, насколько бы легче было бы жить. Эта система включает в себя продуманную иерархию чтения настроек. Грамотная программа должна читать настройки примерно в со следующими приоритетами:
1. Аргументы командной строки
2. Переменные окружения
3. Локальные настройки пользователя из конфига в его домашней директории
4. Глобальные настройки из системного каталога /etc
Такая система дает очень большую гибкость в настройке. Если еще добавить, что и загрузчик библиотек при помощи переменных окружения можно насторить индивидуально для каждой программы, и для многих программ можно указать путь к конфигурационным файлам в командной строке, то получаем платформу с очень большой гибкостью и возможностями для маневра.
-
- Уже с Приветом
- Posts: 723
- Joined: 17 Sep 2003 10:00
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA
Евгений, Вы в Ваших рассуждениях забываете одну вещь. В Виндах существуют и ini файлы (аналог Униксовых /conf) и regestry. Программисты сами решают, что использовать. Вы можете и без registry программировать в Виндах, ну разве что без ActiveX-ов и COM-ов. В Униксах имеется только одна возможность. Народ подумал о другой, а Вы сразу бьете по рукам. Это не дело.
-
- Новичок
- Posts: 54
- Joined: 26 Mar 2001 10:01
- Location: Haifa, Israel -> Redmond, WA
-
- Уже с Приветом
- Posts: 1222
- Joined: 02 Jan 2002 10:01
- Location: Bellevue, WA
Издеваетесь ? Вот на вскидку Вам две статьи как это добро читать/писать даже из .NET
Use COM Interop to Read and Write to INI Files with .NET
http://archive.devx.com/dotnet/discussi ... nterop.asp
Upgrade Your INI Files to XML with .NET
http://www.devx.com/dotnet/Article/7008/1763
Use COM Interop to Read and Write to INI Files with .NET
http://archive.devx.com/dotnet/discussi ... nterop.asp
Upgrade Your INI Files to XML with .NET
http://www.devx.com/dotnet/Article/7008/1763
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
zor0n wrote:A. Fig Lee wrote:А зачем знать конфигурацию байнда? А с регистри - Вы что будете знать все ключи другой программы и что они значат?
В том-то и дело, что некоторые ключи - системного, а не программного уровня. BIND - плохой пример, но, например, конфигурация почты и HTTP вполне подходят для разделения между программами.
Что такое HTTP? Ето же не программа.
2. Что значит почта? sendmail, qmail, postfix, enzim, pine, Courier, etc..?
Какой из них Вы собираетесь читать?
Откуда известно что на етом компьютере стоит?
3. А что, в регистри будут другие ключи и значения?
Ага, а сама X11 откуда эту информацию берет? И почему система должна иметь как минимум два разных конфигурационных файла для описания одной мышки (/etc/X11/XF86Config и /etc/gpm.conf)? А если моя программа хочет знать, какая мышь в системе, где нет ни Икса ни gpm, ей откуда эту информацию брать? И чем чтение лучше чем вызов:
А в том то и дело, что надо отделять зерна от плевел. Завтра изменят конфигурационный файл и все. Переписывай программу. Программа сохраняет там сеттингс для себя, а не для васи.
Для васи есть широко известные систем-вайд конфигурейшн файлс.
Думаю, что не обязательно запускать Х чтоб узнать про мышь.
Верить нельзя никому - даже себе. Мне - можно!
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
Siberian Cableman wrote:Евгений, Вы в Ваших рассуждениях забываете одну вещь. В Виндах существуют и ini файлы (аналог Униксовых /conf) и regestry. Программисты сами решают, что использовать. Вы можете и без registry программировать в Виндах, ну разве что без ActiveX-ов и COM-ов. В Униксах имеется только одна возможность. Народ подумал о другой, а Вы сразу бьете по рукам. Это не дело.
Ну и что что существуют?
Система куда пишет? Вирусы куда пишут? Да и речь то не о том, что Виндовс предоставляет ини-файлы. Кстати, зачем там COM? Его что без COM-а прочитать нельзя? А речь о том, что какую передовую систему Виндовс имеет с режистри и скоро такая и на УНИХе будет.
Верить нельзя никому - даже себе. Мне - можно!