@scala_ru

Страница 944 из 1499
Daniel
19.09.2017
12:47:17
А есть какие-нибудь годные cheatsheet по спарку и/или плею?
https://www.gitbook.com/book/jaceklaskowski/mastering-apache-spark/details правда там чуть-чуть много

Андрей
19.09.2017
12:47:26
/toxic

/toxic

Евгений
19.09.2017
12:47:38
/toxic

Google
Евгений
19.09.2017
12:47:59
/verytoxic

Kirill
19.09.2017
12:48:07
чё сразу токсик-то

Andry
19.09.2017
12:48:33
Alexander
19.09.2017
13:01:55
/toxic

Kirill
19.09.2017
13:04:15
да не умеет бот еще это делать, Даниил же говорил вроде

folex
19.09.2017
13:04:45
я думаю все просто тыкают на команду, и она постится. Сомнительное UX решение канеш.

/toxic

/shrug

Denis
19.09.2017
13:11:53
В Италии что-то знают :)



Aleksei
19.09.2017
13:12:38
что то? мне кажется вполне конкретное знают, например, итальянский язык =)

Henadz
19.09.2017
13:13:44
туалет типа Лестница



Google
Denis
19.09.2017
13:14:02
Why so serious? )

Nikita
19.09.2017
13:15:31
в Германии у меня был точно такой же!

Mikhail
19.09.2017
13:32:30
это не в котлин ресторане?

Oleg
19.09.2017
14:04:00
коресторан

Reactive Sink implementation for scala

Ramon
19.09.2017
14:12:44
/toxic

Daniel
19.09.2017
14:29:14
походу надо хоть что-то привинтить на /toxic слишком популярный запрос))

Grigory
19.09.2017
14:30:34
бота который будет ссылку на аккумонгу отправлять по этой команде

Kirill
19.09.2017
14:31:09
бота, который будет меншн Олега делать

Nikolay
19.09.2017
14:42:19
гифку с бритни

Vyatcheslav
19.09.2017
14:45:39
Aleksey
19.09.2017
14:49:38
уже уехал? Oo
Ну вот сижу в паровозе.

Grigory
19.09.2017
14:51:06
Ну вот сижу в паровозе.
шож ты такой внезапный

Aleksey
19.09.2017
14:51:20
Сначала брал на одиннадцать, а потом подумал, что я блин сижу, ни кто со мной пить не хочет, сдал билет и купил новый на шесть.

Vyatcheslav
19.09.2017
14:52:01
блин :( как-то некогда было проверить скала-чатик

Aleksey
19.09.2017
14:52:22
Grigory
19.09.2017
15:40:54
@fomkin ты когда в мск перезжаешь?

а наврен интернета нету уж укатил за час в дали

Aleksey
19.09.2017
16:02:10
Google
KrivdaTheTriewe
19.09.2017
16:43:58
Не сталкивался кто с таким склайкеджбс (2.10) package macros contains object and package with same name: blackbox

.ivy2\cache\org.scalikejdbc\scalikejdbc-interpolation_2.10\jars\scalikejdbc-interpolation_2.10-2.5.2.jar(scalikejdbc/SQLSynt axSupportFeature.class)' is broken [error] (class java.lang.RuntimeException/error reading Scala signature of SQLSyntaxSupportFeature.class: package macros contains object and package with same name: blackbox

Grigory
19.09.2017
17:08:41
@krivdaallstarts попробуй флаг -Yresolve-term-conflict ?

Евгений
19.09.2017
17:15:16
/toxic

Сорри)

a.
19.09.2017
17:41:06
Чат, подскажи. Пытаюсь разобраться с akka-persistence и CQRS подходом на примере простого сервиса управления пользователями. Примерно так я себе представляю реализацию: https://pastebin.com/bdwSKiuf

насколько это правильно\неправильно?

a.
19.09.2017
17:56:14
Эххх...

А че компилятор пишет?

Aleksei
19.09.2017
17:59:21
/toxic

KrivdaTheTriewe
19.09.2017
18:00:27
@krivdaallstarts попробуй флаг -Yresolve-term-conflict ?
scalacOptions ++= Seq("-Yresolve-term-conflict:package") собрало, спасибо

Oleg
19.09.2017
18:00:37
Говорит "Моё увожение, все дела, я не могу нарадоваться на ваши архитектурные изыски. Но разве юзер-сторейдж это не одна из наболее чувствительных к целостности предмедных областей? Неужели вы действительно по собственной инициативе готовы пропускать через эту вашу ивентсорсовую эвенчуал консистенси запросы на регистрацию"

Arthur
19.09.2017
18:01:15
лол

KrivdaTheTriewe
19.09.2017
18:04:22
a.
19.09.2017
18:17:06
юзер-сторэйдж просто первый пришедший в голову пример, видимо не удачный

Max
19.09.2017
18:52:16
нормальный пример - вполне реализуемый на cqrs эвенчуал консистенси здесь не причем - агрегат держит состояние о существующих логинах и консистентно проверяет уникальность я правда не очень понял про UserCommandProcessor: - это отдельный актор такой? на самом деле лучше создавать агрегаты именно по консистетной области - тоесть для регистрации лучше создать какого нибудь UserRegistrator который будет знать что есть пользователи и у них есть логины

лучше я думаю на это ответит @notxcain - но сюда по унитазу он в италии сейчас))

Google
Max
19.09.2017
18:55:13
ну шарды, консистент хэшинг и вперед

А держать их id в памяти не очень
их и так и так в какой-то памяти держать придется это всегда часть оптимизации - можно например сделать такой актор который вообще стейт держать не будет, а который будет воскрешаться и пока считыват все свои события из бд тутже проверяет на уникальность и к концу воскрешения уже знает - подходит ли новый логин или нет но этот вариант не рабочий совсем изза того что он на каждый запрос должен рождаться и умирать

Arthur
19.09.2017
19:01:54
ну одно дело когда можно эти акторы по кластеру раскидать, а другое когда у тебя цельный актор на миллиард юзеров

Max
19.09.2017
19:05:36
сорри не оч понял - я же говорю можно всегда сделать шардирование по логину

Nikita
19.09.2017
19:09:22
Я бы вообще не стал делать это на акка персистенсе. Уж больно много головной боли будет.

a.
19.09.2017
19:12:19
Ок, спасибо!

Oleg
19.09.2017
19:31:22
сорри не оч понял - я же говорю можно всегда сделать шардирование по логину
итак вернёмся к консистентности В нашем вполне подходящем примере у нас есть шардированный "аггрегат" по логину шардированный "аггрегат" по имейлу шардированный "аггрегат" по каждому из социальных аккаунтов шардированный "аггрегат" авторизованных сессий Теперь кейз. Юзер сайнапится по аккаунту гитхаба. Шард гитхаба говорит, что это новый юзер, по oauth мы получаем имейл, просим ввести юзернейм и готовы к действию. Можно теперь описать беспроблемную реализацию строго-консистентного создания юзера, можно не стесняться раскрывать все нюансы двухфазных коммитов.

Nikita
19.09.2017
19:45:32
Можно заюзать сагу

И не мучатся с 2PC

Но конечно да, без event sourcing будет проще

Oleg
19.09.2017
19:50:24
Я теперь жалею, что проголосовал не за ES в гусёвом твиттере. Он бы вам показал, где акки зимуют

Nick
19.09.2017
19:52:40
а нафиг ты за ES голосовал

тамж конкаренси был, явно интереснее)

Max
19.09.2017
19:58:02
итак вернёмся к консистентности В нашем вполне подходящем примере у нас есть шардированный "аггрегат" по логину шардированный "аггрегат" по имейлу шардированный "аггрегат" по каждому из социальных аккаунтов шардированный "аггрегат" авторизованных сессий Теперь кейз. Юзер сайнапится по аккаунту гитхаба. Шард гитхаба говорит, что это новый юзер, по oauth мы получаем имейл, просим ввести юзернейм и готовы к действию. Можно теперь описать беспроблемную реализацию строго-консистентного создания юзера, можно не стесняться раскрывать все нюансы двухфазных коммитов.
ну во первых не двухфазных коммитов а "мир распределенных транзакций") а во вторых тут как и при моделировании таблиц в кассандре - создавайте отдельные агрегаты под отдельные консистентные задачи нужна консистентность по логину+имейлу - значит создавайте отдельный агрегат под это

ну то есть В нашем вполне подходящем примере у нас есть шардированный "аггрегат" по логину шардированный "аггрегат" по имейлу шардированный "аггрегат" по каждому из социальных аккаунтов шардированный "аггрегат" авторизованных сессий шардированный "агрегат" по имейлу и логину гитахаба

Oleg
19.09.2017
20:02:24
а нафиг ты за ES голосовал
я за дистрибьютед компьютинг

Max
19.09.2017
20:07:04
Олег долго печатает мне страшно...

Google
Oleg
19.09.2017
20:08:54
ну во первых не двухфазных коммитов а "мир распределенных транзакций") а во вторых тут как и при моделировании таблиц в кассандре - создавайте отдельные агрегаты под отдельные консистентные задачи нужна консистентность по логину+имейлу - значит создавайте отдельный агрегат под это
ещё раз. У нас есть X независимых состояний, уникальность и доступность которых необходимо поддерживать. И множество операций задевающие несколько из этих состояний одновременно. Как проектировать данные в кассандре я знаю, но вот как взять идею легковесных транзакций оттуда и притащить в вашу акку добившись, подчёркиваю, стронг консистенси, имея возможность добавлять в эти сети состояний без перезапуска кластера новые, и не зафакапившись ни в одном месте, учитывая, что IT к такой системе будет эквивалентент рандомизированному нагрузочному тестированию и всё равно хрен что гарантирует

не знаю

Вот добрый человек рассказал про сагу

Читаю

Max
19.09.2017
20:10:49
не, сага это это и есть распределенная транзакция

это не стронг консистенси

за акку не топлю) говорим про cqrs/es и аггрегаты(я тоже на автомате с двумя г написал))) cqrs/es не золотой молоток - не все ситуации с помощью него можно легко и просто решить - особенно сложно жить с миграциями(если события наперсистил плохо) > ещё раз. У нас есть X независимых... разговор про то что не надо делать x независимых состояний и множество операций задевающие несколько из этих состояний одновременно. в приведенном примере про пользователей АгрегатИмейлов и АгрегатИмейловЛогиновГитхаб - не должны быть связаны тогда проблема занял имейл в одном агрегате а в другом не занял - значит отдаем это на откуп UX и ивенчуал консистенси разрешает уже сам пользователь

Cyrillos
19.09.2017
20:36:33
ребят, объясните, заеч нужны объекты-компаньены? я вижу смысл только в том, что 1) объекты-компаньены упрощают создание синглтона, 2) разделение динамических и статических методов между классами и объектами-компаньенами. Что-то еще?

Oleg
19.09.2017
20:44:02
где-то спрашивают, есть ли такой юзернейм, где-то пароль, где-то логин в однокласниках

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