powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в реестр
25 сообщений из 140, страница 3 из 6
Запись в реестр
    #40031838
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Я абсолютно поддержу этот aproach как родной для Unix/Linux подобных конфигураций. Он исторически
прижился и вообще файлы в Linux системах наполнены более широким смыслом нежели в Windows.
Сюда-же семантика скрытого фолдера (начинающийся с точки). Это все - наследние Unix/Linux.

Семантика скрытого фолдера, насколько я знаю, это был баг в первых версиях ФС Юникс.

И каким же таким более широким смыслом файлы наполнены в Юникс/Линукс нежели чем в Виндах?
...
Рейтинг: 0 / 0
Запись в реестр
    #40031848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

почитай сам. Блочные устройства. Каналы и сокеты. С помощью канальных устройств (mknod)
я делал в Linux/Ext3 для Оракла такие штуки которые в Windows/NTFS принципиально невозможно
повторить.

Скрытый фолдер был скорее багом утилит листинга которые скрывали фолдер с предшетсвующей точкой "."
и эта традиция и сегодня используется в Linux/Unix и к моему ужасу ее перенесли на Windows
просто как порты исходников Linux приложений.

Я по прежнему настаиваю на пользе использования Windows registry для Windows приложений пока
мне не доказали обратное. Тоесть не доказали что реестр опасе или вреден или создает перформанс-проблемы.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031857
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav,

почитай сам. Блочные устройства. Каналы и сокеты.

Воля ваша, но могли бы конечно хотя бы один use case на пальцах пояснить.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031859
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ораклом? Ну вот по аналогии с этим. Почитай как толстяк Бурльсон делает экспорт БД в условиях нехватки
места.

http://www.dba-oracle.com/t_export_2_gig_limit.htm

И обрати внимание как работает mknod в операционке linux.

Код: plaintext
1.
2.
mknod compress_pipe p
mknod split_pipe p



Только у меня интереснее было. У меня на 1 физическом сервере стояло 2 БД. И я экспортировал одну
и импортировал в другую одновременно. А толстяк просто сохраняет по конвейеру в файл а потом архивирует gzip-ом.

В скобках замечу что утилита exp/imp НЕ УМЕЕТ работать с STDIN/STDOUT. Это важно.

И попробуй это повторить на Windows.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031865
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
И попробуй это повторить на Windows.
Отсутствие штатных утилит создания каналов, ещё не означает, что их нельзя создать в принципе
...
Рейтинг: 0 / 0
Запись в реестр
    #40031869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТоесть не доказали что реестр опасе или вреден или создает перформанс-проблемы.

Во-первых, работа с ним тривиально сложнее. Топикстартер, вон, так и не осилил.
Во-вторых, как я уже сказал, у него нет локальной ветки для пользователя, только
перемещаемая. То есть данные, привязанные к конкретному пользователю И рабочей
станции хранить без извращений не получится.
В-третьих, система считает его своей частью, поэтому бэкапит (и что самое плохое -
восстанавливает) целиком как часть точки восстановления когда ей в голову взбредёт.

Ну и, как всякое структурированное хранилище, иногда он имеет привычку портиться. После
чего следует п.3.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запись в реестр
    #40031875
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonТоесть не доказали что реестр опасе или вреден или создает перформанс-проблемы.

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

Если админ зобанил ветку пользователя - то да. Ну пиши в каталог пользователя. Потом он зобанит
каталог пользователя - ты будешь писать в веб-сокет ну и так далее. До полного абсурда.
Если админ не хочет чтобы софт работал - развеж мы тут ему помешаем?
...
Рейтинг: 0 / 0
Запись в реестр
    #40031876
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
1. Согласен. Не умеет реестр, пусть файл пишет
2. Настройки для всех обычно прав нет. Ну, MS не рекомендует.
3. Бэкап автоматом это супер
4. Портится положения окон? Ну и фиг с ними
...
Рейтинг: 0 / 0
Запись в реестр
    #40031877
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

В-третьих, система считает его своей частью, поэтому бэкапит (и что самое плохое -
восстанавливает) целиком как часть точки восстановления когда ей в голову взбредёт.

А вот это уже интересно обсудить без админа. Просто как частный случай.
Был восстановлен старый снапшот реестра. Каково будет поведение приложения?
Я думаю - программист ответит нам.

Кстати поведение приложения хранящего конфиги на файлах не будет лучше
в данном случае. Тоже обсуждается.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031880
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

maytonТоесть не доказали что реестр опасе или вреден или создает перформанс-проблемы.

Во-первых, работа с ним тривиально сложнее. Топикстартер, вон, так и не осилил.

Не согласен. Я думаю что на файловых операциях мы ТС-а похороним еще быстрее.
Работая с реестром - он работает атомарно к ключами и значениями.

В файлах - больше стейта. Больше аномалий. Файл надо грамотно открыть. Грамотно распарсить.
Модифицировать. И закрыть. Много рутины короче для вместо того чтобы key-value
взят-положить.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031883
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetPrivateProfileStringW - вроде проще реестра
...
Рейтинг: 0 / 0
Запись в реестр
    #40031886
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Sla
GetPrivateProfileStringW - вроде проще реестра

Это вообще полный капец. В msdn пишут что эта функция осталась только для совместимости с Windows-3.1.

Тоесть это не то что тухляк. Это уже археологическая находка.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031891
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Не согласен. Я думаю что на файловых операциях мы ТС-а похороним еще быстрее.
Работая с реестром - он работает атомарно к ключами и значениями.

С ключ-значение атомарно. Но есть ли большая польза от атомарности на уровне одного значения?

Поддерживает ли реестр транзакции? Файл заблокировать то не очень сложно.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031906
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

В реестре есть дерево.
Класс такой в дельфи появился не давно. А в Си?
...
Рейтинг: 0 / 0
Запись в реестр
    #40031909
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton

Не согласен. Я думаю что на файловых операциях мы ТС-а похороним еще быстрее.
Работая с реестром - он работает атомарно к ключами и значениями.

С ключ-значение атомарно. Но есть ли большая польза от атомарности на уровне одного значения?

Поддерживает ли реестр транзакции? Файл заблокировать то не очень сложно.


Вот что-то есть https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regopenkeytransacteda

надо читать и разбираться.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031917
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpНастройки для всех обычно прав нет. Ну, MS не рекомендует.

Похоже, вы, ребята, не в теме. Почитайте на досуге про различия между
FOLDERID_LocalAppData, FOLDERID_RoamingAppData и FOLDERID_ProgramData в условиях roaming
profiles домена Windows. И если найдёте - то же самое про реестр.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запись в реестр
    #40031918
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да не нужны там транзакции.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031919
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Я не только читаю, но пишу туда
...
Рейтинг: 0 / 0
Запись в реестр
    #40031928
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
m_Sla
GetPrivateProfileStringW - вроде проще реестра

Это вообще полный капец. В msdn пишут что эта функция осталась только для совместимости с Windows-3.1.

Тоесть это не то что тухляк. Это уже археологическая находка.

Вроде как с *.ini по другому никак не поработать штатными средствами. А так да, тухляк, начиная с Win7 ее опошлили добавив кэширование в виртуальном реестре, в итоге какие-то криворукие индусы это дописывали, поэтому работает, но иногда запись через WritePrivateProfileString() не происходит.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031930
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton

Не согласен. Я думаю что на файловых операциях мы ТС-а похороним еще быстрее.
Работая с реестром - он работает атомарно к ключами и значениями.

С ключ-значение атомарно. Но есть ли большая польза от атомарности на уровне одного значения?

Поддерживает ли реестр транзакции? Файл заблокировать то не очень сложно.

SQLite - и транзакции, и один файл данных, и один файл исходника, и еще куча плюшек.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031933
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
petrav
пропущено...

С ключ-значение атомарно. Но есть ли большая польза от атомарности на уровне одного значения?

Поддерживает ли реестр транзакции? Файл заблокировать то не очень сложно.

SQLite - и транзакции, и один файл данных, и один файл исходника, и еще куча плюшек.

+1
Но оверхед в цепочке
ini - - > Реестр - - > sqlite
...
Рейтинг: 0 / 0
Запись в реестр
    #40031939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным средством
для работы с файловыми конфигами. Вы все еще работаете с "мешком свойств". Даже не json/yaml.

SQLite надо обсуждать. У него тоже есть оверхед вида "журнал". Мало кому понравится если 1000 раз модифицировав
свойство ваш конфиг умножится в 100 раз по занимаемому месту. Тоесть нужно придумывать какие-то механизмы
самообслуживания. Схлопывания журнала. Или какую-то там архивацию.

В свете всего этого registry по прежнему выглядит привлекательнее.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031940
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Но оверхед в цепочке
ini - - > Реестр - - > sqlite

В смысле? sqlite медленнее читает/пишет чем ini или реестр? ini однозначно тормознее, т.к. индексов не предусмотрено, реестр тоже СУБД, хз быстрее ли он чем sqlite.
Да и не надо супер скоростей для чтения настроек, а если надо, то в переменных кэшировать и будет точно быстрее.
...
Рейтинг: 0 / 0
Запись в реестр
    #40031942
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
SQLite надо обсуждать. У него тоже есть оверхед вида "журнал". Мало кому понравится если 1000 раз модифицировав
свойство ваш конфиг умножится в 100 раз по занимаемому месту. Тоесть нужно придумывать какие-то механизмы
самообслуживания. Схлопывания журнала. Или какую-то там архивацию.

Все уже есть, только включать надо PRAGMA schema.auto_vacuum
...
Рейтинг: 0 / 0
Запись в реестр
    #40031947
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Видите как интересно. За 30 лет эволюции Windows так и не обзавёлся лаконичным встроенным средством
для работы с файловыми конфигами. Вы все еще работаете с "мешком свойств". Даже не json/yaml.

Есть библиотека MSXML.
...
Рейтинг: 0 / 0
25 сообщений из 140, страница 3 из 6
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись в реестр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]