А чем плох реестр?
От: Воронков Василий Россия  
Дата: 15.11.09 23:08
Оценка:
Для сохранения настроек приложения. Собственно, есть некоторое устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в чем это зло заключается?
Re: А чем плох реестр?
От: pgregory Россия  
Дата: 16.11.09 00:15
Оценка: 8 (3) +1 :)
Здравствуйте, Воронков Василий, Вы писали:

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


Что такое реестр? Это такое дерево с именованными ветками и листьями. Что такое файловая система? (Ответ вписать.) В чем принципиальное отличие реестра от файловой системы? (Ответ вписать.)

Из подобного переизобретения велосипедов вытекает то, что:
— нужен специальный огромный API для работы с реестром
— нужна куча специальных тулзов для работы с реестром
— и все равно интерфейс ФС проще и богаче

А миллионы готовых и подходящих средств для работы с ФС не работают:
— его не посмотреть в файловом менеджере и не приложить к письму
— простой backup не сохраняет реестр
— приложение не скопировать на флешку, чтобы запустить у друга
— его нельзя поднять под управлением системой контроля версий
— ...

Шифрование? Права доступа? Эффективное хранение? Получение нотификаций об изменении? Все это есть в ФС.
--
In code we trust.
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 00:33
Оценка: +3
Здравствуйте, pgregory, Вы писали:

P>Здравствуйте, Воронков Василий, Вы писали:


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


P>Что такое реестр? Это такое дерево с именованными ветками и листьями. Что такое файловая система? (Ответ вписать.) В чем принципиальное отличие реестра от файловой системы? (Ответ вписать.)


К чему это? Я задал вполне конкретный вопрос — какие недостатки у реестра для хранения настроек приложения. В этом плане он должен сравниваться не с ФС, а скажем с ХМЛ, который кладется в Isolated Storage.

P>Из подобного переизобретения велосипедов вытекает то, что:

P>- нужен специальный огромный API для работы с реестром

АПИ и для других способов нужен. К тому же он есть. Вполне простой и удобный.

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


Кому нужна? Зачем?

P>- и все равно интерфейс ФС проще и богаче


Скажу на ваш манер — что такое ФС? "Я использую ФС для сохранения настроек приложения" звучит несколько странно. Если хотите сравнивать, то приведите конкретный пример для сравнения.

P>А миллионы готовых и подходящих средств для работы с ФС не работают:

P>- его не посмотреть в файловом менеджере и не приложить к письму

Зачем его смотреть в файловом менеджере? Кто мешает экспортировать ветку и приложить к письму? А как isolated storage будете прикладывать к письму?

P>- простой backup не сохраняет реестр


Что такое "простой backup"?

P>- приложение не скопировать на флешку, чтобы запустить у друга


Так, давайте не путать теплое с мягким. Приложение можно скопировать на флешку, но при этом не скопируются настройки приложения. Оно может потом даже прекрасно запуститься с флешки, но с дефлотными настройками. Так?
Теперь снова вопрос — с чем сравнивается реестр?
1. Приложение само умеет создавать файлик настройками где-нибудь в MyDocuments. Результат — скопировать просто так нельзя, нужно искать файлик, потом вручную кидать его в нужную папку.
2. Isolated storage — тут вообще фиг скопируешь что-либо ИМХО.
3. Реестр — экспорт ветку, файлик на флешку, на компе друга импорт двойным щелчком. По мне так даже проще чем п. 1.

И? В чем проблема?

P>- его нельзя поднять под управлением системой контроля версий


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

P>- ...


Да нет, вы уж продолжайте.

P>Шифрование?


Что с чем сравниваем? Если я пишу конфиг в ИНИ-файл у меня ровно те же возможности о шифровании.

P>Права доступа? Эффективное хранение? Получение нотификаций об изменении? Все это есть в ФС.


Вы не забыли, что речь идет о сохрании настроек приложения?
Re: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 00:47
Оценка: +4
Здравствуйте, Воронков Василий, Вы писали:

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


С точки зрения разработки разницы нет — что в XML, что в .ini, что в реестр. Разница появляется в процессе эксплуатации. Если настройками в файлах можно управлять теми же способами, что и самим приложением (копировать, переименовывать, дублировать), то настройки в реестре управляются уже через одно место (читай — regedit, regedt32). Ну и добавим сюда обыкновение оставлять хлам в реестре при деинсталляции с сопутствующей перегрузкой и притормаживанием.

ИМХО, реестр полезен только для хранения данных, необходимых для связи системы и приложения. Скажем — список COM-объектов, кодеки, драйвера, и т.п. А индивидуальные настройки приложения пихать в реестр большого смысла нет.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 00:55
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>С точки зрения разработки разницы нет — что в XML, что в .ini, что в реестр.


Реестр предлагает определенную модель доступа к данным, которая в ряде случаев может быть удобна. К примеру, если не хочется сразу вычитывать весь конфиг, а читать и писать его по частям. В реестре это — by design. В ХМЛ и ИНИ придется что-то шаманить самостоятельно.

ГВ>Разница появляется в процессе эксплуатации. Если настройками в файлах можно управлять теми же способами, что и самим приложением (копировать, переименовывать, дублировать), то настройки в реестре управляются уже через одно место (читай — regedit, regedt32).


Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать

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


Вообще это тоже момент неоднозначный. "Хлам" приложения и в файловой системе оставляют. Я, конечно, понимаю, чем хлам "в папочках" отличается от хлама в реестре, только вот в ФС приложения хранят свои настройки по-разному, иногда вообще нетривиально найти, где у них там конфиг лежит. А в реестре я хоть знаю куда идти и почистить его заметно проще. Даже утилитки специальные есть.
Так что, честно, мне кажется, что эта проблема может быть и имеет место быть, но все же несколько преувеличена.

ГВ>ИМХО, реестр полезен только для хранения данных, необходимых для связи системы и приложения. Скажем — список COM-объектов, кодеки, драйвера, и т.п. А индивидуальные настройки приложения пихать в реестр большого смысла нет.


Так хочется понять, в чем главное зло-то. Действительно есть устоявшееся мнение, что реестр — это как бы не очень хорошая штука. Но если задуматься, то что-то проблем особых не видно
Re[3]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 01:11
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>С точки зрения разработки разницы нет — что в XML, что в .ini, что в реестр.

ВВ>Реестр предлагает определенную модель доступа к данным, которая в ряде случаев может быть удобна. К примеру, если не хочется сразу вычитывать весь конфиг, а читать и писать его по частям. В реестре это — by design. В ХМЛ и ИНИ придется что-то шаманить самостоятельно.

Нет никакой проблемы в том, чтобы разбить настроечный файл на несколько файлов и таким образом читать/писать настройки по частям. Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.

ВВ>Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать


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

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


ВВ>Вообще это тоже момент неоднозначный. "Хлам" приложения и в файловой системе оставляют. Я, конечно, понимаю, чем хлам "в папочках" отличается от хлама в реестре, только вот в ФС приложения хранят свои настройки по-разному, иногда вообще нетривиально найти, где у них там конфиг лежит. А в реестре я хоть знаю куда идти и почистить его заметно проще. Даже утилитки специальные есть.


Ой, не скажи. Чистить реестр как раз заметно сложнее. Вот лежит у тебя какая-нибудь ветка типа HKCU\Software\MyCompany\TheirSoftware — а в ней куча данных. По каким критериям ты определишь, что эту ветку нужно убирать, если в ней нет ни одной ссылки на ФС и ни одного GUID?

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


Настройки в ФС можно найти тривиальным поиском по дате обновления. А в реестре всё может оказаться распиханным вообще неизвестно куда — лишь бы прав доступа хватило.

ВВ>Так хочется понять, в чем главное зло-то. Действительно есть устоявшееся мнение, что реестр — это как бы не очень хорошая штука. Но если задуматься, то что-то проблем особых не видно


Именно. Сугубо с технической точки зрения критическая проблема ровно одна (ИМХО) — ограничение на размер сохраняемых данных. Заморочки в основном у пользователя — как раз вот те самые дополнительные средства для копирования/переименования.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 01:12
Оценка: +3
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать
Ага, только в ФС можно для конфигов привычные тулзы использовать. Например, .emacs или xmonad.hs — суть программы и должны редактироваться как минимум в нормальном редакторе, а не в regedit32.

ВВ>Вообще это тоже момент неоднозначный. "Хлам" приложения и в файловой системе оставляют. Я, конечно, понимаю, чем хлам "в папочках" отличается от хлама в реестре, только вот в ФС приложения хранят свои настройки по-разному, иногда вообще нетривиально найти, где у них там конфиг лежит. А в реестре я хоть знаю куда идти и почистить его заметно проще. Даже утилитки специальные есть.

ВВ>Так что, честно, мне кажется, что эта проблема может быть и имеет место быть, но все же несколько преувеличена.
Ненене, все наоборот. Чтобы, например, почистить /home — достаточно удалить все невидимые папки и файлы, кроме априори нужных. А вот чистить реестр — значительно сложнее.
Re[3]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 01:17
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
P>>- его нельзя поднять под управлением системой контроля версий
ВВ>Это вообще странное что-то. Система контроля версия в которой хранятся конфиги установленных приложений или что?
Не странное, а очень удобное. Позволяет быстро откатывать неудачные изменения в конфигах и быстро переносить настройки приложений с машины на машину. От ручного экспорта реестра отличается как git от vss.
Re: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 01:19
Оценка: 1 (1)
Здравствуйте, Воронков Василий, Вы писали:

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


Реестр — самый худший вид управления настройками, не считая всех прочих, что человечество испробовало за свою историю. (с)
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 01:21
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Реестр предлагает определенную модель доступа к данным, которая в ряде случаев может быть удобна.
Был тут холивар на эту тему. Тролль-Мамут уверял, что более, чем половине приложений достаточно конфига в виде "ключ-значение", а я ему не верил.
Re[2]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 01:22
Оценка:
Здравствуйте, Don Reba, Вы писали:

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

DR>Реестр — самый худший вид управления настройками, не считая всех прочих, что человечество испробовало за свою историю. (с)
Не-не. Реестр — самых худший из всех. Правильный способ конфигурации — это человекочитаемые файлы настроек (с комментариями) и Augeas для программной работы с ними.

К примеру, я свой /etc кладу в git-репозиторий, и могу посмотреть когда там чего менялось. Причём к измнениям я ещё и комментарии пишу (типа "поменял лимиты postgres'у").

Как мне так сделать с реестром?
Sapienti sat!
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:28
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>С точки зрения разработки разницы нет — что в XML, что в .ini, что в реестр.

ВВ>>Реестр предлагает определенную модель доступа к данным, которая в ряде случаев может быть удобна. К примеру, если не хочется сразу вычитывать весь конфиг, а читать и писать его по частям. В реестре это — by design. В ХМЛ и ИНИ придется что-то шаманить самостоятельно.
ГВ>Нет никакой проблемы в том, чтобы разбить настроечный файл на несколько файлов и таким образом читать/писать настройки по частям.

Ну в принципе да.

ГВ>Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.


Время формирования разделов при загрузке ты имеешь в виду?

ВВ>>Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать

ГВ>Тут неприятность в дополнительном поиске содержимого в реестре, правильном его экспорте/импорте и далее по списку. Во всяком случае, пользователю это не столь привычно, как копирование файлов.

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

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

ВВ>>Вообще это тоже момент неоднозначный. "Хлам" приложения и в файловой системе оставляют. Я, конечно, понимаю, чем хлам "в папочках" отличается от хлама в реестре, только вот в ФС приложения хранят свои настройки по-разному, иногда вообще нетривиально найти, где у них там конфиг лежит. А в реестре я хоть знаю куда идти и почистить его заметно проще. Даже утилитки специальные есть.

ГВ>Ой, не скажи. Чистить реестр как раз заметно сложнее. Вот лежит у тебя какая-нибудь ветка типа HKCU\Software\MyCompany\TheirSoftware — а в ней куча данных. По каким критериям ты определишь, что эту ветку нужно убирать, если в ней нет ни одной ссылки на ФС и ни одного GUID?


Я чаще убеждаюсь в обратном. Как раз настройки в ФС часто выглядят как MyCompanyName\{GUID}\{GUID} и т.д. Вот и ищи, что там надо удалить, а что — нет. Особенно, если от MyCompanyName стоит несколько приложений. Мне вот как правило реестр проще чистить. Меньше телодвижений.

ГВ>Настройки в ФС можно найти тривиальным поиском по дате обновления. А в реестре всё может оказаться распиханным вообще неизвестно куда — лишь бы прав доступа хватило.


Большинство чистилок реестра так же и работают — мониторят его по дате обновления и сносят лишнее. ИМХО если пользователь озаботится такой задачей как держать реестр в частоте это можно сделать легко и просто.
В случае с ФС для реализации подобной автоматической очистки это надо, ну не знаю, всю ФС мониторить, видимо.

ВВ>>Так хочется понять, в чем главное зло-то. Действительно есть устоявшееся мнение, что реестр — это как бы не очень хорошая штука. Но если задуматься, то что-то проблем особых не видно

ГВ>Именно. Сугубо с технической точки зрения критическая проблема ровно одна (ИМХО) — ограничение на размер сохраняемых данных. Заморочки в основном у пользователя — как раз вот те самые дополнительные средства для копирования/переименования.

ОК, понятно.
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:30
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать

MC>Ага, только в ФС можно для конфигов привычные тулзы использовать. Например, .emacs или xmonad.hs — суть программы и должны редактироваться как минимум в нормальном редакторе, а не в regedit32.

Да не всякое приложение дружит с таким способом редактирования конфигов. Банальный пример — приложение хранит в конфиге список каких-нибудь хостов. Конфиг красивый, ХМЛ-ный — взял да добавил кучку новых в емаксе. Только вот один нюанс — креденшиалы к хостам зашифрованы.
Все-таки приложения с конфигом для ручной правки это ИМХО некоторый обособленный случай. Ни раз вот мне в голову не приходило руками конфиг Ворда править.

ВВ>>Вообще это тоже момент неоднозначный. "Хлам" приложения и в файловой системе оставляют. Я, конечно, понимаю, чем хлам "в папочках" отличается от хлама в реестре, только вот в ФС приложения хранят свои настройки по-разному, иногда вообще нетривиально найти, где у них там конфиг лежит. А в реестре я хоть знаю куда идти и почистить его заметно проще. Даже утилитки специальные есть.

ВВ>>Так что, честно, мне кажется, что эта проблема может быть и имеет место быть, но все же несколько преувеличена.
MC>Ненене, все наоборот. Чтобы, например, почистить /home — достаточно удалить все невидимые папки и файлы, кроме априори нужных. А вот чистить реестр — значительно сложнее.

Зато это легко делать автоматически.
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:32
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

P>>>- его нельзя поднять под управлением системой контроля версий

ВВ>>Это вообще странное что-то. Система контроля версия в которой хранятся конфиги установленных приложений или что?
MC>Не странное, а очень удобное. Позволяет быстро откатывать неудачные изменения в конфигах и быстро переносить настройки приложений с машины на машину. От ручного экспорта реестра отличается как git от vss.

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

ЗЫ. Виста вон сама за версиями следит, и никаких git-ов не надо.
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:33
Оценка:
Здравствуйте, Don Reba, Вы писали:

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

DR>Реестр — самый худший вид управления настройками, не считая всех прочих, что человечество испробовало за свою историю. (с)

А может, это, рейтинг "управлений настройками" составить?
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:35
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>Реестр предлагает определенную модель доступа к данным, которая в ряде случаев может быть удобна.
MC>Был тут холивар на эту тему. Тролль-Мамут уверял, что более, чем половине приложений достаточно конфига в виде "ключ-значение", а я ему не верил.

Ну я бы сказал так — более, чем половине приложений глубоко по боку те ограничения на размер значения, которые накладывает реестр. А иерархию-то там строить можно не хуже, чем где-либо еще.
Re[3]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 01:35
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Что такое "простой backup"?


copy /s

ВВ>Теперь снова вопрос — с чем сравнивается реестр?

ВВ>1. Приложение само умеет создавать файлик настройками где-нибудь в MyDocuments. Результат — скопировать просто так нельзя, нужно искать файлик, потом вручную кидать его в нужную папку.

Это зависит от политики управления настройками. Может статься, что файл настроек лежит себе тихо-мирно рядом с программой, а не в MyDocuments. Да даже если в MyDocuments, то скопировать файл настроек оттуда проще, чем лазить по реестру.

ВВ>2. Isolated storage — тут вообще фиг скопируешь что-либо ИМХО.


+1.

ВВ>3. Реестр — экспорт ветку, файлик на флешку, на компе друга импорт двойным щелчком. По мне так даже проще чем п. 1.


Шиш там я позволю что-то импортировать двойными щелчками в свой реестр! А если он назаписывает чего-то в одиозный RunOnce? Не-не-не, Девид Блейн, поди на фиг со своей магией! Вынули флешку — забыли про настройки.

ВВ>И? В чем проблема?


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

P>>- его нельзя поднять под управлением системой контроля версий


ВВ>Это вообще странное что-то. Система контроля версия в которой хранятся конфиги установленных приложений или что?


Легко! Это как раз очень правильно — хранить в системе контроля версий (внимание!) полный комплект средств разработки вместе с настройками. Тогда в один клик можно сконфигурировать совершенно чистую машину (ОС + система контроля версий).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 01:37
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Не-не. Реестр — самых худший из всех. Правильный способ конфигурации — это человекочитаемые файлы настроек (с комментариями) и Augeas для программной работы с ними.


Я не очень пристально вглядывался, только прочитал FAQ/Quick Tour, но по-моему, это попытка создать тот же реестр, только изначально обречённая на неполноценность. Это будет сложнее, из за множества парсеров более глючно и менее функционально чем реестр.

C>К примеру, я свой /etc кладу в git-репозиторий, и могу посмотреть когда там чего менялось. Причём к измнениям я ещё и комментарии пишу (типа "поменял лимиты postgres'у").


C>Как мне так сделать с реестром?


Желание, конечно, нестандартное, но экспорт из реестра в текстовый формат делается элементарно через reg export/reg import. Коментарии допускаются.
Ce n'est que pour vous dire ce que je vous dis.
Re: А чем плох реестр?
От: Niemand  
Дата: 16.11.09 01:41
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


не знаю в чем зло, но зачем мне еще один интерфейс хранения данных если уже есть ФС?
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:41
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ВВ>>Что такое "простой backup"?

ГВ>copy /s

Ну что, неужели экспорт ветки в реестре это так сложно?
Вы все вообще какого-то странного пользователя описываете — с реестром "мышкой" работать не умеет, зато круто "управляет конфигами" да еще и емаксе их правит

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


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


ВВ>>3. Реестр — экспорт ветку, файлик на флешку, на компе друга импорт двойным щелчком. По мне так даже проще чем п. 1.

ГВ>Шиш там я позволю что-то импортировать двойными щелчками в свой реестр! А если он назаписывает чего-то в одиозный RunOnce? Не-не-не, Девид Блейн, поди на фиг со своей магией! Вынули флешку — забыли про настройки.

Этот метод не сработает, если настройки надо копировать в папку МоиДокументы.
Вообще говоря, если приложения by design работает с флешки, то ему достаточно сделать кнопочку — "экспорт настроек" — и все. Пользователь лазить нигде не будет.

ВВ>>И? В чем проблема?

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

Да, как круто-то все у вас
А давай все же реестр сравнивать не с трюками из фильмов про Джеймса Бонда, а с самым популярным после него средством — ХМЛ-файлик в MyDocuments\CompanyName\Guid\Guid

P>>>- его нельзя поднять под управлением системой контроля версий

ВВ>>Это вообще странное что-то. Система контроля версия в которой хранятся конфиги установленных приложений или что?
ГВ>Легко! Это как раз очень правильно — хранить в системе контроля версий (внимание!) полный комплект средств разработки вместе с настройками. Тогда в один клик можно сконфигурировать совершенно чистую машину (ОС + система контроля версий).

Мда, и этим людям сложно экспортировать ветку из реестра
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:43
Оценка:
Здравствуйте, Niemand, Вы писали:

N>не знаю в чем зло, но зачем мне еще один интерфейс хранения данных если уже есть ФС?


Реестр — механизм работы с настройками, каковым ФС не является. И хранится реестр тоже не в астрале, а на той же самой ФС. Поэтому, честно говоря, вопрос не понимаю.
Зачем нам ХМЛ как еще один интерфейс хранения данных если уже есть ФС?
Re[5]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 01:49
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.

ВВ>Время формирования разделов при загрузке ты имеешь в виду?

В частности.

ВВ>>>Ну даже с помощью regedit я не вижу особых проблем с управлением настройками приложения. Не сказал бы я, что там "через одно" место. Те же операции в принципе — скопировать, дублировать, переименовать

ГВ>>Тут неприятность в дополнительном поиске содержимого в реестре, правильном его экспорте/импорте и далее по списку. Во всяком случае, пользователю это не столь привычно, как копирование файлов.
ВВ>А пользователю вообще привычно с конфигами вручную возиться?

Зависит от уровня подготовки. Вообще говоря, юзерам лазить в реестр — моветон.

ГВ>>Ой, не скажи. Чистить реестр как раз заметно сложнее. Вот лежит у тебя какая-нибудь ветка типа HKCU\Software\MyCompany\TheirSoftware — а в ней куча данных. По каким критериям ты определишь, что эту ветку нужно убирать, если в ней нет ни одной ссылки на ФС и ни одного GUID?


ВВ>Я чаще убеждаюсь в обратном. Как раз настройки в ФС часто выглядят как MyCompanyName\{GUID}\{GUID} и т.д. Вот и ищи, что там надо удалить, а что — нет. Особенно, если от MyCompanyName стоит несколько приложений. Мне вот как правило реестр проще чистить. Меньше телодвижений.


Тут мне сказать нечего — я с такими пиковыми случаями сталкивался нечасто. Не считая Outlook Express. С другой стороны, само по себе хранение настроек в ФС ни одной проблемы не решает — тут тоже можно накрутить массу неожиданного.

ГВ>>Настройки в ФС можно найти тривиальным поиском по дате обновления. А в реестре всё может оказаться распиханным вообще неизвестно куда — лишь бы прав доступа хватило.


ВВ>Большинство чистилок реестра так же и работают — мониторят его по дате обновления и сносят лишнее. ИМХО если пользователь озаботится такой задачей как держать реестр в частоте это можно сделать легко и просто.


Мда? Что-то такая эвристика представляется довольно рискованной...

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


Да уж нет... Упаси байт от такой автоматической очистки.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 01:50
Оценка:
Здравствуйте, Don Reba, Вы писали:

C>>Не-не. Реестр — самых худший из всех. Правильный способ конфигурации — это человекочитаемые файлы настроек (с комментариями) и Augeas для программной работы с ними.

DR>Я не очень пристально вглядывался, только прочитал FAQ/Quick Tour,
Нет. Augeas — это попытка создать единый _API_ для работы с файлами. Который чем-то похож на реестровый API, естественно.

Но Augeas позволяет делать то, что реестру и не снилось. К примеру, при изменении конфигурационного файла, в нём сохраняются комментарии и разметка вообще.

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

Оно уже более функционально, чем реестр. Хотя бы в области типизации.

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

C>>Как мне так сделать с реестром?

DR>Желание, конечно, нестандартное, но экспорт из реестра в текстовый формат делается элементарно через reg export/reg import. Коментарии допускаются.
Ага, и что мне с этим экспортом и комментариями делать? Вешать на стенку?

Такой вариант работы абсолютно неюзабелен.
Sapienti sat!
Re[5]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 01:51
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну что, неужели экспорт ветки в реестре это так сложно?

ВВ>Вы все вообще какого-то странного пользователя описываете — с реестром "мышкой" работать не умеет, зато круто "управляет конфигами" да еще и емаксе их правит
Какой, нафиг, пользователь?? Пользователь работает через графические утиллиты, ему реестр или файловое хранилище — вообще пофиг.

Выбор "реестр или файлы" важен для администратора и программиста.
Sapienti sat!
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:53
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.

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

А что еще?

ВВ>>Большинство чистилок реестра так же и работают — мониторят его по дате обновления и сносят лишнее. ИМХО если пользователь озаботится такой задачей как держать реестр в частоте это можно сделать легко и просто.

ГВ>Мда? Что-то такая эвристика представляется довольно рискованной...

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

Потом, я не знаю, если пользователь у вас все конфиги в сурс-контроле хранит да еще и сидит под виндой — ну не повезло ему — то ему сам бог велел первым делым именно реестр весь целиком туда и запихать. Как раз для тех самых целей восстановления и прочего.
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 01:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Выбор "реестр или файлы" важен для администратора и программиста.


Из чего следует уже озвученный мной вывод, что это касается весьма обособленного круга приложений и на большую часть софта не распространяется.
Re[5]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 02:02
Оценка: +3
Здравствуйте, Воронков Василий, Вы писали:

ВВ>>>Что такое "простой backup"?

ГВ>>copy /s

ВВ>Ну что, неужели экспорт ветки в реестре это так сложно?


Конечно. Слишком много дополнительных букв в скрипте.

ВВ>Вы все вообще какого-то странного пользователя описываете — с реестром "мышкой" работать не умеет, зато круто "управляет конфигами" да еще и емаксе их правит


Буду предельно краток: мне, достаточно опытному пользователю (простите мне мою самонадеянность), лень запускать regedt32, искать нужный ключ и экспортировать его содержимое. Поэтому я солидарен с теми, кто считает хранение настроек в реестре злом. Сей топик есть ни что иное, как попытка рационализации этой самой лени.

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


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

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

Согласен. А что, если речь идёт о флешке?

ВВ>>>3. Реестр — экспорт ветку, файлик на флешку, на компе друга импорт двойным щелчком. По мне так даже проще чем п. 1.

ГВ>>Шиш там я позволю что-то импортировать двойными щелчками в свой реестр! А если он назаписывает чего-то в одиозный RunOnce? Не-не-не, Девид Блейн, поди на фиг со своей магией! Вынули флешку — забыли про настройки.

ВВ>Этот метод не сработает, если настройки надо копировать в папку МоиДокументы.


А вот пусть программы будут настолько правильными, что они не будут требовать хранить настройки в МоихДокументах, а будут довольствоваться тем, что лежит рядом с .exe?

ВВ>Вообще говоря, если приложения by design работает с флешки, то ему достаточно сделать кнопочку — "экспорт настроек" — и все. Пользователь лазить нигде не будет.


Нужно делать систему предпочтений — если нет настроек в МоихДокументах, то посмотреть в каталоге рядом с .exe. А уже в MyDocuments сохранять настройки тогда, когда пользователь об этом прямо скажет. Помимо этого бон тон — дать вменяемое имя файлу настроек (не {GUID}-{NNN}). Разумеется, любое из этих пожеланий может быть не выполнено.

ГВ>>Легко! Это как раз очень правильно — хранить в системе контроля версий (внимание!) полный комплект средств разработки вместе с настройками. Тогда в один клик можно сконфигурировать совершенно чистую машину (ОС + система контроля версий).


ВВ>Мда, и этим людям сложно экспортировать ветку из реестра


Не "сложно", а ЛЕНЬ. И мне плевать на концептуальную правильность хранения данных в реестре. Мне лень с ним возиться.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 02:04
Оценка: 1 (1) +1
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Мда? Что-то такая эвристика представляется довольно рискованной...

ВВ>Ну почему же, обычный бэкап реестра, о котором вы тут говорите. Делаете слепок до установки и после деинсталляции. Затем весьма банальный мерж.
ВВ>Потом, я не знаю, если пользователь у вас все конфиги в сурс-контроле хранит да еще и сидит под виндой — ну не повезло ему — то ему сам бог велел первым делым именно реестр весь целиком туда и запихать. Как раз для тех самых целей восстановления и прочего.
А ты сам-то пробовал так делать? Вот попробуй и расскажи как получится.

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

Хранить определённые ветки ещё можно. Но уже никакой простоты не получится.
Sapienti sat!
Re[5]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 02:10
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>Нет. Augeas — это попытка создать единый _API_ для работы с файлами. Который чем-то похож на реестровый API, естественно.


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

C>Но Augeas позволяет делать то, что реестру и не снилось. К примеру, при изменении конфигурационного файла, в нём сохраняются комментарии и разметка вообще.


Ему просто не снятся бесполезные вещи. Какая в реестре разметка?

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

C>Оно уже более функционально, чем реестр. Хотя бы в области типизации.

Да? В FAQ пишут, что оно не поддерживает ничего, кроме строк.

What kind of data can be stored in the tree?
Augeas only stores strings in the tree. So far, there hasn't been a compelling reason to support other data types.


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


Я бы создал рядом значение с комментарием.

C>Ага, и что мне с этим экспортом и комментариями делать? Вешать на стенку?


Хранить в Гите. Разве не это требовалось?
Ce n'est que pour vous dire ce que je vous dis.
Re[7]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 02:11
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

C>>Выбор "реестр или файлы" важен для администратора и программиста.

ВВ>Из чего следует уже озвученный мной вывод, что это касается весьма обособленного круга приложений и на большую часть софта не распространяется.
Ну ладно, а для необособленного круга приложений для ПростогоПользователя(tm)(r) как быть?

Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).
Sapienti sat!
Re[7]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 02:12
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>>>Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.

ВВ>>>Время формирования разделов при загрузке ты имеешь в виду?
ГВ>>В частности.
ВВ>А что еще?

На поиске это так или иначе должно сказываться. Точных деталей на вскидку не скажу.

ВВ>>>Большинство чистилок реестра так же и работают — мониторят его по дате обновления и сносят лишнее. ИМХО если пользователь озаботится такой задачей как держать реестр в частоте это можно сделать легко и просто.

ГВ>>Мда? Что-то такая эвристика представляется довольно рискованной...
ВВ>Ну почему же, обычный бэкап реестра, о котором вы тут говорите. Делаете слепок до установки и после деинсталляции. Затем весьма банальный мерж.

Да-да-да. Особенно если поставить две-три программы, а потом попытаться снести первую. Мерж может показать уйму интересных картинок.

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


Да не всю систему восстанавливать, а рабочее окружение. Для этого реестр хранить в сурс-контроле не нужно (в идеальном случае).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: А чем плох реестр?
От: x905  
Дата: 16.11.09 05:43
Оценка: +4 :))
Чем плох реестр:
— не кроссплатформенен
— нет комментариев к параметрам (как в текстовых конфигах)
— нет (незнаю) текстовых утилит для его редактирования
— медленный поиск
— относительная сложность переноса части параметров из одной системы в другую

Если пользователь низкой квалификации, то ему конечноже всеравно
Если же это продвинутый админ localhost, то уже неудобно (сужу по себе естественно)
Для меня хранение настроек в /etc значительно удобнее: пожно поиском с grep пройтись и найти нужный параметр, конфиги хорошо комментированы
Re[6]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 06:48
Оценка: +1
Здравствуйте, Don Reba, Вы писали:

C>>Нет. Augeas — это попытка создать единый _API_ для работы с файлами. Который чем-то похож на реестровый API, естественно.

DR>Ну да, реестровый API, с формой хранения данных совершенно под него не заточенной. Он, наверное, ещё и на диск всё сбрасывает после каждого изменения.
Нет, там метод flush. Кстати, тут у реестра ситуация ничуть не лучше.

C>>Но Augeas позволяет делать то, что реестру и не снилось. К примеру, при изменении конфигурационного файла, в нём сохраняются комментарии и разметка вообще.

DR>Ему просто не снятся бесполезные вещи. Какая в реестре разметка?
Такая. Я хочу, чтобы были комментарии. Длинные.

C>>Оно уже более функционально, чем реестр. Хотя бы в области типизации.

DR>Да? В FAQ пишут, что оно не поддерживает ничего, кроме строк.
DR>

What kind of data can be stored in the tree?
DR>Augeas only stores strings in the tree. So far, there hasn't been a compelling reason to support other data types.

Грамматика строк описывается в линзе.

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

DR>Я бы создал рядом значение с комментарием.
Т.е. значение с незначащим полем? И этот человек говорит про кривость?

C>>Ага, и что мне с этим экспортом и комментариями делать? Вешать на стенку?

DR>Хранить в Гите. Разве не это требовалось?
См. мой другой ответ.
Sapienti sat!
Re: А чем плох реестр?
От: MasterZiv СССР  
Дата: 16.11.09 06:50
Оценка: :))
Воронков Василий wrote:

> Для сохранения настроек приложения. Собственно, есть некоторое

> устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в
> чем это зло заключается?

Да ничем он не плох, если есть тулзы и API для работы с ним.
А байку эту юниксоиды придумали. Собственно, что в лоб, что
по лбу. Микросовтовци придумали особый тип файловой системы
с особым API -- реестр, линуксоиды навернули функционал
базовой файловой системы.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 07:04
Оценка: +1
Здравствуйте, MasterZiv, Вы писали:

>> Для сохранения настроек приложения. Собственно, есть некоторое

>> устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в
>> чем это зло заключается?
MZ>Да ничем он не плох, если есть тулзы и API для работы с ним.
Как положить реестр в git?

Упс. А нету, оказывается, "тулзов и API для работы с ним", которые сравнимы по мощности и выразительности с нормальной FS.
Sapienti sat!
Re: А чем плох реестр?
От: Pavel Dvorkin Россия  
Дата: 16.11.09 07:39
Оценка: :))) :)
Здравствуйте, Воронков Василий, Вы писали:

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


Если не секрет, расскажи, почему тебя это заинтересовало в 5 часов утра ?
With best regards
Pavel Dvorkin
Re: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 07:53
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


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

Больше я проблем с реестром я не встречал. Имею более чем пятилетний опыт поддержки различного ПО, как с настройками в файлах, так и в реестре, как своего, так и чужого
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re: А чем плох реестр?
От: Кодёнок  
Дата: 16.11.09 08:07
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


С точки зрения разработчика никакого зла нет. Зло есть с точки зрения юзера и сис.администратора, которые намного превыше точки зрения разработчика.
Re[6]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 08:07
Оценка: -1
ГВ>А вот пусть программы будут настолько правильными, что они не будут требовать хранить настройки в МоихДокументах, а будут довольствоваться тем, что лежит рядом с .exe?
За такое руки надо отрывать. Да и за "Мои Документы" тоже. Для хранения настроек и прочего хлама в приличных ОС (Vista,Win7) есть AppData и ProgramData.
Re: А чем плох реестр?
От: LaptevVV Россия  
Дата: 16.11.09 08:12
Оценка: :)
Здравствуйте, Воронков Василий, Вы писали:

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

BV{J в конкретном данном случае самое большое зло — в уязвимости. Достаточно стереть реестр и система накрывается!
Беречь его надо, копировать, восстанавливать — короче, геморрой!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 08:44
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:



ГВ>Буду предельно краток: мне, достаточно опытному пользователю (простите мне мою самонадеянность), лень запускать regedt32, искать нужный ключ и экспортировать его содержимое. Поэтому я солидарен с теми, кто считает хранение настроек в реестре злом. Сей топик есть ни что иное, как попытка рационализации этой самой лени.


А мне, как отчасти сисадмину, лень запоминать какие настройки где у какой программы лежать, и проще экпортировать ветку HKCU\software\vendor\appname на новый компьютер. Это если один пользователь за компом. В принципе, если настройка лежит вместе с программой в папке, то тоже при переносе ПО на новый компьютер все просто — ничего дополнительно делать не надо. Но такой вариант плох по другим причинам. см ниже.


ГВ>Нужно делать систему предпочтений — если нет настроек в МоихДокументах, то посмотреть в каталоге рядом с .exe. А уже в MyDocuments сохранять настройки тогда, когда пользователь об этом прямо скажет. Помимо этого бон тон — дать вменяемое имя файлу настроек (не {GUID}-{NNN}). Разумеется, любое из этих пожеланий может быть не выполнено.


Если заменить MyDocuments на какую-нибудь перемещаемую с профилем папку типа appdata, то все так и должно быть. Только с реестром в этом случае проще, есть HKCU и HKLM, и не надо думать, в какой папке лежит программа. С настройками в файлах проще общаться, если нет перемещаемых профилей и на одном компьютере работает один человек. В остальных случаях — не факт.

Скажем, типичная ситуация №1 — за одним компьютером по очереди по сменам работают разные пользователи, и у всех разные права. Надо по разному настроить используемое ПО. Все это под windows и AD с перемещаемыми профилями. Вот, если мы имеем настройки в реестре в HKCU, то собственно надо один раз настроить каждого пользователя, после чего все будет автоматически работать. Если мы имеем настройки в файле в appdata, то все точно так же. Если сисадмин достаточно ленив, чтобы не хотеть настраивать профиль каждого нового пользователя, то он может либо написать скрипт, который при входе в систему либо пропишет в реестре нужные права, либо скопирует откуда-нибудь эталонный файл с настройками. Что в принципе по сложности одинаково. Так что в такой ситуации реестр и файлы одинаково удобны. Это если настройки в appdata или HKCU. Если настройки в папке с программой либо HKLM — то проблема.

А вот ситуация №2 — когда разные пользователи заходят на определенный компьютер, у них должны быть определенные настройки ПО, причем отличающиеся от настроек на остальных компьютерах. Если ПО достаточно умное, чтобы можно было задать приоритет настроек в HKLM (или в файле с папкой ПО), то проблем нет. Но, такое ПО может быть только одно — разработанное самостоятельно. В остальных случаях сисадмины обретают геморрой, причем независимо от того, в файле настройки или в реестре. Правда, скриптами на вход в систему любая проблема лечится, но ... it depends, как говорится, зависит и от ПО и от прямоты рук сисадминов

Третья ситуация — надо настроить новый компьютер взамен выгоревшего. ПО поставили, ввели в домен. Ну и начинается — если ситуация №1, то ничего делать не надо, настройки автоматом с профилем подтянутся. Если программа требует настроек в HKLM либо в файле с программой, то придется что-то делать (если конечно скриптов нет). Идеальная ситуация — когда админам надо просто развернуть готовый образ диска с системой и ПО, ввести компьютер в домен — и все будет работать у всех. Что требует либо развернутой системы скриптов, либо настроек в перемещаемых папках либо HKCU. Повторюсь, что если админы умеют готовить WSH, то ничего невозможного нет, там куча средств как для работы с реестром, так и с файлами

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

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 09:43
Оценка: 21 (2)
ВВ>Для сохранения настроек приложения. Собственно, есть некоторое устоявшееся мнение, что реестр — это зло. Но вот с т.з. разработки, в чем это зло заключается?
Зло всегда исходит от разработчика, а не от инструмента.
1. Файлы удобнее просматривать и редактировать. С этим утверждением трудно спорить, однако, спорить и не нужно. Важнее ответ на вопрос, а зачем пользователю просматривать и редактировать настройки приложения вручную? Обладает ли пользователь достаточной для этого компетенцией?
2. С реестром работать удобнее, поскольку API заточен под хранение настроек (транзакции и т.п.). Для хранения настроек в файлах при этом существует множество готовых библиотек, но это может означать как зависимость от нестандартного API (минус), так и улучшенный по сравнению с реестром функционал (плюс).
3. Резервное копирование отдельных файлов делать пока проще, чем копировать отдельные ветки реестров (но если бэкап пишется вручную на powershell, то разницы нет). Плюс к файлам.
4. C т.з. быстрого развертывания оба способа эквивалентны, только это делается не через жопу (зачеркнуто) контроль версий.
5. С т.з. переноса пользовательских данных оба способа эквивалентны — пользовательский реестр хранится в %USERPROFILE% (было бы здорово, если бы у разработчиков хватало ума проверять совместимость своих продуктов с Easy Transfer).
6. Флешка не является аргументом в пользу файлов, т.к. вы можете переместить на нее %APPDATA% (=%USERPROFILE%\AppData\Roaming) и хранить на ней настройки любого приложения (разумеется, если оно не хардкодит системные пути) незаметно от него.
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 09:57
Оценка: +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Буду предельно краток: мне, достаточно опытному пользователю (простите мне мою самонадеянность), лень запускать regedt32, искать нужный ключ и экспортировать его содержимое. Поэтому я солидарен с теми, кто считает хранение настроек в реестре злом. Сей топик есть ни что иное, как попытка рационализации этой самой лени.


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

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

ВВ>>Тут и с правами проблемы, а уж если разные пользователи на компьютере.
ГВ>Согласен. А что, если речь идёт о флешке?

Да что вы уперлись-то в эту флешку? Очень частный случай на самом деле.
К тому же мне может быть, к слову, даже удобно, что приложение, запускаемое на флешке, хранит настройки в реестре — на каждом компе будет возможность сконфигурить его по-разному без лишних телодвижений.

ВВ>>Этот метод не сработает, если настройки надо копировать в папку МоиДокументы.

ГВ>А вот пусть программы будут настолько правильными, что они не будут требовать хранить настройки в МоихДокументах, а будут довольствоваться тем, что лежит рядом с .exe?

Ну а что в этом правильного-то?
С т.з. идеологии винды — это неправильно.

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

ГВ>>>Легко! Это как раз очень правильно — хранить в системе контроля версий (внимание!) полный комплект средств разработки вместе с настройками. Тогда в один клик можно сконфигурировать совершенно чистую машину (ОС + система контроля версий).

ВВ>>Мда, и этим людям сложно экспортировать ветку из реестра
ГВ>Не "сложно", а ЛЕНЬ. И мне плевать на концептуальную правильность хранения данных в реестре. Мне лень с ним возиться.

А с сурс-контролом не лень возиться?
Какой там "полный комплект средств разработки вместе с настройками" ты хочешь в один клик без реестра поднимать?

Не, ну правда, я о многом прошу — приводить реальные, а не гипотетические аргументы в стиле "что было бы, если бы все конфиге хранились в сурс-контроле"?
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 09:58
Оценка:
Здравствуйте, Cyberax, Вы писали:

ГВ>>>Мда? Что-то такая эвристика представляется довольно рискованной...

ВВ>>Ну почему же, обычный бэкап реестра, о котором вы тут говорите. Делаете слепок до установки и после деинсталляции. Затем весьма банальный мерж.
ВВ>>Потом, я не знаю, если пользователь у вас все конфиги в сурс-контроле хранит да еще и сидит под виндой — ну не повезло ему — то ему сам бог велел первым делым именно реестр весь целиком туда и запихать. Как раз для тех самых целей восстановления и прочего.
C>А ты сам-то пробовал так делать? Вот попробуй и расскажи как получится.

Нет. А ты пробовал реальные конфиги установленных приложений добавлять в сурс-контрол?
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 09:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).


Причем тут правильные ОС? Обязательно нужно открывать филиал Вынь вс. Линь?
Речь о реестре и, соответственно, о Винде.
Re[4]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 10:00
Оценка:
MC>Ненене, все наоборот. Чтобы, например, почистить /home — достаточно удалить все невидимые папки и файлы, кроме априори нужных. А вот чистить реестр — значительно сложнее.
Пользовательский реестр aka Ntuser.dat это одна большая невидимая папка, в которой вы можете отфильтровать априори нужное. Вопрос только в том, знаете ли вы, что нужно, а что нет.
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:03
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Здравствуйте, Воронков Василий, Вы писали:


ГВ>>>>>Тогда как каждый дополнительный ключ в реестре косвенно сказывается на работе всей системы.

ВВ>>>>Время формирования разделов при загрузке ты имеешь в виду?
ГВ>>>В частности.
ВВ>>А что еще?
ГВ>На поиске это так или иначе должно сказываться. Точных деталей на вскидку не скажу.

Да вот хотелось бы как раз деталей-то. Кстати, на каком поиске? Том, который типа быстрый и модный с индексацией? Или на старом "с собачкой"?
Да и по поводу скорости бута винды. Вот помню, да, было это весьма заметно на моем лаптопе Compaq Presario с процессором Pentium 3

ГВ>Да-да-да. Особенно если поставить две-три программы, а потом попытаться снести первую. Мерж может показать уйму интересных картинок.


А в чем проблема? Перед "каждой" установкой делаешь снимок.
Не, можно конечно долго такой подход критиковать, но я это не сам сейчас придумал — есть отдельный класс программ, причем платных как правило. Под ФС такие решения не существуют вообще.

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

ГВ>Да не всю систему восстанавливать, а рабочее окружение. Для этого реестр хранить в сурс-контроле не нужно (в идеальном случае).

Что такое идеальный случай? Да и про рабочее окружение тоже хотелось бы... Ты Visual Studio не используешь?
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:03
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

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

PD>Если не секрет, расскажи, почему тебя это заинтересовало в 5 часов утра ?

Да вот, только из бана вышел
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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

LVV>BV{J в конкретном данном случае самое большое зло — в уязвимости. Достаточно стереть реестр и система накрывается!
LVV>Беречь его надо, копировать, восстанавливать — короче, геморрой!

Это да. Но я, кстати, еще заметил, что если стереть папочку C:\Windows, то чет мой компьютер вообще грузиться перестает
Re[8]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 10:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).


Если у вас на одной было установлена куча доп. ПО, а на другой нет — то неудивительно, что вы получили ошибки. На одинаковых
все должно работать, по крайней мере перемещаемые профили под windows так и работают — ntuser.dat копируется.

Другое дело, что если у вас домашний захламленный компьютер — то не стоит реестр со старого на новый переносить
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[9]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 10:13
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Да вот хотелось бы как раз деталей-то. Кстати, на каком поиске? Том, который типа быстрый и модный с индексацией? Или на старом "с собачкой"?

ВВ>Да и по поводу скорости бута винды. Вот помню, да, было это весьма заметно на моем лаптопе Compaq Presario с процессором Pentium 3

Надо покопать. Я вполне могу тут преувеличивать.

ГВ>>Да-да-да. Особенно если поставить две-три программы, а потом попытаться снести первую. Мерж может показать уйму интересных картинок.


ВВ>А в чем проблема? Перед "каждой" установкой делаешь снимок.


Ну прикинь сам, сколько и каких конфликтов может получиться.

ВВ>Не, можно конечно долго такой подход критиковать, но я это не сам сейчас придумал — есть отдельный класс программ, причем платных как правило. Под ФС такие решения не существуют вообще.


Не знаю, никогда такие средства не искал.

ГВ>>Да не всю систему восстанавливать, а рабочее окружение. Для этого реестр хранить в сурс-контроле не нужно (в идеальном случае).

ВВ>Что такое идеальный случай? Да и про рабочее окружение тоже хотелось бы... Ты Visual Studio не используешь?

Идеальный случай — полное копирование всего с системы конфигурационного управления. Один checkout — и ты получаешь сходу полный комплект исходников и средств разработки. Ничего архисложного, но с VS такой номер очень трудно организовать.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 10:22
Оценка:
Здравствуйте, Sshur, Вы писали:

S>Если у вас на одной было установлена куча доп. ПО, а на другой нет — то неудивительно, что вы получили ошибки. На одинаковых

S>все должно работать, по крайней мере перемещаемые профили под windows так и работают — ntuser.dat копируется.


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

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

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



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

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re: А чем плох реестр?
От: elmal  
Дата: 16.11.09 10:32
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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

Могу ошибаться, но реестр как хранилище настроек появился для того, чтоб экономить место на диске, чтоб не создавать отдельный файл ради булевской переменной, занимающий целый сектор. Во времена Win3.0 это было актуально.
С точки зрения разработки пофиг, не важно с реестром ты работаешь, с базой или файлом — это все враппится вменяемыми людьми, и при необходимости способ хранения настроек меняется на ура. Вот только с точки зрения пользователя абсолютно не пофиг.
Re[10]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:33
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Идеальный случай — полное копирование всего с системы конфигурационного управления. Один checkout — и ты получаешь сходу полный комплект исходников и средств разработки. Ничего архисложного, но с VS такой номер очень трудно организовать.


Ну не бывает же таких идеальных случаев под виндой Это все теория. Как то самое приложение с флешки. У которого на самом деле может быть куча system specific параметров (пути к папкам, настройки прокси и пр.), которые придется каждый раз конфигурить ручками. Которое может сохранять, скажем, местоположение и размер своего окна (у меня HD монитор, а у друга — 17-ка, запускаем, потом ищем "где" запустилось ).

Опять-таки я не вижу проблемы написать скрипт, который умеет экспортировать отдельные ветки реестра и комитить их в сурс контрол. Не так уж и много писать-то. Да и разницы в этом скрипте с тем, который делает то же самое для файлухи я не вижу.

Честно, хочется услышать не просто традиционные доводы, почему реестр это плохо, а задуматься, так ли это плохо, в конце 2009-го, под Виндой, как мы это привыкли считать?
Re[2]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:35
Оценка:
Здравствуйте, elmal, Вы писали:

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

E>Могу ошибаться, но реестр как хранилище настроек появился для того, чтоб экономить место на диске, чтоб не создавать отдельный файл ради булевской переменной, занимающий целый сектор. Во времена Win3.0 это было актуально.
E>С точки зрения разработки пофиг, не важно с реестром ты работаешь, с базой или файлом — это все враппится вменяемыми людьми, и при необходимости способ хранения настроек меняется на ура. Вот только с точки зрения пользователя абсолютно не пофиг.

Мне кажется, с точки зрения пользователя еще больше пофиг. Может быть, с точки зрения админа — не пофиг. Но виндовый админ должен же с реестром уметь работать?
Re[3]: А чем плох реестр?
От: Niemand  
Дата: 16.11.09 10:37
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Зачем нам ХМЛ как еще один интерфейс хранения данных если уже есть ФС?

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

А еще инсталяция проги с текстовыми конфигами сводится к простой распаковке архива
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:46
Оценка:
Здравствуйте, Niemand, Вы писали:

ВВ>>Зачем нам ХМЛ как еще один интерфейс хранения данных если уже есть ФС?

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

Для кого юзера? Тот самый юзер, который не умеет дважды мышкой кликнуть на reg файле, не будет приложения переносить на флешках, архивировать кофиги и пр.

N>А еще инсталяция проги с текстовыми конфигами сводится к простой распаковке архива


А с реестром — double click по reg файлу
Re[3]: А чем плох реестр?
От: elmal  
Дата: 16.11.09 10:46
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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

Мне лично с точки зрения пользователя абсолютно не пофиг, так как из-за того, что некоторые товарищи при деинсталляции своих мегапрограмм забывают вычищать реестр, у меня начинает все тормозить, в результате я вынужден искать программы — чистильщики реестра. А когда чтоб найти что ж запускается при автостарте, или для включение возможности отладки скриптов я должен regedit открывать, меня это вообще бесит.
Re[4]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 10:54
Оценка:
Здравствуйте, elmal, Вы писали:

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

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

А когда эти товарищи забывают файлуху почистить, то у вас тормозить не начинает? Скажем, при поиске по диску С? Да и к тому же никаких "чистилок" тут уже не предлагается, только ручками.
Потом, что тормозит-то? Построение веток реестра при загрузке? Вы уверены, что оно действительно тормозит на современных компьютерах? Может, тормоза по другим причинам? А то мне, честно, непонятно — производительность увеличивается на порядке, а тормозит все точно так же, как в конце 90-х.

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


...я пользуюсь полезной штукой под названием msconfig.exe

E>или для включение возможности отладки скриптов


Это вы о чем? Отладка скриптов в IE? Так в настройках же устанавливается

E> я должен regedit открывать, меня это вообще бесит.


Ну меня не меньше бы бесила необходимость икать некий конфиг, неизвестного формата, не факт, что красиво отформатированный сериализатором настроек, который к тому же еще хрен знает где лежит. Да и, как тут советуют некоторые товарищи, еще и зашифрован по самые помидоры. Вот это действительно бы бесило
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!
Re[10]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 12:54
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Естественно, в вербозном логе отображаются все изменённые файлы. Так что никакие случайные "rm -Rf . /*" не создадут проблемы более чем на пару минут.


А кто мешает написать скрипт, экспортирующий отдельные ветки реестра и комитящий их в СВН?
Re[8]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 12:55
Оценка:
CC>Достаточно ставить прогу туда, куда считаешь нужным. Т.е. в папку с правильно настроенными правами. Ну и уж точно не в c:\program files.
В современных ОС в "C:\Program Files" права уже настроены правильно. Для особенно кривых приложений эти папки виртуализируются.

>Честно говоря это сомнительная идея — засирать диск с системой прикладным мусором.

Игнорирование best practices платформы это не просто изобретение велосипедов, это вообще путь в никуда. Собственно, именно у таких чудо-разработчиков потом страдает переносимость.
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 12:56
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

C>>Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).

ВВ>Причем тут правильные ОС?
При том, что они сделаны правильно.

ВВ>Обязательно нужно открывать филиал Вынь вс. Линь?

ВВ>Речь о реестре и, соответственно, о Винде.
И об остальных системах хранения настроек, которые все лучше реестра.
Sapienti sat!
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 12:58
Оценка: 6 (1)
Здравствуйте, Sshur, Вы писали:

C>>Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).

S>Если у вас на одной было установлена куча доп. ПО, а на другой нет — то неудивительно, что вы получили ошибки. На одинаковых
S>все должно работать, по крайней мере перемещаемые профили под windows так и работают — ntuser.dat копируется.
Перемещаемые профили ограничены по применимости.

S>Другое дело, что если у вас домашний захламленный компьютер — то не стоит реестр со старого на новый переносить

Ну вот. А с домашними каталогами на захламлённых компьютерах я так и делаю уже который год. У меня они пережили 3 переезда между компьютерами с двумя сменами архитектур (x86 -> PPC -> x64).
Sapienti sat!
Re[9]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:01
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Тем не менее у подавляющего большинства пользователей приложение именно в этой папочке и окажется. И если оно в принципе не умеет нормально работать с конфигом который лежит в c:\program files, то будет падать. В немалом количестве случаев.



Нельзя конфиги хранить в program files!! Хотя бы потому, что у группы "пользователи" по умолчанию туда read only права.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[8]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 13:04
Оценка:
Здравствуйте, Don Reba, Вы писали:

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

DR>>>Я бы создал рядом значение с комментарием.
CC>>И как этот комментарий помешает программе записать туда неверное значение?
DR>Странный вопрос. Комментарий в конфиге помешает программе записать в него неверное значение?

Что в нём странного?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:07
Оценка: +1 -1 :)
Здравствуйте, Cyberax, Вы писали:


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

C>А надо.

Зачем? Я честно говоря, в холиварах на тему ОС не участвовал, но складывается впечатление что вы как-то не так хотите использовать Windows

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

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

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

Если таковое ПО известно, то почему бы не выцепить ветку HKLM\Software\vendor name\

C>В ПравильныхОС всё просто — общесистемные настройки в /etc, а пользовательские — в домашке. Обычно с одинаковым форматом конфигов.


Не встречал пока правильных ос, кроме Windows. и что такое /etc не знаю. В реестре, о котором ведет речь топикстартер, такого точно нет.
Шурыгин Сергей

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

C>>>Во всех Правильных ОС я могу сделать _полный_ backup моих настроек, если просто скопирую домашний каталог. В Windows если я попробую так сделать с HKCU — получу нерабочую систему при переносе между разными компьютерами (уже пробовал).

ВВ>>Причем тут правильные ОС?
C>При том, что они сделаны правильно.

Это провокация на очередной флейм? Мне эта тема неинтересна.

ВВ>>Обязательно нужно открывать филиал Вынь вс. Линь?

ВВ>>Речь о реестре и, соответственно, о Винде.
C>И об остальных системах хранения настроек, которые все лучше реестра.

Вот и расскажите об этих преимуществах. Я пока их не вижу.
Re[10]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 13:09
Оценка:
Здравствуйте, Sshur, Вы писали:

ВВ>>Тем не менее у подавляющего большинства пользователей приложение именно в этой папочке и окажется. И если оно в принципе не умеет нормально работать с конфигом который лежит в c:\program files, то будет падать. В немалом количестве случаев.

S>Нельзя конфиги хранить в program files!! Хотя бы потому, что у группы "пользователи" по умолчанию туда read only права.

Вы ветку-то целиком прочитайте. О том и речь, собственно.
Re[11]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:09
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


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

C>Таки "просто положить в VCS" уже не получается. Нужно заниматься ручным экспортом. А некоторые приложения ещё и в разные места реестра пишут.

Ну, а зачем его туда класть?
Шурыгин Сергей

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

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

B>В современных ОС в "C:\Program Files" права уже настроены правильно. Для особенно кривых приложений эти папки виртуализируются.
Авторов этой "виртуализации" я б убивал тупым и ржавым топором.

>>Честно говоря это сомнительная идея — засирать диск с системой прикладным мусором.

B>Игнорирование best practices платформы это не просто изобретение велосипедов, это вообще путь в никуда. Собственно, именно у таких чудо-разработчиков потом страдает переносимость.
Те, кто исполняет эти worst practices мне как юзеру мешают жить.
Приходится злобно матерясь делать кучи junctions из C:\..многабукаф..\Говнопрограмма в D:\Soft\Говнопрограмма
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 13:11
Оценка:
Здравствуйте, Sshur, Вы писали:

ВВ>>Тем не менее у подавляющего большинства пользователей приложение именно в этой папочке и окажется. И если оно в принципе не умеет нормально работать с конфигом который лежит в c:\program files, то будет падать. В немалом количестве случаев.


S>Нельзя конфиги хранить в program files!! Хотя бы потому, что у группы "пользователи" по умолчанию туда read only права.

Ну так пусть хоть если прога поставлена НЕ в program files то не гадит в appdata а хранит конфиг рядом.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:13
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Перемещаемые профили ограничены по применимости.


Чем? Это не на ту тему флейм.

S>>Другое дело, что если у вас домашний захламленный компьютер — то не стоит реестр со старого на новый переносить

C>Ну вот. А с домашними каталогами на захламлённых компьютерах я так и делаю уже который год. У меня они пережили 3 переезда между компьютерами с двумя сменами архитектур (x86 -> PPC -> x64).

Не понял, вы все-таки перенесли домашний каталог вместе ntuser.dat или нет. Речь вроде бы шла о реестре
Шурыгин Сергей

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


S>>Нельзя конфиги хранить в program files!! Хотя бы потому, что у группы "пользователи" по умолчанию туда read only права.


ВВ>Вы ветку-то целиком прочитайте. О том и речь, собственно.


Сорри, ну хотя бы я вашу первоначальную мысль подтвердил. У меня плоский режим сообщений и не видно, откуда идет ветка
Шурыгин Сергей

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

C>>Перемещаемые профили ограничены по применимости.

S>Чем? Это не на ту тему флейм.
Они предназначены для корпоративного окружения.

C>>Ну вот. А с домашними каталогами на захламлённых компьютерах я так и делаю уже который год. У меня они пережили 3 переезда между компьютерами с двумя сменами архитектур (x86 -> PPC -> x64).

S>Не понял, вы все-таки перенесли домашний каталог вместе ntuser.dat или нет. Речь вроде бы шла о реестре
Домашний каталог, только не под Виндой.
Sapienti sat!
Re[11]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:24
Оценка:
Здравствуйте, CreatorCray, Вы писали:


S>>Нельзя конфиги хранить в program files!! Хотя бы потому, что у группы "пользователи" по умолчанию туда read only права.

CC>Ну так пусть хоть если прога поставлена НЕ в program files то не гадит в appdata а хранит конфиг рядом.

Я уже в этом топике растекался мыслью по древу, что конфиг должен быть привязан к пользователю, а не к рабочей станции, а еще лучше, если есть настройка приоритета конфига. Если такой настройки нет, то я считаю привязку настроек ПО к рабочей станции большим злом, нежели привязку их к пользователю. Это все для случая, когда компьютер используется в организации, на нем стоит определенный набор ПО и есть люди, в обязанности которых входит поддержка работоспособности всего этого хозяйства. Для домашнего компа и домашнего ПО возможно будет лучше хранения конфига рядом с ПО, но дома вам не надо настраивать для работы компьютер 10 раз в день, так что эффективность не сильно важна.
Шурыгин Сергей

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

C>>Таки "просто положить в VCS" уже не получается. Нужно заниматься ручным экспортом. А некоторые приложения ещё и в разные места реестра пишут.

S>Ну, а зачем его туда класть?
См. выше пример.
Sapienti sat!
Re[11]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 13:25
Оценка: +3 -2
Здравствуйте, Воронков Василий, Вы писали:

ВВ>>>Обязательно нужно открывать филиал Вынь вс. Линь?

ВВ>>>Речь о реестре и, соответственно, о Винде.
C>>И об остальных системах хранения настроек, которые все лучше реестра.
ВВ>Вот и расскажите об этих преимуществах. Я пока их не вижу.
Я их уже привёл. И не только я.

Могу только к окулисту посоветовать сходить.
Sapienti sat!
Re[3]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 13:25
Оценка:
D>Кто распространил мнение среди программистов, что все пользователи — дебилы? Не обладает компетенцией — значит сам себе злостный буратино.
Такого мнения не существует в природе. Есть мнение, что некоторые пользователи занимаются ерундой, после чего грузят этой ерундой техподдержку. User friendly конфигурация — это фича, а новые фичи надо добавлять осторожно. Еще раз повторюсь, я не оспариваю удобство редактирования текстовых файлов, а обращаю внимание на некоторые дополнительные сложности.

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

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

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

D>Что предлагаешь взамен, через управление доменом (AD или как там его)?
Да, например.

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

D>Вычленить из USER_HOME нужный каталог с файлами настроек гораздо проще, чем сохранять ветку из реестра и переносить полученный файлик.
См. п.3 — я именно это там и написал. В п.5 речь о переносе профиля пользователя целиком стандартными средствами.

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

Я как-то переносил под вистой профили пользователей, но сейчас что-то уже не уверен, что Ntuser.dat тоже переезжал. Проверить пока не могу, так что будем пока считать, что я погорячился. Тем более, что написанное мной можно трактовать в обратном смысле — как плюс хранения настроек в файле
Re[12]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:26
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


C>>>Перемещаемые профили ограничены по применимости.

S>>Чем? Это не на ту тему флейм.
C>Они предназначены для корпоративного окружения.

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

C>>>Ну вот. А с домашними каталогами на захламлённых компьютерах я так и делаю уже который год. У меня они пережили 3 переезда между компьютерами с двумя сменами архитектур (x86 -> PPC -> x64).

S>>Не понял, вы все-таки перенесли домашний каталог вместе ntuser.dat или нет. Речь вроде бы шла о реестре
C>Домашний каталог, только не под Виндой.

Ну вот и я к тому же, изначально вопрос был про реестр. А если его нет, то и вопроса нет.
Шурыгин Сергей

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

C>>А надо.

S>Зачем? Я честно говоря, в холиварах на тему ОС не участвовал, но складывается впечатление что вы как-то не так хотите использовать Windows
S>Идея заливки конфигов в сурс-контрол мне также непонятна. Ну могу предположить, что в nix-ах, где конфиги текстовые, приходится их сравнивать какими-то тулзами, чтобы различия найти. в Windows такой задачи мне пока не встречалось.
Ну ещё бы, так как оно нормально нереализуемо.

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

C>>Куча ПО хранит глобальные настройки в HKLM (что есть правильно). Что ты с ним предлагаешь делать?
S>Если таковое ПО известно, то почему бы не выцепить ветку HKLM\Software\vendor name\
Т.е. опять ручной труд, подверженный ошибкам.

C>>В ПравильныхОС всё просто — общесистемные настройки в /etc, а пользовательские — в домашке. Обычно с одинаковым форматом конфигов.

S>Не встречал пока правильных ос, кроме Windows. и что такое /etc не знаю. В реестре, о котором ведет речь топикстартер, такого точно нет.
Ну вот реестр тем и плох, что он не /etc. Советую другие ОС посмотреть, тогда будет с чем сравнивать.
Sapienti sat!
Re[10]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 13:36
Оценка:
CC>Авторов этой "виртуализации" я б убивал тупым и ржавым топором.
Это, безусловно, конструктивная критика

CC>Приходится злобно матерясь делать кучи junctions из C:\..многабукаф..\Говнопрограмма в D:\Soft\Говнопрограмма

Зачем?
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 13:40
Оценка: +1 -2
Здравствуйте, Cyberax, Вы писали:

ВВ>>>>Обязательно нужно открывать филиал Вынь вс. Линь?

ВВ>>>>Речь о реестре и, соответственно, о Винде.
C>>>И об остальных системах хранения настроек, которые все лучше реестра.
ВВ>>Вот и расскажите об этих преимуществах. Я пока их не вижу.
C>Я их уже привёл. И не только я.

C>Могу только к окулисту посоветовать сходить.


Писать чушь в стиле реестр говно потому винда это еще большее говно или хамить как озабоченный подросток — это не аргументы. Может, стоит в КСВ вернуться?
Re[13]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 13:40
Оценка:
Здравствуйте, Sshur, Вы писали:

S>>>Чем? Это не на ту тему флейм.

C>>Они предназначены для корпоративного окружения.
S>Ну я тут везде говорю, что рассматриваю вопрос корпоративного применения. Хотя, перемещаемый профиль можно сделать и без домена, и положить его не на системный диск и после переустановки системы подключить его.
Корпоративное использование как раз неинтересно, там всё просто. Гораздо интереснее чтоб для end-user'а было удобно. И тут реестр сливает своим конкурентам.

S>>>Не понял, вы все-таки перенесли домашний каталог вместе ntuser.dat или нет. Речь вроде бы шла о реестре

C>>Домашний каталог, только не под Виндой.
S>Ну вот и я к тому же, изначально вопрос был про реестр. А если его нет, то и вопроса нет.
Ну вот я и объясняю чем реестр плох на примере более совершенных технологий.
Sapienti sat!
Re[10]: А чем плох реестр?
От: Baudolino  
Дата: 16.11.09 13:40
Оценка:
CC>Приходится злобно матерясь делать кучи junctions из C:\..многабукаф..\Говнопрограмма в D:\Soft\Говнопрограмма
Что вам, кстати, мешает сделать сразу junction C:\Program Files -> D:\Soft?
Re[14]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 13:47
Оценка:
Здравствуйте, Cyberax, Вы писали:


C>Корпоративное использование как раз неинтересно, там всё просто. Гораздо интереснее чтоб для end-user'а было удобно. И тут реестр сливает своим конкурентам.


Ну-ну. Просто все. Вы видно не сталкивались с более-менее сложной системой. End userу удобно, когда он ни про какие конфиги не знает. Какое сравнение может быть с корпоративной средой?


S>>Ну вот и я к тому же, изначально вопрос был про реестр. А если его нет, то и вопроса нет.

C>Ну вот я и объясняю чем реестр плох на примере более совершенных технологий.

Тестовые файлы несомненно более продвинутая технология. Как грится, вы не любите кошек — вы просто не умеете их готовить
Шурыгин Сергей

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

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


C>>>А надо.

S>>Зачем? Я честно говоря, в холиварах на тему ОС не участвовал, но складывается впечатление что вы как-то не так хотите использовать Windows
S>>Идея заливки конфигов в сурс-контрол мне также непонятна. Ну могу предположить, что в nix-ах, где конфиги текстовые, приходится их сравнивать какими-то тулзами, чтобы различия найти. в Windows такой задачи мне пока не встречалось.
C>Ну ещё бы, так как оно нормально нереализуемо.

Если я правильно понял, вы хотите иметь историю изменений конфигов с комментариями, кто и что менял?

Есть 1) аудит доступа к реестру.
2) ну раз уж не лень поместить текстовый файл в CVS, то не лень написать скрипт сохраняющий ветку реестра туда же.

И кто вам мешает изменить текстовый конфиг и не сохранить его в CVS?


C>>>В ПравильныхОС всё просто — общесистемные настройки в /etc, а пользовательские — в домашке. Обычно с одинаковым форматом конфигов.

S>>Не встречал пока правильных ос, кроме Windows. и что такое /etc не знаю. В реестре, о котором ведет речь топикстартер, такого точно нет.
C>Ну вот реестр тем и плох, что он не /etc. Советую другие ОС посмотреть, тогда будет с чем сравнивать.

Сравнивать может я и не могу, но могу сказать, что 99% людей не представляют, что в виндовс автоматизируемо почти все. Все могут пользоваться, но мало кто знает действительно глубоко. И, внимание, спор не win vs *nux, а реестр против конфигурационных файлов, что автоматически исключает *nix. Аргумент, что в *nix все хранится в файлах, и поэтому это правильно — не аргумент.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[4]: А чем плох реестр?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 16.11.09 13:55
Оценка:
Здравствуйте, Baudolino, Вы писали:

D>>Кто распространил мнение среди программистов, что все пользователи — дебилы? Не обладает компетенцией — значит сам себе злостный буратино.

B>Такого мнения не существует в природе. Есть мнение, что некоторые пользователи занимаются ерундой, после чего грузят этой ерундой техподдержку.
Да вот лично несколько раз сталкивался. Например, к блютус-устройству с несколькими поддерживаемыми профилями ПО разработчика драйверов для винды предоставляет одну лишь кнопочку "Соединить". С каким именно профилем соединить выясняет, видимо, встроенный модуль телепатии. Или винда, автоматически апдейтнувшись по расписанию, делает ребут, нисколько не запариваясь, что пользователь сейчас в ней работает.
В любом случае, пользователи и в реестр запросто могут залезть.

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

D>>Что предлагаешь взамен, через управление доменом (AD или как там его)?
B>Да, например.
AD — это прерогатива админов. Если для корпоративных решений, которыми пользуются и обычные пользователи, это подходит, то для разработчиков совсем нет. Каждый раз просить админов что-то там подправить — это гораздо геморройнее, чем зафигачить новые настройки в VCS.

По остальным вопросам понятно.
Re[13]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 14:02
Оценка:
Здравствуйте, Sshur, Вы писали:

C>>Ну ещё бы, так как оно нормально нереализуемо.

S>Если я правильно понял, вы хотите иметь историю изменений конфигов с комментариями, кто и что менял?
Да.

S>Есть 1) аудит доступа к реестру.

Даже близко по возможностям не приближается.

S> 2) ну раз уж не лень поместить текстовый файл в CVS, то не лень написать скрипт сохраняющий ветку реестра туда же.

Для каждой ветки. И надо ещё их руками включать.

S>И кто вам мешает изменить текстовый конфиг и не сохранить его в CVS?

По идее, ничего. Но на практике такого не происходит, так как с VCS умеют работать все.

C>>Ну вот реестр тем и плох, что он не /etc. Советую другие ОС посмотреть, тогда будет с чем сравнивать.

S>Сравнивать может я и не могу, но могу сказать, что 99% людей не представляют, что в виндовс автоматизируемо почти все. Все могут пользоваться, но мало кто знает действительно глубоко. И, внимание, спор не win vs *nux, а реестр против конфигурационных файлов, что автоматически исключает *nix. Аргумент, что в *nix все хранится в файлах, и поэтому это правильно — не аргумент.
Не-не. Флейм тут: реестр против всего остального. И как пример приводится правильная система конфиг-файлов.
Sapienti sat!
Re[13]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 14:04
Оценка: -3
Здравствуйте, Воронков Василий, Вы писали:

C>>Могу только к окулисту посоветовать сходить.

ВВ>Писать чушь в стиле реестр говно потому винда
Нет. Реестр маздай просто из-за того, что он маздай. Так же как и его прямые аналоги в Линуксе (libelectra).

ВВ>это еще большее говно или хамить как озабоченный подросток — это не аргументы. Может, стоит в КСВ вернуться?

Тебе уже сказали аргументы против реестра: плохая переносимость, почти не типизирован, нет комментариев, неудобный API, невозможность положить в VCS и т.д.

Но ты их не видишь.
Sapienti sat!
Re[14]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 14:15
Оценка:
Здравствуйте, Cyberax, Вы писали:


S>>Есть 1) аудит доступа к реестру.

C>Даже близко по возможностям не приближается.

Поподробнее можно? Каких возможностей нет. Куда уж больше возможностей — вы видите кто менял, когда и где.

S>> 2) ну раз уж не лень поместить текстовый файл в CVS, то не лень написать скрипт сохраняющий ветку реестра туда же.

C>Для каждой ветки. И надо ещё их руками включать.

А что, для каждый конфиг файл не надо как-то включать в сурс-контрол? Они по умолчанию все включены в систему контроля версий?

S>>И кто вам мешает изменить текстовый конфиг и не сохранить его в CVS?

C>По идее, ничего. Но на практике такого не происходит, так как с VCS умеют работать все.

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


C>Не-не. Флейм тут: реестр против всего остального. И как пример приводится правильная система конфиг-файлов.


И я должен клещами выпытывать, чем же она правильная?
Шурыгин Сергей

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

C>Нет. Реестр маздай просто из-за того, что он маздай.


Вот это и есть главный аргумент, видимо.

ВВ>>это еще большее говно или хамить как озабоченный подросток — это не аргументы. Может, стоит в КСВ вернуться?

C>Тебе уже сказали аргументы против реестра:
C>плохая переносимость,

импорт/экспорт и все. И "плохая переносимость" не мешает делать в Винде roaming profile.

C>почти не типизирован,


Угу, а текстовый файл совсем нетипизирован.

C>нет комментариев,


Так добавляйте, кто запрещает?

C>неудобный API,


По сравнению с чем неудобный АПИ? Какой именно АПИ неудобен? Microsoft.Win32.Registry мне вполне удобен.

C>невозможность положить в VCS и т.д.


Экспорт ветки — и кладем в VCS. Пять минут на написание скрипта, и это происходит автоматически.
Re[14]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 14:23
Оценка:
Здравствуйте, Cyberax, Вы писали:

S>> 2) ну раз уж не лень поместить текстовый файл в CVS, то не лень написать скрипт сохраняющий ветку реестра туда же.

C>Для каждой ветки. И надо ещё их руками включать.

Аналогично с текстовыми конфигами. Которые не всегда лежат в AppData.

S>>И кто вам мешает изменить текстовый конфиг и не сохранить его в CVS?

C>По идее, ничего. Но на практике такого не происходит, так как с VCS умеют работать все.

90% пользователей не умеют.

C>Не-не. Флейм тут: реестр против всего остального. И как пример приводится правильная система конфиг-файлов.


А мне вот гипотетическая "правильная система конфиг-файлов" не интересна. Мне интересно, какие есть лучшие альтернативы *под виндой* и чем они, собственно, лучше.
Re[8]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 14:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


А что принципиально изменится, если система будет постоянно менять текстовые конфиги?

C>Хранить определённые ветки ещё можно. Но уже никакой простоты не получится.


Да, прямо. Вся разница, вызывать не git commit, а скрипт предварительно экпортирующий нужные ветки реестра. Сколько в этом скрипте будет строк? Пять-шесть, может десяток.
Ce n'est que pour vous dire ce que je vous dis.
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 14:45
Оценка:
Здравствуйте, Don Reba, Вы писали:

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

DR>А что принципиально изменится, если система будет постоянно менять текстовые конфиги?
Текстовые файлы прекрасно обособленным и обычно неплохо merge'атся.

C>>Хранить определённые ветки ещё можно. Но уже никакой простоты не получится.

DR>Да, прямо. Вся разница, вызывать не git commit, а скрипт предварительно экпортирующий нужные ветки реестра. Сколько в этом скрипте будет строк? Пять-шесть, может десяток.
Нет, разница в том, что скрипт надо _написать_.

Если я добавлю новый файл в /etc, и сделаю "git status" — он мне покажет, что у меня есть новый неверсируемый файл. И я его могу добавить в репозиторий, .gitignore или удалить.

С реестром это не получится, а именно оно и явлляется самым важным.
Sapienti sat!
Re[12]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 14:52
Оценка:
Здравствуйте, Sshur, Вы писали:

S>Я уже в этом топике растекался мыслью по древу, что конфиг должен быть привязан к пользователю, а не к рабочей станции, а еще лучше, если есть настройка приоритета конфига. Если такой настройки нет, то я считаю привязку настроек ПО к рабочей станции большим злом, нежели привязку их к пользователю. Это все для случая, когда компьютер используется в организации, на нем стоит определенный набор ПО и есть люди, в обязанности которых входит поддержка работоспособности всего этого хозяйства. Для домашнего компа и домашнего ПО возможно будет лучше хранения конфига рядом с ПО, но дома вам не надо настраивать для работы компьютер 10 раз в день, так что эффективность не сильно важна.


В теории может оно и лучше. Но на практике всё равно выходит что 1 комп == 1 постоянный пользователь. Пользы от привязки в результате не видно, а вред остаётся.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 14:52
Оценка:
Здравствуйте, Baudolino, Вы писали:

CC>>Приходится злобно матерясь делать кучи junctions из C:\..многабукаф..\Говнопрограмма в D:\Soft\Говнопрограмма

B>Зачем?

Потому как на системном диске у меня ТОЛЬКО система и ничего более.
Потому как мне такая организация ФС, когда данные программы и сама программа лежат как можно более компактно крайне удобна.
Оба пункта применяются в связке, так что не стоит пытаться рассказывать что можно перенести весь юзерпрофиль — мне надо разнести все программы, которые пишут в этот профиль, а не профиль целиком.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 14:52
Оценка:
Здравствуйте, Baudolino, Вы писали:

CC>>Приходится злобно матерясь делать кучи junctions из C:\..многабукаф..\Говнопрограмма в D:\Soft\Говнопрограмма

B>Что вам, кстати, мешает сделать сразу junction C:\Program Files -> D:\Soft?
Тем, что в C:\Program files лежит тот мусор, что стал с системой — хай он там и остаётся.
Некоторые папки типа Common files замапил.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 14:54
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Потому как на системном диске у меня ТОЛЬКО система и ничего более.
А зачем?
Re[13]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 14:56
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>В теории может оно и лучше. Но на практике всё равно выходит что 1 комп == 1 постоянный пользователь. Пользы от привязки в результате не видно, а вред остаётся.


У нас на работе как-то получается что за некоторым пулом компьютеров сидят 50 пользователей посменно. Может, это редкий случай Но этой ситуации к настройкам ПО приходится очень требовательно относится. А пока этого не было, было как-то все равно, где хранятся настройки
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[10]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 15:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

DR>>А что принципиально изменится, если система будет постоянно менять текстовые конфиги?

C>Текстовые файлы прекрасно обособленным и обычно неплохо merge'атся.

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

C>Если я добавлю новый файл в /etc, и сделаю "git status" — он мне покажет, что у меня есть новый неверсируемый файл. И я его могу добавить в репозиторий, .gitignore или удалить.


C>С реестром это не получится, а именно оно и явлляется самым важным.


То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.
Ce n'est que pour vous dire ce que je vous dis.
Re[13]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:06
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

CC>>Потому как на системном диске у меня ТОЛЬКО система и ничего более.

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

S>У нас на работе как-то получается что за некоторым пулом компьютеров сидят 50 пользователей посменно. Может, это редкий случай

Может голосование создать интереса ради?
Потому как последний раз когда я видел чтоб за компом (посменно) работали более одного человека — это был 1999 год и 98я винда.

Ладно бы еще для корпоративного софта, который может быть поставлен в терминал сервер, еще можно понять зачем и почему.
Так сейчас даже игрушки такую же моду завели. А держать 1.5 гига сейвов в глубине профиля как то не особо радует, особенно когда домашний юзер не утруждает себя анинсталлом игры а тупо тащит её папку в корзину.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:07
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>>>Потому как на системном диске у меня ТОЛЬКО система и ничего более.
MC>>А зачем?
CC>Отделение мух от котлет.
А практическое применение этому разделению есть?
Re[11]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 15:10
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>>>А что принципиально изменится, если система будет постоянно менять текстовые конфиги?

C>>Текстовые файлы прекрасно обособленным и обычно неплохо merge'атся.
DR>Не вижу принципиального различия.
Ты попробуй.

DR>Те же самые причины побудившие Microsoft не обосабливать частые изменения в реестре, если это действительно так, позволили бы им разбросать их по текстовым файлам.

Реестр возник в стародавние времена, когда были другие ограничения и требования.

C>>Если я добавлю новый файл в /etc, и сделаю "git status" — он мне покажет, что у меня есть новый неверсируемый файл. И я его могу добавить в репозиторий, .gitignore или удалить.

C>>С реестром это не получится, а именно оно и явлляется самым важным.
DR>То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.
Что значит "каждую ветку"? Там основная ветка — это SOFTWARE. Но её тоже нельзя просто так экспортировать из-за мусора в SOFTWARE\Microsoft.

Так что нужно выкусывать по-отдельности нужные приложения. Здравствуй, мама анархия.

Не, в итоге можно написать эмуляцию конфиг-файлов на базе реестра (более того, она у меня уже есть — благодаря моему FUSE4Win). Но когда мы это сделаем, то обнаружим, что опять получился /etc. Как всегда: "Those who do not understand UNIX are doomed to reinvent it, poorly."
Sapienti sat!
Re[15]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 15:12
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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


S>>У нас на работе как-то получается что за некоторым пулом компьютеров сидят 50 пользователей посменно. Может, это редкий случай

CC>Может голосование создать интереса ради?
CC>Потому как последний раз когда я видел чтоб за компом (посменно) работали более одного человека — это был 1999 год и 98я винда.

Ну, один из случаев терминал сервер. Потом — любая круглосуточная работа с использованием компьютеров требует посменной работы. У нас call центр например. Круглосуточные службы поддержки подозреваю так же работают — можно много примеров придумать.

Да и вообще, унификация рабочих мест сильно сократит время простоя в случае поломки оборудования, что при большом парке может случаться часто. В таком случае достаточно просто заменить системный блок и человек не заметит, что что-то изменилось. Это конечно, все для корпоративного использования с ограниченным набором ПО — в случае произвольного набора программ это невозможно или очень тяжело
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[11]: А чем плох реестр?
От: fmiracle  
Дата: 16.11.09 15:13
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Идеальный случай — полное копирование всего с системы конфигурационного управления. Один checkout — и ты получаешь сходу полный комплект исходников и средств разработки. Ничего архисложного, но с VS такой номер очень трудно организовать.


ВВ>Ну не бывает же таких идеальных случаев под виндой

ВВ>.....
ВВ>Честно, хочется услышать не просто традиционные доводы, почему реестр это плохо, а задуматься, так ли это плохо, в конце 2009-го, под Виндой, как мы это привыкли считать?

Собственно проблема именно в этом. Под виндой предлагаемое оппонентами реализовать нельзя, ибо на реестр завязано многое. Но если бы его не было, то было бы, наверное, возможно. Потому они и утверждают, что он "зло". Ты же говоришь, что и без того сейчас как-то живут без таких возможностей (а тут ничего удивительного, легко жить без того, чего никогда не видел), а значит реестр — не зло. Собственно вот и все противоречие.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re: А чем плох реестр?
От: TimurSPB Интернет  
Дата: 16.11.09 15:13
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

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


Разработка кроссплатформенная, так что плох тем, что отсутствует во многих операционных системах.
Make flame.politics Great Again!
Re[15]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:16
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Потому как последний раз когда я видел чтоб за компом (посменно) работали более одного человека — это был 1999 год и 98я винда.
Персональный компьютер на 12 персон — распространенное явление. Каждому члену семьи покупать отдельный компьютер — жаба задушит, хотя это и идеальный вариант.

CC>Так сейчас даже игрушки такую же моду завели. А держать 1.5 гига сейвов в глубине профиля как то не особо радует

Ну последнее время я встречал не в глубине профиля — а где-то в районе "Документов" в папке с говорящим названием. Начиная с висты устройство домашней папки значительно улучшилось, я считаю.
Re[12]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 15:16
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Если я добавлю новый файл в /etc, и сделаю "git status" — он мне покажет, что у меня есть новый неверсируемый файл. И я его могу добавить в репозиторий, .gitignore или удалить.

C>>>С реестром это не получится, а именно оно и явлляется самым важным.
DR>>То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.
C>Что значит "каждую ветку"? Там основная ветка — это SOFTWARE. Но её тоже нельзя просто так экспортировать из-за мусора в SOFTWARE\Microsoft.

А что кто-то писал про .gitignore? Игнорировать никак? И вы каждый день ставите новое приложение и требуется добавление новых конфигов в сурс-контрол?

И что-то вы в моей ветке подозрительно замолчали
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[15]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:18
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

CC>>>>Потому как на системном диске у меня ТОЛЬКО система и ничего более.

MC>>>А зачем?
CC>>Отделение мух от котлет.
MC>А практическое применение этому разделению есть?
Разумеется.
Я к этой схеме пришёл руководствуясь исключительно практическими целями структурирования данных на HDD и быстродействия системы в целом.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:20
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:
CC>>>>>Потому как на системном диске у меня ТОЛЬКО система и ничего более.
MC>>>>А зачем?
CC>>>Отделение мух от котлет.
MC>>А практическое применение этому разделению есть?
CC>Разумеется.
CC>Я к этой схеме пришёл руководствуясь исключительно практическими целями структурирования данных на HDD и быстродействия системы в целом.
А можно как-то поконкретнее? Не совсем понимаю, откуда тут еще и быстродействие возьмется.
Re[16]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:20
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

CC>>Потому как последний раз когда я видел чтоб за компом (посменно) работали более одного человека — это был 1999 год и 98я винда.

MC>Персональный компьютер на 12 персон — распространенное явление. Каждому члену семьи покупать отдельный компьютер — жаба задушит, хотя это и идеальный вариант.
Пройденный этап. Я предпочёл чтоб у каждого было по компу. Потому как все остальные варианты это гемор в чистом виде.

CC>>Так сейчас даже игрушки такую же моду завели. А держать 1.5 гига сейвов в глубине профиля как то не особо радует

MC>Ну последнее время я встречал не в глубине профиля — а где-то в районе "Документов" в папке с говорящим названием. Начиная с висты устройство домашней папки значительно улучшилось, я считаю.
Упростилось, да. Но всё равно неудобно в сравнении с тем как было раньше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 15:22
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Собственно проблема именно в этом. Под виндой предлагаемое оппонентами реализовать нельзя, ибо на реестр завязано многое. Но если бы его не было, то было бы, наверное, возможно. Потому они и утверждают, что он "зло". Ты же говоришь, что и без того сейчас как-то живут без таких возможностей (а тут ничего удивительного, легко жить без того, чего никогда не видел), а значит реестр — не зло. Собственно вот и все противоречие.


Ну если то, что говорят оппоненты — это хранение настроек в сурс-контроле, то я так и не понял, в чем проблема людям, вздумавшим городить такой огород (или почему им "лень", как тут выражаются некоторые), набрать в консоли regedit /e и получить нужный и вполне текстовый, заметьте, файлик там, где им это будет удобно.
Re[13]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 15:23
Оценка:
Здравствуйте, Sshur, Вы писали:

S>И что-то вы в моей ветке подозрительно замолчали


Да он не только в твоей ветке "подозрительно замолчал"
Re[17]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:23
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>>>Потому как последний раз когда я видел чтоб за компом (посменно) работали более одного человека — это был 1999 год и 98я винда.
MC>>Персональный компьютер на 12 персон — распространенное явление. Каждому члену семьи покупать отдельный компьютер — жаба задушит, хотя это и идеальный вариант.
CC>Пройденный этап. Я предпочёл чтоб у каждого было по компу. Потому как все остальные варианты это гемор в чистом виде.
Да понятно, что гемор. Просто дешевле.
Re[17]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:24
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Но всё равно неудобно в сравнении с тем как было раньше.
А чем неудобно?
Re[17]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:28
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

CC>>>>>>Потому как на системном диске у меня ТОЛЬКО система и ничего более.
MC>>>>>А зачем?
CC>>>>Отделение мух от котлет.
MC>>>А практическое применение этому разделению есть?
CC>>Разумеется.
CC>>Я к этой схеме пришёл руководствуясь исключительно практическими целями структурирования данных на HDD и быстродействия системы в целом.
MC>А можно как-то поконкретнее? Не совсем понимаю, откуда тут еще и быстродействие возьмется.
под систему отведен раздел минимально возможного размера (размер ОС + hiberfil.sys + 3 гига резерва) в самом начале диска.
фрагментация нулевая, содержимое c:\temp (других temp каталогов нет) регулярно автоматически очищается.
из нескольких вариантов этот банально оказался наиболее удобным и шустрым.
PS. ОС — серверная
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:31
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>под систему отведен раздел минимально возможного размера (размер ОС + hiberfil.sys + 3 гига резерва) в самом начале диска.
CC>фрагментация нулевая, содержимое c:\temp (других temp каталогов нет) регулярно автоматически очищается.
CC>из нескольких вариантов этот банально оказался наиболее удобным и шустрым.
CC>PS. ОС — серверная
А если на тот же раздел ставить софт — чему там сильно фрагментироваться? Поставил софт, дефрагментировал — и не трогаешь? Не?
А для "рабочей станции" я бы, например, побоялся делать системный диск маленьким, т.к. часто софт (например, VisualStudio) любит туда срать при установке.
Re[18]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:31
Оценка: +2 :)
Здравствуйте, Mr.Cat, Вы писали:

MC>Да понятно, что гемор. Просто дешевле.

Нервы дороже!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:31
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

CC>>Но всё равно неудобно в сравнении с тем как было раньше.
MC>А чем неудобно?
Описано выше по ветке.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:34
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>А если на тот же раздел ставить софт — чему там сильно фрагментироваться? Поставил софт, дефрагментировал — и не трогаешь? Не?

Не. Софт еще регулярно обновляем (автоапдейты), сносим и ставим новый.

MC>А для "рабочей станции" я бы, например, побоялся делать системный диск маленьким, т.к. часто софт (например, VisualStudio) любит туда срать при установке.

У меня есть специальные кованые сапоги, которыми я вышибаю дурь у подобных самодеятелей
Визуалка стоит, приструнённая и обученная вести себя прилично.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 15:35
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну если то, что говорят оппоненты — это хранение настроек в сурс-контроле, то я так и не понял, в чем проблема людям, вздумавшим городить такой огород (или почему им "лень", как тут выражаются некоторые), набрать в консоли regedit /e и получить нужный и вполне текстовый, заметьте, файлик там, где им это будет удобно.

Ещё раз — ты говоришь как теоретик. Попробуй положить результат экспорта _всего_ реестра в VCS и посмотри что получится.
Sapienti sat!
Re[20]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:36
Оценка:
Здравствуйте, CreatorCray, Вы писали:
MC>>А если на тот же раздел ставить софт — чему там сильно фрагментироваться? Поставил софт, дефрагментировал — и не трогаешь? Не?
CC>Не. Софт еще регулярно обновляем (автоапдейты), сносим и ставим новый.
Хм... И из-за этого сильно просаживается производительность?

CC>У меня есть специальные кованые сапоги, которыми я вышибаю дурь у подобных самодеятелей

CC>Визуалка стоит, приструнённая и обученная вести себя прилично.
А как?
Re[13]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 15:38
Оценка:
Здравствуйте, Sshur, Вы писали:

DR>>>То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.

C>>Что значит "каждую ветку"? Там основная ветка — это SOFTWARE. Но её тоже нельзя просто так экспортировать из-за мусора в SOFTWARE\Microsoft.
S>А что кто-то писал про .gitignore? Игнорировать никак?
Ага, никак. Так как часть мусора из \Microsoft — тоже важна.

S>И вы каждый день ставите новое приложение и требуется добавление новых конфигов в сурс-контрол?

Нет, я могу _пропустить_, что надо какую-то ветку добавить. И таки софт я ставлю достаточно часто.

В общем, попробуй вместо теоризирования сделать то что ты говоришь на практике. Я _уже_ пробовал. И даже написал файловую систему с backend'ом в виде реестра. Всё равно не получается нормальной работы.

S>И что-то вы в моей ветке подозрительно замолчали

Где именно?
Sapienti sat!
Re[14]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 15:40
Оценка:
Здравствуйте, Cyberax, Вы писали:

ВВ>>Ну если то, что говорят оппоненты — это хранение настроек в сурс-контроле, то я так и не понял, в чем проблема людям, вздумавшим городить такой огород (или почему им "лень", как тут выражаются некоторые), набрать в консоли regedit /e и получить нужный и вполне текстовый, заметьте, файлик там, где им это будет удобно.

C>Ещё раз — ты говоришь как теоретик. Попробуй положить результат экспорта _всего_ реестра в VCS и посмотри что получится.

Зачем мне класть туда содержимое *всего* реестра? Может, ты тогда в ответ попробуешь в сурс-контрол согнать содержимое *всего* диска?
Re[21]: А чем плох реестр?
От: CreatorCray  
Дата: 16.11.09 15:41
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

MC>>>А если на тот же раздел ставить софт — чему там сильно фрагментироваться? Поставил софт, дефрагментировал — и не трогаешь? Не?
CC>>Не. Софт еще регулярно обновляем (автоапдейты), сносим и ставим новый.
MC>Хм... И из-за этого сильно просаживается производительность?
Из за этого сильно фрагментируется диск. Когда линейное чтение файла на 100Мб/с венике становится 10Мб/с — это напрягает.

CC>>У меня есть специальные кованые сапоги, которыми я вышибаю дурь у подобных самодеятелей

CC>>Визуалка стоит, приструнённая и обученная вести себя прилично.
MC>А как?
FAR + hands.sys
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 15:55
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

C>>Ещё раз — ты говоришь как теоретик. Попробуй положить результат экспорта _всего_ реестра в VCS и посмотри что получится.

ВВ>Зачем мне класть туда содержимое *всего* реестра?
А иначе другие проблемы.

ВВ>Может, ты тогда в ответ попробуешь в сурс-контрол согнать содержимое *всего* диска?

Да, пробовал. Точнее, не совсем в VCS, а в систему с лёгкими snapshot'ами.
Sapienti sat!
Re[5]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 15:57
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну я бы сказал так — более, чем половине приложений глубоко по боку те ограничения на размер значения, которые накладывает реестр. А иерархию-то там строить можно не хуже, чем где-либо еще.
Собственно, мой поинт был в том, что централизованное хранилище, типа реестра, ненужно, если половина программ все равно будут хранить конфиги по-своему или — часть конфигов в реестре, часть на диске.
Re[5]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:02
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Все-таки приложения с конфигом для ручной правки это ИМХО некоторый обособленный случай.
Вполне нормальный случай. Огромное количество самого разнообразного софта в линупсе имеет человекочитаемые конфиги. Это определенная культура, что-ли — чтобы конфиг можно было редактировать в обычном редакторе, чтобы он был с комментариями и примерами, чтобы он располагался в предсказуемом месте, чтобы наличествовала разумная иерархия конфигов, чтобы приложение не срало кирпичами при потере конфига и так далее. Тогда и жить становится легче. Например, если я захочу почистить /home — я во многих случаях могу просто снести все незнакомые мне файлы и папки — и максимум, чего я получу — приложения вернутся к своим дефолтным настройкам. Ну и в обратную сторону — если я чего неправильно в гуях наконфигурил — просто сношу все упоминания софтины из /home (найденные текстовым поиском) — и делаю все по новой. Никто не говорит, что в случае с реестром такое невозможно. Просто с файловыми конфигами в линупсах такая культура сформировалась, а в винде — нет. Быть может, потому, что несмотря на единое хранилище конфигов, программы не ориентировались на то, что конфиги будут редактироваться централизованно. В то время, как файлы лежат в известных местах редактируются вполне централизованно — емаксом. Такие дела.
Re[6]: А чем плох реестр?
От: Antikrot  
Дата: 16.11.09 16:02
Оценка: :)
Здравствуйте, Sshur, Вы писали:

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

хе. а я такую БД как-то снёс
Re[2]: А чем плох реестр?
От: Antikrot  
Дата: 16.11.09 16:04
Оценка:
Здравствуйте, TimurSPB, Вы писали:

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

TSP>Разработка кроссплатформенная, так что плох тем, что отсутствует во многих операционных системах.
ну, /etc присутствует в еще меньшем количестве систем
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:06
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ну я бы сказал так — более, чем половине приложений глубоко по боку те ограничения на размер значения, которые накладывает реестр. А иерархию-то там строить можно не хуже, чем где-либо еще.

MC>Собственно, мой поинт был в том, что централизованное хранилище, типа реестра, ненужно, если половина программ все равно будут хранить конфиги по-своему или — часть конфигов в реестре, часть на диске.

Ну почему сразу не нужно? Оно просто перестает быть централизованным. Isolated Storage вот тоже большой популярности не снискал. Я попробовал его использовать один раз и напоролся на весьма... интересные, скажем так, проблемы.

И если оказывается, что в конкретном случае реестр удобнее, чем файл на диске... ну скажем так, пока я не вижу никаких явных причин, чтобы отказываться от реестра по "идеологическим" соображениям. Проблема реестра и сурс контрола мне кажется несколько надуманной и, более того, вполне решаемой.
Re[5]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:06
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Да не всякое приложение дружит с таким способом редактирования конфигов. Банальный пример — приложение хранит в конфиге список каких-нибудь хостов. Конфиг красивый, ХМЛ-ный — взял да добавил кучку новых в емаксе. Только вот один нюанс — креденшиалы к хостам зашифрованы.
Надо разделять. Например, в конфиг можно класть собственно хосты. А креденшиалы пущай лежат в специальном хранилище и запрашиваются самим приложением автоматически (а-ля kwallet, gnome keyring).
Re[3]: А чем плох реестр?
От: TimurSPB Интернет  
Дата: 16.11.09 16:07
Оценка: +1
Здравствуйте, Antikrot, Вы писали:

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


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

TSP>>Разработка кроссплатформенная, так что плох тем, что отсутствует во многих операционных системах.
A>ну, /etc присутствует в еще меньшем количестве систем

И это верно. Приходиться работать по принципу: "Все свое ношу с собой".
Сам то по себе реестр, при разумном использовании, вполне пригодная для использования.
Make flame.politics Great Again!
Re[22]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:08
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Из за этого сильно фрагментируется диск. Когда линейное чтение файла на 100Мб/с венике становится 10Мб/с — это напрягает.
А регулярная дефрагментация не спасает?

CC>>>У меня есть специальные кованые сапоги, которыми я вышибаю дурь у подобных самодеятелей

CC>>>Визуалка стоит, приструнённая и обученная вести себя прилично.
MC>>А как?
CC>FAR + hands.sys
А конкретнее? Как отучить VS при установке писать на системный диск?
Re[12]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 16.11.09 16:10
Оценка:
Здравствуйте, Cyberax, Вы писали:

DR>>Те же самые причины побудившие Microsoft не обосабливать частые изменения в реестре, если это действительно так, позволили бы им разбросать их по текстовым файлам.

C>Реестр возник в стародавние времена, когда были другие ограничения и требования.

И что с того?

C>>>Если я добавлю новый файл в /etc, и сделаю "git status" — он мне покажет, что у меня есть новый неверсируемый файл. И я его могу добавить в репозиторий, .gitignore или удалить.

C>>>С реестром это не получится, а именно оно и явлляется самым важным.
DR>>То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.
C>Что значит "каждую ветку"? Там основная ветка — это SOFTWARE. Но её тоже нельзя просто так экспортировать из-за мусора в SOFTWARE\Microsoft.
C>Так что нужно выкусывать по-отдельности нужные приложения. Здравствуй, мама анархия.

Просто, цикл экспортирующий каждую ветку из Software в свой файл. Элементарно же. Батскрипт не помню, поэтому приведу пример на Немерле:

using Nemerle.Collections;
using Microsoft.Win32.Registry;
using System.Diagnostics.Process;

def Exclude(key)
{
    ![ "MICROSOFT" ].Contains(key.ToUpper())
}
def Save(key)
{
    _ = Start("reg.exe", $@"export ""HKCU\Software\$key"" ""reg\$key.reg""");
}
CurrentUser.OpenSubKey("Software").GetSubKeyNames().Filter(Exclude).Iter(Save);


C>Не, в итоге можно написать эмуляцию конфиг-файлов на базе реестра (более того, она у меня уже есть — благодаря моему FUSE4Win). Но когда мы это сделаем, то обнаружим, что опять получился /etc. Как всегда: "Those who do not understand UNIX are doomed to reinvent it, poorly."


"When all you have is a hammer, everything looks like a nail."
Ce n'est que pour vous dire ce que je vous dis.
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:13
Оценка: :)
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Все-таки приложения с конфигом для ручной правки это ИМХО некоторый обособленный случай.

MC>Вполне нормальный случай. Огромное количество самого разнообразного софта в линупсе имеет человекочитаемые конфиги. Это определенная культура, что-ли — чтобы конфиг можно было редактировать в обычном редакторе, чтобы он был с комментариями и примерами, чтобы он располагался в предсказуемом месте, чтобы наличествовала разумная иерархия конфигов, чтобы приложение не срало кирпичами при потере конфига и так далее. Тогда и жить становится легче. Например, если я захочу почистить /home — я во многих случаях могу просто снести все незнакомые мне файлы и папки — и максимум, чего я получу — приложения вернутся к своим дефолтным настройкам. Ну и в обратную сторону — если я чего неправильно в гуях наконфигурил — просто сношу все упоминания софтины из /home (найденные текстовым поиском) — и делаю все по новой. Никто не говорит, что в случае с реестром такое невозможно. Просто с файловыми конфигами в линупсах такая культура сформировалась, а в винде — нет. Быть может, потому, что несмотря на единое хранилище конфигов, программы не ориентировались на то, что конфиги будут редактироваться централизованно. В то время, как файлы лежат в известных местах редактируются вполне централизованно — емаксом. Такие дела.

Ну причем тут линукс, ну правда, а? Речь про Винду ведь. На линуксе вообще не стоит сабж. Там его просто нет, не считая кривых эмуляций.
И да, я согласен, в некоторых случаях очень круто, если можно конфиги редактировать вручную, только вот тут есть несколько нюансов:
— Вы их редактируете с помощью ноутпад.ехе? Вроде нет, да? Так почему в реестр лезем с помощью убогой тулзы "из коробки", а потом говорим, что его неудобно править по сравнению с каким-нибудь емаксом? Давайте тогда сравнивать regedit и notepad, чтобы уж все честно было.
— Можно легко и непринужденно сделать так, что конфиг уже не будет поддаваться прямой правке без посредства программы. Например, используя шифрование.
— Большинству пользователей под виндой вручную править конфиги — на фиг не надо.
Re[6]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:17
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Надо разделять. Например, в конфиг можно класть собственно хосты. А креденшиалы пущай лежат в специальном хранилище и запрашиваются самим приложением автоматически (а-ля kwallet, gnome keyring).


Какой, блин, гном? Винда, товарищ, винда. А разделять это значит — хранить в реестре например

Потом что вам даст это разделение-то? Закодированный пароль в конфиге так и так не особо мешает. Но вы не сможете вручную добавить регистрацию хоста и все.
Re[7]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:19
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну причем тут линукс, ну правда, а? Речь про Винду ведь.
При том, что это пример ОС, где сформировалась культура работы с конфигами. Значит, у нее надо учиться — и размышлять, где какой подход был, и чего из этого получилось, а не сравнивать абстрактные файлы с абстрактным реестром, чем ты сейчас и пытаешься заниматься.
Re[14]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 16.11.09 16:20
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


DR>>>>То же самое с реестром. Экспортируй каждую ветку из HCKU\Software, и Гит точно так же покажет неверсируемые файлы.

C>>>Что значит "каждую ветку"? Там основная ветка — это SOFTWARE. Но её тоже нельзя просто так экспортировать из-за мусора в SOFTWARE\Microsoft.
S>>А что кто-то писал про .gitignore? Игнорировать никак?
C>Ага, никак. Так как часть мусора из \Microsoft — тоже важна.

Речь шла о хранении настроек пользовательского ПО, которое в \Microsoft — ни ногой. А если вы хотите полный слепок настроек системы делать, то вам наверно в другой топик. И потом, \etc — разве не пользовательские настройки? а если там и системные есть, то вам точно так же придется копаться и выбирать, что надо, а что нет. Но это не тема обсуждения

Потом, супер задача у вас какая? Хранение настроек же не самоцель. См. ниже


S>>И вы каждый день ставите новое приложение и требуется добавление новых конфигов в сурс-контрол?

C>Нет, я могу _пропустить_, что надо какую-то ветку добавить. И таки софт я ставлю достаточно часто.

Если это для домашней работы, то случай уж больно неспецифический. Помнить для себя когда и что меняли?

C>В общем, попробуй вместо теоризирования сделать то что ты говоришь на практике. Я _уже_ пробовал. И даже написал файловую систему с backend'ом в виде реестра. Всё равно не получается нормальной работы.


Как уже писал, думаю что практика общения с настройками разнообразного ПО у меня достаточная. Так вот, я могу опять-таки только предположить, зачем потребовалось конфиги в source control хранить. Это если у вас большое количество серверов и большое количество админов — и все что-то меняют, и виноватого не найти в случае чего.

А если вы хотите всего лишь перенести систему на домашнем компьютере на новое железо — то вам опять таки в другой топик.


S>>И что-то вы в моей ветке подозрительно замолчали

C>Где именно?

Там, где я просил рассказать, в чем же суть "правильной" системы конфигов
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[7]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:23
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Какой, блин, гном? Винда, товарищ, винда.
Собери гном под винду. Следующий. (с), анекдот.

ВВ>А разделять это значит — хранить в реестре например

Нет, реестр не нужен.

ВВ>Потом что вам даст это разделение-то? Закодированный пароль в конфиге так и так не особо мешает. Но вы не сможете вручную добавить регистрацию хоста и все.

А, я понял, ты теперь выдвигаешь аргумент, что не все конфиги можно редактировать обычным текстовым редактором. Ну да, не все. Только это не аргумент в пользу реестра.
Re[16]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Ещё раз — ты говоришь как теоретик. Попробуй положить результат экспорта _всего_ реестра в VCS и посмотри что получится.

ВВ>>Зачем мне класть туда содержимое *всего* реестра?
C>А иначе другие проблемы.

Если ты собираешься реализовать аналог стандартного виндового восстановления (хотя на кой — он же и так есть), то реестр *в любом случае* бэкапить придется. Если нужно отслеживать изменения в конфиге для нескольких приложений, то в случае с реестром процедура будет практически такая же, как и в случае с текстовым файлом — и никаких проблем.
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:30
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>Ну причем тут линукс, ну правда, а? Речь про Винду ведь.
MC>При том, что это пример ОС, где сформировалась культура работы с конфигами. Значит, у нее надо учиться — и размышлять, где какой подход был, и чего из этого получилось, а не сравнивать абстрактные файлы с абстрактным реестром, чем ты сейчас и пытаешься заниматься.

Для того, чтобы говорить конкретно нужно привести конкретные альтернативы с конкретными же — для Винды именно — преимуществами перед реестром. Я не вижу таких преимуществ.
— хранить в сурс-контроле можно и настройки из реестра
— править можно и реестр руками, просто прекрасно, особенно если стандартное УГ заменить на более удобные утилиты
— переносятся настройки из реестра не хуже, чем любые другие

Ну и где преимущества? И главное, что предлагается взамен? Я как раз пока и слышу про некий "абстрактный" текстовый файл.
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:32
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Потом что вам даст это разделение-то? Закодированный пароль в конфиге так и так не особо мешает. Но вы не сможете вручную добавить регистрацию хоста и все.

MC>А, я понял, ты теперь выдвигаешь аргумент, что не все конфиги можно редактировать обычным текстовым редактором. Ну да, не все. Только это не аргумент в пользу реестра.

Это вообще не аргумент в пользу чего-либо — ни реестра, ни файлика. И то и другое можно прекрасно редактировать руками, если способ сериализации настроек конкретного приложения это позволяет. И то, что ряду пользователей, в особенности юниксоидов, привычнее ковыряться к текстовых конфигах тоже, согласись, не аргумент против реестра.
Re[23]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 16:32
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

CC>>>>Визуалка стоит, приструнённая и обученная вести себя прилично.

MC>>>А как?
CC>>FAR + hands.sys
MC>А конкретнее? Как отучить VS при установке писать на системный диск?
Пусть ставит. Потом копируешь на другой диск и создаёшь симлинк.
Sapienti sat!
Re[9]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:34
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Для того, чтобы говорить конкретно нужно привести конкретные альтернативы с конкретными же — для Винды именно — преимуществами перед реестром. Я не вижу таких преимуществ.
ВВ>- хранить в сурс-контроле можно и настройки из реестра
ВВ>- править можно и реестр руками, просто прекрасно, особенно если стандартное УГ заменить на более удобные утилиты
ВВ>- переносятся настройки из реестра не хуже, чем любые другие
ВВ>Ну и где преимущества?
Вот именно. Никаких преимуществ у реестра нет. Поэтому реестр смело отправляется на^W в сторону бритвы Оккама.

ВВ>И главное, что предлагается взамен? Я как раз пока и слышу про некий "абстрактный" текстовый файл.

Ну да, текстовый файл в произвольном формате.
Re[10]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:39
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ну и где преимущества?

MC>Вот именно. Никаких преимуществ у реестра нет. Поэтому реестр смело отправляется на^W в сторону бритвы Оккама.

Ага, и изобретается свой велосипед, который, помимо всех проблем реестра, добавит еще и букет собственных.

ВВ>>И главное, что предлагается взамен? Я как раз пока и слышу про некий "абстрактный" текстовый файл.

MC>Ну да, текстовый файл в произвольном формате.

Ну и где же те самые "проверенные временем" практики работы с конфигами в Юниксе, которые ты тут рекламируешь? Я что-то так и не услышал ничего.
Re[11]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:45
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ага, и изобретается свой велосипед, который, помимо всех проблем реестра, добавит еще и букет собственных.
Давай конкретнее. Это, кстати, уже обсуждалось сравнительно недавно — могу поискать линк на ветку.

ВВ>Я что-то так и не услышал ничего.

А ведь все уже было сказано.
Re[11]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 16:47
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Ну и где же те самые "проверенные временем" практики работы с конфигами в Юниксе, которые ты тут рекламируешь?
Ты несколько искажаешь мои слова. Я говорил о культуре, а не о практиках.
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:52
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ага, и изобретается свой велосипед, который, помимо всех проблем реестра, добавит еще и букет собственных.

MC>Давай конкретнее. Это, кстати, уже обсуждалось сравнительно недавно — могу поискать линк на ветку.

Нужен ленивый конфиг — пишем свой велосипед, или один файл конфига превращается, скажем, в 20. Уже не так удобно, правда?
Где его хранить? Куда-нибудь в недра Documents and Settings? Isolated Storage, а потом три еще три гуида. Бац, а теперь мы не можем файл с длинным именем создать — длина пути ведь в винде ограничена.
У программы автосохранение. Ну и автоматическое сохранение конфига при выходе. Выходим в момент автосохранения — бац, файл занят. Надо синхронизацию прикручивать.
Есть настройки для копирования, есть те, которые привязаны к конкретной машине (размер окна, его положение и пр.). Снова плодить дополнительные файлы? А когда у нас плагин для приложения будет свои system specific настройки сохранять — ширину панелек и проч. — куда кидать? В еще более отдельный файл?
Операция записи в конфиг не атомарно. Слетели при попытке перезаписать конфиг — слетят все настройки. (А с реестром в худшем случае потеряете только последние изменения)

ВВ>>Я что-то так и не услышал ничего.

MC>А ведь все уже было сказано.

Что именно? Не затруднит напомнить?
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 16:53
Оценка: +1
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>Ну и где же те самые "проверенные временем" практики работы с конфигами в Юниксе, которые ты тут рекламируешь?
MC>Ты несколько искажаешь мои слова. Я говорил о культуре, а не о практиках.

— Чем плохо использовать реестр в винде?
— Тем, что в линуксе есть "культура" работы с текстовыми конфигами.
Re[13]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 17:01
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:
ВВ>- Чем плохо использовать реестр в винде?
ВВ>- Тем, что в линуксе есть "культура" работы с текстовыми конфигами.
Да. Там не было реестра и культура сформировалась. А в винде был — и теперь ты текстовый конфиг представляешь себе не иначе как C:\GUID\GUID\GUID\GUID.cfg. Реестр тебя испортил.
Re[14]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 17:11
Оценка: :)
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>- Чем плохо использовать реестр в винде?
ВВ>>- Тем, что в линуксе есть "культура" работы с текстовыми конфигами.
MC>Да. Там не было реестра и культура сформировалась. А в винде был — и теперь ты текстовый конфиг представляешь себе не иначе как C:\GUID\GUID\GUID\GUID.cfg. Реестр тебя испортил.

Меня испортил не реестр, а альтернативы, предлагаемые реестру той же Майкрософт. Например, Isolated Storage. Которые я пытался использовать.
Да, файл можно красиво назвать. Красиво положить. Но что это изменит? Ты по сути на вопрос "чем плох реестр" отвечаешь, что "реестр — это некультурно"
А я хочу конкретики — описание конкретного способа работы с настройками в конкретном приложении. Почему так было сделано, какие получились преимущества, какие были бы грабли у реестра.
Re[14]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 17:13
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>- Чем плохо использовать реестр в винде?
ВВ>>- Тем, что в линуксе есть "культура" работы с текстовыми конфигами.
MC>Да. Там не было реестра и культура сформировалась. А в винде был — и теперь ты текстовый конфиг представляешь себе не иначе как C:\GUID\GUID\GUID\GUID.cfg. Реестр тебя испортил.

Более того, скажу, что я очень редко использовал реестр для хранения настроек. Ибо уже много лет как в мозги долбится, что реестр — зло. Уже условный рефлекс сформировался как у собаки Павлова:
Реестр — зло
Реестр — зло
Реестр — зло
И захотелось-таки немного поразмыслить — раз уж тут у нас "философия", — а в чем это зло заключается, какие есть проблемы, почему зло? Но вот пока у меня складывается ощущение, что никто больше на эту тему думать не хочет.
Re[13]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 17:14
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Нужен ленивый конфиг — пишем свой велосипед, или один файл конфига превращается, скажем, в 20.
ВВ>Где его хранить? Куда-нибудь в недра Documents and Settings? Isolated Storage, а потом три еще три гуида. Бац, а теперь мы не можем файл с длинным именем создать — длина пути ведь в винде ограничена.
У тебя реестр головного мозга — оттого и фантазия больная. Самый страшный путь, который я когда-либо видел — это /etc/hal/fdi/policy, где единственный непонятный для начинающего линуксоилда компонент пути — это "fdi".

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

ВВ>Операция записи в конфиг не атомарно. Слетели при попытке перезаписать конфиг — слетят все настройки. (А с реестром в худшем случае потеряете только последние изменения)
В человекочитаемый конфиг сама программа обычно не пишет. Для остального можно юзать что душе угодно с транзакциями, блекджеком и шлюхами (sqlite, например), если это так надо. С системно-критичными конфигами в /etc — я хз как правильно поступать, помимо хранения их в сурс-контроле — это Cyberax лучше объяснит. А обычному юзеру с его каким-нить .emacs (ну как пример того, куда и сам емакс может писать) эти транзакции на фиг не упали. Кстати, а в виндовом реестре — и правда транзакции с acid?

ВВ>Есть настройки для копирования, есть те, которые привязаны к конкретной машине (размер окна, его положение и пр.). Снова плодить дополнительные файлы? А когда у нас плагин для приложения будет свои system specific настройки сохранять — ширину панелек и проч. — куда кидать? В еще более отдельный файл?

Размер окна привязан к машине? Ширина панелек — это system-specific? OMFG.
А вообще — есть такая штука как иерархия конфигов. Юзерские — в /home, системные в /etc, примеры конфигов — например, в /usr/share. Недостаточно файла — создаешь папку, куда плагины будут класть свои файлы конфигов. Т.е. /etc/appname — либо файл конфига, либо папка с конфигами уровня системы. /home/.appname (тут пока с вариантами в виде /home/.local/appname, /home/.config/appname — но это не мешает) — файл или папка с конфигами уровня пользователя, обычно более приоритетными. Вопрос иерархии и приоритета и в реестре вроде не особо освещается.

ВВ>Что именно? Не затруднит напомнить?

Читаем ветку. Относимся к жизни проще.
Re[15]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 17:15
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Меня испортил не реестр, а альтернативы, предлагаемые реестру той же Майкрософт. Например, Isolated Storage. Которые я пытался использовать.
Isolated Storage — это дотнетовское "а теперь положим файл хрен знает куда"?

ВВ>Да, файл можно красиво назвать. Красиво положить. Но что это изменит? Ты по сути на вопрос "чем плох реестр" отвечаешь, что "реестр — это некультурно"

Именно так.
Re[14]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 17:19
Оценка: +1
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Воронков Василий, Вы писали:

ВВ>>Нужен ленивый конфиг — пишем свой велосипед, или один файл конфига превращается, скажем, в 20.
ВВ>>Где его хранить? Куда-нибудь в недра Documents and Settings? Isolated Storage, а потом три еще три гуида. Бац, а теперь мы не можем файл с длинным именем создать — длина пути ведь в винде ограничена.
MC>У тебя реестр головного мозга — оттого и фантазия больная. Самый страшный путь, который я когда-либо видел — это /etc/hal/fdi/policy, где единственный непонятный для начинающего линуксоилда компонент пути — это "fdi".

А у тебя просто незнание стандартных способов работы с конфигами под виндой. Оттого и реакция такая.

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


Ну и? Вопрос остается. Чем плох реестр?

ВВ>>Есть настройки для копирования, есть те, которые привязаны к конкретной машине (размер окна, его положение и пр.). Снова плодить дополнительные файлы? А когда у нас плагин для приложения будет свои system specific настройки сохранять — ширину панелек и проч. — куда кидать? В еще более отдельный файл?

MC>Размер окна привязан к машине? Ширина панелек — это system-specific? OMFG.

OMFG — это то, что произнесешь, когда приложение работавшее на HD мониторе, потом запустишь на 17-ке.

MC>А вообще — есть такая штука как иерархия конфигов. Юзерские — в /home, системные в /etc, примеры конфигов — например, в /usr/share. Недостаточно файла — создаешь папку, куда плагины будут класть свои файлы конфигов. Т.е. /etc/appname — либо файл конфига, либо папка с конфигами уровня системы. /home/.appname (тут пока с вариантами в виде /home/.local/appname, /home/.config/appname — но это не мешает) — файл или папка с конфигами уровня пользователя, обычно более приоритетными. Вопрос иерархии и приоритета и в реестре вроде не особо освещается.


Ты предлагаешь под виндой воссоздать юниксовую систему хранения конфигов? И полностью забить на все особенности и рекомандации ОС?
Re[15]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 17:24
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>А у тебя просто незнание стандартных способов работы с конфигами под виндой. Оттого и реакция такая.
И это тоже. Я десктопные приложения под винду не разрабатываю — пока всегда было достаточно app.config.

ВВ>Ну и? Вопрос остается. Чем плох реестр?

Тем, что он лишний.

ВВ>OMFG — это то, что произнесешь, когда приложение работавшее на HD мониторе, потом запустишь на 17-ке.

Именно. Поэтому эти настройки не могут быть чисто system-specific, т.к. в системе во время работы может меняться размер экрана (подключили, например, внешний к ноутбуку или перелогинились по rdp).

ВВ>Ты предлагаешь под виндой воссоздать юниксовую систему хранения конфигов? И полностью забить на все особенности и рекомандации ОС?

Нет, просто рассказываю, как сделано в другой ОС — без реестра.
Re[16]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 17:28
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ну и? Вопрос остается. Чем плох реестр?

MC>Тем, что он лишний.

Лишний на винде? Ты в этом уверен?

ВВ>>OMFG — это то, что произнесешь, когда приложение работавшее на HD мониторе, потом запустишь на 17-ке.

MC>Именно. Поэтому эти настройки не могут быть чисто system-specific, т.к. в системе во время работы может меняться размер экрана (подключили, например, внешний к ноутбуку или перелогинились по rdp).

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

ВВ>>Ты предлагаешь под виндой воссоздать юниксовую систему хранения конфигов? И полностью забить на все особенности и рекомандации ОС?

MC>Нет, просто рассказываю, как сделано в другой ОС — без реестра.

Ну ты хотя бы сам-то понимаешь, что для меня никакой пользы от этого нет?
Re[17]: А чем плох реестр?
От: Mr.Cat  
Дата: 16.11.09 17:33
Оценка:
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Лишний на винде? Ты в этом уверен?
Ну разве что он уже есть и с этим надо жить.

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

Ну да. Эти настройки выносятся отдельно — их человек не правит обычно.

ВВ>Ну ты хотя бы сам-то понимаешь, что для меня никакой пользы от этого нет?

Нет, не понимаю.
Re[17]: А чем плох реестр?
От: Курилка Россия http://kirya.narod.ru/
Дата: 16.11.09 19:24
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Здравствуйте, Mr.Cat, Вы писали:


ВВ>>>Ты предлагаешь под виндой воссоздать юниксовую систему хранения конфигов? И полностью забить на все особенности и рекомандации ОС?

MC>>Нет, просто рассказываю, как сделано в другой ОС — без реестра.

ВВ>Ну ты хотя бы сам-то понимаешь, что для меня никакой пользы от этого нет?


А я думал хороший программист учится на разных примерах
Re[18]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 19:35
Оценка:
Здравствуйте, Курилка, Вы писали:

К>А я думал хороший программист учится на разных примерах


Хороший программист должен уметь отличать полезную информацию от "культурных противоречий" с другими собеседниками. И заодно не пытаться симулировать юникс под виндой.
Re[19]: А чем плох реестр?
От: Курилка Россия http://kirya.narod.ru/
Дата: 16.11.09 20:04
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

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


К>>А я думал хороший программист учится на разных примерах


ВВ>Хороший программист должен уметь отличать полезную информацию от "культурных противоречий" с другими собеседниками. И заодно не пытаться симулировать юникс под виндой.


Т.е. нового и полезного ты не подчерпнул, лишь "культурные противоречия"? Ну ок, каждому своё
Re[11]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 20:11
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Опять-таки я не вижу проблемы написать скрипт, который умеет экспортировать отдельные ветки реестра и комитить их в сурс контрол. Не так уж и много писать-то. Да и разницы в этом скрипте с тем, который делает то же самое для файлухи я не вижу.


На самом деле разница есть и достаточно серьёзная. Файлы сравниваются "на месте", а содержимое реестра нужно сначала отобразить на файл, потом сравнить/обновить, и уже только после этого — загрузить обратно в реестр. Соответственно, нельзя оперировать одними только опциями командной строки системы конфигурационного управления, нужно привлекать дополнительные скрипты. Это не "ужасно", но раздражает.

ВВ>Честно, хочется услышать не просто традиционные доводы, почему реестр это плохо, а задуматься, так ли это плохо, в конце 2009-го, под Виндой, как мы это привыкли считать?


Да нет никакого абсолютизма на самом деле. В каких-то случаях реестр удобнее файлов — всё разрешается по месту в зависимости от постановки задачи, требований... А обсуждать какое зло злее и добро добрее можно до бесконечности.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 20:22
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>На самом деле разница есть и достаточно серьёзная. Файлы сравниваются "на месте", а содержимое реестра нужно сначала отобразить на файл, потом сравнить/обновить, и уже только после этого — загрузить обратно в реестр. Соответственно, нельзя оперировать одними только опциями командной строки системы конфигурационного управления, нужно привлекать дополнительные скрипты. Это не "ужасно", но раздражает.


Слушай, там одна ровно команда используется для экспорта — regedit /e — и одна для импорта. И именно эта несчастная команда так раздражает?

А то, что сравнение происходит не на месте — так, в лучших традициях обсуждения здесь, это можно тут же представить мощнейшим плюсом. Можно все настройки из реестра экспортировать куда ты именно хочешь, создать структуру папок, наиболее тебе удобную, разбить все по типам приложений и так далее, и так далее

ВВ>>Честно, хочется услышать не просто традиционные доводы, почему реестр это плохо, а задуматься, так ли это плохо, в конце 2009-го, под Виндой, как мы это привыкли считать?

ГВ>Да нет никакого абсолютизма на самом деле. В каких-то случаях реестр удобнее файлов — всё разрешается по месту в зависимости от постановки задачи, требований... А обсуждать какое зло злее и добро добрее можно до бесконечности.

Мне были бы интересны примеры из практики. И с т.з. разработки. Пока получается, что в общем и целом непонятно, что ж такого нехорошого в реестре по сравнению со всем остальным. Если бы я лично стал составлять список "всего хорошего", что я знаю о различных вариантах сохранения настроек, то список про реестр получился бы далеко не самым длинным. У меня было подозрение, что я не вижу каких-то подводных камней, но судя по всему я их не вижу, потому что их нет

Самое развернутое объяснение, которое я получил, это то, что реестр не следует использовать, потому что он противоречит "культуре работы с конфигами под юниксом"
Re[11]: Про идеальные случаи
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 20:22
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Идеальный случай — полное копирование всего с системы конфигурационного управления. Один checkout — и ты получаешь сходу полный комплект исходников и средств разработки. Ничего архисложного, но с VS такой номер очень трудно организовать.


ВВ>Ну не бывает же таких идеальных случаев под виндой Это все теория.


Почему это не бывает? Например — OpenOffice может так копироваться. Eclipse, опять таки. И ты не представляешь — даже такая развесистая ёлка, как Qt. Это не считая туевой хучи мелких тулзов. Был момент, я чуть не затолкал MinGW под SVN.

Так что, очень даже бывают такие случаи.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 20:22
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Т.е. нового и полезного ты не подчерпнул, лишь "культурные противоречия"? Ну ок, каждому своё


Хорошо. Поведуй мне, товарищ, что же ты полезного почерпнул из рассказа о структуре репозитория конфигов под юниксом и как будешь использовать это под виндой.
Re[12]: Про идеальные случаи
От: Воронков Василий Россия  
Дата: 16.11.09 20:25
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Почему это не бывает? Например — OpenOffice может так копироваться. Eclipse, опять таки. И ты не представляешь — даже такая развесистая ёлка, как Qt. Это не считая туевой хучи мелких тулзов. Был момент, я чуть не затолкал MinGW под SVN.

ГВ>Так что, очень даже бывают такие случаи.

Секундочку
Ты писал про "полное копирование всего с системы конфигурационного управления". И вот это-то как раз и есть идеальный случай. Отдельное приложение частенько можно восстановить хоть из бэкапа в СВН, хоть из мусорки, хоть... ну не знаю... с флэшки Причем даже то, что это приложение хранит свои настройки в реестре такому восстановлению не обязательно и помешает.
Re[21]: А чем плох реестр?
От: Курилка Россия http://kirya.narod.ru/
Дата: 16.11.09 20:27
Оценка: -3
Здравствуйте, Воронков Василий, Вы писали:

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


К>>Т.е. нового и полезного ты не подчерпнул, лишь "культурные противоречия"? Ну ок, каждому своё


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


Sapienti sat
Re[7]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 20:47
Оценка: 36 (1)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Сей топик есть попытка рационализации всеобщей нелюбви к реестру. Нет, я, конечно,могу понять аргумент "мне не нравится" или "мне лень", но точно также будет прав и кто-нибудь, кто скажет, что ему лень искать нужный файл в ФС, особо если конфиг приложения разбит на 33 файла, как ты выше предлагал, и тоже будет абсолютно прав.


Истино так.

ВВ>Да что вы уперлись-то в эту флешку? Очень частный случай на самом деле.

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

Такой подход тоже не лишён здравого смысла.

ГВ>>А вот пусть программы будут настолько правильными, что они не будут требовать хранить настройки в МоихДокументах, а будут довольствоваться тем, что лежит рядом с .exe?

ВВ>Ну а что в этом правильного-то?
ВВ>С т.з. идеологии винды — это неправильно.

А кого волнует идеология винды? Вопрос в том — соответствует ли эта "идеология" текущей задаче.

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

ВВ>Поэтому мне кажется, что флешка не является хорошим примером "зла" реестра.

Это просто пример, когда реестр может оказаться не совсем удобным.

ГВ>>Не "сложно", а ЛЕНЬ. И мне плевать на концептуальную правильность хранения данных в реестре. Мне лень с ним возиться.

ВВ>А с сурс-контролом не лень возиться?

В файловой системе я могу положить программы в одно дерево:
\tools
  \tool1
  \tool2


Поставить такое дерево под КУ — раз плюнуть. Хоть с двумя тулами, хоть с сотней. Достаточно добавить каталог \tools, а потом его можно дополнять новыми тулами, убирать старые, и всё это будет отображаться в системе КУ стандартными средствами.

А в реестре уже всё веселее, потому что нужно вынимать несколько деревьев:

HKCU\
  Software\
    Tool1Manufacturer\
      Tool1 <-- ставить под КУ нужно это дерево.
    OtherToolManufacturer\
      ...
    Tool2Manufacturer\
      Tool2 <-- ...и это дерево.


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

Примеры "идеальных случаев" привёл рядом.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: Про идеальные случаи
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 20:50
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Так что, очень даже бывают такие случаи.

ВВ>Секундочку
ВВ>Ты писал про "полное копирование всего с системы конфигурационного управления".

Дальше я уточнил, что имел в виду рабочее окружение. "Полное копирование всего" лучше делать на виртуалку или какой-нибудь образ.

ВВ>И вот это-то как раз и есть идеальный случай. Отдельное приложение частенько можно восстановить хоть из бэкапа в СВН, хоть из мусорки, хоть... ну не знаю... с флэшки Причем даже то, что это приложение хранит свои настройки в реестре такому восстановлению не обязательно и помешает.


Ну, значит, мы не совсем правильно друг друга поняли.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 20:59
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Слушай, там одна ровно команда используется для экспорта — regedit /e — и одна для импорта. И именно эта несчастная команда так раздражает?


Раздражает необходимость ей пользоваться.

ВВ>А то, что сравнение происходит не на месте — так, в лучших традициях обсуждения здесь, это можно тут же представить мощнейшим плюсом. Можно все настройки из реестра экспортировать куда ты именно хочешь, создать структуру папок, наиболее тебе удобную, разбить все по типам приложений и так далее, и так далее


А я разве пытался это оспаривать? Только мне вот не упражнений в организации бэкапа хочется, а минимума затраченного внимания на этот бэкап. Честно, иной раз проще перекачать лишние пару гигов с места на место, чем прогнать кучу скриптов.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 21:01
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>А кого волнует идеология винды? Вопрос в том — соответствует ли эта "идеология" текущей задаче.


Ну обычно если нарушать идеологию, то проблема-то будет не в том, что тебе ночью кошмар с Биллом Гейтсом приснится, а будут куда более реальный проблемы. Например, с безопасностью. Особенно, не дай бог, какой-нибудь секьюрити-патч выпустят, как они любят и регулярно делают.

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

ВВ>>Поэтому мне кажется, что флешка не является хорошим примером "зла" реестра.
ГВ>Это просто пример, когда реестр может оказаться не совсем удобным.

Или наоборот — как он может оказаться удобным.
Ну т.е. не в тему пример все-таки

ГВ>>>Не "сложно", а ЛЕНЬ. И мне плевать на концептуальную правильность хранения данных в реестре. Мне лень с ним возиться.

ВВ>>А с сурс-контролом не лень возиться?

ГВ>В файловой системе я могу положить программы в одно дерево:

ГВ>А в реестре уже всё веселее, потому что нужно вынимать несколько деревьев:

Э, ну ты сейчас привел два варианта деревьев — одно удобное, другое кривое — и сравниваешь не реестр с ФС, а кривое дерево с хорошим. Мне в ответ привести пример кривого дерева конфигов в ФС, с кучей ГУИДов и прочей хрени — ну вот слепок с IsolatedStorage идеально подойдет — и красивейшее рукописное дерево из реестра, где все расписано "по полочкам"?

Ты уж извини, но по факту получается так, что как раз хранение настроек в файлах зачастую имеет кучу проблем. Хотя бы взять то, что вобщем случае файл настроек постоянно перезаписывается приложением и при падении приложения в этот момент или — ну господи, ногой взял да шнур из розетки выдернул — ты потеряешь все настройки. А реестр гарантирует хоть какую-то целостность данных. При этом в конце концов является какой-никакой но специализированной системой для хранение конфигов. И при этом устоявшееся мнение — что реестр зло? Ну вот почему. Забавно даже.
И какие аргументы тут приводят:

— Очень сложно хранить в сурс-контроле ибо раздражает набирать regedit /s
— Очень сложно мигрировать ибо пользователь не знает как нужно делать double-click по reg файлу (зато прекрасно редактирует конфиги в емаксе)
— И вообще это УГ потому что не соответствует "культуре конфигов" в юниксе

Ну знаете, ребята, если я начну перечислять проблемы работы с текстовыми файлами, то у меня более серьезный список получится.
Re[9]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 21:19
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>А кого волнует идеология винды? Вопрос в том — соответствует ли эта "идеология" текущей задаче.

ВВ>Ну обычно если нарушать идеологию, то проблема-то будет не в том, что тебе ночью кошмар с Биллом Гейтсом приснится, а будут куда более реальный проблемы. Например, с безопасностью. Особенно, не дай бог, какой-нибудь секьюрити-патч выпустят, как они любят и регулярно делают.

Не. Так получается, если не "нарушать идеологию", а пытаться обойти технические ограничения. Например — попытаться заставить мигать на экране сервис под Вистой. Идеология тут не при чём.

ГВ>>Это просто пример, когда реестр может оказаться не совсем удобным.

ВВ>Или наоборот — как он может оказаться удобным.
ВВ>Ну т.е. не в тему пример все-таки

Зависит от интерпретации.

ГВ>>В файловой системе я могу положить программы в одно дерево:

ГВ>>А в реестре уже всё веселее, потому что нужно вынимать несколько деревьев:
ВВ>Э, ну ты сейчас привел два варианта деревьев — одно удобное, другое кривое — и сравниваешь не реестр с ФС, а кривое дерево с хорошим.

Нет. Я сравниваю как раз возможности ФС и реестра. В ФС я могу организовать файлы таким способом, а в реестре реорганизовать ключи — болт! Т.е., я привёл пример принципиального ограничения, накладываемого реестром.

Другой момент — из-за того, что ключи в реестре делят единое пространство имён (скажем — HKCU\Software\{общий список производителей ПО}) всегда можно нарваться на их конфликт. Вероятность невелика, но она не нулевая, особенно если имя компании — короткое. То есть, как ни странно, но самый надёжный идентификатор здесь... Какой? Правильно — GUID.

ВВ>Мне в ответ привести пример кривого дерева конфигов в ФС, с кучей ГУИДов и прочей хрени — ну вот слепок с IsolatedStorage идеально подойдет — и красивейшее рукописное дерево из реестра, где все расписано "по полочкам"?


А я не собираюсь спорить с тем, что конфиги в ФС можно организовать самым сногсшибательным способом.

ВВ>Ты уж извини, но по факту получается так, что как раз хранение настроек в файлах зачастую имеет кучу проблем.


Ни на йоту не собираюсь тебя оспаривать. Вопрос в возможностях.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[10]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 21:35
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Не. Так получается, если не "нарушать идеологию", а пытаться обойти технические ограничения. Например — попытаться заставить мигать на экране сервис под Вистой. Идеология тут не при чём.


Ну вот кинуть файлик рядом с приложением вполне нарушение идеологии. И с ним вполне можно огрести вполне технические проблемы.

ГВ>>>В файловой системе я могу положить программы в одно дерево:

ГВ>>>А в реестре уже всё веселее, потому что нужно вынимать несколько деревьев:
ВВ>>Э, ну ты сейчас привел два варианта деревьев — одно удобное, другое кривое — и сравниваешь не реестр с ФС, а кривое дерево с хорошим.
ГВ>Нет. Я сравниваю как раз возможности ФС и реестра. В ФС я могу организовать файлы таким способом, а в реестре реорганизовать ключи — болт! Т.е., я привёл пример принципиального ограничения, накладываемого реестром.

Не очень понял эту мысль. Реорганизовать ключи можно. Особенно если пользоваться более удобным чем regedit редактором (конфиги то небось тоже не ноутпадом правите). Только вот если ты их реорганизуешь у тебя в обоих случаях приложение от такого твоего самоуправства офигеет

ГВ>Другой момент — из-за того, что ключи в реестре делят единое пространство имён (скажем — HKCU\Software\{общий список производителей ПО}) всегда можно нарваться на их конфликт. Вероятность невелика, но она не нулевая, особенно если имя компании — короткое. То есть, как ни странно, но самый надёжный идентификатор здесь... Какой? Правильно — GUID.


Ну а чем эта ситуация отличается от того, что творится в папочке AppData? То же самое абсолютно. Думаешь, идеологи IsolatedStorage просто курили что-то такое забористое? Не-не, у них ход мысли был, видимо, практически такой же как и у тебя

ВВ>>Мне в ответ привести пример кривого дерева конфигов в ФС, с кучей ГУИДов и прочей хрени — ну вот слепок с IsolatedStorage идеально подойдет — и красивейшее рукописное дерево из реестра, где все расписано "по полочкам"?


ВВ>>Ты уж извини, но по факту получается так, что как раз хранение настроек в файлах зачастую имеет кучу проблем.

ГВ>Ни на йоту не собираюсь тебя оспаривать. Вопрос в возможностях.

Возможность управлять папками и файлами в ФС? Зачем они? Чтобы поломать приложение, которое не сможет прочитать настройки из измненного по структуре репозитория? Я не понимаю
Re[11]: А чем плох реестр?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 16.11.09 23:21
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ГВ>>Не. Так получается, если не "нарушать идеологию", а пытаться обойти технические ограничения. Например — попытаться заставить мигать на экране сервис под Вистой. Идеология тут не при чём.

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

Какие?

ГВ>>Нет. Я сравниваю как раз возможности ФС и реестра. В ФС я могу организовать файлы таким способом, а в реестре реорганизовать ключи — болт! Т.е., я привёл пример принципиального ограничения, накладываемого реестром.


ВВ>Не очень понял эту мысль. Реорганизовать ключи можно. Особенно если пользоваться более удобным чем regedit редактором (конфиги то небось тоже не ноутпадом правите). Только вот если ты их реорганизуешь у тебя в обоих случаях приложение от такого твоего самоуправства офигеет


Правильно. Это и означает, что реорганизовать ключи нельзя.

ГВ>>Другой момент — из-за того, что ключи в реестре делят единое пространство имён (скажем — HKCU\Software\{общий список производителей ПО}) всегда можно нарваться на их конфликт. Вероятность невелика, но она не нулевая, особенно если имя компании — короткое. То есть, как ни странно, но самый надёжный идентификатор здесь... Какой? Правильно — GUID.


ВВ>Ну а чем эта ситуация отличается от того, что творится в папочке AppData? То же самое абсолютно. Думаешь, идеологи IsolatedStorage просто курили что-то такое забористое? Не-не, у них ход мысли был, видимо, практически такой же как и у тебя


А что тут придумаешь? Не комитет же создавать по раздаче имён?

ВВ>>>Ты уж извини, но по факту получается так, что как раз хранение настроек в файлах зачастую имеет кучу проблем.

ГВ>>Ни на йоту не собираюсь тебя оспаривать. Вопрос в возможностях.
ВВ>Возможность управлять папками и файлами в ФС? Зачем они? Чтобы поломать приложение, которое не сможет прочитать настройки из измненного по структуре репозитория? Я не понимаю

Не. Для того, чтобы можно было управлять группой приложений средствами ФС как неким целым.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: А чем плох реестр?
От: Cyberax Марс  
Дата: 16.11.09 23:45
Оценка: +3
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Э, ну ты сейчас привел два варианта деревьев — одно удобное, другое кривое — и сравниваешь не реестр с ФС, а кривое дерево с хорошим. Мне в ответ привести пример кривого дерева конфигов в ФС, с кучей ГУИДов и прочей хрени — ну вот слепок с IsolatedStorage идеально подойдет — и красивейшее рукописное дерево из реестра, где все расписано "по полочкам"?

Отвалилась челюсть....

Давай сравним "Запорожец" и "Мерседес", только "Мерседес" мы сначала сплющим стотонным грузом. А потом сделаем вывод, что "Запорожцы" лучше.

MS не умеет делать нормальные файловые конфиги. И даже лучшее рукописное дерево в реестре будет хуже средненького файла конфигурации. Хотя бы из-за комментариев.
Sapienti sat!
Re[12]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 16.11.09 23:46
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>>Не. Так получается, если не "нарушать идеологию", а пытаться обойти технические ограничения. Например — попытаться заставить мигать на экране сервис под Вистой. Идеология тут не при чём.

ВВ>>Ну вот кинуть файлик рядом с приложением вполне нарушение идеологии. И с ним вполне можно огрести вполне технические проблемы.
ГВ>Какие?

Секьюрити. Под Вистой и выше очень даже актуальная проблема.

ВВ>>Не очень понял эту мысль. Реорганизовать ключи можно. Особенно если пользоваться более удобным чем regedit редактором (конфиги то небось тоже не ноутпадом правите). Только вот если ты их реорганизуешь у тебя в обоих случаях приложение от такого твоего самоуправства офигеет

ГВ>Правильно. Это и означает, что реорганизовать ключи нельзя.

Э, а под ФС тогда ведь тоже нельзя? Я совсем не понял мысль Если изменишь структуру настроек любого приложения, где бы эти настройки ни хранились, то приложение поломается. В чем преимущества ФС перед реестром? Больше средств, чтобы поломать?

ВВ>>>>Ты уж извини, но по факту получается так, что как раз хранение настроек в файлах зачастую имеет кучу проблем.

ГВ>>>Ни на йоту не собираюсь тебя оспаривать. Вопрос в возможностях.
ВВ>>Возможность управлять папками и файлами в ФС? Зачем они? Чтобы поломать приложение, которое не сможет прочитать настройки из измненного по структуре репозитория? Я не понимаю
ГВ>Не. Для того, чтобы можно было управлять группой приложений средствами ФС как неким целым.

Теперь уже неясно, как это связано с настройками и реестром

А вообще я так понимаю, ты реестр сравниваешь с одной простой штукой — файлик в папочке приложения. Что, может быть, и удобно, а если у пользователя нет прав, чтобы туда писать? Усложняется модель сохранения настроек для разных пользователей, хотя тут смотря на чем писать, конечно.
Re[23]: А чем плох реестр?
От: CreatorCray  
Дата: 17.11.09 08:51
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

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

CC>>Из за этого сильно фрагментируется диск. Когда линейное чтение файла на 100Мб/с венике становится 10Мб/с — это напрягает.
MC>А регулярная дефрагментация не спасает?
Да задолбало ее проводить. Сейчас дефрагментирую только рабочие диски, где лежат проекты и buildcache

CC>>>>У меня есть специальные кованые сапоги, которыми я вышибаю дурь у подобных самодеятелей

CC>>>>Визуалка стоит, приструнённая и обученная вести себя прилично.
MC>>>А как?
CC>>FAR + hands.sys
MC>А конкретнее? Как отучить VS при установке писать на системный диск?
Не обязательно во время. Можно поставить и потом переместить куда более удобно.
Как именно я отучал 4 года назад я уже не упомню.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: А чем плох реестр?
От: CreatorCray  
Дата: 17.11.09 09:38
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Нужен ленивый конфиг — пишем свой велосипед, или один файл конфига превращается, скажем, в 20. Уже не так удобно, правда?

ВВ>Где его хранить? Куда-нибудь в недра Documents and Settings? Isolated Storage, а потом три еще три гуида. Бац, а теперь мы не можем файл с длинным именем создать — длина пути ведь в винде ограничена.
ага, всего то ~32к символов может быть. Маловато, да.

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

Не, не надо. Надо при старте проги при чтении конфига самим его занимать и других не пущать

ВВ>Есть настройки для копирования, есть те, которые привязаны к конкретной машине (размер окна, его положение и пр.). Снова плодить дополнительные файлы? А когда у нас плагин для приложения будет свои system specific настройки сохранять — ширину панелек и проч. — куда кидать? В еще более отдельный файл?

В ветку внутри конфига. Мы ж конфиг в XML будем писать, с XML комментариями

Да, я стебусь! Но блин тут всю ветку уже давно пора в КСВ и пометку в янусе что мол, всегда прочитана, чтоб глаза не мозолила.
Ибо и реестр говно и текстовые конфиги говно, но каждый из них говно по-разному.
И так уж исторически сложилось что у виндовозов один способ, у пингвинятников — другой. И они к этим методам привыкли и нормально используют. Ну а попытки влезть со своим уставом в чужой монастырь обычно заканчиваются как в анекдоте про "спили мушку!"
Ну а юзерам на самом деле насрать что там и как хранится. Юзеру надо нормальный и интуитивно понятный гуй для редактирования настроек. А в каком месте или виде оно лежит — до лампочки.
И еще, нефиг тут срач разводить в философии!

Dixi
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: А чем плох реестр?
От: CreatorCray  
Дата: 17.11.09 09:38
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

ВВ>>Ну я бы сказал так — более, чем половине приложений глубоко по боку те ограничения на размер значения, которые накладывает реестр. А иерархию-то там строить можно не хуже, чем где-либо еще.

MC>Собственно, мой поинт был в том, что централизованное хранилище, типа реестра, ненужно, если половина программ все равно будут хранить конфиги по-своему или — часть конфигов в реестре, часть на диске.
Ну так и пусть себе хранят на здоровье где им хочется. Реестр то тебе чем помешал?
Раз тебе он не нужен, то и не пользуйся. Нет жеж, надо доколупаться до тех, кому удобно хранить в реестре.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 17.11.09 10:04
Оценка: 1 (1)
Здравствуйте, Курилка, Вы писали:



К>А я думал хороший программист учится на разных примерах


Только почему-то никто не приводит примера бесспорного преимущества файлового конфига перед реестром. Извините, я пытался узнать у Cyberax, в чем суть, и получил только что что файловые конфиги круче реестра, потому что *никс круче виндовс. Все. Топикстартер, в свою очередь, выяснил что файловые конфиги лучше потому, что под тем же *никсом сложилась культура их использования. Может, я что-то пропустил?

Единственная мысль, которая мне понравилась — упоминание бритвы оккама, что если нет разницы между текстом и реестром, то зачем изобретать более сложное решение. Но тут не все однозначно, я бы говорил "у текста нет преимуществ перед реестром", а вот обратно — не факт. Как минимум хоть какая-то типизация присутствует, возможность назначения прав на значения и большая защищенность. Так что разница есть

Ограниченность как раз демонстрируют *никсоиды, так как они видят перед собой только файловые конфиги. Когда потом такой человек пытается что-то сделать с реестром виндовс, он пытается использовать его так же как текстовый конфиг с *никса и естественно, это получается неудобно. Все, делается вывод об отстойности реестра и винды в целом. В то же время, файловые конфиги у всех перед глазами, так как в той же виндовс существуют настройки в файлах.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[12]: А чем плох реестр?
От: Baudolino  
Дата: 17.11.09 10:55
Оценка:
ГВ>А что тут придумаешь? Не комитет же создавать по раздаче имён?
Такой комитет в природе существует и называется ICANN. В Java, например, вероятность конфликта сведена к нулю именованием пакетов, привязанным к именам доменов.
Соотв. настройки очень удобно идентифицировать с помощью подобных ключей (безотносительно конкретного хранилища):
com\mycompany\myapp\version\package\entity\property
Re[12]: Про идеальные случаи
От: Baudolino  
Дата: 17.11.09 11:03
Оценка:
ГВ>Eclipse, опять таки.
Плохой пример. У эклипса кэш не отделен от остальных настроек. Таскать сотни мегабайт индекса мавеновских репозиториев с десятимегабайтным проектом как-то тупо.
Я вот, кстати, предпочел бы, чтобы бОльшую часть настроек workspace, включая все кэши, эклипс хранил в AppData/Local или даже в ProgramData.
Кстати, львиную долю его конфигов вручную править бессмысленно.
Re: А чем плох реестр?
От: Baudolino  
Дата: 17.11.09 11:27
Оценка:
Поскольку в обсуждении выше долго переливается из пустого в порожнее тема бэкапа и копирования отдельных веток, внесу свои пять копеек: разговор про неудобство запуска regedit с ключиками — ерунда. Для конечного пользователя файлы в данном случае удобнее реестра, потому что их резервное копирование поддерживается распространенными продуктами типа Norton 360. Т.е. я могу, например, забэкапить настройки своего ssh-клиента, потому что они хранятся в отдельных файлах (пусть и в нередактируемом внешними инструментами виде). Старина Резо Оккам нам подсказывает, что ставить отдельный продукт для бэкапа реестра было бы некоторым излишеством.
Re[2]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 17.11.09 12:24
Оценка:
Здравствуйте, Baudolino, Вы писали:

B>Поскольку в обсуждении выше долго переливается из пустого в порожнее тема бэкапа и копирования отдельных веток, внесу свои пять копеек: разговор про неудобство запуска regedit с ключиками — ерунда. Для конечного пользователя файлы в данном случае удобнее реестра, потому что их резервное копирование поддерживается распространенными продуктами типа Norton 360. Т.е. я могу, например, забэкапить настройки своего ssh-клиента, потому что они хранятся в отдельных файлах (пусть и в нередактируемом внешними инструментами виде). Старина Резо Оккам нам подсказывает, что ставить отдельный продукт для бэкапа реестра было бы некоторым излишеством.


Отчасти соглашусь, но из духа противоречия позволю себе вас процитировать

Ставить отдельный продукт для бэкапа реестра было бы некоторым излишеством.

и

разговор про неудобство запуска regedit с ключиками — ерунда.


экспорт в файл и вперед. Но что-то мне подсказывает, что более-менее навороченная программа под виндовс откажется работать после файлового бэкапа в любом случае, будут ли сохранены её настройки в бэкапе или нет. Тут проблема другого порядка
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[15]: А чем плох реестр?
От: Sergey J. A. Беларусь  
Дата: 17.11.09 15:22
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

C>>нет комментариев,


ВВ>Так добавляйте, кто запрещает?

Что-то вроде
HKCU/Software/MySoft/key
и коментарий к нему
HKCU/Software/MySoft/key_comment

или есть нормальный способ? может проэкспортировать и писать коментарии в .reg файле?

C>>неудобный API,


ВВ>По сравнению с чем неудобный АПИ? Какой именно АПИ неудобен? Microsoft.Win32.Registry мне вполне удобен.


C>>невозможность положить в VCS и т.д.


ВВ>Экспорт ветки — и кладем в VCS. Пять минут на написание скрипта, и это происходит автоматически.


А поиск по regex-у? Тоже через экспорт? Backup через экспорт, перенести настройки через экспорт.

И какие тогда преимущества? Зачем возится с экспортом, если можно сразу сделать через файловую систему?
---
http://azarkevich.blogspot.com/
Re[16]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 17.11.09 17:03
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Что-то вроде

SJA>HKCU/Software/MySoft/key
SJA>и коментарий к нему
SJA>HKCU/Software/MySoft/key_comment

SJA>или есть нормальный способ? может проэкспортировать и писать коментарии в .reg файле?


Можно и в .reg файле, но что ненормального в добавлении значения с комментарием?

SJA>А поиск по regex-у?


PowerShell, RegAlyzer, итд.
Ce n'est que pour vous dire ce que je vous dis.
Re[17]: А чем плох реестр?
От: Sergey J. A. Беларусь  
Дата: 17.11.09 17:30
Оценка:
Здравствуйте, Don Reba, Вы писали:

SJA>>Что-то вроде

SJA>>HKCU/Software/MySoft/key
SJA>>и коментарий к нему
SJA>>HKCU/Software/MySoft/key_comment

SJA>>или есть нормальный способ? может проэкспортировать и писать коментарии в .reg файле?


DR>Можно и в .reg файле, но что ненормального в добавлении значения с комментарием?

Конфигурационные файлоы без коментариев (у себя в в /etc) я практически не встречал. А вот коментариев в реестре вообще никогда не встречал.
Может всё-таки коментарии в реестре это ненормально?

SJA>>А поиск по regex-у?


DR>PowerShell, RegAlyzer, итд.

Конечно, но мне удобнее использовать уже знакомые средства, а не устанавливать и изучать новые.
---
http://azarkevich.blogspot.com/
Re[18]: А чем плох реестр?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 17.11.09 17:43
Оценка: 14 (1)
Здравствуйте, Sergey J. A., Вы писали:

SJA>Конфигурационные файлоы без коментариев (у себя в в /etc) я практически не встречал. А вот коментариев в реестре вообще никогда не встречал.

SJA>Может всё-таки коментарии в реестре это ненормально?

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

SJA>>>А поиск по regex-у?


DR>>PowerShell, RegAlyzer, итд.

SJA>Конечно, но мне удобнее использовать уже знакомые средства, а не устанавливать и изучать новые.

Ого. А можно узнать как через Notepad осуществляется поиск по регулярным выражениям?
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: А чем плох реестр?
От: Baudolino  
Дата: 17.11.09 17:47
Оценка:
S>экспорт в файл и вперед.
Обычные пользователи такой фигней не страдают. Есть бэкап в нортоне — будут использовать этот бэкап. Копирования реестра там нет, а поиск подходящих файлов в хомяке есть.

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

Нет тут проблемы. Вопрос где хранить настройки стоит для разработчика. Если есть желание и деньги на поддержку бэкапа, это будет сделано так, чтобы приложение работало.
Re[16]: А чем плох реестр?
От: Воронков Василий Россия  
Дата: 17.11.09 20:41
Оценка:
Здравствуйте, Sergey J. A., Вы писали:

SJA>Что-то вроде

SJA>HKCU/Software/MySoft/key
SJA>и коментарий к нему
SJA>HKCU/Software/MySoft/key_comment

Да

SJA>или есть нормальный способ? может проэкспортировать и писать коментарии в .reg файле?


В reg-файле можно, конечно. Это же обычный ini по сути.

ВВ>>Экспорт ветки — и кладем в VCS. Пять минут на написание скрипта, и это происходит автоматически.

SJA>А поиск по regex-у? Тоже через экспорт? Backup через экспорт, перенести настройки через экспорт.

Да. Все через экспорт. По поводу поиска зависит еще от того, какой утилитой для редактирования реестра пользуетесь — большинство из них в первую очередь накачивает стероидами поиск.
Но я тут проблемы не вижу на самом деле. Экспорт очень просто и легко автоматизируемая процедура. Импорт так вообще "мышкой" делается.
А бэкап реестра, кстати, винда и сама хорошо умеет делать.

SJA>И какие тогда преимущества? Зачем возится с экспортом, если можно сразу сделать через файловую систему?


Сделать что? Я может быть зря не уточнил, речь прежде всего о конфигах, над которыми сидит ГУЙ. А не те, что изначально проектируются под ручную правку и никакого интерфейса не предлагается вообще.
А преимущество по сравнению с файликом у реестра есть, причем вполне реальные. Атомарность изменений, тразакционность.

Вы вот конфиг Ворда будете вручную править?
А отслеживать изменения в конфиге MP3-плеера по SVN-логу?

Причем все это можно делать и с реестром — надо лишь выполнить дополнительную команду regedit /e.

А отсего и вполне резонный вопрос, вынесенный в сабж.
Re[19]: А чем плох реестр?
От: Sergey J. A. Беларусь  
Дата: 18.11.09 08:04
Оценка:
Здравствуйте, Don Reba, Вы писали:

SJA>>Конфигурационные файлоы без коментариев (у себя в в /etc) я практически не встречал. А вот коментариев в реестре вообще никогда не встречал.

SJA>>Может всё-таки коментарии в реестре это ненормально?

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

В смысле, практически все кто использует реестр некультурны(коментариев там я никогда не видел)?

SJA>>>>А поиск по regex-у?


DR>>>PowerShell, RegAlyzer, итд.

SJA>>Конечно, но мне удобнее использовать уже знакомые средства, а не устанавливать и изучать новые.

DR>Ого. А можно узнать как через Notepad осуществляется поиск по регулярным выражениям?

Ого. Вы нотпад используете для поиска по файлам? Под знакомыми средствами я имел в виду TotalCommander дял поиска в файлах и Notepad++ для редактирования.
---
http://azarkevich.blogspot.com/
Re[17]: А чем плох реестр?
От: Sergey J. A. Беларусь  
Дата: 18.11.09 08:04
Оценка: +1 -1
Здравствуйте, Воронков Василий, Вы писали:

SJA>>Что-то вроде

SJA>>HKCU/Software/MySoft/key
SJA>>и коментарий к нему
SJA>>HKCU/Software/MySoft/key_comment

ВВ>Да


SJA>>или есть нормальный способ? может проэкспортировать и писать коментарии в .reg файле?


ВВ>В reg-файле можно, конечно. Это же обычный ini по сути.

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

ВВ>Да. Все через экспорт. По поводу поиска зависит еще от того, какой утилитой для редактирования реестра пользуетесь — большинство из них в первую очередь накачивает стероидами поиск.

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

SJA>>И какие тогда преимущества? Зачем возится с экспортом, если можно сразу сделать через файловую систему?


ВВ>Сделать что? Я может быть зря не уточнил, речь прежде всего о конфигах, над которыми сидит ГУЙ. А не те, что изначально проектируются под ручную правку и никакого интерфейса не предлагается вообще.

ВВ>А преимущество по сравнению с файликом у реестра есть, причем вполне реальные. Атомарность изменений, тразакционность.
Э... Я наверное не в курсе про атомарность. Т.е. если я буду записывать 100 значений и на 51 комп рухнет, то 50 предыдущих откатятся?
А транзакционные и FS как бы имеются. Нужна надёжность — используйте под конфиги соответсвующую FS.

ВВ>Вы вот конфиг Ворда будете вручную править?

Конечно, если придётся настроить то, чего в гуе нет. Про твикеры слышали?
И надо сказать в конфигах скорее всего не будет
Flags=0x000200
без всяких пояснений.

ВВ>А отслеживать изменения в конфиге MP3-плеера по SVN-логу?

Э... У меня Gentoo, там что-то подобное и есть. Когда плеер установит свой новый конфиг, я имею возможность промержить настройки из старого. Или выбрать новый. Или оставить старый.

ВВ>Причем все это можно делать и с реестром — надо лишь выполнить дополнительную команду regedit /e.

Да, да, я уже слышал. Пару дополнительных движений, и всё становится простым, как в случае с конфигурационными файлами...
---
http://azarkevich.blogspot.com/
Re[18]: А чем плох реестр?
От: Baudolino  
Дата: 18.11.09 10:36
Оценка:
DR>>PowerShell, RegAlyzer, итд.
SJA>Конечно, но мне удобнее использовать уже знакомые средства, а не устанавливать и изучать новые.
PowerShell имеет смысл освоить. Как никак, родная командная оболочка Windows.
Re[19]: А чем плох реестр?
От: Sergey J. A. Беларусь  
Дата: 18.11.09 10:40
Оценка:
Здравствуйте, Baudolino, Вы писали:

DR>>>PowerShell, RegAlyzer, итд.

SJA>>Конечно, но мне удобнее использовать уже знакомые средства, а не устанавливать и изучать новые.
B>PowerShell имеет смысл освоить. Как никак, родная командная оболочка Windows.
Ну.. В XP по крайней мере родная — cmd. Но вообще да. Стоило бы освоить.
Пока для консольных нужд использую cygwin.
---
http://azarkevich.blogspot.com/
Re[15]: А чем плох реестр?
От: Тот кто сидит в пруду Россия  
Дата: 18.11.09 10:49
Оценка:
Здравствуйте, Sshur, Вы писали:

C>>Корпоративное использование как раз неинтересно, там всё просто. Гораздо интереснее чтоб для end-user'а было удобно. И тут реестр сливает своим конкурентам.


S>Ну-ну. Просто все. Вы видно не сталкивались с более-менее сложной системой. End userу удобно, когда он ни про какие конфиги не знает. Какое сравнение может быть с корпоративной средой?


О да. Если мне при переустановке винды захочется сохранить настройки dial-up, мне придется или искать, где она хранит эти настройки, или искать сторонний софт, который знает где лежат эти настройки и умеет их сохранять/восстанавливать, или списывать все с экрана. Потому что все изначально сделано для максимального удобства пользователя

Roaming profiles — вообще ужас. Временами начинают так тормозить, что загрузку минут по 5 ждать приходится

S>Тестовые файлы несомненно более продвинутая технология. Как грится, вы не любите кошек — вы просто не умеете их готовить


Двигались просто малёха не туда Шаг вперед, два шага назад, как писал Ильич.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[16]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 18.11.09 11:16
Оценка:
Здравствуйте, Тот кто сидит в пруду, Вы писали:



ТКС>О да. Если мне при переустановке винды захочется сохранить настройки dial-up, мне придется или искать, где она хранит эти настройки, или искать сторонний софт, который знает где лежат эти настройки и умеет их сохранять/восстанавливать, или списывать все с экрана. Потому что все изначально сделано для максимального удобства пользователя


Это недостаток виндовс, а не реестра При чем тут это? Если бы в реестре была бы ветка HKLM/microsoft/windows/dialup, то что бы изменилось? Это я идеальный вариант с никсом рассматриваю, когда конфиг диалапа лежит на видном месте. Я как пользователь точно так же могу не знать и этого.

ТКС>Roaming profiles — вообще ужас. Временами начинают так тормозить, что загрузку минут по 5 ждать приходится



И что? Если у вас настроено перемещение рабочих столов и моих документов, и при этом не ограничен размер, а юзер умудрился на рабочий стол фильм положить — то все сами себе злобные чебурашки. Вообще то тяжелые папки на сетевые диски перенаправляют и ничего не тормозит.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[11]: А чем плох реестр?
От: Privalov  
Дата: 18.11.09 11:34
Оценка: +1
Здравствуйте, Sshur, Вы писали:

S>Не встречал пока правильных ос, кроме Windows. и что такое /etc не знаю. В реестре, о котором ведет речь топикстартер, такого точно нет.


Я вполуха слышал, что в Винде hosts лежит в /etc, а не в реестре.
Re[12]: А чем плох реестр?
От: Mr.Cat  
Дата: 18.11.09 11:59
Оценка:
Здравствуйте, Privalov, Вы писали:
P>Я вполуха слышал, что в Винде hosts лежит в /etc, а не в реестре.
Ага
C:\WINDOWS\system32\drivers\etc
Re[12]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 18.11.09 12:01
Оценка:
Здравствуйте, Privalov, Вы писали:


S>>Не встречал пока правильных ос, кроме Windows. и что такое /etc не знаю. В реестре, о котором ведет речь топикстартер, такого точно нет.


P>Я вполуха слышал, что в Винде hosts лежит в /etc, а не в реестре.


Ну это явно не то /etc. Я реально не представляю, чем так хорошо то /etc, о котором рассказывают. Класть настройки пользовательских приложений в system32/drivers/etc точно не стоит.
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[17]: А чем плох реестр?
От: Тот кто сидит в пруду Россия  
Дата: 18.11.09 12:27
Оценка:
Здравствуйте, Sshur, Вы писали:

ТКС>>О да. Если мне при переустановке винды захочется сохранить настройки dial-up, мне придется или искать, где она хранит эти настройки, или искать сторонний софт, который знает где лежат эти настройки и умеет их сохранять/восстанавливать, или списывать все с экрана. Потому что все изначально сделано для максимального удобства пользователя


S>Это недостаток виндовс, а не реестра При чем тут это? Если бы в реестре была бы ветка HKLM/microsoft/windows/dialup, то что бы изменилось?


А чего не в HKCU ? Нафиг давать другим юзерам мой пароль к резервному провайдеру?

S>Это я идеальный вариант с никсом рассматриваю, когда конфиг диалапа лежит на видном месте. Я как пользователь точно так же могу не знать и этого.


Ну вообще это было возражение тезису "пользователя не должно волновать, где лежат конфиги", а не против реестра.

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

ТКС>>Roaming profiles — вообще ужас. Временами начинают так тормозить, что загрузку минут по 5 ждать приходится


S>И что? Если у вас настроено перемещение рабочих столов и моих документов, и при этом не ограничен размер, а юзер умудрился на рабочий стол фильм положить — то все сами себе злобные чебурашки. Вообще то тяжелые папки на сетевые диски перенаправляют и ничего не тормозит.


Ничего тяжелого там не было. Все вписывалось в 100 мб. Чисто качество реализации данной мегафичи подкачало.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[13]: А чем плох реестр?
От: Privalov  
Дата: 18.11.09 12:31
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Ага

MC>C:\WINDOWS\system32\drivers\etc

То, что это drivers\etc — и в самом деле . А настройки там самые настоящие. И править их мне время от времени приходится по-настоящему. Причем notepad-ом, потому что не поставили нормальный редактор на сервере.
Re[18]: А чем плох реестр?
От: Sshur Россия http://shurygin-sergey.livejournal.com
Дата: 18.11.09 12:41
Оценка:
Здравствуйте, Тот кто сидит в пруду, Вы писали:



S>>Это недостаток виндовс, а не реестра При чем тут это? Если бы в реестре была бы ветка HKLM/microsoft/windows/dialup, то что бы изменилось?


ТКС>А чего не в HKCU ? Нафиг давать другим юзерам мой пароль к резервному провайдеру?


Ну или HKCU, какая разница. это не принципиально



ТКС>Ну вообще это было возражение тезису "пользователя не должно волновать, где лежат конфиги", а не против реестра.


ТКС>Если говорить против реестра, то для пользователя поиск/экспорт/импорт соответствующей ветки в реестре безусловно сложнее, чем копирование/восстановление домашней папки.


В Виндовс есть мастер переноса файлов и параметров. Если говорить о его недостатках, то мы опять свалимся в недостатки ОС, а не файлов или реестра.



ТКС>Ничего тяжелого там не было. Все вписывалось в 100 мб. Чисто качество реализации данной мегафичи подкачало.


ИМХО и 100 мб очень много. Если сеть 100 мбит, да еше нагружена, скорость будет невысокая.

У наших пользователей перемещаемая часть профиля максимум 5 мб, а в среднем 2-3, из которых большая часть ntuser.dat
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[19]: А чем плох реестр?
От: Тот кто сидит в пруду Россия  
Дата: 18.11.09 13:08
Оценка:
Здравствуйте, Sshur, Вы писали:

S>>>Это недостаток виндовс, а не реестра При чем тут это? Если бы в реестре была бы ветка HKLM/microsoft/windows/dialup, то что бы изменилось?


ТКС>>А чего не в HKCU ? Нафиг давать другим юзерам мой пароль к резервному провайдеру?


S>Ну или HKCU, какая разница. это не принципиально


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

ТКС>>Ну вообще это было возражение тезису "пользователя не должно волновать, где лежат конфиги", а не против реестра.


ТКС>>Если говорить против реестра, то для пользователя поиск/экспорт/импорт соответствующей ветки в реестре безусловно сложнее, чем копирование/восстановление домашней папки.


S>В Виндовс есть мастер переноса файлов и параметров. Если говорить о его недостатках, то мы опять свалимся в недостатки ОС, а не файлов или реестра.


Ну тогда можешь считать что его нету. Потому что он не работает. У меня, по крайней мере, он не сработал ни разу. Для файлов, как не трудно догадаться, никакого мастера не надо.


ТКС>>Ничего тяжелого там не было. Все вписывалось в 100 мб. Чисто качество реализации данной мегафичи подкачало.


S>ИМХО и 100 мб очень много. Если сеть 100 мбит, да еше нагружена, скорость будет невысокая.


Это не зависело от загрузки сети. Чтобы по сети 100 мбит скопировать 100 мб, надо 10 секунд. Чем оно занимается остальные минуты? Главное, потом само вылечилось

S>У наших пользователей перемещаемая часть профиля максимум 5 мб, а в среднем 2-3, из которых большая часть ntuser.dat


100 мб — это была верхняя оценка. Возможно, сильно завышенная.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[19]: А чем плох реестр?
От: Тот кто сидит в пруду Россия  
Дата: 18.11.09 13:25
Оценка:
Здравствуйте, Sshur, Вы писали:

К>>А я думал хороший программист учится на разных примерах


S>Только почему-то никто не приводит примера бесспорного преимущества файлового конфига перед реестром. Извините, я пытался узнать у Cyberax, в чем суть, и получил только что что файловые конфиги круче реестра, потому что *никс круче виндовс. Все. Топикстартер, в свою очередь, выяснил что файловые конфиги лучше потому, что под тем же *никсом сложилась культура их использования. Может, я что-то пропустил?


Конечно. Проблема не в том, что под никсами сложилась культура использования конфигов, а в том, что под виндой внятной культуры использования реестра пока не сложилось. Последствия отсюда вытекают разные — например, использовать домашний компьютер не под админом практически невозможно. С появлением Виста, правда, в этом плане малость по-лучше стало.

S>Единственная мысль, которая мне понравилась — упоминание бритвы оккама, что если нет разницы между текстом и реестром, то зачем изобретать более сложное решение. Но тут не все однозначно, я бы говорил "у текста нет преимуществ перед реестром", а вот обратно — не факт. Как минимум хоть какая-то типизация присутствует, возможность назначения прав на значения и большая защищенность. Так что разница есть


Зато огромное количество всякого мусора сидит в памяти. И дефрагментировать его кстати отдельно приходится. Ну и про комментарии ты забыл.

S>Ограниченность как раз демонстрируют *никсоиды, так как они видят перед собой только файловые конфиги. Когда потом такой человек пытается что-то сделать с реестром виндовс, он пытается использовать его так же как текстовый конфиг с *никса и естественно, это получается неудобно.


Научи — как использовать реестр удобно? И, кстати, согласно рекомендациям MS реестр не заменяет текстовые конфиги Сейчас глянул — у разрабатываемой мной софтины конфиг серверной части занимает 150 кб. В реестре хранить так много MS не рекомендует. Так что, выходит, правильно мы все в файл положили...

S> Все, делается вывод об отстойности реестра и винды в целом. В то же время, файловые конфиги у всех перед глазами, так как в той же виндовс существуют настройки в файлах.


К выводу об отстойности реестра пришли даже его разработчики Нефиг было его на все программы распространять, оставили бы там только мультимедию, как в вин 3.1 было, и ОЛЕ — никто бы не возражал.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[20]: А чем плох реестр?
От: Privalov  
Дата: 18.11.09 13:48
Оценка:
Здравствуйте, Тот кто сидит в пруду, Вы писали:

ТКС>К выводу об отстойности реестра пришли даже его разработчики


ЕМНИП, об этом статья была где-то у MS: может, в MSDN. Примерно 2001 года. Только вот никак ссылку найти не могу.
Re[21]: А чем плох реестр?