Fork me on GitHub
#clojure-russia
<
2017-06-08
>
fmnoise08:06:36

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

fmnoise08:06:55

это ж просто композиция ф-й по сути

fmnoise08:06:37

например

(r/reduce transducer-function)

artemyarulin08:06:31

а редьюсеры это что подразумевается?

fmnoise08:06:21

clojure.core.reducers

fmnoise08:06:42

хотя вот щас читаю что походу идея та же

fmnoise08:06:49

но трансдюсеры няшнее

fmnoise08:06:03

так что вопрос наверное снимается

fmnoise08:06:38

Use the reducer form of these operations for:

Efficient eager application of a multi-step transformation
Avoiding the dangling I/O resource issues (as seen with lazy seqs)

artemyarulin08:06:45

а дак они диприкейдет же, трансдюсеры заменяют это дело

artemyarulin08:06:21

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

fmnoise08:06:59

хм, зачем тогда хигенботам книжку по ним пишет

dottedmag08:06:21

чтобы продать troll

artemyarulin08:06:14

эм, может он имеет ввиду reduce сам концепт (map <> reduce все дела) а не апи конкретное

fmnoise08:06:28

та не

The reducers library (in the clojure.core.reducers namespace) has alternative implementations of map, filter, and other seq functions. 

fmnoise08:06:06

и My goal is to finish it by October 2017.

fmnoise08:06:21

надо пойти пнуть хигенботама

fmnoise08:06:30

может он не знает что уже устарело)

artemyarulin08:06:56

а хм, интересно. Потом скажи чо как, первый раз вижу чтоб кто-то это апи юзал, а тут прям книга аж

fmnoise09:06:04

ну я написал ему

fmnoise09:06:10

напишу потом чо ответит

misha09:06:34

мне не кажется, что трансдюсеры замена редюсерам, но достоверно не знаю

misha09:06:19

2 треда

artemyarulin10:06:39

лень читать, но по сути больше да чем нет?

misha12:06:03

там по 3 сообщения, типа да, "да"

artemyarulin12:06:03

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

misha13:06:21

господа, по мотивам ecma спецификации:

The source
return
a+b
is transformed by automatic semicolon insertion into the following:
return;
a + b;
NOTE
The expression a+b is not treated as a value to be returned by the return statement, because a
'LineTerminator' separates it from the token return
зачем вообще возможность после ретюрна писать какой-то код? Что там можно такого полезного написать?

artemyarulin13:06:31

дак этож те не кложа - тут реторнов можно быть много 🙂

if (false) return
do-thing()

misha13:06:39

это единственный случай такой?

misha13:06:15

ну в кложе жеж ведь жеж тоже куча ретернов: кейсы, конды, ифы

artemyarulin13:06:29

дак не, в кложе все expression, это не реторн же в понимание жса

misha13:06:10

я просто пытаюсь понять, как можно было написать 4 страницы спецификации по авто-;-инсёршену с нетривиально ветвистыми юзкейсами в контексте "чуваки, у меня было 3 дня на спеку для языка чтоб кнопочками на сайтике мигать, что вы ко мне прицепились-то, а?"

misha13:06:30

не получается представить, как такое "на скорую руку набросать" можно

artemyarulin13:06:49

да забей, нычне это не проблема - счас никто JS руками не пишет, везде ES|CLJS > JS, а компилире ошибок таких не делают

misha13:06:40

я скорее в контексте постижения человечества и мироздания

artemyarulin13:06:10

ты еще спеку пхп почитай и повозмущайся troll

misha13:06:03

не знаю, что ответить даже

misha13:06:11

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

akond14:06:06

со спекой в пхп гораздо легче: её нет

artemyarulin14:06:34

да ну чо правда? стока лет и все еще нету?

akond14:06:46

а зачем она нужна?

akond14:06:54

работает кое-как и ладно

dottedmag14:06:31

@misha Ты не понял, эта спека была реверс-инжерена из реализации.

dottedmag14:06:19

Сначала был джаваскрипт, разный в нетскейпе и ие, а потом была написана спека "типа как работает в браузерах".

fmnoise15:06:07

ответ хигенботома

Yes, reducers are still useful. They have a different purpose than transducers, and one of their huge advantages is they let you easily do parallel computation. You can use transducers in parallel contexts, but their purpose isn’t to make it parallelism extremely simple

artemyarulin15:06:28

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

mike_ananev18:06:24

кто работает с метриками codahale? какой report period под нагрузкой не будет мешать основному коду? (раз в 5 сек например)

mike_ananev18:06:44

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

mike_ananev18:06:36

@nicola уже пробовали postgresql в докер завернуть? как оно? персистанс слой в докере - мой следующий челендж

rmuslimov19:06:24

@mike1452 кто такой codahale?

mike_ananev20:06:49

java либа по метрикам

niquola20:06:55

@mike1452 да все норм - только волюм приаттач - у нас уже год стоит

niquola20:06:32

Кстати ты чем логи в кафку вывел?

niquola20:06:32

Там есть от ребят из zalando patroni для pg

mike_ananev20:06:20

@nicola вывел через logback, вот соответствующий appender https://github.com/danielwegener/logback-kafka-appender

niquola20:06:44

Бери сразу kubernetis - хорошая штука

mike_ananev20:06:47

кстати рекомендую вместо стандартного clojure.tools.logging использовать io.pedestal/pedestal.log "0.5.2"

mike_ananev20:06:31

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

mike_ananev20:06:23

ну и заодно эта либа сразу пишет номер строки, с которой лог был выпущен. довольно удобно.

niquola20:06:06

Может она ещё и opentrace умеет?

mike_ananev20:06:46

а что это такое?

misha20:06:34

кодахеил - чувак такой из санфранциски

misha20:06:31

@nicola доки педестал-лога ведут на доки логбека https://logback.qos.ch/documentation.html

mike_ananev20:06:03

@nicola я смотрю в строну rancher. во-первых, он в качестве движков может использовать разные технологии: kubernetis и еще парочку. во-вторых он легче в установке и у него много интерпрайзных фишек уже из коробки. в третьих делает визуализацию внутренней сети контейнеров. и очень, просто deadly прост в установке

mike_ananev20:06:52

a rancheros вообще ультра хипстерская технология.

niquola21:06:50

Кубик тоже одной командой заводится

niquola21:06:13

А какие фичи тебе понравились?

niquola21:06:00

Кубернетис тоже контейнеру ip выдает

delaguardo21:06:24

https://github.com/dmitrykuzmenkov/yoda вот еще одна штука для оркестрации, невероятно простая и эффективная