
Александр
23.01.2018
19:26:50

Nick
23.01.2018
19:27:11

Jey
23.01.2018
19:30:34
Окей, сам себе ответил: https://stackoverflow.com/questions/16787163/get-a-java-lang-reflect-method-from-a-reflect-runtime-universe-methodsymbol

Александр
23.01.2018
19:30:45
он оказываеться у меня даже скачан был

Google

Nikita
23.01.2018
19:30:53
Лул)

Александр
23.01.2018
19:32:55

Nikita
23.01.2018
19:34:27
А я в одном проекте видел простецкую ошибку, context.become без дискарда был, стек поведения рос бесконечно
Еще часто много актров создают одноразовых и забывают idle timeout

Александр
23.01.2018
19:42:28

Nikita
23.01.2018
20:00:25
вот этого не понял
context.become(behavior(newState), discardOld = false), есть такой подход, когда ты в своем поведении еще хранишь состояние. Но даже без хранения состояния можно забить хип джвм, ведь стэк поведения растет при таком использовании (discardOld = false)

Александр
23.01.2018
20:30:56

Andrey
24.01.2018
06:44:14
Коллеги, можете посоветовать что-то вроде foldLeftWhile? Надо сделать агрегатор по коллекции с прекращением итераций по некоторому условию, зависящему от агрегируемого значения.

Oleg
24.01.2018
06:48:47

Andrey
24.01.2018
06:52:01
Можно и с котами. Заодно изучу это дело.

Daniel
24.01.2018
06:58:09

Oleg
24.01.2018
06:59:50

Google

Oleg
24.01.2018
07:00:35
но самый очевидный способ
.iterator.scanLeft(...).find(...)

Andrey
24.01.2018
07:14:34
find и scan не подходит потому что если условие не выполняется нужно доходить до конца коллекции и возвращать рез-т для полной коллекции.

Daniel
24.01.2018
07:16:55

Oleg
24.01.2018
07:16:59
так тебе нужно значение последнее, которое удовлетворяет?
или первое, которое не удовлетворяет?

Andrey
24.01.2018
07:22:07
Я сканирую коллекцию и разбрасываю результат на две коллекции в агрегаторе Right[]но если очередной элемент не сочетается с собранным результатом, надо вернуть Left[Err] и остановиться. Или дойти до конца и вернуть Right[].

Nick
24.01.2018
07:22:43
слишком частный случай, пиши свой метод

Oleg
24.01.2018
07:29:50

Andrey
24.01.2018
07:43:29
Спасибо. То, что нужно.

Vadim
24.01.2018
08:26:59
господа,принципиальное различие между котами и scalaz есть?

Grigory
24.01.2018
08:27:28

Vadim
24.01.2018
08:28:00
спасибо

Nick
24.01.2018
08:30:07

Eugene
24.01.2018
08:34:57

Vadim
24.01.2018
08:36:01

Grigory
24.01.2018
08:36:42
да и структура проекта / импортов у котов лучше

Oleg
24.01.2018
08:45:35

Google

Oleg
24.01.2018
08:45:50
но там всё понамешано
плюс много частных различий в подходах

Alex
24.01.2018
08:52:23
надо голосовалку сделать, кто за cats, кто за scalaz

Grigory
24.01.2018
08:52:53
Ещё кто за сбт и кто против

Oleksandr
24.01.2018
08:53:35
а кто за? Оо

Alex
24.01.2018
08:53:44
только @kotlin_lang против

Oleg
24.01.2018
08:54:07
кто за монады, кто за комонады
странная голосовалка
Y No Both

Nick
24.01.2018
08:54:37

Oleg
24.01.2018
08:54:42
Хотя scalaz ни в одном проекте нет
Так технически пришлось бы голосовать за котов

Oleg
24.01.2018
08:55:11
Но я за то, чтобы были оба

Alex
24.01.2018
08:55:37

Oleg
24.01.2018
08:55:40
Появились коты, и скалаз полезли всё модуляризировать у себя, переделывать стейт и т.п.
Появился бенчмарк лысого и Александру полез оптимизировать Таск и котовий ИО

Daniel
24.01.2018
08:56:10
прям как cabal vs stack только с положительным исходом

Oleg
24.01.2018
08:56:14
Конкуренция - хорошо

Daniel
24.01.2018
08:56:33
ну вон у хацкеллистов че то не выходит

Oleg
24.01.2018
08:57:16
А когда хаскелёвое сообщество пять лет обсуждало сделать Applicative => Monad в base - нехорошо.

Google

Oleg
24.01.2018
08:58:30
Если бы была конкурентная либа с коллекциями, и у нас бы давно всё поправилось

Vladimir
24.01.2018
09:02:25
вопрос знатокам: есть какой-то тайпкласс, который мне позволит описать SomeId => String, String => [Option[SomeId]] ? Если нет, как его обозвать?

Oleg
24.01.2018
09:02:46
но это не то, чтобы тайпкласс
если очень хочется, можно его имплиситно юзать, но не пробовал

Ilya
24.01.2018
09:04:50
Подскажите: в акторной парадигме часто юзается своеобразная инициализация акторов(коннект к базе данных и т.п.). Можно ли такое поведение реализовать как-то по другому без акторов?

Oleg
24.01.2018
09:05:12

Ilya
24.01.2018
09:05:21
Какие варианты?

Admin
ERROR: S client not available

Александр
24.01.2018
09:07:02
? Что юзаем, скаланы ?
Коты [12]
├ Vladimir Sam
├ Oleksandr Olgashko
├ Alex
├ Dmitry Zuev
├ Nick Pavlov
├ Viacheslav
├ Andrey Sugak
├ Evgeniy Norin
├ Vic
├ Sergey Gerasimov
├ Bulat F
└ Alex
scalaz [0]
ниасилятор [9]
├ Александр Куратор
├ Oleg Nizhnik
├ Alexey Gorobets
├ Daniel Matveev
├ Igor
├ Vadim Ippolitov
├ PepRoll
├ Kirill Shelopugin
└ Николай Артамонов
? 21 people have voted so far

Vladimir
24.01.2018
09:07:03
У нас были коты, мыши, тысячи строк ивентсорсинга и часы потраченные на ддд, недоделанная ио-монада и целое множество тайпклассов всех сортов и расцветок, а также метрики, nosql и дюжина кластеров акки. Не то чтобы это был необходимый запас для скалы, но если начал собирать дурь, становится трудно остановиться. Единественное, что вызывало у меня опасения — это оптики. Ничто в мире не бываел более беспомощным, безответственным и порочным, чем функциональные зомби. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Oleg
24.01.2018
09:07:04
полагаю, стоит сузить круг наших ответов, какую конкретно логику ты засовываешь в актор , можно предложить всякие варианты со стримами, с моником и с руками

Vladimir
24.01.2018
09:07:16

Ilya
24.01.2018
09:08:00
Конкретно: коннект допустим к БД, после чего актор переходит в статус initialized. Если подключиться не получается, то всех отфутболивает и пробует переподключиться через минуту.

Александр
24.01.2018
09:08:18

Ilya
24.01.2018
09:08:47
Хочется чтобы был просто класс без акторов, а состояние передавалось как-то по другому.
Я думаю в сторону State, но не уверен что это хороший путь

Eugene
24.01.2018
09:09:52
@groupagreebot scalaz
как этой штукой пользоавться? в смысле опросником а не scalaz )

Александр
24.01.2018
09:22:33

Google

Ilya
24.01.2018
09:22:49
Интересно изучить разные варианты. В самообразовательных целях.

Александр
24.01.2018
09:23:52
я правильно понимаю, что сейчас состояние в себе хранит актор для коннекта в бд, и из него это состояние есть желание вынести ?

Ilya
24.01.2018
09:24:09
Угумс

Александр
24.01.2018
09:41:06
есть шанс попасть, интересно
http://scala-lang.org/blog/2018/01/09/multilingual-chatrooms.html

Daniel
24.01.2018
09:42:01

Александр
24.01.2018
09:44:43
интересно добавят ли канальчик в список
есть твиттер у кого ? написанно что этому гшосподину нужно писать
https://twitter.com/propensive/

Daniel
24.01.2018
09:45:37

Александр
24.01.2018
09:45:45

Kirill
24.01.2018
10:23:48
@gurinderu Скажи, можно ли в дуби откатить всю транзакцию, если одна из N вставок не удалась? Например, если у меня for { r1 <- insert1; r2 <- insert2 } , было бы круто, если бы в случае фейла insert2, я мог бы откатить вообще всю транзакцию с самого начала

Nick
24.01.2018
10:24:22
insert эт что?
Update0 ?
или ConnectionIO ?

Kirill
24.01.2018
10:26:08
Update0

Nick
24.01.2018
10:26:35
Kirill в общем не суть, все под transact запустится в одной транзакции

Kirill
24.01.2018
10:26:48
найс, спасибо

Nick
24.01.2018
10:27:13
и скорее всего эт всеж ConnectionIO либо ты забыл .run )

Kirill
24.01.2018
10:27:36
ну да, я написал по быстрой с телефона

Vadim
24.01.2018
10:59:35
Я вот думаю, почему по дефолту незя фолдить булен в скале? Приятнее же чем иф