
Oleksandr
29.06.2017
12:09:55
года два назад

Oleg
29.06.2017
12:10:13
Ну мож-т там локальное что-нибудь, типа эмбеддинга
Я имел в виду, что нет cluster-wise нейронок

Oleksandr
29.06.2017
12:11:07
это хз, мб

Google

Oleg
29.06.2017
12:11:28
Watson uses IBM's DeepQA software and the Apache UIMA (Unstructured Information Management Architecture) framework. The system was written in various languages, including Java, C++, and Prolog, and runs on the SUSE Linux Enterprise Server 11 operating system using Apache Hadoop framework to provide distributed computing.[9][18][19]
Уйма сама по себе модульная. Наверное, там и задействованы какие-нибудь аттеншны на ЛСТМах

Alexey
29.06.2017
12:38:04
Какой прекрасный latest подкаст. Скрасил мне четыре велосипедных поездки. Счастье просто, спасибо всем причастным

Mikhail
29.06.2017
12:38:24

Denis
29.06.2017
12:39:39
?

Alexey
29.06.2017
12:46:33
А теперь, как это у меня водится, вопросы новичка:-) Есть play приложение. Плэй собственно ничего особо не делет умного, по запросу взывает к бизнес сервисам и возвращает результат. Возникла необходимость делать определенный кусок работы в фоне. Приходит запрос с данными, данные отдаются в мой сервис, сервис возвращает результат. И тут мне нужно сделать две вещи — отпустить пользователя с богом и с респонсом и запустить процесс который используя результат из сервиса нагенерит пачку json и сохранит в s3. Пользователя заставлять ждать результата второго процесса негуманно да и не нужно это. Однако нужно иметь возможность посмотреть статус этого процесса по другому запросу. Я понимаю что нужно акку... но я даже не знаю с чего начать. С начала акки не выходит — я пока читаю введение теряю понимание зачем я это делаю. Пните, пожалуйста, в направлении того, что можно почитать в режиме "делаем руками сразу"


Sergey
29.06.2017
12:49:35
создал задачку в базе или еще где, статус туда же сохраняешь, задачу делает футура или актор. Если на коленке делать

Iaroslav
29.06.2017
12:50:34
Когда перегружаешь метод с дженерик коллекцией в качестве аргумента типа Map[Int, String] vs Map[String, Int], там был какой-то трюк с имплисит параметром, который помогал обойти ошибки erasure'а. Кто-то может подсказать? Или то я себе придумал
или это было только для генерик методов типа foo[T](m: Map[Int, T])

Vyatcheslav
29.06.2017
12:52:34
magnet?

Iaroslav
29.06.2017
12:53:13
да, это безусловно лучше решение. Я просто пытался конкретно то вспомнить для примера. Не для реального использования

Alexey
29.06.2017
12:55:19
@narmaru спасибо

Валерка :)
29.06.2017
12:55:32
Alexey на коленке даже база не нужна. футуре для новых задач и конкурент хеш мапа для хранения айдиюзера -> статус задачи. при реквесте проверяешь есть ли айди в мапе, если нет - запускаешь задачу, если есть - читаешь статус

Google

Sergey
29.06.2017
12:56:06
да не за что, можно еще проще, так например, да, но перезапуск сервера такая задача не переживет

Валерка :)
29.06.2017
12:56:20
эт да

Oleg
29.06.2017
12:56:22

Iaroslav
29.06.2017
12:57:17
ага, а если у тебя не дженерик метод? Или тот же принцип, только подсовываешь конкретный тип ? Как (implicit ct: ClassTag[String])

Oleg
29.06.2017
12:57:41

Iaroslav
29.06.2017
12:58:39
def foo(map: Map[String, String]): Unit = ...
def foo(map: Map[Integer, Integer]): Unit = ...

Mikhail
29.06.2017
12:59:04

Iaroslav
29.06.2017
13:00:16
scala> :paste
// Entering paste mode (ctrl-D to finish)
class Test {
def foo(map: Map[java.lang.Integer, java.lang.Integer]): Unit = { println("integer") }
def foo(map: Map[String, String]): Unit = { println("string") }
}
// Exiting paste mode, now interpreting.
<console>:11: error: double definition:
def foo(map: Map[Integer,Integer]): Unit at line 9 and
def foo(map: Map[String,String]): Unit at line 11
have same type after erasure: (map: scala.collection.immutable.Map)Unit
def foo(map: Map[String, String]): Unit = { println("string") }

Mikhail
29.06.2017
13:01:37

Iaroslav
29.06.2017
13:02:31

Oleg
29.06.2017
13:03:08
что только люди не делают, чтобы иметь возможность назвать два разных метода foo

Iaroslav
29.06.2017
13:03:30
иногда это сильнее тебя

KrivdaTheTriewe
29.06.2017
14:13:38
а есть вменяемый способ в сёрси сделать так, чтобы для case class Result(name:String, descrtiption:Description) sealed trait Description; case class superDesc(a:String) extendes Description итоговый жсон флетил бы содержимое superDesc и само имя сруктуры не отображал бы

Vladimir
29.06.2017
14:17:49

KrivdaTheTriewe
29.06.2017
14:18:44

Andrey
29.06.2017
14:25:05

Mikhail
29.06.2017
14:25:44

Andrey
29.06.2017
14:26:37
Прикольно

Google

Andrey
29.06.2017
14:26:59
По названию подумал что это как-то с трейдингом связано)

Mikhail
29.06.2017
14:29:52

KrivdaTheTriewe
29.06.2017
14:34:12

Vladimir
29.06.2017
14:34:34
обожаю такие статьи)

KrivdaTheTriewe
29.06.2017
14:35:27

Vladimir
29.06.2017
14:36:01
я уже давно оптимайзом очень осмотрительно пользуюсь

Alexey
29.06.2017
14:36:44
кажется это бед дизайн, не?

Daniel
29.06.2017
14:36:57
там же можно пометить импорты как используемые

Mikhail
29.06.2017
14:38:26

Daniel
29.06.2017
14:39:01
по альт+ентер вроде
не начем проверить сейчас)

Vladimir
29.06.2017
14:39:28
аа, и правда

Vladimir
29.06.2017
14:39:30
офигеть

Daniel
29.06.2017
14:39:53

Oleksandr
29.06.2017
14:40:42
"always used" — а чтобы для конкретного файла?

Denis
29.06.2017
14:41:00
крутяк

Oleg
29.06.2017
15:06:47
ИДЕрабы

Pavel
29.06.2017
15:14:21
хорошо, ну ты пометишь и че дальше?
оно трекать этот импорт не будет или че?
какая логика у этой штуки?

Google

Oleg
29.06.2017
15:15:52

KrivdaTheTriewe
29.06.2017
15:15:56
Оно когда оптимайз импортс делать будешь, не будет убирать твой импорт серый, который необходим

Pavel
29.06.2017
15:16:30
ага, а потом в следующий раз когда нужно это убрать?)
не уберет

Vladimir
29.06.2017
15:17:28
и тут вступает "-Ywarn-unused-import"

Pavel
29.06.2017
15:18:00
да, крутая штука)
в принципе в комбо неплохая штука

Sergey
29.06.2017
15:19:19
почапал я на скала митап питерский, идет кто-нить еще?

Aleksei
29.06.2017
15:19:35
да

Admin
ERROR: S client not available

Nikolay
29.06.2017
15:22:39
Ага

Denis
29.06.2017
15:33:13
https://github.com/mdedetrich/scalajson/issues/16
и это хотят сделать типа базовым AST
который кидает эксепшены в конструкторе
ад
https://github.com/circe/circe/issues/690

Nick
29.06.2017
15:44:02
А видео с него будет?
Или стрим?

Aleksei
29.06.2017
15:45:26
А подходить ровно к 19 или уже можно?

Oleg
29.06.2017
15:46:41
ад
Странно, что даже в spire нет альтернативы бигдецималам

Google

Denis
29.06.2017
15:47:49
там кто то написал что Real бы подошел

Alexey
29.06.2017
15:49:28
видосик будет

Nick
29.06.2017
15:49:52
А стрим?

Alexey
29.06.2017
15:50:11
нихт

Oleg
29.06.2017
15:51:42

Nikolay
29.06.2017
15:53:21

Alexey
29.06.2017
15:53:32

Nick
29.06.2017
15:53:36
Я далеко
Опаздаю сильно

Oleg
29.06.2017
15:53:51
там Real -> Exact ( Rational ( SafeLong, SafeLong -> SafeLongBigInteger (BigInteger)))

Denis
29.06.2017
15:53:59

KrivdaTheTriewe
29.06.2017
15:55:00

Oleg
29.06.2017
15:55:06
т.е. только Inexact версия - это возможно бесконечная последовательность цифр, но она совсем провальна по производительности

Nick
29.06.2017
15:55:22
Кароч я где-то на спортивной
Минут на 30 опоздаю)

KrivdaTheTriewe
29.06.2017
15:56:14

Oleg
29.06.2017
15:56:16

Aleksei
29.06.2017
15:56:30
а я на 7 этаже

Nick
29.06.2017
15:56:32

Алексей
29.06.2017
15:56:36
Да тут еще только подтягивается народ )

Nick
29.06.2017
15:56:44
А че кривда приехал?

KrivdaTheTriewe
29.06.2017
15:57:02
нет