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

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

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

> А зачем ковычки в стрингах?

Для гламура. Прикинь, идёт девушка, а у неё - ковычки на стрингах. Угу. От Swarovski. ;)

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

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

Так вот что означает профессия "Аналитик" в Alt Linux...

>От присутствия мозгов.

Ага, нижних полушарий...

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

>Просто жёсткая самодисциплина и трудолюбие...

- необходимые качества флейма на лоре.

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

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

Ну что за бред. Использование libxml2 (как и любой другой библиотеки,
на то они и библиотеки) дает много меньший код,
чем самостоятельное разжевывание конфигурационного файла.
А про "неудобно" вообще не понял.
Удобно пальцем, извините, подтираться.
Вы так и поступаете?

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

Вы проводили исследования на красноглазых кроликах?

> и его правка сложней, попробуйте переправить fstab на xml и поймете

Ну нате (достали уже с этим примером):

<boot mount="/boot" fs="ext2" noatime="yes" noauto="yes" />
<root mount="/" fs="ext3" noatime="yes" />
<swap fs="swap" sw="yes" />
и т.д.

Можно аттрибуты поменять/добавить/заменить на элементы.
Система же поступит согласно одной из имеющихся схем.

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

> Так вот что означает профессия "Аналитик" в Alt Linux...

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

> Ага, нижних полушарий...

Очень остроумно, но совершенно бессмысленно.

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

Мдаа.. приплыли. Выросло новое поколение, классиков уже не читаем.. (

Что ж, клепайте свои говноподелия с хмл-конфигами. ;)

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

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

Нет, маяком: "Решение для серьёзного применения. Красноглазая пионерия в разработку своими грязными руками не залезала". ;)

Кстати, code monkey (по-русски: "быдлокодер") как раз против промышленных стандартов. То есть против XML. ;)

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

>Означает необходимость анализировать ситуацию и давать рекомендации.

Какое это отношение имеет к XML? Или вы дома, забросив жену и ребёнка, этим занимаетесь? Или вместо работы?

>Очень остроумно, но совершенно бессмысленно.

Многие ваши высказывания не лучше...

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

>Кстати, code monkey (по-русски: "быдлокодер") как раз против промышленных стандартов.

Отсюда, правда, не следует, что каждый, кто против промышленных стандартов- быдлокодер.

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

>Первое - конфиг гайма,

>второе - конфиг гнома,

>оба в одном стандарте - xml

я это все вел к тому, что формат неоднозначен сам по себе

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

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

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

коментарий это произвольный текст. поэтому он неизбежно превратится в <comment><![CDATA[ Комментировать здесь. ]]></comment> . Ведь коммент нужен человеку чтобы читать, а не упражнять мозг в разборе ескейп-последовательностей xml .

ты доказал, на xml _можно_ писать конфиги. молодец. )

но с точки зрения админа, они _неудобны_, т.е. античеловечны. если настраивал dbus, hal, fontconf и тому подобную лажу, меня поймешь. если рассуждаешь "чисто теоретически" -- можешь больше не отвлекать.

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

>Завидно?

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

>Кстати, code monkey (по-русски: "быдлокодер") как раз против промышленных стандартов.

Спасибо, не могу не поверить ярчайшему представителю.

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

> конфиг - это _НЕ_данные и _НЕ_ средство взаимодействия программ. Скорее, это средство взаимодействия программы с _человеком_.

+1
Удобство человекa: пользователя/сисадмина/etc первично.

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

><trd01
> id="10234"
> trade_type="equity"
> trade_date="2005-02-21T18:57:39"

И какой процент программистов будет использовать такой вменяемый вариант XML ? 10% ? Формат ini заставляет 99% записывать вменяемо.

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

> но с точки зрения админа...

> если настраивал dbus, hal, fontconf и тому подобную лажу

Админ или юзер?

:)

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

> я это все вел к тому, что формат неоднозначен сам по себе

Формат не задается языком, а есть инструменты языка, задающие формат.

:)

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

> +1
> Удобство человекa: пользователя/сисадмина/etc первично.

-2
Надежность и производительность первичны.
А сисадмина можно и поменять ;)

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

>Надежность и производительность первичны.

Как показывает опыт, надежность обратно пропорциональна сложности. Что проще, XML или plain text?

>А сисадмина можно и поменять ;)

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

anonymous
()

хмель - не уних-вей, а виндовс-вей. Кто проталкивает его в открытые проекты (не как внутренний формат для документов - единственное кажущее обоснованным применение, да и там - кажется постскрипт - вей был бы лучше) - делает это по незнанию или идиотизму. Опыт придёт с годами, и пришедшим в индустрию в последние 7-8 лет, когда преимуществом ентерпрайз-бла-бла-бла-аппликации - было наличие хмеля - будет ясно, что лишняя библиотека, большая часть которой не используется, дополнительные ненужные в системе параметры, дополнительная нагрузка, любое неудобство чтения - это зло, так как усложняет систему и просто приближает границу сложности, то-есть смерть проекта (эффективной разработки или эффективной поддержки). Про данные - не говорим. В больших массивах данных - только фихед-формат или делимитед (чем-угодно), фильтруем на лету уних-тулзами (я правда слышал и про разводящих на бабки клиентов конторах, где 14-процессорные машины молотят хмель-таги (в реальной дате), где тот-же сед - кушал бы и фильтровал со скоростью потока.
ЛДАП кушает текст, оракле-лодер - кушает техт. Ексел и аксесс, которые так любят бухгалтера - сохраняют дату в таб-делимитед. А как красиво перекидовать дату (даже если данных миллионы рекордов) просто написав одну строку или простой скрипт.
Если речь о конфигах - то они - вообще для людей. Написать простой парсер (2 разделителя и один ескапе-символ или как в MIME - быстрее, чем заводить хмл-парсер и таскать его. В больших проектах - конфиги в базе, можно и лдап, но как сказано выше - залодить туда из текста - 10 минут (написать трансформирующий скрипток).
Как я писал ранее - я против и Лисп-производных в конфигах. Иерархия - выше изображена в простом проперти-файле (а.б.ц=ескапед_валуе).


/anode

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

>С заголовком "Без шума и пыли..." я что-то погорячился :-р

Настоящий холивар начинается с заголовка :)

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

>С заголовком "Без шума и пыли..." я что-то погорячился :-р

Уйди, гадкий провокатор флейма! :D

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

Ещё 2 примера. В одном из крупных индексаторов, где я работал по контракту, - никто уже не контролирует гигантский хмель-конфиг (делало много фирм - приходили-уходили) и просто грязно ставят одно и то-же значение - в несколько уровней. Если проперти (всё связанное с секурити, или например - все цвета) должны быть сгруппированы (не говорим вообще про - автоматически отфильтрованы) - этого не возможно сделать с хмель-конфигами, а текст позволяет менять порядок, перегруппировку, даже перегрузку;) пропертей. Некоторые пионеры тащат инверсион-контрол. Поубывав-бы. Я выкорчевал хмель, просто озвучив идеи выше, и на примере. Теперь многие у нас пионеры пишут гораздо проще.

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

> Как показывает опыт, надежность обратно пропорциональна сложности.

Опыт по написанию fstab? :)
Вообще говоря, надежность прямо пропорциональна продуманности.
Простой пример: конфигурационный файл на 1М.
С чем проще работать с XML или посрачным конфигом?

> Что проще, XML или plain text?

XML не plain text? Бинарник? :)

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

> этого не возможно сделать
и т.д.

Каков профессионал! Каков слог!
Образование (среднее специальное) на лицо :)

Рассуждайте дальше.

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

> Какое это отношение имеет к XML? Или вы дома, забросив жену и ребёнка, этим занимаетесь? Или вместо работы?

XML - это способ не изобретать велосипеды.

> Многие ваши высказывания не лучше...

Вас это волнует? Вы хотите поговорить об этом? :)

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

> Спасибо, не могу не поверить ярчайшему представителю.

Нда, с логикой у противников XML величайшие проблемы. Если вы удосужились прочитать мои (и не только мои) высказывания, то поняли, что я не занимаюсь кодированием и не против промышленных стандартов. Так что оба раза мимо. Слив, как говорится, засчитан. Водоёмы жалко. ;)

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

> Опыт придёт с годами, и пришедшим в индустрию в последние 7-8 лет, когда преимуществом ентерпрайз-бла-бла-бла-аппликации - было наличие хмеля - будет ясно, что лишняя библиотека

Пишите ещё! Если можно, приведите пример своих правильных приложений в эпоху глобализации. Можно предоставить и глубокие аналитические обоснования (а не девичью чувствительность). Дождёмся от вас этого или аnode неспособен к глобальному мышлению? ;)

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

>Простой пример: конфигурационный файл на 1М. С чем проще работать с XML или посрачным конфигом?

И с чем вы собираетесь ТАКОЕ редактировать - с текстовым редактором или с парсером?

Ещё раз - загляни в конфиги гнома и скажи, что XML в этом случае лучше.

>XML не plain text?

Ну, судя по большинству постов, XML не plain text, а clean gemorr.

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

>XML - это способ не изобретать велосипеды.

Ага. Сначала был XML. И только потом изобрели велосипед в виде plain text. Жжоте.

С начальством тоже на XML разговариваете? Или plain text поудобнее будет?

>Вас это волнует? Вы хотите поговорить об этом? :)

Не хочу, мне вашу жену жалко... ;)

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

>Если можно, приведите пример своих правильных приложений в эпоху глобализации.

Linux! Unix utilites! Xorg! Ну и т. д.

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

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

<boot mount="/boot" fs="ext2" noatime="yes" noauto="yes" /> <root mount="/" fs="ext3" noatime="yes" /> <swap fs="swap" sw="yes" /> тихий ужас, ты нужную строку тут фиг найдешь, прийдется кучу текста пересматривать

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

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

А программа которая сохраняет не xml конфиги полключает libtelepat и догадывается как было надо тебе?

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

>я не занимаюсь кодированием

А какого хрена ты тут буквы тратишь? :Е

> Слив, как говорится, засчитан.

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

зы: "кодирование" _УЖЕ_ говорит ооочень о многом. ;) в сад, дружок.

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

>А xml ухудшает этот интерфейс. Делает его менее удобным для самого главного - человека.

Смысл xml в интероперабилити. Его можно править руками _и_ автоматическими тулзами _и_ визуальными интерфейсами _и_ ганяется между приложениями в гетерогенной среде.

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

>Что проще, XML или plain text?

В каком месте любой конфиг линукса plain text? Ты что курил?

>Только сисадмин - это ежемесячные расходы, которые желательно сократить.

Уволить что-ли>?

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

>ганяется между приложениями в гетерогенной среде.

Лучше бы хмльщики гоняли лысого, чтобы руки занять..

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

>В каком месте любой конфиг линукса plain text?

Ты прав, бой с извращенцами идет уже на нашей земле.. (%

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

>да и там - кажется постскрипт - вей был бы лучше

Да - сравнил теплое с мягким.

>В больших проектах - конфиги в базе, можно и лдап

Это вообще клиника. "Что вы храните в вашем оракле? - ну как - координаты окна там и время бакапа"....

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

>того не возможно сделать с хмель-конфигами,

Пеши еще. Очень смешно читать. Ты вообще что про XML знаешь кроме того что там теги?

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

>Ты прав, бой с извращенцами идет уже на нашей земле..

Ты вообще знаешь что такое plain text? Или так - слова знакомые произносишь без малейшего понимания смысла?

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

>Смысл xml в интероперабилити. Его можно править руками _и_ автоматическими тулзами _и_ визуальными интерфейсами _и_ ганяется между приложениями в гетерогенной среде.

Ещё одна жертва маркетоидов.
Да больше интероперабилити вашей в строках, _Гораздо_ больше. вы просто не хотите думать. "_и_ автоматическими тулзами _и_ визуальными интерфейсами _и_ " ганяться будет гораздо больше где. _и_ расфасовать данные можно за минуту, а не писать аппликацию/костыль на каждую задачу.

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

>Ты меня с кем-то путаешь? Клоун.

Да нет - вы стройными рядами стоите серой массой и не отличаетесь друг от друга.

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

>Да больше интероперабилити вашей в строках, _Гораздо_ больше. вы просто не хотите думать.

Давай теоретик. У тебя в руках мегалиба - libconfig. Уже построил визуальный редактор? Ты вот _это_ c-подобное поделие называешь "строками"? Как подергал его уже из питона и перла? Разпилил прозрачно на несколько конфигураций если разрастется? Написал валидатор конфигурации?

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

>Пеши еще. Очень смешно читать. Ты вообще что про XML знаешь кроме того что там теги?

Знаем, знаем :)
И пдф генераторы делали (со своми аналогами XSLT- когда XML/xslt под стол ходил) и грамматикой удобной для набора многостраничных отчётов (с вложенными таблицами и даже аналогом SVG - когда последнего в помине не было - 1999). PDF генератор используется многими фин. учреждениями для генерации отчётов кстати и работает как часы по последним данным).
И призы получали от АТ&Т даже - за другие xml проекты ещё в 98.

И ещё много что и где.
потому и имеем право говорить - что говно.

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

>У тебя в руках мегалиба - libconfig. Уже построил визуальный редактор? Ты вот _это_ c-подобное поделие называешь "строками"? я уже высказался против libconfig >... ты не понимаешь. Ты потом поймёшь - попомни мои слова. Нет смысла продолжать. потом надо данные пилить. Учитесь.

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