
Daniel
10.09.2017
20:04:07
уточни сразу задачу
дефолтный ответ параллелить самой аккой, например через роутер

Diemust
10.09.2017
20:05:05

Anatoliy
10.09.2017
20:05:11
просто математические вычисления, если получен в итоге результат true - его надо отдать, если нет - думаю вернуть None и всё

Google

Anatoliy
10.09.2017
20:05:43

Daniel
10.09.2017
20:06:35
http://doc.akka.io/docs/akka/current/scala/routing.html#routing
имхо, получится подобие форкджоин пула на акторах =)

Anatoliy
10.09.2017
20:08:07
Спасибо)
а подобие - это плохо?

Daniel
10.09.2017
20:10:54
нет, на акторах скорее всего меньше проблем с отладкой будет, но зато будет оверхед
чтобы распараллелить вычисления их надо будет дробить на куски и отправлять куски в разные акторы
ForkJoinPool примерно так и работает со своими Task -ами

Anatoliy
10.09.2017
20:16:22
А вроде в акторах можно сделать так что бы отправлялось по одному и тому же адресу но при этом были потоки и возможность параллельной работы?
Типа там в конфиге как раз просто указать и всё? Или это оно и есть? Я сейчас роуты имею в виду...

Daniel
10.09.2017
20:19:40
акторы абстрагируют тебя от потоков (пока ты сам их не притащешь например через Future)
с роутером ты пишешь роутеру, он уже раскидывает вычисления по рабочим акторам (роутер настраивается либо в коде либо через конфиг)
вероятно тебе предстоит озаботиться вопросом а куда рабочие акторы пошлют результат

Anatoliy
10.09.2017
21:04:20

Artem
10.09.2017
21:15:50
Вы уверены что вам для этой задачи нужна akka?

Mikhail
11.09.2017
05:15:06
Для такой задачи точно не нужна

Oleg
11.09.2017
06:33:49

Anatoliy
11.09.2017
09:00:51

Oleg
11.09.2017
09:01:40

Google

Oleg
11.09.2017
09:02:09
Превращается обычная коллекция в параллельную, если такая есть, методом .par
Поэтому если распараллеливание требуется очень простое
Типа разбить работу на n кусков, потом собрать результат, это можно сделать, не выходя из scala library

Anatoliy
11.09.2017
09:02:49
просто получается что мне надо примерно 500 млн записей пихнуть сначала полностью в лист и только потом считать?

Oleg
11.09.2017
09:03:15
Думаю, лучше разбить на 500 кусков по миллиону или типа того

Alexander
11.09.2017
09:03:45
параллельные коллекции вроде выпиливать будут, не?

Anatoliy
11.09.2017
09:04:00
calcPart это метод которым я считаю, так?
а foldLeft(...)(aggregateResult) что тогда?

Oleg
11.09.2017
09:04:25

Nikolay
11.09.2017
09:05:10

Oleg
11.09.2017
09:05:39
Потому что наверняка потом потребуется читать лениво инпут из файлов и как-то фейлы\эксепшны обрабатывать, не перезапуская всю джобу

Aleksey
11.09.2017
09:09:04

Anatoliy
11.09.2017
09:09:14
ну фейлов там не будет по идее, просто математические вычисления. все фейлы проверяются до этого
так что внутри просто считаем числа, всё
если получится то что ищем - тогда отдаем результат, возможно в другой актор который уже и будет писать
если нет - тогда нет

Gregory
11.09.2017
09:10:17
Парни, а подскажите кое-что по акке: если мы делаем actorSelection с вайлдкардом, есть ли возможность сделать что-то типа resolveOne, но чтобы получить сразу все акторрефы, которые заматчатся?

Anatoliy
11.09.2017
09:10:20

Oleg
11.09.2017
09:10:59

Anatoliy
11.09.2017
09:11:21
Спасибо, сейчас попробую)

Oleg
11.09.2017
09:12:03
но опять же, если нужен нормальный мемори-футпринт придётся делать стримы, потому что лениво-параллельных коллекций нет в скале

Aleksey
11.09.2017
09:13:13

Google

Aleksey
11.09.2017
09:15:28

Oleg
11.09.2017
09:17:07

Ivan
11.09.2017
09:17:32
Подскажите пожалуйста. На курсере курсы scala fp design, scala parrallel programming, spark . Можно ли к ним выполнять задания в бесплатной версии курса?

Aleksei
11.09.2017
09:17:48
да

Ivan
11.09.2017
09:18:18
спасибо

Aleksey
11.09.2017
09:18:36

Oleg
11.09.2017
09:19:32

Aleksey
11.09.2017
09:22:55

Anatoliy
11.09.2017
09:28:08
А можно как-то вот такое запараллелить?
for (i <- 0 to factorial(j)) {
result(sq, i, j)
}
sq - List[CaseClass]
Просто по идее - такое должно быть достаточно легко параллелить...
Хотя вроде сделал, действительно просто :)

Aleksei
11.09.2017
09:38:15
у рэнжа вроде есть метод par, можно сделать
(0 until j).par.map { j => ... }
такое самое простое

Anatoliy
11.09.2017
09:38:30
for (i <- (0 to factorial(j)).par) {
вот так сделал
аналогично ведь?

Aleksey
11.09.2017
09:39:35
В общем что то в таком духе. Без стримов но с обычным итератором
def doMap(c: Char) = c.toInt
def doReduce(a: Int, b: Int): Int = a + b
val WindowSize = 1024
val xx = scala.io.Source.fromFile(new java.io.File("hello.txt"), WindowSize)
.iter
.grouped(WindowSize)
.map(xs => xs.par.map(doMap).reduce(doReduce))
.reduce(doReduce)
Но сдается мне что пять лет назад я все такие не стандартную библиотеку юзал, а что-то другое.

Ivan
11.09.2017
13:59:19
Не подскажете где еще кроме hh.ru , мой круг да scala jobs в телеграмме глянуть можно позиции для scala junior ? В идеале remote/partime.

Bulat
11.09.2017
14:00:34
Линкедин

KrivdaTheTriewe
11.09.2017
14:15:43

Google

Ivan
11.09.2017
14:15:54
ткс ?

KrivdaTheTriewe
11.09.2017
14:16:08
тиньков кредитные системы

Nick
11.09.2017
14:16:28
Они ж вроде не Ткс больше
Да и там нету ремоута

KrivdaTheTriewe
11.09.2017
14:16:44
ну желательно же ремоут

Ivan
11.09.2017
14:17:39
ткс только офис

KrivdaTheTriewe
11.09.2017
14:18:05
ну врядли ты найдешь джуна на ремоут

Ivan
11.09.2017
14:18:55
Опыт разработки есть. на скале нету.

KrivdaTheTriewe
11.09.2017
14:20:02
@optician_owl @odomontois , они искали вроде ( они ткс ) джунов, но у них требование, пройти курс
поэтому всё просто, проходишь курс и идешь на собеседование

Daniel
11.09.2017
14:20:40
Я закрыл уже вакансию

KrivdaTheTriewe
11.09.2017
14:20:46

Daniel
11.09.2017
14:21:07
Олег может ищет еще

Валерий
11.09.2017
14:22:09
для себя решил, что пока буду использовать scala в проектах человека, который на это согласился
т.к. есть большой опыт в разработке в целом

Sergey
11.09.2017
14:30:10
Или имеется в виду фулл специализация на курсере? (5 курсов)

Daniel
11.09.2017
14:31:29
это у Олега было требование про курсы, по-моему первые 3 нужно

KrivdaTheTriewe
11.09.2017
14:31:40
первые три, да

Google

Олег
11.09.2017
14:45:54

Юрий
11.09.2017
14:55:02

Mr.White
11.09.2017
15:25:54

Daniel
11.09.2017
15:26:17
да

Mr.White
11.09.2017
15:26:29
спасибо

Vyacheslav
11.09.2017
16:24:59
@salimonov удаленную работу можно найти на https://www.upwork.com/ или https://www.glassdoor.com/

Aleksei
11.09.2017
16:29:32
ну есть чат с вакансиями, он в описании этой группы

Mr.White
11.09.2017
16:39:17

Pavel
11.09.2017
17:34:00
в Скайп чате был чувак как-то