← All posts tagged programming

А где у нас сейчас модно хранить большие жирные логи с полными или частичными кусками запросов в сервисы и всем таким? Плюс нужен удобный способ поиска по разным параметрам, таким как uuid запроса, уровень ошибки, и прочее. В идеале, чтобы запись в логе была JSON документом.

Хочу хранить список разно структурированных документов (разные документы могут иметь разную структуру) в некотором текстовом формате так, чтобы это можно было потом редактировать руками и хранить в гите, а главное — мержить. Каждый документ должен храниться как минимум в своей строчке, либо в нескольких строках, чтобы можно было мержить изменения в одних и тех же документах, сделанные в базе в разное время. Какие у нас есть варианты? pretty-printed JSON, YAML ... что ещё? Желательно, чтобы была библиотека работы с этим в Haskell.

gist.github.com
Как бы мне вот такой псевдокод писать более красиво и композабельно? Можно взять ResourceT вместо Trans, но он при выходе из монады запустит мне `cleanupRes` а мне этого как раз не надо, поскольку я тут не ресурсы выделяю, а делаю serious business штуки, которые хочется безопасно отменить в случае любых фейлов, а если фейлов не было, то не чистить. И желательно в обратном порядке (последнее cleanup action вызвается первым). Ситуация осложняется большой вложенностью вызовов функций и невозможностью в одном месте сделать такое вот дерево из `catchAll`.

opennet.ru <opennet.ru>
При обновлении GCC 7 некоторые пакеты в Fedora перестали собираться и уполномоченным разработчикам пришлось в экстренном порядке вносить правки (как правило замена printf(variable) на printf("%s", variable)), не дожидаясь реакции мэйнтейнеров
Типы нинужны.

А почему prontf — подобный способ форматирования строк считается более удобным? Это же в сишке появилось не от хорошей жизни, потому что у них нет удобно способа склеивания строк, только функцию вызывать, а printf сам внутри как-то склеивает. Вот у нас в хаскеле тоже есть библиотека formatting, но по факту склеивать тупо `"hello ++ show yoba ++ "!"` удобнее и проще, потому что не надо в уме продумывать, куда там в шаблон какой параметр и как попадёт (если их больше трёх), плюс, удобнее по месту тактически расставлять условное форматирование. Это у погромистов синдром утёнка, или я тупой?

musicpd.org
О! У mpd есть механизм стикеров. Это потенциально позволяет делать любые извращения на стороне клиента. Я вот хочу во время прослушивания иметь возможность быстро (хоткеем через xbindkeys/whatewer) поменить текущую композицию как шлак или годноту, потом собрать статистику по шлачным альбомам и вручную поудалять их из торентокачалки. Видел кто готовое?

Есть дерево "T" , представляющее из себя выражине типа Bool, узлы дерева — логические операторы (and, or, xor, полный перечень зависит от решения), а листья — произвольные логические выражения. Все листья дерева помечены краской. Каждый лист в дереве считать уникальным. Задача: разбить дерево на несколько деревьев, в каждом из которых будут листья одинакового цвета, при этом, должно соблюдаться "(and T1 T2 T3 ...) == T", где T1, T2 — деревья с листьями одного цвета, для любых значений листьев. Листья нельзя выкидывать или использовать повторно в других деревьях, то есть, количество листьев в T должно быть равно сумме листьев в T1, T2 ...

Это случайно не какая-нибудь типовая задачка? Еще небось и библиотечка на хакадже есть?