LINUX.ORG.RU

Без шума и пыли вышла очередная версия кроссплатформенной библиотеки libconfig 1.1.2


0

0

Почему-то на ЛОР мало упоминаний о данной библиотеке. Но я лично использовал ее в нескольких кроссплатформенных проектах и считаю, что она очень проста, удобна в использовании и достойна внимания сообщества ЛОРа :)

Libconfig - простая библиотека для обработки структурированных файлов конфигурации. Этот формат является более компактным и более удобным, чем XML (ознакомится с ним можно на сайте проекта).

Библиотека содержит заголовки для обоих C и C++ языков программирования. Ее можно использовать на POSIX-совместимых UNIX системах (GNU / Linux, Mac OS X, Solaris, FreeBSD) и Windows (2000, XP и выше).

Лицензия: LGPL

>>> Сайт проекта

Ответ на: комментарий от aydef

> а вы уверены что это xml? признаться, меня терзают
смутные сомненья ....

Провалидировал ради интереса. Таки да, не терзайтесь, это - xml :)

anonymous
()
Ответ на: комментарий от miroku108

> Also, XML - это язык _разметки_ и для конфигов его используют только дебилы умственно отсталые, которые ложку мимо рта в ухо несут.

Разработчики KDE и Beryl "дебилы умственно отсталые":
http://developer.kde.org/documentation/library/kdeqt/kde3arch/xmlgui.html
http://xmlgui.tigris.org/

Все уши в ложках.

miroku108, сейчас такой WM/DE с GL эффектами разрабатывает - закачаетесь. Герой! :]

anonymous
()
Ответ на: комментарий от Skull

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

Я тебе повторяю, в чем хранить конфиги исключительно гуевых пользовательских программ - значения не имеет, хоть бинарник. :Е

>Собственно, я ... использую ... для программирования - Kate.

К тебе у меня больше вопросов нет. :D

>Он самоописываемый.

Сам себя опИсывает, говоришь.. =/ Хмм.. тогда уж точно не будет лишним его еще и обкакать. (% (да простят меня за такую мерзость..)

anonymous
()
Ответ на: комментарий от Skull

>Просто не вижу разницы при правке в vi ни обычных серверных конфигурационных файлов, ни XML, ни po-файлов.

Попробуй хоть раз на практике - увидишь.

>Мы цивилизованно питаемся и цивилизованно отдыхаем. А не шляемся по рощам, как гопота драная. ;)

Фигасе! Ты даже переплюнул мои представления о тебе! :D Оратор, видимо, из поколения пепси, для которого жизни за мкадом нет, рожденный в неволе путем совокупления жесткого диска с коредвадуо. ;) А природа - это такой перерижок и атовизм, в которм живут троли и прочие гопники, да. [:

Откуда у тебя четыре звезды, друх? ;)

anonymous
()
Ответ на: комментарий от anonymous

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

chicane
()
Ответ на: комментарий от anonymous

> Сам себя опИсывает, говоришь.. =/ Хмм.. тогда уж точно не будет лишним его еще и обкакать.

Все обсуждение сводится к следующему.

Защитник XML:
Вот есть такие положительные качества у XML.

Противник XML:
Какашкой в тебя, грязное животное!!!

Я не был сторонником XML. Теперь задумался.

anonymous
()
Ответ на: комментарий от chicane

> вон в этом же треде показывали сколькими способами можно описать параметры, или я чего не понимаю? просветите, чтоли...

В этом то вся соль и есть: разные способы, которые легко приводятся (адаптируются) к единому, ибо формат то один.
Если интересно, то стоит один раз попробовать (все вместе: xml, rng, xsl).

anonymous
()
Ответ на: комментарий от anonymous

что значит адаптируются, и как это "легко"? Получается что нам впихивают зюмль, а никто толком не знает как писать конфиги в нем...

chicane
()
Ответ на: комментарий от chicane

anonymous (*) (26.06.2007 0:10:43):
> Если интересно, то стоит один раз попробовать (все вместе: xml, rng, xsl).

anonymous
()
Ответ на: комментарий от anonymous

и еще мне просто не понятно, зачем такие сложности? Ведь, по большому счету, машине пофиг, что парсить (может xml даже и сложнее), а вот человеку - нет, ведь никто не мешает стандартизировать другой, более простой формат для конфигов, зачем из пушки по воробьям?

chicane
()
Ответ на: комментарий от anonymous

> Если интересно, то стоит один раз попробовать (все вместе: xml, rng, xsl).

зачем мне, ради написания простого конфига осиливать все эти погремушки (а конечному пользователю?) Зачем дополнительные сложности?

"стоит попробовать" - это не аргумент

chicane
()
Ответ на: комментарий от chicane

> "стоит попробовать" - это не аргумент

Это не аргумент, это - факт.
Я понимаю, о чем вы говорите.
Вы - нет.

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

Спокойной ночи.

anonymous
()
Ответ на: комментарий от chicane

Анонимусы стоя апплодируют тов. chicane-у. Еще один вменяемый индивид на лоре. Ура товарищи!

anonymous
()
Ответ на: комментарий от anonymous

>Возможно я груб, но почему я вас _нахаляву_ должен учить?

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

>Спокойной ночи.

Пора уже. Вменяемых аргументов от фанатегов мы так и не услышали..

anonymous
()
Ответ на: комментарий от anonymous

> Анонимусы стоя апплодируют тов. chicane-у. Еще один вменяемый индивид на лоре. Ура товарищи!

Упс. Очепятался. "вменяемый".

anonymous
()
Ответ на: комментарий от anonymous

>> "стоит попробовать" - это не аргумент

>Это не аргумент, это - факт. >Я понимаю, о чем вы говорите. >Вы - нет.

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

>Спокойной ночи. извините, но всё, что я у вас попросил, это ответить на мой вопрос: ЧЕМ XML круче других форматов для конфигов? А вот уже вы начали отвечать какими-то нелепыми фразами, предлагающих мне, перечитать стопку талмудов, ради написания конфигов... В общем красноглазие, даже привести плюсы своего поделия не могут...

chicane
()
Ответ на: комментарий от anonymous

>> Анонимусы стоя апплодируют тов. chicane-у. Еще один вменяемый индивид на лоре. Ура товарищи!

>Упс. Очепятался. "вменяемый".

Фигасе! Ты хто такой? Это мой пост был, да и очепятки нету вроде бы.. =\ Ты бы лучше апплодировал в строю с нашими братьями.. )

anonymous
()
Ответ на: комментарий от chicane

в общем не вижу смысла хоть как то рассматривать xml, пока не будет хоть какого-нибудь стандарта, а то глянешь в конфиг гайма - одно, в конфиг гнома - другое, в конфиг brainfuck - так вообщем мозг поломаешь, пока поймёшь какую траву автора курили.

chicane
()
Ответ на: комментарий от anonymous

>Откуда у тебя четыре звезды, друх? ;)

Откуда столько времени у _женатого_ _с ребёнком_ _работающего_ человека?

anonymous
()
Ответ на: комментарий от anonymous

>Защитник XML: 
>Вот есть такие положительные качества у XML. 
> 
>Противник XML: 
>Какашкой в тебя, грязное животное!!! 
> 
>Я не был сторонником XML. Теперь задумался.

Пытаешься поставить себя на место защитника
и ощутить всю его гамму ощущаний?

anonymous
()
Ответ на: комментарий от anonymous

>Откуда столько времени у _женатого_ _с ребёнком_ _работающего_ человека?

Ребенка жалко.. :)

anonymous
()
Ответ на: комментарий от anonymous

Гыг.. Судя по его описанию %), от практики он немного далековат.. :D Манагер, координатор.. Ну да, такие конфиги не правят.. %)

anonymous
()
Ответ на: комментарий от anonymous

>anonymous (*) (26.06.2007 1:09:27)

Устав не читаем? ;)

>Все обсуждение сводится к следующему.

>Защитник XML: >Вот есть такие положительные качества у XML.

>Противник XML: >Какашкой в тебя, грязное животное!!!

anonymous
()
Ответ на: комментарий от execve

>Потому что типа недостаточно структурно.

Это тогда надо не в иксэмель - это в медпункт по психиатрической части.

r ★★★★★
()
Ответ на: комментарий от anonymous

>Т.е. в конфиге содержатся сведения о типе параметра.

Ну и что? Я там могу написать foo = 5 + 8 или bar = $foo + 5? Нет? Ну так в чем прикол тогда?

r ★★★★★
()
Ответ на: комментарий от amix

> Имхо, было бы логично рассматривать их как основную альтернативу нечитабельному XML.

Как тут правильно заметили много велосипедов уже изобретенных для хмл надо изобретать - аналоги XML Schema, x:include, x:pointer, xml:lang и тд.

r ★★★★★
()
Ответ на: комментарий от anonymous

>А зачем в этой строчке дополнительные значки '<' и '/>' ?

А зачем ковычки в стрингах? А зачем {} ? Зачем [] для массивов? Берем rfc4180 и понеслась - чего уж минималистичнее.

r ★★★★★
()
Ответ на: комментарий от eXOR

>Уважаемые разработчики tomcat - я так затрахан вашими конфигами.

Там десяток тегов. Ты что - гонишь?

>Уважаемые разработчики ant - я так затрахан вашими конфигами

А мейком ты не затрахан?

>Уважаемые разработчики Microsoft Office в вашем последнем поделище разбирайтесь сами.

OpenDocument - тоже xml. И давно - еще StarOffice писал в XML. И его разбирать и генерировать проще для собственных нужд чем бинарные форматы.

r ★★★★★
()
Ответ на: комментарий от lester

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

Открой для себя XPath и DOM.

config.select("/MyApp/NewGroup/@newValue").set("1");

r ★★★★★
()
Ответ на: комментарий от frame

>Фанатизм - это когда даже программу размером 40к вы связываете с н-метровой libxml2 для сохранения 2 параметров

shared objects для кого придумали? И для чего? Никакие мысли в голове не крутятся? Что проще и меньше - общесистемная либа 1 штука или в каждой недоутилите свой собственный конфигуратор?

r ★★★★★
()

<?xml version="1.0"?>

<message>

<offtop>

>Без шума и пыли вышла очередная версия кроссплатформенной библиотеки libconfig 1.1.2

Непорядок!.. Исправим!..

>Этот формат является более компактным и более удобным, чем XML

А вот теперь порядок :)

Ща понабежит толпа сторонников и противников XML и разнесёт тут всё нафик...

</offtop>

Ниасилившие XML жалуются: "многа букаф", "неудобно править в блокноте", "нихачу линковать libxml", "трудна читать, глазки балят"...

Вопервых, *.xml.bz, *.xml.bz2, etc никто не отменял.

Вовторых, для правки XML существуют спецсредства. Грамотно составленый специализированый XML редактор НЕ МОЖЕТ СОЗДАТЬ НЕ ВАЛИДНЫЙ ДОКУМЕНТ. А для конфигов вопрос валидности идёт не на последнем месте.

Втретьих, не составит особого труда написать на flex/bizon простой парсер, который извлекает из конфига всё что надо, заодно делает элементарную проверку на валидность. Но это там где не нада всяких дополнительных наворотов типа DTD, xmlns, etc и соответственно не надо прогу тесно интегрировать с другими приложениями.

Вчетвёртых, у всех есть браузер и ничто не мешает воспользоватся всеми прелестями CSS и XSLT. Не нравится как выглядит - сделай как нравится.

<ps>

Скоро закончу и выложу свой браузерный XML редактор. Кому интересно - можете обращатся.

</ps>

</message>

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

> Скоро закончу и выложу свой браузерный XML редактор.

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

anonymous
()

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

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

А еще хочется видеть документацию рядом с параметрами, незахламленную специальным синтаксисом (типа /* &gt;Опячка! */ ). Которой обычно больше, нежели самих правил в конфиге. Поэтому желательна поддержка literate programming.

libxml2 или yaml'ы это умеют, или нужно затачивать (т.е. все равно получится специальная библиотека libxmlconfig, libyamlconfig ...) ?

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

anonymous
()
Ответ на: комментарий от anonymous

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

Например, так:

<key>
  <comment>
    Комментировать здесь.
  </comment>
  <value>
    И вы и конфигуратор выставят значение здесь.
  </value>
</key>

anonymous
()
Ответ на: комментарий от chicane

> в общем не вижу смысла хоть как то рассматривать xml, пока не будет хоть какого-нибудь стандарта, а то глянешь в конфиг гайма - одно, в конфиг гнома - другое, в конфиг brainfuck - так вообщем мозг поломаешь, пока поймёшь какую траву автора курили.

  Первое - конфиг гайма,
  второе - конфиг гнома,
  оба в одном стандарте - xml

  :)

anonymous
()
Ответ на: комментарий от r

> Что проще и меньше - общесистемная либа 1 штука или в каждой недоутилите свой собственный конфигуратор?

Сейчас они спросят, а как же КПК?
В котором они конфиги руками правят :)

anonymous
()

вообщем мои итоги:

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

пользователям xml в конфигах добавляет гемороя, т.к. на глаз конфиг выглядит ужасно и его правка сложней, попробуйте переправить fstab на xml и поймете

плюсов не заметил

lester ★★★★
()
Ответ на: комментарий от anonymous

> Я тебе повторяю, в чем хранить конфиги исключительно гуевых пользовательских программ - значения не имеет, хоть бинарник. :Е

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

> К тебе у меня больше вопросов нет. :D

Ну да, вы же на CLIP не пишите.

> да простят меня за такую мерзость..

Мы толерантно относимся к умственно ограниченным. Так что не волнуйтесь, простим.

Skull ★★★★★
()
Ответ на: комментарий от anonymous

> Попробуй хоть раз на практике - увидишь.

А что я, по-вашему, каждый Божий день делаю? ;)

> Оратор, видимо, из поколения пепси, для которого жизни за мкадом нет

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

> Откуда у тебя четыре звезды, друх? ;)

От присутствия мозгов. Не волнуйся, тебе это не грозит. ;)

Skull ★★★★★
()
Ответ на: комментарий от anonymous

> Откуда столько времени у _женатого_ _с ребёнком_ _работающего_ человека?

Угу. Я ещё KDE локализую. Просто жёсткая самодисциплина и трудолюбие, а также эффективный инструментарий, позволяющий решать прикладные задачи. ;)

Skull ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.