@scala_ru

Страница 134 из 1499
Nick
29.09.2016
17:36:39
Естественно паблик филд эт зло

Но стеит в акторе тоже зло

Nikita
29.09.2016
17:37:10
актор без стейта как пиво без водки

тогда уже фьючу чтоли использовать

Google
Nikolay
29.09.2016
17:37:22
Nikita
29.09.2016
17:37:28
если стейта нет

Ivan
29.09.2016
17:37:58
вопрос про стейт в акторе всегда тролинг

Nick
29.09.2016
18:01:44
тролите, товарищ
вообще нет, я не дописал слово шаред просто

хз почему, вроде писал

folex
29.09.2016
18:30:40
Шаред стейт в акторе это как?

Чужой если только

Nikolay
29.09.2016
18:32:59
Такое может?)) var counter: Int = 0 class Actor1 extends Actor { def receive: Receive = { case "AAA" => counter += 1 } } class Actor2 extends Actor { def receive: Receive = { case "BBB" => counter += 1 } }

Nick
29.09.2016
18:36:44
Шаред стейт в акторе это как?
как как, просто паблик филд и вуаля

Nikolay
29.09.2016
18:37:01
паблик филд у актора?

но ты же никогда не обращаешься напрямую к актору через инстанс класса, все взаимодействия через ActorRef, невозможно извне что-то сделать с публичным полем у актора, если только ты не делаешь val ma = new MyActor; ma.counter += 1

но если ты так делаешь, значит что-то не так

Google
folex
29.09.2016
19:50:48
Шареный стейт в акторах, меняющийся напрямую в инстансе через рефлекшн -- это плохо.

Nick все так сказал?

Nick
29.09.2016
19:51:02
почему через рефлекшин

он ж у тебя паблик

folex
29.09.2016
19:51:07
а через что?

иии?

типа сохранил инстанс?

Dmitry
29.09.2016
19:52:30
я знаю этот паттерн. делаешь актор систем, и отдельно -- реестр. все акторы при создании записываешь в реестр и мутируешь в них состояние напрямую. акка -- просто так для понтов

Nick
29.09.2016
19:53:13
типа сохранил инстанс?
можно и не сохранять, он уже внутри akka сохранен и никто не мешает тебе достать прямо инстанс актора

folex
29.09.2016
19:53:44
Как?

Nick
29.09.2016
19:53:59
через рефлекшин )

folex
29.09.2016
19:54:00
Nick you have my attention

азаза

Nick Троллить вы не умеете-с, уважаемый

Nick
29.09.2016
19:55:00
ну на самом деле можно и через debug интерфейс спокойно достать)

folex
29.09.2016
19:55:08
Это как?

Что за debug интерфейс? Nick

TestActorRef что ли?

Google
Nick
29.09.2016
19:55:58
jdi в гугле набери

а лучше jpda

folex
29.09.2016
19:57:01
прикольно, буду знать

Nick
29.09.2016
19:58:25
http://docs.oracle.com/javase/8/docs/jdk/api/jpda/jdi/com/sun/jdi/ReferenceType.html#instances-long-

хотя эт читерство, private будет тоже виден)

Alex
29.09.2016
20:04:55
/stats

Combot
29.09.2016
20:04:55
combot.org/chat/-1001034178083

Nikolay
29.09.2016
20:06:30
Картинка буханка троллейбус

Alexey
30.09.2016
07:05:18
кто-то пользовал scalike?

Ivan
30.09.2016
07:05:24
+

Alexey
30.09.2016
07:05:37
оно не умеет само понимать какие колонки у меня оказались в резалт сете?

просто дает мне WrappedResultSet а дальше типа сам?

Ivan
30.09.2016
07:05:53
да

это нормально

Alexey
30.09.2016
07:05:58
печалюшка

еще одно место где можно сделать ошибку :)

IEvgenii
30.09.2016
07:06:12
get quill it =)

Юрий
30.09.2016
07:06:21
над скалайком есть orm обертка, которая так умеет

Alexey
30.09.2016
07:06:50
а мне не нужно орм. мне нужно иметь возможность передать список колонок на вход в том или ином виде и получить в ответ тапл

Юрий
30.09.2016
07:06:52
то есть так и задумано в либо - мы типа очень низкоуровневые, но если чё, то есть орм

Google
Alexey
30.09.2016
07:07:26
quill умеет так?

Юрий
30.09.2016
07:07:30
да

но он compile-time. То есть если нужно делать какую-то магию в рантайме, то он не очень подходит

но вообще quill очень приятный

Alexey
30.09.2016
07:09:30
просто дает мне WrappedResultSet а дальше типа сам?
Он это все сам генерировать умеет из схемы БД

Alexey
30.09.2016
07:11:04
Он это все сам генерировать умеет из схемы БД
У меня список колонок динамический

Ivan
30.09.2016
07:16:19
Погодите, про quill, как он умеет, не понял. В нем же нельзя самому sql писать вроде? Имеется в виду, что в нем можно с помощью его DSL передать список колонок и получить tuple?

Admin
ERROR: S client not available

Юрий
30.09.2016
07:20:01
если список колонок динамический, то вроде нет, квил так не умеет

он из своего дсл в компайл тайме строит sql

и мапит результат на кейс классы

Luger
30.09.2016
07:21:58
В quill есть dynamic queries

Vladimir
30.09.2016
07:22:29
quill очень приятный, согласен. Но он перестает работать, если схема определяется в рантайме. причем иногда очень неожиданные неприятные вещи происходят. Я позавчера попался - мне нужно было имя таблицы передавать в рантайме (вся остальная схема определена на этапе компиляции). В итоге он это скушал без ворнингов, но в рантайме имя таблицы было дефолтовое - выведенное из имени case class-a модели. https://github.com/getquill/quill/issues/501

@Luger_08 да, но схему в рантайме они не переваривают

ну то есть если хотя бы что-то в схеме берется в рантайме - лучше взять другой орм

Юрий
30.09.2016
07:28:37
В quill есть dynamic queries
есть, но они умеют довольно мало. Я разговаривал с разрабоотчиками в гиттер чатике. Произвольный запрос динамически ты не соберешь

это вроде как есть пока только в планах

Luger
30.09.2016
07:30:56
Diemust
30.09.2016
08:18:35
scalike умеет же вынимать все из резалтсета с помощью макросов. def apply(rn: ResultName[WebhookInner])(rs: WrappedResultSet): Table = autoConstruct(rs, rn)

потом доставать так withSQL { select.from(Table as tb).where.eq(tb.uuid, uuid) }.map(r => Table(wh)(r))

Google
Alexey
30.09.2016
09:01:38
что такое wh?

Diemust
30.09.2016
09:05:23
tb вместо wh

кривая копипаста =)

Alexey
30.09.2016
09:05:49
но тогда там будут все поля?

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

Diemust
30.09.2016
09:06:41
ответ туплой типа?

Alexey
30.09.2016
09:17:31
Ага

или hlist

Diemust
30.09.2016
09:18:19
посмотри сюда, мож тут есть такое https://github.com/gakuzzzz/free-scalikejdbc

Alexey
30.09.2016
09:19:17
Это же всего лишь апи фри монады?

осталось разобраться что есть "нормальныая"

Kyrylo
30.09.2016
09:22:20
slick

чем не устраивает?

aeon
30.09.2016
09:22:57
Alexey
30.09.2016
09:26:38
в слике такое я пока не пробовал сделать

Возможно должно получиться, да

Vladimir
30.09.2016
09:29:56
я подозреваю, там в HList это все выльется

Юрий
30.09.2016
09:32:56
где-то я видел толи проект, толи чё, где к слику прикручивали HList

Diemust
30.09.2016
09:33:56
просто фри монадка добавляет возможность лучше работать с контейнерами и там scalaz добавляется, есть возможность это допилить

Vladimir
30.09.2016
09:34:29
где-то я видел толи проект, толи чё, где к слику прикручивали HList
в 3й вроде из коробки уже есть, какой-то их собственный

Страница 134 из 1499