Re[4]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 10:57
Оценка:
E>А когда чтоб найти что ж запускается при автостарте
msconfig
Re[2]: А чем плох реестр?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 16.11.09 11:55
Оценка:
Здравствуйте, Baudolino, Вы писали:

B>Зло всегда исходит от разработчика, а не от инструмента.

..., который использует не тот инструмент

B>1. Файлы удобнее просматривать и редактировать. С этим утверждением трудно спорить, однако, спорить и не нужно. Важнее ответ на вопрос, а зачем пользователю просматривать и редактировать настройки приложения вручную? Обладает ли пользователь достаточной для этого компетенцией?

Кто распространил мнение среди программистов, что все пользователи — дебилы? Не обладает компетенцией — значит сам себе злостный буратино. Боитесь, что многие будут портить настройки? Ну так сделайте автосохранение последних успешных настроек и быстрое и удобное их восстановление в случае чего. Иначе получается "так как большинство пользователей пользуются браузером IE, наш сайт остальные не поддерживает".
Вручную иногда значительно проще, чем ползать по менюшкам приложения. Тем более, что в гуе запросто может не быть тонких настроек.

B>2. С реестром работать удобнее, поскольку API заточен под хранение настроек (транзакции и т.п.). Для хранения настроек в файлах при этом существует множество готовых библиотек, но это может означать как зависимость от нестандартного API (минус), так и улучшенный по сравнению с реестром функционал (плюс).

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

B>4. C т.з. быстрого развертывания оба способа эквивалентны, только это делается не через жопу (зачеркнуто) контроль версий.

Чем не нравится VCS? Для разработческих целей — самое оно. Для корпоративных проектов тоже вполне подходит.
Что предлагаешь взамен, через управление доменом (AD или как там его)?

B>5. С т.з. переноса пользовательских данных оба способа эквивалентны — пользовательский реестр хранится в %USERPROFILE% (было бы здорово, если бы у разработчиков хватало ума проверять совместимость своих продуктов с Easy Transfer).

Вычленить из USER_HOME нужный каталог с файлами настроек гораздо проще, чем сохранять ветку из реестра и переносить полученный файлик. Во втором случае как минимум на одно действие больше.

B>6. Флешка не является аргументом в пользу файлов, т.к. вы можете переместить на нее %APPDATA% (=%USERPROFILE%\AppData\Roaming) и хранить на ней настройки любого приложения (разумеется, если оно не хардкодит системные пути) незаметно от него.

Можно подробнее? Я правильно понимаю, что в этом случае переносится весь HKCU?

ИМХО, если бы Микрософт заместо API к реестру предоставило API для сохранения настроек в %APPDATA%, всем было бы лучше. Другое дело, что в те давние времена NTFS не был распространен, а реестр предоставлял видимость защиты пользовательских данных, что лучше, чем ничего.
Re[2]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:11
Оценка:
Здравствуйте, pgregory, Вы писали:

P>Права доступа?

В реестре есть.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:11
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Может статься, что файл настроек лежит себе тихо-мирно рядом с программой, а не в MyDocuments.

Теперь это, к сожалению, стало модно считать неправильным
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:11
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Вообще файлик настроек рядом с программой класть это разве не очередной пример зла

Как раз нет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:11
Оценка:
Здравствуйте, Don Reba, Вы писали:

C>>К примеру, как мне для реестра описать, что в ключе aa/nnn/ddd хранятся только IPv6 адреса?

DR>Я бы создал рядом значение с комментарием.
И как этот комментарий помешает программе записать туда неверное значение?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 12:13
Оценка:
Здравствуйте, CreatorCray, Вы писали:

ВВ>>Вообще файлик настроек рядом с программой класть это разве не очередной пример зла

CC>Как раз нет.

Вот только проблем с этим огребешь по полной — хотя бы с секьюрити
Re: А чем плох реестр?
От: x-code  
Дата: 16.11.09 12:16
Оценка: :)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Для сохранения настроек приложения. Собственно, есть некоторое устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в чем это зло заключается?


Тем что он не позволяет скопировать приложение целиком и полностью на флэшку и перенести на другую машину
Re[9]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:23
Оценка:
Здравствуйте, Sshur, Вы писали:

S>Не надо сравнивать HKLM, и все. А ежели ваше ПО хранит настройки в HKLM, то это в принципе то же самое, что конфиги в c:\windows писать

ПО оно сильно разное бывает.
Сервису например кроме как в HKLM больше некуда.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:23
Оценка:
Здравствуйте, Niemand, Вы писали:

N>потому что xml файл намного более осязаем для юзера чем реестр — его можно снести на флешку, открыть блокнотом и не видеть кучу других ключей. (тут я вижу возражение что мол есть .reg файлы — но их надо вностить в реестр что уже для юзера сложнее).


Самое отпадное решение которое я как то увидел — это хранить конфиг в XML в REG_SZ ключе в реестре.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:23
Оценка:
Здравствуйте, elmal, Вы писали:

E>А когда чтоб найти что ж запускается при автостарте

Давай-ка ты в XXI век перейдёшь все таки. А то всё каменными молотками пользуешься.
http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:27
Оценка: -2
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Вот только проблем с этим огребешь по полной — хотя бы с секьюрити

Nope.
Достаточно ставить прогу туда, куда считаешь нужным. Т.е. в папку с правильно настроенными правами. Ну и уж точно не в c:\program files. Честно говоря это сомнительная идея — засирать диск с системой прикладным мусором.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 12:27
Оценка:
Здравствуйте, x-code, Вы писали:

ВВ>>Для сохранения настроек приложения. Собственно, есть некоторое устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в чем это зло заключается?

XC>Тем что он не позволяет скопировать приложение целиком и полностью на флэшку и перенести на другую машину
Вообще то это целиком и полностью зависит от приложения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 12:33
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, Sshur, Вы писали:


S>>Не надо сравнивать HKLM, и все. А ежели ваше ПО хранит настройки в HKLM, то это в принципе то же самое, что конфиги в c:\windows писать

CC>ПО оно сильно разное бывает.
CC>Сервису например кроме как в HKLM больше некуда.

Сервис можно запустить от имени специального юзера Без чего иногда и обойтись нельзя, если виндовс авторизация нужна к MSSQL например.

Но, сервис — специфичное ПО, его не надо переносить на 10 компов и он не работает на разных компах от имени разных пользователей. А сервер после падения поднимается целиком из образов диска или чего-то еще
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[5]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 12:36
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Самое отпадное решение которое я как то увидел — это хранить конфиг в XML в REG_SZ ключе в реестре.


А у нас как-то сделали хранение основных настроек в БД. Ну то есть строка подключения к БД где-то маленьким ключом в реестре хранится, а остальные настройки потом из БД подсасываются. Кстати, как раз для сервиса такое было
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 12:42
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

C>>А ты сам-то пробовал так делать? Вот попробуй и расскажи как получится.

ВВ>Нет. А ты пробовал реальные конфиги установленных приложений добавлять в сурс-контрол?
Да. Вот с одного из серверов:
root@cloudmain:/etc# git log
commit 6537d193e872951efd3e237c4ed6e86cb3e1420c
Author: Alex Besogonov <Alex.Besogonov@gmail.com>
Date:   Thu Nov 12 20:39:07 2009 +0000

    Updates - new SSL root certs.

commit f761f162da380484df3ca8475edaa7446454d09c
Author: Alex Besogonov <Alex.Besogonov@gmail.com>
Date:   Thu Nov 12 20:38:57 2009 +0000

    Bind zones updates - add new cloud-based servers.

commit 90eadec5194fba60aecd6e18e22d8181f0f13d32
Author: Alex Besogonov <Alex.Besogonov@gmail.com>
Date:   Thu Nov 12 20:38:41 2009 +0000

    Use the dedicated outgoing interface (for SPF protection).

commit d05b485648cade0db2b13343f1245466a3279825
Author: Alex Besogonov <Alex.Besogonov@gmail.com>
Date:   Thu Nov 12 20:38:10 2009 +0000

    Disabled the separate /tmp partition (too small).

commit 483c353116766bdabdda92c43667d45f7533415d
Author: Alex Besogonov <Alex.Besogonov@gmail.com>
Date:   Sat Jul 25 19:52:18 2009 +0000

    Installed 32-bit JVM and switched applications to it, added redirection for hcptest.


Естественно, в вербозном логе отображаются все изменённые файлы. Так что никакие случайные "rm -Rf . /*" не создадут проблемы более чем на пару минут.
Sapienti sat!
Re[7]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 12:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>И как этот комментарий помешает программе записать туда неверное значение?


Странный вопрос. Комментарий в конфиге помешает программе записать в него неверное значение?
Ce n'est que pour vous dire ce que je vous dis.
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 12:49
Оценка:
Здравствуйте, Sshur, Вы писали:

C>>Так вот — нифига оно не получается. В реестре полно ключей, которые постоянно меняются системой. Поэтому, полный backup реестра не имеет смысла — там будет слишком много мусорных изменений. Вменяемый merge тоже нереален.

S>Не надо сравнивать HKLM, и все.
А надо.

S>А ежели ваше ПО хранит настройки в HKLM, то это в принципе то же самое, что конфиги в c:\windows писать

Куча ПО хранит глобальные настройки в HKLM (что есть правильно). Что ты с ним предлагаешь делать?

В ПравильныхОС всё просто — общесистемные настройки в /etc, а пользовательские — в домашке. Обычно с одинаковым форматом конфигов.
Sapienti sat!
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 12:50
Оценка:
Здравствуйте, CreatorCray, Вы писали:

ВВ>>Вот только проблем с этим огребешь по полной — хотя бы с секьюрити

CC>Nope.
CC>Достаточно ставить прогу туда, куда считаешь нужным. Т.е. в папку с правильно настроенными правами. Ну и уж точно не в c:\program files. Честно говоря это сомнительная идея — засирать диск с системой прикладным мусором.

Я сомневаюсь, что нарушать паттерн "c:\program files" хорошая идея. Но это как говорится выбор каждого и устраивать флейм по этому поводу мне бы не хотелось.
Тем не менее у подавляющего большинства пользователей приложение именно в этой папочке и окажется. И если оно в принципе не умеет нормально работать с конфигом который лежит в c:\program files, то будет падать. В немалом количестве случаев.
Re[10]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 12:52
Оценка:
Здравствуйте, Sshur, Вы писали:

S>PS. Все работает с поправкой, что SID пользователя в домене один и тот же на всех машинах. Чтобы такой финт повторить без домена, надо делать экспорт реестра именно из HKCU например регэдитом и потом импорт им же. Ну и настройки ПО хранятся в Software — лучше перенести настройки избранных приложений, чем весь мусор что там есть

Таки "просто положить в VCS" уже не получается. Нужно заниматься ручным экспортом. А некоторые приложения ещё и в разные места реестра пишут.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.