![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В поисках парсера ini-файлов наткнулся на эту библиотечку. Форкнул себе (в т.ч. и на гитлаб с битбакетом). Но мне не понравилась структура хранения данных и то, что каждый раз при необходимости увеличить размер хранилища его удваивают.
Сделал хранение раздельным: для каждой секции ключи хранятся в своем массиве данных.
Добавил сортировку по хэшам (для бинарного поиска в больших ini) и сортировку по именам (для красивого сохранения в файл).
Вроде бы работает.
Кому интересно — попробуйте потестировать.
Сделал хранение раздельным: для каждой секции ключи хранятся в своем массиве данных.
Добавил сортировку по хэшам (для бинарного поиска в больших ini) и сортировку по именам (для красивого сохранения в файл).
Вроде бы работает.
Кому интересно — попробуйте потестировать.
no subject
Date: 2016-09-28 12:12 am (UTC)no subject
Date: 2016-09-28 05:11 am (UTC)С++ слишком сложный язык для моих элементарных хотелок.
no subject
Date: 2016-09-28 04:07 pm (UTC)С++ можно использоваться на том уровне, который хочется ...
Можно вообще писать как на С (учитывая разницу стандартов:), используя нужные классы библиотек как черный ящик, как на "С с классами", а можно и вполне объектно и с прочими извращениями с контейнерами, шаблонами и прочим ...
Другой вопрос требования как к пожираемым ресурсам приложением, так и его написанием ...
Я вон написал вообще всю мониторилку и прочее для дачи, что работает на малине, на третьем питоне ... Отчасти совместил приятное с полезным :)
Если же хочется производительности, простоты, и т.д., то сейчас вроде как принято это на go писать и Роберт Пайк пророк его :) Сам не пробовал ...
Конфиги же все я чаще всего использовал в json-подобном формате модуля config из питона, на третьем питоне перешел на просто json (правда, с jsmin`ом, который убирает комменты).
Сейчас в виде эксперимента в прикладных скриптах использовал для интереса yaml ... Не скажу я что в восторге, но компактно, читается ничего ... Но пока все свое скриптохозяйство на него переводить не готов.
no subject
Date: 2016-09-28 04:47 pm (UTC)> go
Это — вообще жесть! Проще удавиться!
> json
У меня есть велосипед для работы с JSON, но таки на мой взгляд конфиги удобней писать в ini-формате. А JSON — это уже для сериализации передаваемых по сети данных, компу с ним работать проще, чем человеку.
no subject
Date: 2016-09-28 04:54 pm (UTC)У меня еще руки не доходили го применить где-нибудь, но знакомые, кто использует, хвалят, причем говорят что достаточно дуракоустойчивый инструмент, даже если частями аутсорсить ... Причем говорят даже явщики ...
Мне json-подобный формат нравится тем, что он нормально читается в случае многоуровневых структур ... Если так нравится ini-формат, я бы еще раз предложил попробовать yaml.