Fork me on GitHub
#clojure-russia
<
2016-02-22
>
artemyarulin07:02:50

кстати - в кложуре нет ничо типа isDebug? или похожего? Хочу по дефолту чтоб в консоль логи пачками слались во время разработчки, а когда убержар соберу - то ничо не надо

fxposter07:02:58

а что мешает для дева поставить debug level в логгере, а в продакшене - info или даже warn?

artemyarulin07:02:52

дак а ставить на основе чего?

delaguardo08:02:19

так там просто xml с гастройками, один (с debug level) локально, на продакшен - второй с info или warn

delaguardo08:02:39

это если logback обсуждаете

delaguardo08:02:15

вот тут есть пример немного другого подхода - https://github.com/vaughnd/clojure-example-logback-integration

artemyarulin08:02:03

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

fxposter08:02:43

dev-resources/logback.xml для дева, resources/logback.xml для uberjar

artemyarulin08:02:33

ага, спасибо

artemyarulin13:02:39

Первый раз пилю бекэнд сервисы на кложуре - 80% кода это манипуляции листами и мапами. Толи задача такая попалась, толи я свел ее к этому, но прям доставляет радость simple_smile

niquola14:02:17

Да так оно и есть - функции и данные ;)

niquola14:02:58

Правильный уровень гранулярности

niquola14:02:34

Следующий шаг - data dslи

artemyarulin14:02:31

хм, про это я много слышал и все хочу но чота не знаю с чего начать/посмотреть. Может направишь @nicola ?

niquola14:02:44

Что у тебя бэкэнд делает?

artemyarulin14:02:19

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

niquola15:02:18

Можешь алгоритм данными записать?

niquola15:02:07

Какие бэки дергать, как смерджить?

niquola15:02:35

И потом пишешь интерпретатор для этих данных.

artemyarulin15:02:53

хм, т.е. еще больше декларативности

artemyarulin15:02:04

а примеры можешь показать какие интересные?

niquola15:02:52

Например prizmatic и json schema для валидации

artemyarulin15:02:31

хм, ну это специфичные либы. Хотелось бы увидеть более приземленные примеры, микросервис какой, или как с базой работать декларативно там, прочую бизнесс логику например

niquola15:02:19

Ну мы например авторизацию через json schema выразили

artemyarulin15:02:48

ок, надо повнимательней посмотреть

niquola15:02:00

Начни параметризировать и обобщать свои хэндлеры

niquola15:02:58

Поищи в них общее, а разницу попробуй вынести в данные

artemyarulin15:02:55

а ну значит я все правильно делаю, у меня чуть-ли не каждое второе слова в коде это :keyword simple_smile

niquola15:02:58

Если код покажешь - попробую подсказать

artemyarulin15:02:44

ага, я думал уже попросить кого сделать код ревью, приведу к красивому виду и закину куда-нить

niquola15:02:55

Ок. Я обычно начинаю выпрямлять линию исполнения - декомпозируя в pipeline или набор middleware. Потом можно декларитизацией заняться.

rmuslimov19:02:05

ребята, а насколько популярный midje в сравнении со стандартным deftest?

rmuslimov19:02:24

меня смущает что встроенная поддержка в cider для стандартных тестов много лучше, чем у featured libs типа midje

rmuslimov19:02:45

собственно вопрос - кто что юзает и что думает по поводу их сравнения?

artemyarulin20:02:51

о, о в cider есть поддержка тестов?!)

artemyarulin20:02:17

@rmuslimov: а чем не устраивает стандартный deftest?

artemyarulin20:02:42

вопрос кста - есть какие инструменты/тулзы которые покажут неиспользованный require?

rmuslimov20:02:32

да не, проблем нет - хотел подслушать стоит ли юзать midje

prepor21:02:42

> вопрос кста - есть какие инструменты/тулзы которые покажут неиспользованный require? clj-refactor умеет их удалять

artemyarulin21:02:45

хм, а можно этот clj-refactor как часть CI сделать?

artemyarulin21:02:54

чота не понял в чем фишка этого midje кроме разве что watch режима, который достигается с помощью 100500 разных тулз и так

rmuslimov23:02:13

@artemyarulin: ну если притянуть за уши можно написать elisp-скрипт который будет поднимать emacs и делать что нужно

rmuslimov23:02:47

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