@spbpython

Страница 4 из 785
Pavel
15.03.2016
10:21:15
про гуи говорили

Serge
15.03.2016
10:21:20
ты можешь сгенерить ему каркас, в началае, но потом не смей его трогать

где тут про гуй?

да при чем тут? не надо поганить что пользователь написал, хочешь заперсистить в ФС, делай как хочешь, но не туда, где пользователь редактирует

Google
Serge
15.03.2016
10:21:52
вот, автосгенерированный конфиг - это срань в любом случае.

Pavel
15.03.2016
10:21:54
Про гуй далеко выше.

Serge
15.03.2016
10:22:00
возвращаемся к моим словам о хранении конфигурации и интерфейсе для пользователя

еще выще было, про то что конфиг и есть интерфейс, я об этом

Pavel
15.03.2016
10:22:25
Ну хорошо.

Значит, я не об этом.

Тогда хочу просто сказать, что автосгенеренные json, ini – адекватно, yaml – ад.

Первые можно отдать на модификацию, yaml – можно выкинуть.

Serge
15.03.2016
10:23:40
их не надо пользователю показывать

Pavel
15.03.2016
10:23:52
Пример?

Serge
15.03.2016
10:24:04
пример чего?

Aleksandr
15.03.2016
10:24:12
сгенеренный автоматом json/yaml always bad?

Google
Pavel
15.03.2016
10:24:24
Пример ужасного невозможного невложенного json-конфига.

Serge
15.03.2016
10:24:26
есть конфиг, ты его читаешь, и есть файлиг settings, который ты генеришь и все равно в каком он формате

Pavel
15.03.2016
10:25:33
сгенеренный автоматом json/yaml always bad?
Yaml – не всегда, но иногда генерятся всякие именованные сущности и прочая радость, которую редактировать действительно неудобно: хочется подправить одно значение, приходится править много строчек.

Serge
15.03.2016
10:25:34
еще раз, конфигурайционный файл - интерфейс получения инфы от юзера. если ты хочешь заперсистить что-то про свое приложение, сделай это в другое место. и формат этого - это уже разговор про сериализацию и безопасность

формат сериализации не является интерфейсом взаимодействия с пользователем

Pavel
15.03.2016
10:27:05
Не понимаю, какой я из этого должен сделать вывод. Я говорил о редактировании сгенерированного конфига. Ситуация не частая, но штатная. Куда персистить, что персистить? ?

Serge
15.03.2016
10:27:55
сгенеренный конфиг - эт оуже не конфиг, а сериализованные данные приложения

а редактирвоать надо конфиг

Pavel
15.03.2016
10:28:26
Сгенеренный конфиг – это внезапно сгенеренный конфиг.

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

Serge
15.03.2016
10:29:06
$ ls -1 super_puper_bin super_puper_bin.conf .super_puper_bin.db

вот так это надо воспринимать

даже не, пусть он будет сгенерен чем угодно

Pavel
15.03.2016
10:30:12
Я рад, что вы пользуетесь идеальным софтом и/или пишете все свои тулзы с нуля и правильно.

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

Serge
15.03.2016
10:31:05
только это задача генератора - помочь юзеру, но от этого конфиг не перестает быть интерфейсом работы пользователя если PyYAML не может генерить конфиг это не значит, что его надо генеить так. конфиг надо генерить шалонизатором, текстом, потому что суть конифга в том, что юзер его пишет, руками

Pavel
15.03.2016
10:31:25
И я имел опыт со свежими и сгенеренными конфигами ini, json, yaml. Первые боль, вторые правились быстрее всего, третьи ад.

Serge
15.03.2016
10:31:47
Я рад, что вы пользуетесь идеальным софтом и/или пишете все свои тулзы с нуля и правильно.
я пользуюсь немерянным стеком, нигде не т конфигов на json, слава богу, повезло

Pavel
15.03.2016
10:32:02
А мне повезло, что я им не пользуюсь. :)

Google
Pavel
15.03.2016
10:33:07
Была немного странная система деплоя, написанная и активно продвигаемая внутри компании. Она мне не нравилась, но это была "политика партии".

GNU/Docker
15.03.2016
10:33:29
А у нас конфиги ваще на питоне. Валидируются по схеме.

Никаких проблем никто не испытывал.

Pavel
15.03.2016
10:33:54
Также частью политики было развернуть этой системой готовые сервисы, которые были совершенно не готовы к интеграции.

Pavel
15.03.2016
10:34:26
Кстати, конфиги на питоне – неплохая тема.

Serge
15.03.2016
10:34:37
в любом место можно придумать боль. это не проблема формата, а проблема его применения.

Pavel
15.03.2016
10:34:47
и кто теперь про велосипеды;)
Я про велосипеды. Я не хочу делать велосипед для чтения конфига.

Велосипедов, внезапно, может быть много.

И мне хочется на один меньше.

Поэтому, я и говорю – если весь ваш софт идеален, я рад. У меня такого в жизни не было.

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

Serge
15.03.2016
10:39:12
Разговор, напомню, начался с вопроса чтобы поиспользовать, а не конфиги каких форматов легче генерить велосипедом для непонятно какого софта

Pavel
15.03.2016
10:40:54
Ну он им и остался. Я лишь сказал, что на практике оказывается болью.

Вы думаете, что надо ini/yaml/whatever. Кто-то тоже думал.

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

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

И всегда хотелось этих авторов спросить, что ими двигало.

И надеюсь не "json для транспорта".

Google
Serge
15.03.2016
10:59:02
Вот я тут https://telegram.me/spblug пользователям закинул про конфиги. Говорят, yaml

p0123n
15.03.2016
11:03:49
Еще здорово, когда фреймворк поддерживает несколько вариантов конфига. Ну, например, json, yaml и xml. В некоторых ситуациях один из вариантов может быть более удачным чем остальные.

Pavel
15.03.2016
11:04:33
Мне уже надоело. ) Как разработчик/инженер я буду работать с чем угодно. И я даже не буду хотеть сильно ругаться, если кто-то другой случайно стал причинять другим боль ("мы планировали развивать проект три месяца, а ему три года, 100500 sloc и деплой на кластер"). Но я никогда не пойму субъективных предубеждений на старте.

Serge
15.03.2016
11:09:35
а разве на старте в местах, где нет явных требований, бывает что-то кроме субъективности?

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

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

Pavel
15.03.2016
11:15:30
Так требования всегда какие-то есть, и они почти всегда неполные. Дело в другом: бывают разные аргументы в выборе. "Конфиги должны быть такими, чтобы они могли реактироваться моим любимым sed'ом" – не очень хорошая причина. "Мы думаем, что нам не понадобится хранить в конфиге список" – получше.

Serge
15.03.2016
11:16:27
ну да, всё так

поэтому @pragus вернись и выставь требования

Скоро ITGM #7. Ищем докладчиков! https://plus.google.com/+SergeMatveenko/posts/DdUa7bfkph8

Pavel
15.03.2016
11:17:06
Разговор начался с позиции "ненавижу тех, кто делает json-конфиги" и "json никогда не должен использоваться для конфигов". Это тупо предубеждения, ибо речь идет ни о каком-то конкретном проекте, а вообще.

Serge
15.03.2016
11:20:19
я остался при своем

Pavel
15.03.2016
11:21:11
Да здесь все, очевидно, остались при своем.

Но это даже немного хорошо. Обычно в таких случаях я просто понимаю, что не ограничиваю себя заранее в возможностях, и это мне на руку.

Serge
15.03.2016
11:28:38
http://www.meetup.com/spbpython/events/229603774/

Roman
15.03.2016
12:25:38
https://github.com/vstakhov/libucl

Serge
15.03.2016
12:28:00
мне нравится

а ты уже использовал?

Roman
15.03.2016
14:39:46
нет ещё, но думаю. уж очень синтаксис удобный

Serge
15.03.2016
14:41:18
да, и @eigenein одобряе, наверное;)

Google
Pavel
15.03.2016
14:45:14
Выглядит вполне торжественно.

Sergey
15.03.2016
14:45:56
выше ссылку скидывал на https://github.com/hashicorp/hcl, это производное от libucl, на go

Serge
15.03.2016
14:49:02
ну только надо бы им собраться и перестать называть это двумя языками ucl и hcl, а сделать один xCL, который они будут в своих либах реализовывать

p0123n
15.03.2016
14:49:07
https://github.com/typesafehub/config/blob/master/HOCON.md

p0123n
15.03.2016
14:50:01
для питона: https://github.com/chimpler/pyhocon

Serge
15.03.2016
14:51:34
посмотрел, некоторые вещи в HOCON заставляют меня представлять в качестве целевой аудитории этого хищников, а в качестве авторов - чужих

https://github.com/typesafehub/config/blob/master/HOCON.md
где-то на середине страницы захотелось взять огнемет и пойти сжигать кладку авторов

Sergey
15.03.2016
14:55:18
toml еще вроде бы не упоминали https://github.com/toml-lang/toml#comparison-with-other-formats

Pavel
15.03.2016
14:57:57
О, микс ini и json'а. )

Aleksandr
15.03.2016
14:58:26
Я писал про TOML. Первый раз стокнулся с ним в hugo

Это дичь )

Sergey
15.03.2016
14:59:18
чем плох?

Serge
15.03.2016
15:13:55
ну, кстати https://github.com/toml-lang/toml#example такой пофикшенный ini

Roman
15.03.2016
15:38:52
https://github.com/peteut/circbuf/blob/master/circbuf/__init__.py#L113

а это так принято?

Pavel
15.03.2016
15:41:56
Веселый код. Binary tricks, все дела, но мне ничего не понятно, что происходит. )

Dmitry
15.03.2016
15:51:52
Эта битовая магия - тоже самое что "mod size"

Roman
15.03.2016
15:52:50
Sergey
15.03.2016
15:53:01
Перевожу один модуль с java на питон, где активно используются сдвиги влево. Как перевести их на питон?

Serge
15.03.2016
15:53:01
блин

Страница 4 из 785