Re[12]: Формат конфигов
От: mbergal  
Дата: 25.06.05 22:23
Оценка:
Здравствуйте, mbergal, Вы писали:

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


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

VD>>>Убедил. Окончательно... Для конфигов нужно изобредать собственные языки на базе синтаксиса разных Кюрлов и т.п.
S>>Не, ну смотря как и что. Кстати, один из самых экзотических (для меня) способов описания конфига — в использовании скриптового языка и инклуда.
S>>Т.е. у нас есть ASP приложение. Все заинтересованные в конфигурации странички включают config.asp с примерно следующим содержанием:
S>>
S>><% 
S>>dim ConnectionDtring, FileOutputPath, AdminEmail, OutgoingSmtpAddress, OutgoingSmtpPort
S>>ConnectionDtring="DRIVER=..."
S>>FileOutputPath=".."
S>>AdminEmail="admin@site.com"
S>>OutgoingSmtpAddress="192.168.2.24"
S>>OutgoingSmtpPort="25"
S>>%>
S>>

S>>Здорово, правда? Кстати, тут есть еще и такое преимущество, что в качестве значений настроек могут выступать не только константы, но и выражения. Что и не снилось ни ини файлам, ни XML .

M>Точно. BTW, такое же используется в Mozilla/Firefox (из всем известных програм).


Ну и конечно-же в Emacs.
Re[35]: Формат конфигов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.06.05 22:26
Оценка:
Здравствуйте, eao197, Вы писали:

E>Например, XML определяет формат записи целых чисел (в десятичном формате, в шестнадцатиричном, в восмеричном, в двоичном)? А вещественных?


http://www.w3.org/TR/xmlschema-2/
... << RSDN@Home 1.2.0 alpha rev. 500>>
AVK Blog
Re[13]: Формат конфигов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.06.05 22:26
Оценка:
Здравствуйте, mbergal, Вы писали:

M>>>В моем случае "неудобство" — это потеря времени и денег. Не XML-ные config файлы позволяют мне в некоторых моих случаях maximize value/cost ratio.


AVK>>Остается только верить тебе на слово, бо доказательств и аргументов никаких.


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


Но с меня то ты требуешь.

M>Вам непонятно — (use cases подобные моим Вы наверное не встречали) — поработать надо и изложить все в какой-то более проясняющей форме.


Не то чтобы непонятно, я вобще аргументов не вижу.

AVK>>>> Самое главное — не выдавать свою привычку за технический аргумент.


M>[...]

M>А, мысль такая — "если кто-то привык в Фаре редактировать ХМЛ файлы — то это не значит что его пользователям это тоже это удобно". Хорошая мысль.

Ровно так же верна подобная мысль и в отношении вашего формата. На что я собственно инамекнул. Однако вы с Пашей то ли не поняли намека, то ли предпочти непонять.

M>OK. Так и запишем — современные IDE "не очень хорошо" помогают редактировать некоторые часто встречаюшиеся XML config files.


Я, кажется, говорил не о редактировании файлов в существующих системах, а в использовании XML в собственных. Ничто не мешало МС написать для основных хендлеров app.config схемы, и тогда бы все прекрасно работало. И еще, на всякий случай напомню, в этой ветке речь идет о полезности XML Schema для конфигов:

E>Справедливо. Но зачем для конфигурационных файлов XML Schema, XSLT, XPATH и пр. понять не могу.

Ну что ж — тогда могу просоветовать попробовать любой современный IDE, понимающий XML-Schema.

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

M>Так что они помогают редактировать то?


XML снабженный схемой.

M>А то придется для примера взять NHibernate mapping file (хотя в общем то это не config file), потому как ничего лучше не знаю.


Не знаю, ни разу не сталкивался. У него схема есть?
... << RSDN@Home 1.2.0 alpha rev. 500>>
AVK Blog
Re[14]: Формат конфигов
От: mbergal  
Дата: 25.06.05 23:20
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


[...]
M>>А, мысль такая — "если кто-то привык в Фаре редактировать ХМЛ файлы — то это не значит что его пользователям это тоже это удобно". Хорошая мысль.

AVK>Ровно так же верна подобная мысль и в отношении вашего формата.


Да, надо — "если кто-то привык в Фаре редактировать config файлы — то это не значит что его пользователям это тоже удобно"

AVK> На что я собственно инамекнул. Однако вы с Пашей то ли не поняли намека, то ли предпочти непонять.


Я намеки иногда трудно понимаю, особенно в технических дискуссиях.
Re[29]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Попробуй объяснить, зачем в классе Compiler такие методы, как


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

GetProjectFiles вообще часть интерфейса класса. Класс используется в том числе и для загрузки проектов в визульных утилитах.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка:
Здравствуйте, eao197, Вы писали:

E>Этот формат хорош тем, что он гораздо читабельнее XML и его правка не требует навороченных визуальных редакторов.


Да уж... куда же более читабельнее.

E>Кроме того, я говорю про C++. Ситуация с Янусом совсем другая, т.к. для C# есть мощная поддержка XML-сериализации со стороны framework-а.


Мощьная поддержка ХМЛ сегодня есть почти везде. Но хочу напомнить, что тема была как раз о Шарпе.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка: :)
Здравствуйте, eao197, Вы писали:

IT>>Расскажи это нашим почётным велосипедистам


E>А что, уже такие звания раздают? Хочу!


IT, сбацай товарищу лэйбачок.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>О! Началось. "Открой Янус, да посмотри!" (c) мой. И где там выражения (ну, хотя бы условные секции) в настройках?


Они там не нужны. Это конфиг а не скриптовый файл.

ГВ> И как ты себе представляешь "универсальный ГУИ" для такого языка?


Глянь, например, msbuild и его API. Там как раз и гуи делается на раз и условные операторы есть правда декларативные но это роли не играет.

VD>>откой его настройки и погляди как редактируется ХМЛ в нем. Потом открой исходники януса и погляди как этот "ХМЛ" вглядит в коде. Думаю ты будешь удивлен, что это просто объект.


ГВ>sic! Семантика Янусовых настроек легко аппроксимируется статичной структурой данных. eao197 приводит пример куда как более сложной ситуации.


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

ГВ>Ещё можно посмотреть на перерасход сил от использования "готовых стандартов" там, где они не уместны.


И кто бы мог подумать? Ну, ты просто открыл мне глаза.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка: +1
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык?


Тут в дотнете один орел рассказывал, что просто шарповские файл в качестве конфига использовал. Говорил что ооочень гибко. Вот только изврат все же и с безопасностью могут быть поблемы.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Формат конфигов
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.06.05 01:39
Оценка:
Здравствуйте, Sinclair, Вы писали:

E>>Следовательно, конфиги лучше писать на C#.

S>Ну, в частности именно такой выбор сделан в WinForms. В отличие от, например, Delphi, где форма описывается внешним ресурсом, в .Net форма сериализуется прямо в код.

Вот в Авалоне МС уже забил на эту идею и использует банальный ХМЛ.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Формат конфигов
От: Шахтер Интернет  
Дата: 26.06.05 02:07
Оценка: 1 (1) +5 -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Шахтер, Вы писали:


Ш>>Попробуй объяснить, зачем в классе Compiler такие методы, как


VD>CheckCsFile и MakePathLoverCase результат декомпозиции. Это часть кода класса вынесенная из больших функций при рефакторинге чтобы не загромождать код и упростить восприятие. CheckCsFile и MakePathLoverCase вещи сугобо спефические и тут им самое место.


Им самое место не в классе Compiler, а в коллекции свободных функций-утилит для работы с именами фоайлов.

VD>GetProjectFiles вообще часть интерфейса класса. Класс используется в том числе и для загрузки проектов в визульных утилитах.


То же самое -- свободная функция-утилита для извлечения списка файлов из файла проекта.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[36]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 26.06.05 06:44
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


E>>Например, XML определяет формат записи целых чисел (в десятичном формате, в шестнадцатиричном, в восмеричном, в двоичном)? А вещественных?


AVK>http://www.w3.org/TR/xmlschema-2/


Интересно, а в каком состоянии это было в 2001-2002 годах?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[37]: Формат конфигов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.06.05 06:57
Оценка:
Здравствуйте, eao197, Вы писали:

AVK>>http://www.w3.org/TR/xmlschema-2/


E>Интересно, а в каком состоянии это было в 2001-2002 годах?


Во-первых там есть история, во-вторых какое это имеет значение?
... << RSDN@Home 1.2.0 alpha rev. 500>>
AVK Blog
Re[38]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 26.06.05 07:53
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


AVK>>>http://www.w3.org/TR/xmlschema-2/


E>>Интересно, а в каком состоянии это было в 2001-2002 годах?


AVK>Во-первых там есть история, во-вторых какое это имеет значение?


Ну хотя бы то, что я начал использовать Curl-формат с 2001 года. И с тех пор много реально работающего кода построено на этом велосипеде. И у меня нет желания менять работающий код на что-то более модное, но менее удобное для меня.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[30]: Формат конфигов
От: TK Лес кывт.рф
Дата: 26.06.05 10:30
Оценка: 1 (1) +1
Здравствуйте, VladD2, Вы писали:

TK>>Не, про то, что "из SQL это делается вовсе непросто"

VD>В 2005 специльный тип. В более ранних версиях подкключаются КОМ-объекты и ДЛЛ-и.

За исключением того, что 2005 еще не вышел, что в 2000 использовать тип TEXT можно только в качестве
параметра SP (т.е распарсить XML можно только в том случае, если его передали из вне), то все замечательно.

VD>Это точно проще чем писать парсер собственного конфига на TSQL.


хм. ну, покажи пример кода который распарсит мне XML хранящийся в поле типа TEXT...

Собственный конфиг (например, java properties) можно распарсить без особых проблем.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[32]: Формат конфигов
От: TK Лес кывт.рф
Дата: 26.06.05 10:34
Оценка: 1 (1) +3
Здравствуйте, VladD2, Вы писали:

TK>>хм. а мне показалось, что ты говорил про использование XML для хранения кофигурационной информации. Или, было что-то еще?

VD>Ну, и что рукопашный парсер лучше?

Лучше тот, который выбран на основе конкретных use cases. Говорить же, что XML это серебряная пуля — не верно. Их не бывает.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[13]: Формат конфигов
От: EM Великобритания  
Дата: 26.06.05 14:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Andrei N.Sobchuck, Вы писали:


ANS>>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык?


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


Я тоже это использовал — я писал билиотечку для стохастического анализа и мне нужно было параметризоввывать ее вероятностными функциями распределения, имеющими практически произвольный вид. Ничего юзабильнее конфига на шарпе я не придумал — если кто придумает — поделитесь )
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Re[30]: Формат конфигов
От: achp  
Дата: 26.06.05 15:03
Оценка: 20 (1)
Здравствуйте, Sinclair, Вы писали:

S>Конечно. Натравливаем на схему соответствующий XSLT и получаем .h + .cpp.


Слишком громоздко.

Когда я решал такую задачу, я достигал результата в два приёма: сначала, используя класс XmlSchema из .Net, преобразовывал схему к промежуточному представлению в XML, а потом уже с помощью XSLT формировал код на Си++.
Re[13]: Формат конфигов
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 26.06.05 17:07
Оценка:
Здравствуйте, VladD2, Вы писали:
ANS>>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык?
VD>Тут в дотнете один орел рассказывал, что просто шарповские файл в качестве конфига использовал. Говорил что ооочень гибко. Вот только изврат все же и с безопасностью могут быть поблемы.

На счет безопасности — согласен.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[39]: Формат конфигов
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.06.05 17:53
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>Ну хотя бы то, что я начал использовать Curl-формат с 2001 года.


Ну и что? Я то говорю о теперешнем состоянии. Более того, в одном из топиков я специально упомянул о том, что все сказаное имеет отношение к вновь создаваемым проектам.
... << RSDN@Home 1.2.0 alpha rev. 500>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.