
Anatoliy
18.05.2017
10:37:19
Сейчас просто смотрю - вроде не видно..

Aleksey
18.05.2017
10:37:50
Нет.

Wystan
18.05.2017
10:38:21

Oleg
18.05.2017
10:38:41

Google

Wystan
18.05.2017
10:39:22
Я как минимум троих видел. Думаю, повезло мне или тенденция.

Oleg
18.05.2017
10:39:32

Wystan
18.05.2017
10:39:49
Да, один в сингапуре, два других в европке

Oleg
18.05.2017
10:40:19
Может, наши просто самые заметные

Anatoliy
18.05.2017
10:40:36
Нет.
Хорошо, спасибо, дальше буду думать тогда

Mikhail
18.05.2017
10:42:33

Anatoliy
18.05.2017
10:43:18
Ну так это и остается) Просто не думал что пропуск поля не предусмотрен)

KrivdaTheTriewe
18.05.2017
10:43:22

Anatoliy
18.05.2017
10:44:07
Просто не могу удалить это поле, по нему сверка идет, а вот вывод должен быть без него(

Юрий
18.05.2017
10:46:06

Mikhail
18.05.2017
10:46:36

Anatoliy
18.05.2017
10:47:10

Google

Anatoliy
18.05.2017
10:47:14
или не правильно делаю?

Mikhail
18.05.2017
10:47:55

Юрий
18.05.2017
10:48:02
без контекста сложно понять

Anatoliy
18.05.2017
10:48:08

Mikhail
18.05.2017
10:48:30
как?
Ref( ref, model)
- утрированно конечно)

Anatoliy
18.05.2017
10:49:09
у меня есть case class tmp(ActorRef, String, Map[ActorRef, String])
Вот мне надо вывести получается tmp2(String, List[String])

Mikhail
18.05.2017
10:51:31

Anatoliy
18.05.2017
10:52:21
собственно всё. просто пропуск одного из полей при выводе

Юрий
18.05.2017
10:52:52

Anatoliy
18.05.2017
10:53:19

Юрий
18.05.2017
10:53:36
у тебя явно смешаны в одном месте доменные данные и технические данные
сделай явное разделение и проблем не будет
твоя доменная сущность не должна содержать ссылку на актор реф.

Anatoliy
18.05.2017
10:54:56
сделай явное разделение и проблем не будет
просто первый case class содержит в себе активных пользователей и их страницы. И я с ними работаю. Если я хочу просто выдать часть этих данных, просто без актора, я не могу что ли это сделать? странно честно говоря..

Юрий
18.05.2017
10:56:01
активные пользователи и их страницы - это доменные данные. Актор реф не должен быть ВНУТРИ них.

Anatoliy
18.05.2017
10:58:02
эм... видимо я действительно что-то не понимаю... зачем эти данные дублировать если они находятся в одном месте?

Юрий
18.05.2017
10:58:16
затем, что это разные слои

Anatoliy
18.05.2017
10:59:02
Хорошо, где тогда можно прочитать про это? Какие они вообще могут и какой за что отвечает? Если можно - с примерами?

Юрий
18.05.2017
10:59:27
Ты проходил курс на курсере? Там про что-то такое упоминают

Google

Anatoliy
18.05.2017
11:00:26
хм... честно говоря не помню там такого... но это единственное место где рассказывают про слои? ведь я правильно понимаю что они вообще не привязаны к языку?

Юрий
18.05.2017
11:01:36
там на это не акцентируют большого внимания. Но вообще всё довольно просто - сделай доменную модель со своими сущностями и уже от нее пляши. А всякие актор рефы - это чисто техническая часть, которая не относится к ней. Она должна быть сбоку

Anatoliy
18.05.2017
11:03:08
Видимо придется... просто не понимаю зачем фактически дублировать данные... ведь это именно дублирование будет...

Aleksander
18.05.2017
11:04:28
https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

Юрий
18.05.2017
11:04:39
покажи код, так будет понятнее

Anatoliy
18.05.2017
11:07:12
покажи код, так будет понятнее
browser ! Json.obj("type" -> "showActiveUsers",
"data" -> Json.arr(
activeUsers.map { user =>
Json.obj("login" -> user.login,
"pages" -> Json.arr(user.browsers.map(_._2))
)
}
)
)
В общем я такое хотел сделать

Юрий
18.05.2017
11:07:53
покажи класс activeUsers

Anatoliy
18.05.2017
11:08:39
protected[this] var activeUsers: scala.collection.mutable.Seq[ImAlive] = scala.collection.mutable.Seq.empty[ImAlive]
case class ImAlive(login: String, user: ActorRef, var browsers: Map[ActorRef, String])

Юрий
18.05.2017
11:11:55
постой, а как ты собрался browseers отдавать?
там же тоже реф

Anatoliy
18.05.2017
11:13:09
так я и не хочу отдавать ActorRef

Mikhail
18.05.2017
11:13:24

Anatoliy
18.05.2017
11:13:27

Oleg
18.05.2017
11:14:39
вот
всё потому что тебе нужен data class
now official on android

Юрий
18.05.2017
11:18:20
но вообще, что-то у тебя в коде точно не то

Sergey
18.05.2017
11:19:26

Google

Oleg
18.05.2017
11:20:15

Sergey
18.05.2017
11:20:44

Oleg
18.05.2017
11:21:19

Sergey
18.05.2017
11:21:34
ок, Марину в принципе нашел, как и либу
клево что в открытом доступе, молодцы

Юрий
18.05.2017
11:21:51

?Ivan
18.05.2017
11:22:05

Oleg
18.05.2017
11:22:14

Daniel
18.05.2017
11:23:12
правда дц жирным каналом связаны
в энтерпрайзе есть еще "забавные" фичи аля durable delete

Юрий
18.05.2017
11:24:55
для нас важна кросс дц репликация. Вчера обнаружил, что в аэроспайке есть гео запросы и очень обрадовался этому факту (в кассандре без напильника не сделать), но платная кросс дц репликация вернула меня на землю

Daniel
18.05.2017
11:26:01
в платной версии более продвинутая репликация
но стоит проверить, вам может обычного варианта каждый с каждым хватит

Anatoliy
18.05.2017
11:26:59

Daniel
18.05.2017
11:27:11
у нас 2 дц для надежности, поэтому думали еще над вариантом отправлять в оба независимых кластера

Mikhail
18.05.2017
11:27:34
а как тогда должно быть? ну хотя бы в общих чертах?
case class UserLogin(value:String) extends AnyVal
case class ImAlive(user:UserLogin, ref:ActorRef)
case class Link(value:String) extends AnyVal
object BrowsersAlive {
def forUser(user:UserLogin):Map[Link, ActorRef]
def register(user:UserLogin, link:Link, ref:ActorRef)
}
object UsersAlive {
def forUser(user:UserLogin):Option[ImAlive]
}
BrowsersAlive("gogi").keys // links
BrowsersAlive("gogi").("xyandex") // ref for concrete link
это только общее направление. как пример разделения мух и котлет в базовом виде. будет гораздо лучше, чем то, что есть сейчас у тебя

Sergey
18.05.2017
11:29:00
Oleg кстати, для доступа к базе какую либу юзаете? slick, doobie?

Anatoliy
18.05.2017
11:31:01


Daniel
18.05.2017
11:31:36

Google

Nikita
18.05.2017
11:33:07
помнится недавно афир ругал аэроспайк
что он при нетсплитах плохо себя ведет

Daniel
18.05.2017
11:34:56
не совсем недавно, сейчас актуальность не понятна
там могли быть потери данных в период от потери соединения до осознания кластером проблемы
сам период около 2 секунд что ли был

Mikhail
18.05.2017
11:36:52

Alexander
18.05.2017
12:48:59

Sergey
18.05.2017
12:49:38
найс, на 3.2.0 переехали?

Alexander
18.05.2017
12:55:29
когда я уходил, потиху мигрировали на 3, так что вероятнее всего

Oleg
18.05.2017
13:16:22
Где-то slick, где-то не slick
У нас вот не slick

Sergey
18.05.2017
13:16:44
doobie?

Oleg
18.05.2017
13:17:19
Своё

Nick
18.05.2017
13:17:53
olejkadb у них

Kirill
18.05.2017
13:18:15
ToxicDB, ты хотел сказать ))

Sergey
18.05.2017
13:24:40
https://github.com/TinkoffCreditSystems/ScalaDatabase это?

Oleg
18.05.2017
13:26:16
Что-то, что видимо, когда-то с этого начиналось
Там же всё синхронно

Nikita
18.05.2017
13:50:24
@gurinderu я для тебя картинку нашел про ломающийся докер - https://scontent-frt3-1.xx.fbcdn.net/v/t1.0-9/18485579_1309166202537291_8268558682155087676_n.jpg?oh=560e41367e04c50e49a0fb7a2a9ae4d4&oe=5976595E

Nick
18.05.2017
14:17:55
@nikitamatveenko это скорее картинка для авторов докера

Alex
18.05.2017
14:22:35
чо там когда уже vagga взлетит
или этот, забыл название, который консорциум из редхата и его друзей пилил