Alexander
Для совсем простых случаев я использовал https://github.com/sasbury/mini
Roman
А кто каким парсером конфигов пользуется? В стандартной либе ничего не нашел
а чем json не устроил? вот мой пример, с подтягиванием из env и флагов. все на стандартных либах. https://github.com/covrom/easysettings
Anonymous
Использовать для конфигов json - не уважать пользователей. Использую TOML: https://github.com/BurntSushi/toml
Daniel
в стандартной либе есть парсер xml, кстати
Sebor▂▅▇█▓▒░
я вот тоже json не очень люблю для конфигов
Daniel
и он прям хороший (хоть и медленноват слегка)
Sebor▂▅▇█▓▒░
xml как по мне - еще хуже)
Sebor▂▅▇█▓▒░
toml выглядит неплохо
Daniel
в json нет комментариев, и это сразу делает его непригодным для конфигов
Daniel
toml ничего, но комментарии не попадают в структуру после парсинга, и нет возможности выплюнуть конфиг обратно с комментами
Daniel
в реальнрости полнофункционален только xml. но писать его руками - невыносимо :(
Daniel
итого - хорошего формата для конфигов нет не только в go, но и вообще
🏳️ Phil
toml ничего, но комментарии не попадают в структуру после парсинга, и нет возможности выплюнуть конфиг обратно с комментами
А в какую структуру попадают комментарии xml? XML писАть-то ещё ничего. Его читать - пиздец
🏳️ Phil
Глазами в смысле
Daniel
https://golang.org/src/encoding/xml/read.go?s=5406:5454#L116 If the XML element contains comments, they are accumulated in the first struct field that has tag ",comment". The struct field may have type []byte or string. If there is no such field, the comments are discarded.
Anonymous
toml ничего, но комментарии не попадают в структуру после парсинга, и нет возможности выплюнуть конфиг обратно с комментами
Теоретически можно засунуть комменты в тэги полей, но ни разу не видел подобной реализации )) видать не надо такое никому.
Mikhail
Видимо проще доку написать, чем упражняться с конфигами
Sebor▂▅▇█▓▒░
конкретно в моем случае сгодился бы и и ini формат)
Daniel
конкретно в моем случае сгодился бы и и ini формат)
https://github.com/Djarvur/go-ini (это форк, оригинал слишком много выдает дебага)
Alexander
Еще я использовал какую-то реализацию dotenv для go (не могу сейчас прислать ссылку - не у компьютера). Как раз в стиле 12-factor app. Там и формат простой и комментарии есть. Но структура исключительно линейная по понятным причинам
Alexander
source <(sed -E -n 's/[^#]+/export &/ p' ./.env) в консоли
Не спорю. Но не кроссплатформенно и неудобно каждый раз так делать. Да еще и перезаписывает уже имеющиеся переменные
Nikita
я вот тоже json не очень люблю для конфигов
json - это офигенно. Нахер эти тошнотворные ямль и томль. Весь конфиг нахер может сломаться из-за пробела
Alexander
только ini, только хардкор
Viktor
А чем ini плох? Ну, в простейших случаях .
Andrey
xml наше всё!
Anonymous
xml наше всё!
Нее, бинарный encoding/asn1 рулит! Байты экономить надо!
Alexander
и toml с yaml тоже
Alexander
xml - редко могу себе представить, но могу. json - для конфигов, это ппц.
Vladimir
А чем ini плох? Ну, в простейших случаях .
Ini не стандартизован никак. Нет спецификации
Sebor▂▅▇█▓▒░
xml - у джавистов в почете)
Anonymous
xml - у джавистов в почете)
Им чем многословнее - тем лучше ))
Vladimir
Собственно toml это попытка стандартизовать то что принято называть ini
Nikita
TOML ты не видел, да?
Они там раз в неделю по новому появляются, можно постареть пока все пересмотришь
Anonymous
Они там раз в неделю по новому появляются, можно постареть пока все пересмотришь
https://github.com/toml-lang/toml Вроде 0.4 последний вариант. Не вижу "раз в неделю".
Anonymous
Да давайте сразу протобуф
Я б предложил, но там кодогенерация. А asn1 готов к бою из коробки.
Vladimir
Я б предложил, но там кодогенерация. А asn1 готов к бою из коробки.
так а зачем тебе нужен нетипизированный конфиг? )
Vladimir
в котором всякий никому не нужный шлак
Anonymous
так а зачем тебе нужен нетипизированный конфиг? )
Раз xml для конфигов предложили, я справедливости ради вспомнил, что можно ещё и бинарный конфиг держать. ))
Roman
jsonc посмотрите, с комментариями он
Vladimir
можно еще до кучи сразу логи в protobuf писать :D
Andrey
можно еще до кучи сразу логи в protobuf писать :D
а потом героически их читать вручную!
Vladimir
Daniel
Спинным мозгом
Anonymous
А почему бы не сделать файл .install или .recommends заданного формата?
Anonymous
Это разве сложно?
Daniel
а?!
Daniel
зачем?
Viktor
xml - у джавистов в почете)
Неправда. У джавистов в почте .properties
Daniel
которые ini
Viktor
Это с чего это они ini?
Viktor
Похожи но нет.
Viktor
На них кстати спека есть
Viktor
Почти..
Wingman
Может кто подскажет: делаю свой телнет-демон ; есть ли какие-нибудь либы для autocomplete и вот этого всего?
Anonymous
Всем привет, подскажите кто-то уже работал с rtmp протоколом ? Если да то какую либу используете ?
John
может кто чатик подскажет телеграмный по базам данных? конкретно интересуют нереляционки, еще более конкретно aerospike
Daniel
Чата не знаю
Daniel
На вопросы попробую ответить
John
На вопросы попробую ответить
спасибо, есть необходимость отправить запрос в аэроспайк, там или lua скриптом или какими-то встроенными механизмами ожидать что запись появилась, после этого только возвращать ответ. собственно, способен ли аэроспайк сделать это сам? если нет, может есть реальные примеры как это реализовано?
Nafania
Есть @dba_ru такая группа, но там больше про реляционные
John
Эм, так если он ответил что ок, то значит появилась
ну по сути да, я хочу чтобы запрос в аэроспайке висел до тех пор пока не появится запись, а запись появится только тогда когда ее загонит другой сервер, отличный от того что делал изначальный запрос. Общаться между серверами накладно
Daniel
я тут
John
по сути пробовал ковырять lua `function get_session_address(rec) local found = false repeat if aerospike:exists(rec) then found = true else ffi.C.sleep(5) end until found return rec["smth"] end`
John
но в итоге получается запрос блокирующий для остальных коннектов в пуле(
John
коллега, а зачем вы хотите делать это в аэроспайке?
у нас аэроспайк выбран в качестве временного хранилища, in-memory не выдержит объема
John
если есть какие-то альтернативы я с радостью рассмотрю
Daniel
почему ожидание появления записи нельза сделать на стороне клиента?
Daniel
смотрите