
Alex
11.08.2016
11:12:07
тогда уже реально проще дуби взять
там внутре эта самая фри манатка и есть

Vladimir
11.08.2016
11:12:48

Warren
11.08.2016
11:19:05

Google

Aleksei
11.08.2016
11:20:29
любого =)

Alex
11.08.2016
11:20:33
все ж любят корутины и интерпретаторы

Diemust
11.08.2016
11:31:31

Oleksandr
11.08.2016
12:39:33
а кто-то смотрел, насколько из-за этих шмонад проседает производительность?
те Н запросов разной сложности, дждбс и *любимая_стучалка_к_бд*
желательно, чтобы итоговый sql был примерно одинаковым, те смотреть только на прямой оверхед

Denis
11.08.2016
16:13:26
Doobie параллельно собирается с cats и fs2

Warren
11.08.2016
16:33:42
причём очень интересным образом реализована поддержка обоих ФП-библиотек. что-то в стиле Си-макросов

Alex
11.08.2016
17:55:03
yax там препроцессор
технологии 70х
выглядит как-то так https://github.com/tpolecat/doobie/blob/series/0.3.x/yax/core/src/main/scala/doobie/hi/resultset.scala#L29-L45

Юрий
12.08.2016
06:39:04
А как это работает?

Aleksey
12.08.2016
07:30:33
Господа, дамы, не забываем регаться на московский митап https://data-monsters.timepad.ru/event/manage/360185/

Google

Alex
12.08.2016
08:24:06
Че там в Киеве со Скала-митапами? Я бы пошел, да что-то не видать

Grigory
12.08.2016
08:26:13
а где список докладов?)

Aleksey
12.08.2016
08:27:31

Luger
12.08.2016
08:45:56
видео же будет?

Aleksey
12.08.2016
08:46:13

Vladimir
12.08.2016
08:50:48
А есть люди которые знают как сделать Work Pull на Akka stream ?

Nikita
12.08.2016
10:03:15
Sink.queue?

Diemust
12.08.2016
10:04:49
или паттер с мастер-актором и воркерами, которые будут просить работу

Vladimir
12.08.2016
10:05:56
Моя текущая реализация как наз на акторах, вот хочу понять можно ли это более лаконично сделать на стримах

folex
12.08.2016
10:26:30
ну на стейдже можно сделать же
он вроде для того и нужен

Vladimir
12.08.2016
10:26:54
Стейдж?

folex
12.08.2016
10:27:13
PushPullStage вот это всё
ваще как сделать не Work Pulling я не понял
там же бэкпрешша
это ж и значит ворк пулл -_-

Nikita
12.08.2016
10:28:41
А чем Sink - очередь не устраивает?

folex
12.08.2016
10:29:00
меня ничем, мне хоть как :)

Vladimir
12.08.2016
10:30:00
work зависит от внешних факторов, то есть я не могу просто сделать коллекцию задач и скормить её в стрим Source для обработки. В общем случае на старте у меня есть набор задач, в процессе обработки этих задач нужно менять критерии распределение задач исходя из того что получилось из обработки предыдщих частей работы

folex
12.08.2016
10:30:33
звучит обычно для акка стримс -_-

Google

folex
12.08.2016
10:31:00
есть сорс, есть синк, в синке что-то происходит, это влияет на параметры сорса

Vladimir
12.08.2016
10:33:29
А можно пример, вот задача, есть Array[Item], нужно что бы первые N Item обрабатывались по 10 Item за заход, а потом по 1
я возможно не понимаю чего-то очень корневого в том как строить эти акка стримы

folex
12.08.2016
10:34:19
пусть оттуда читает PushPullStage, который и следит за этим. Сначала по 10 тащит, потом по 1
Стоит прочитать документацию от и до

Vladimir
12.08.2016
10:35:10
вот за это я люблю рускоговорящее комьюнити :)

folex
12.08.2016
10:35:19
За посыл в документацию?
а где-то бывает по-другому?
smart question на многих языках написано
http://www.catb.org/esr/faqs/smart-questions.html

Diemust
12.08.2016
10:39:19
послать почитать доку по тому, как правильно задавать вопросы - более высокий уровень RTFM

folex
12.08.2016
10:41:09
я бы на входе на любые QA ресурсы заставлял бы всех читать это в обязательном порядке

folex
12.08.2016
10:41:18
Проблемы и задачи решались бы быстрее

Sergey Tolmachev
12.08.2016
10:42:27
люди заходят на QA ресурсы, чтобы не читать

folex
12.08.2016
10:43:19
странное утверждение
люди заходят туда, чтобы спрашивать или отвечать
процент тех кто туда заходит на каждый чих, и ленится предварительно прочитать доку может и велик, но далек даже от половины, я очень надеюсь
так-то QA по сути решает проблему прямой передачи опыта
а это нужно когда ты все свои собственные варианты решения испробовал
вот чтобы все случаи пользования QA были такими, люди должны иметь в голове smart questions или что-то подобное

Google

folex
12.08.2016
10:45:32
должно быть уважение к чужим мозгам

Vladimir
12.08.2016
10:56:41
А есть те кому не жалко пол часа в личку поотвечать на вопросы нуба по стримам?

Dmitry
12.08.2016
11:40:36

Alexey
12.08.2016
11:45:15
ну и да, могу ответить на любые вопросы по стримам

Anatoliy
13.08.2016
06:52:21
Всем привет, народ, а можно пачку глупых вопросов? Меня можно просто послать что почитать :)
В общем как правильно разграничивать фронт и бэк? Бэкенду в принципе возможности фронта не нужны, он может работать сам по себе. Но - фронт может быть, и быть он может разным, как веб так и не веб, и если не веб - у меня еще какие то мысли есть, то с вебом - я почему то постоянно думаю в сторону брать данные из БД..., но там будут не все данные... и как быть?

Daniel
13.08.2016
07:58:02
> я почему то постоянно думаю в сторону брать данные из БД..., но там будут не все данные... и как быть?
ничего не понял.

Anatoliy
13.08.2016
07:59:48

Admin
ERROR: S client not available

Anatoliy
13.08.2016
07:59:58
Или я слишком всё усложняю?

Warren
13.08.2016
08:04:49
если я всё правильно понимаю (в чём не уверен) тут проблема стоит не в том как разделять фронтенд и бэкенд, а в том как и связывать

Anatoliy
13.08.2016
08:05:00
Да

Warren
13.08.2016
08:05:45
то есть если хочется бэкендом спросить у клиента «что сейчас происходит», то нужно использовать что-то дуплексное, в случае вэба - вебсокеты

Anatoliy
13.08.2016
08:06:08
не у клиента, клиенту хочется спросить бэкенд что у него происходит

Daniel
13.08.2016
08:06:57
прогресс процесса? ну значит надо делать состояние с флагом этапа
это как самый примитивный вариант

Viacheslav
13.08.2016
08:07:27

Anatoliy
13.08.2016
08:07:30

Daniel
13.08.2016
08:07:48
вот прям напрашивается CQRS

Google

Warren
13.08.2016
08:08:01
да. Event Sourcing точнее

Anatoliy
13.08.2016
08:08:11

Warren
13.08.2016
08:08:12
нет ничего плохого в том чтобы писать состояние в постоянное хранилище

Daniel
13.08.2016
08:08:52
> клиент должен знать что вообще этот бэкенд есть
ну как бы так всегда

Warren
13.08.2016
08:09:16
…фронтенд как минимум откуда-то загрузился

Daniel
13.08.2016
08:09:44
или куда то подключается (если нативная аппликуха)

Warren
13.08.2016
08:10:10
я думаю тут стоит конкретизировать решаемую задачу, что за приложение, что за сервер. пока что слишком много неизвестных

Daniel
13.08.2016
08:10:19
вебсокеты лишь транспорт, а тут архитектурный вопрос

Anatoliy
13.08.2016
08:10:50
> клиент должен знать что вообще этот бэкенд есть
ну как бы так всегда
в моем случае клиент - это просто фронтенд, он может что-то узнавать у базы, это - максимум, вся работа идет на бэке, т.е. получается что клиент должен как-то быть связанным с бэкендом что бы можно было с ним общаться. Плюс - если брать веб - это получается сайт который должен спрашивать информацию не у БД напрямую, а через бэк, вот и интересует как это можно сделать лучше
Как-то так запутано
Хотя фактически получается прослойка - БД - бэк - фронт(может быть не один)

Warren
13.08.2016
08:11:57
я думаю тут вопрос всё-таки в транспорте
тогда как самый просто вариант - REST
вебсокеты использовать только если они реально нужны

Anatoliy
13.08.2016
08:13:36
ну хорошо, допустим, но тогда веб должен дергать другой веб получается? пусть и не только через get/post?

Daniel
13.08.2016
08:14:05
какой другой?

Warren
13.08.2016
08:14:07
первый веб - это фронтенд?

Anatoliy
13.08.2016
08:14:13
да, первый - фронт

Warren
13.08.2016
08:14:24
так все веб-приложения и работают
веб дёргает за веб

Sovent
13.08.2016
08:14:46
Да, совершенно нормальная практика, когда фронтенд через апи взаимодействует с бэкендом

Warren
13.08.2016
08:15:07
я бы даже сказал «пожалуй единственная нормальная»