LINUX.ORG.RU

Конфиг и Конфиг.d

 , , ,


0

2

Давно заметил, что куча софта использует формат настроек, где используется конфиг файл <config_name> и директория <config_name>.d для хранения конфигов.

Например apt.sources.list и apt.sources.list.d.

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

Upd: учитывая количество неверно истолковавших мой вопрос, очевидно я ошибся в формулировке. Вопрос не про то, почему так и зачем оно нужно или чем это удобно.

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

Upd: Попробую, ещё раз уточнить что я имею в виду

Вот например man apt.conf, тут описанно что существует директория Dir::Etc::Parts и, что специфичная реализация в дистрибутиве ubuntu использует apt.conf.d. Указанно, как будут мёржиться в конфиг эти самые Parts. По этому документу можно построить совместимую реализацию или протестировать имеющуюся.

Вот man sources.list тут, этот момент - упущен, по крайней мере я не нашёл ссылки из которой следует наличие sources.list.d. И это один и тот же проект.

Перемещено tailgunner из development

Перемещено tailgunner из talks

★★★★★

Последнее исправление: pon4ik (всего исправлений: 3)
Ответ на: комментарий от Stanson

Да, понимаешь правильно, но не хочешь перенести на TDD (видимо в силу религии), где T - это не только юнит тестирование. tdd на одних юнит тестах со 100% покрытием это модель идеального мира.

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

csv - формат передачи данных, а конфиги - внутренняя кухня приложения. Так что, имхо, всё логично.

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

Или в узком сегменте рынка и отсутствии конкуренции. Выбор которого опять же скорее про анализ рынка и маркетинг чем про разработку.

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

Попробуй продать и поддерживать, ну например реализацию map-reduce. Её вполне реально сделать эффективную даже в одно лицо, но выйти на уровень уже имеющихся игроков по функционалу и интеграции в различные сервисы а уж тем более поддерживать, хм. Похоже на сказку?

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

Дык вот, смысл лезть на окученный рынок есть если только у тебя много бабла, либо ты туда пихаешь некую прорывную технологию. которая порвёт всех остальных. Но мне, например, гораздо проще найти узкоспециальную нишу и прорывную (например, вменяемый гуй и человеческий workflow очень часто бывает такой прорывной технологией в подобных сферах, ибо существующее ПО - натуральный адЪ и израилЬ) технологию пихнуть туда очень ненавязчиво, после чего велика вероятность что сработает сарафанное радио в этой области и у меня появится количество денег на хлебушек с икоркой.

В этом нет никакого маркетинга, просто здравая лень и здравый смысл. :)

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

Да, понимаешь правильно, но не хочешь перенести на TDD (видимо в силу религии),

Просто в TDD принципиально другой workflow.

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

Интересная отсылка, спасибо. Хотя, видимо это самое раннее упоминание а не применение?

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

Нет.

Развёрнуто - нет, тот же BDD проповедует написание бизнес кейсов до написания кода. И как ни странно coverity потом тоже замеряется.

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

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

Как не назови, суть не меняется, хоть репу чеши, хоть рынок анализируй.

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

pon4ik ★★★★★
() автор топика
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от Stanson

Итерации есть только они крупнее. Очень мало функционала бывает с одним юзекейсом.

pon4ik ★★★★★
() автор топика

Вот был бы реестр и было бы всё проще.

ls-h ★★★★★
()

Ещё есть такая спецификация: https://www.freedesktop.org/wiki/Specifications/basedir-spec/

Но она не касается иерархии /etc, а определяет переменные среды и каталоги по умолчанию для хранения конфигов, данных и кэша приложений для каждого пользователя в отдельности (~/.config, ~/.local/share, ~/.cache) и глобальных (/etc/xdg, /usr/local/share, /usr/share).

Да, эта спецификация была создана для использования в проектах freedesktop.org, но подход вполне здравый, и его можно применить и в своём проекте.

А внутри каталогов своего приложения никто не мешает использовать какие угодно форматы (properties, YAML, JSON, XML, INI, или даже двоичную сериализацию), разные подходы к разделению конфигов и прочие плюшки.

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

Угу,спасибо, примерно этого я и хотел, только про сабж.

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

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

С другой стороны, нафига им эта спека, это не их профиль же. А обидно вот они и systemd единственные насколько я знаю кто промышляет подобным успешно.

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

Обычно, людям не хватает интеллекта

Несмотря на то, что ты убедительно подтверждаешь это утверждение, это всего лишь частный случай и громкого обобщения до «обычно» ну никак не дотягивает, увы.

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

Тем кому хватает - не хватает ещё больше...

pon4ik ★★★★★
() автор топика

Многому проприетарному софту вообще плевать, например MODO, Maya, 3D-Coat срёт директориями прямо в дом.

MODO это 2 директории, Maya — 3, 3D-Coat — 4.

Имеются в виду не .директории, а обычные, не скрытые.

Написать что-ли об этом неприятном явлении ребятам по соседству в Piglway.

slon
()
Последнее исправление: slon (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.