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>Нет, просто рассказываю, как сделано в другой ОС — без реестра.

Ну ты хотя бы сам-то понимаешь, что для меня никакой пользы от этого нет?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.