
Nikolay
02.02.2017
10:06:39
Http().bindAndHandle(config.getString("host"), config.getInt("port"))

Diemust
02.02.2017
10:07:10

Nikolay
02.02.2017
10:07:17
есть доля вероятности что у тебя есть такая(или подобная) строка в приложении. Как поменять без рестарта

Aleksey
02.02.2017
10:07:36

Google

Diemust
02.02.2017
10:07:45
ну бинды никак и не поменяешь, если специально не напишешь для этого логику

Aleksey
02.02.2017
10:07:54

Nikolay
02.02.2017
10:08:11
окей, выходит что проблема уже решена сторонней библиотекой которая реализует релоад конфигов, а остальное можешь дописать сам через def-ы

Aleksey
02.02.2017
10:29:47
ну сам королев да. а само приложение? скажем 500к строк кода
Ну Королеву то какая разница? Королев занимается только тем что выясняет что ты поменял на страничке и сообщает тебе что сделал пользователь. 500к строк это много-много доставалок данных, много-много обработчиков событий, много-много шаблонов и развесистый стэйт (иерархия из sealed trait скорее всего).
То есть на пример у тебя есть
sealed trait Page
case class Page1(...) extends Page
case class Page2(...) extends Page
...
case class Page 200000(...) extends Page
И текущий стейт это Page100500 к примеру. Рендер для не него выглядит так:
val render: Render = {
case state: Page100500 =>
'div("Hello. This page #100500. Go kill yourself")
}
В этом случае королеву будет совершенно плевать 500 строк кода у тебя в приложении или 500000 строк.


Sergey
02.02.2017
10:39:18
Кто то спрашивал зачем нужны акторы если все можно сделать через future
Futures великолепны, когда вам нужно конкурентно обработать набор похожих задач, но как только вы собираетесь создать зависимости между ними, либо хотите, чтобы они выполнялись с какими-то условиями, то сразу попадаете в «ад обратных вызовов». Реактивное программирование – противоядие от этой беды.

Nikolay
02.02.2017
10:40:26
а можно пример?

Denis
02.02.2017
10:51:34

Nikolay
02.02.2017
10:54:25
если есть зависимости - то ты их в любом случае выполнишь последовательно, записав через flatMap или for comprehension. с условиями тоже мне кажется нет особых проблем

Nazarii
02.02.2017
11:03:56
а можно пример?
https://gist.github.com/benjchristensen/4671081 здесь автор RxJava показывает какая боль с Future в Java. В скале монады и аппликативные функторы решают много проблем

Artem
02.02.2017
11:07:23
например CompletionStage

Vladimir
02.02.2017
11:12:49

Google

Artem
02.02.2017
11:13:52
это уже решено

Vladimir
02.02.2017
11:15:24
опа, один в один мой велосипед)
разве что функционал пошире

?Ivan
02.02.2017
11:55:42
val selectedItemF = getUserContext(chatId).map(_.selectedItem)
val cookieF = getCookie(chatId)
val r: Future[Either[String, Future[RecordResult]]] = for {
item <- selectedItemF
cookie <- cookieF
_ <- SubmitRequest(polisInfo,
item.cityId.get,
item.lpuCode.get,
item.specId.get,
item.postId.get,
item.date.get,
item.posId.get,
cookie).run
result <- CreateVisitRequest(polisInfo,
item.cityId.get,
item.lpuCode.get,
item.specId.get,
item.postId.get,
item.date.get,
item.posId.get,
cookie).run
}

Nick
02.02.2017
11:57:29

Nikolay
02.02.2017
12:02:25
чтобы запустить 2 Future одновременно, и не объявлять переменные

Artem
02.02.2017
12:04:58
а вот если захочется 3 ) то тогда доп писанина

Diemust
02.02.2017
12:06:54
написать тему, которая берет N фьючей и возвращает NTuple
TupleN

Nikolay
02.02.2017
12:15:23
думаю что такая тема уже написана

Борис
02.02.2017
12:15:24
А если любишь скобочки можно просто зип несколько раз сделать)

Nikolay
02.02.2017
12:15:47
где-нибудь в cats наверное

Aleksei
02.02.2017
12:16:30
есть штука которая лист фьюч в фьючу листа превращает лол

Diemust
02.02.2017
12:16:57
возникнут проблемы, когда фьючи разные типы возвращают

Aleksei
02.02.2017
12:18:38
ну с sequence да, ну а почему бы не заюзать тогда фор компрехешн?

Diemust
02.02.2017
12:20:25
потому что будет херово выглядеть, когда ты захочешь одновременно запустить 7 фьючей

Nikolay
02.02.2017
12:20:53
val usersFu = getUsers()
val ordersFu = getOrders()
val otherFu = getOther()
for {
users <- usersFu
orders <- ordersFu
other <- otherFu
csv <- writeToCsv(users, orders, other)
} yield csv

Google

Grigory
02.02.2017
12:21:12
тут тоже с разными типами будут проблемы бтв

Nikolay
02.02.2017
12:21:22
в случае с zip?

Dmitry
02.02.2017
12:21:25
блее.. ?

Nikolay
02.02.2017
12:21:39
тут нужно переменные ненужные объявлять, а если zip используешь, то вложенные Tuple будут

Diemust
02.02.2017
12:21:54
еще есть zipped у туплов

Nikolay
02.02.2017
12:21:59
если zip более чем с 2 фьючами

Diemust
02.02.2017
12:22:33
хотя zipped не сработает вообще скорее всего
и зиппед только у Tuple2 и Tuple3, ограниченно =(

Nikolay
02.02.2017
12:42:21
С такими проблемами пора на go переходить, там такого точно нет

KrivdaTheTriewe
02.02.2017
12:44:34

Daniel
02.02.2017
12:46:50
довольно бессмыслено

Nikita
02.02.2017
12:52:36
реактивщина != акторы
В контексте http://www.reactivemanifesto.org вроде как вполне себе реактивщина, или я ошибаюсь?

Alex
02.02.2017
12:57:04
ну это набор базвордов
под реактивщиной обычно понимают датафлоу, т.е., однонаправленный поток сообщений

Nikita
02.02.2017
12:58:22
Акковские стримы под это подходят?

Alex
02.02.2017
12:58:35
стримы да но не сама акка

Nick
02.02.2017
12:59:16

Alex
02.02.2017
12:59:31
акторы/процессы/треды более мощные формализмы, чем датафлоу
поэтому стримы в них выразимы а наоборот нет

Aleksey
02.02.2017
13:41:08
https://twitter.com/mtreskin/status/826789032541687808

Google

Oleksandr
02.02.2017
13:42:59
proto.actor
уже вбрасывали?

Alexander
02.02.2017
13:48:41
Akka для .net же есть.

Diemust
02.02.2017
13:49:41
а для го?

?Ivan
02.02.2017
13:49:42
для go нет ?

Diemust
02.02.2017
13:50:00
ну вот, теперь есть

Vyatcheslav
02.02.2017
13:50:38
https://github.com/AsynkronIT/protoactor-dotnet/blob/5c72be1544e12577ffc1ebe60463c9e70e9385ed/src/Proto.Actor/Context.cs#L31
Все та же ссанина с Any. Неужели нельзя было проанализировать ошибки в других подобных либах

Diemust
02.02.2017
13:51:51
зачем, когда можно переписать другую библиотеку? =)

Oleksandr
02.02.2017
13:52:07
для го без разницы, поэтому так сделано, думаю

Митко Соловец?
02.02.2017
14:49:16
пацаны, хотите загадку? Стикеры со скалой и стикеры с котлином стоят 1 доллар 10 центов, при этом стикеры с котлином дороже стикеров со скалой на 1 доллар, вопрос сколько стоят стикеры со скалой?

Admin
ERROR: S client not available

James Tiberius Kirk ?
02.02.2017
14:49:42
такую задачу можно решить только на скале

Aleksey
02.02.2017
14:49:47

KrivdaTheTriewe
02.02.2017
14:50:43

anton
02.02.2017
14:50:50
хм, а стикеры с гофером бесплатно раздают..
теперь я понимаю почему многие за го..

Митко Соловец?
02.02.2017
14:51:17

?Ivan
02.02.2017
14:56:45
хотя я понимаю почему ты написал для 5, подсказал так сказать.

Митко Соловец?
02.02.2017
14:58:30
в девопс чате первые жертвы этой задачки с гугл-собеседования

Aleksey
02.02.2017
15:09:43
Обсуждение Королева на реддите https://www.reddit.com/r/scala/comments/5rmuij/korolev_singlepage_applications_running_on_the/

Anton
02.02.2017
15:15:23
0.05?

Google

Митко Соловец?
02.02.2017
15:21:24
0.05?
дыа, вы приняты в гугл

Anton
02.02.2017
15:22:54
уже чемоданы собрал )

Nikolay
02.02.2017
15:38:18
а не знает никто, когда slick не майлстоун под 2.12 релизнется?

Евгений
02.02.2017
15:56:16
добавьте гофера спереди
или вокруг штук 5

KrivdaTheTriewe
02.02.2017
16:13:14

Евгений
02.02.2017
16:13:32
:(

Mikhail
02.02.2017
16:31:39

Aleksei
02.02.2017
16:33:32
@fomkin пиаришься не реддите? =) так и надо было прямо с самого начала

Aleksey
02.02.2017
16:34:08

Aleksei
02.02.2017
16:34:34
ясно, я там первый нах для поддержания вопрос задал, btw

Nikolay
02.02.2017
16:34:36

Aleksey
02.02.2017
16:35:35

Nikita
02.02.2017
16:40:05

KrivdaTheTriewe
02.02.2017
16:46:20

Aleksey
02.02.2017
16:49:48
Но вообще прикольно. Отклик есть. Пришли ребята из https://github.com/OlivierBlanvillain/monadic-html порасспрашивали дали полезный совет.

Aleksei
02.02.2017
16:53:38

Евгений
02.02.2017
17:20:08

Nick
02.02.2017
17:20:35

Евгений
02.02.2017
17:20:54
А кто-нибудь тут этот самый Спарк умеет?

Oleg
02.02.2017
17:21:44

Евгений
02.02.2017
17:22:13
А это насколько - в проде запускал?