@scala_ru

Страница 797 из 1499
Bulat
05.07.2017
08:25:08
Материалайзер для денег не найден

Mikhail
05.07.2017
08:28:27
Материалайзер для денег не найден
как это не найден? найден, просто имплисит другой подцепился, поэтому вы получаете фантики

Daniel
05.07.2017
08:34:58
как это не найден? найден, просто имплисит другой подцепился, поэтому вы получаете фантики
Зато у нас есть случайная акция, часть ваших транзакций мы игнорируем и в цб не передаем. Сделано при поддержке mongo db.

Google
Oleg
05.07.2017
08:43:31
дефолтный диспатчер в ActorSystem ставит таски в электронную очередь по бумажкам

Denis
05.07.2017
08:56:01
Кто нибудь собирал и скалу и джаву мавеном?

Тут совета спросили я аж растерялся

https://github.com/davidB/scala-maven-plugin ?

Grigory
05.07.2017
08:58:31
Кто нибудь собирал и скалу и джаву мавеном?
можешь в репе спарка подсмотреть как они пользуются

scala-maven-plugin 3.2.2 используют* насолько актуально я хз

Denis
05.07.2017
09:01:27
спасибо передам )

Mikhail
05.07.2017
10:02:00
Привет! Есть метод: def request[T: TypeClass1, R: TypeClass2](req: T): Future[Either[String,R]] Он используется так: def req1(arg: RequestEntity): Future[Either[String, ResultEntitiy]] = { request(arg) } Не компилируется, так как не может вывести R для request. Как можно помочь компилятору?
давай вчерашний пример еще разок раберем. что-то я ночью видимо спать хотел и немного ерунды наболтал местами. https://scastie.scala-lang.org/Rudogma/cFL56nSwQte6VBR8FzWT3w/1 вот это прекрасно все собирает и выводит на 2.12.2, 2.11.11, что у тебя не так?

KrivdaTheTriewe
05.07.2017
10:21:09
Mikhail
05.07.2017
10:28:51
Тут проблема, видимо, в имплиситах. Примерно такой код сейчас https://pastebin.com/Pi4ZpfpE
как это "видимо" ? у тебя ошибка комплиятора то какая все таки? что типы не совпадают или что имплиситы не находит?

Google
Alexander
05.07.2017
10:29:35
как это "видимо" ? у тебя ошибка комплиятора то какая все таки? что типы не совпадают или что имплиситы не находит?
found : scala.concurrent.Future[Either[String,spray.json.JsValue]] required: scala.concurrent.Future[Either[String,Seq[SlotsWithDate]]] restRequest(path, request)

Mikhail
05.07.2017
10:30:31
found : scala.concurrent.Future[Either[String,spray.json.JsValue]] required: scala.concurrent.Future[Either[String,Seq[SlotsWithDate]]] restRequest(path, request)
так ведь все вывело судя по описанию ошибки. вот только ты там ошибся где-то поэтому типы не те

Alexander
05.07.2017
10:32:04
У меня в вызывающем методе "справа" (в результирующем типе) просит Future[Either[String, Seq[SlotsWithDate]]. Компилятор это во внимание не принимает, и потому не хочет JsValue -> Seq[SlotsWithDate]

Но, если сюда `restRequest(path, request)`явно типы прописать в скобках квадратных, всё ок. Я думал есть какой-нибудь хак, чтобы помочь компилятору подхватить тип для R из ожидаемого типа.

@rudogma Невнимательность моя. Вот что обнаружил - если в результате Future[Either[String,T]], то всё ок. Если же Future[Either[String,F[_]] то нужно тип явно указывать.

Alexey
05.07.2017
10:44:27
тут на http://frees.io/docs/ есть фраза Ready to use integrations to achieve parallelism through scala.concurrent.Future, Akka Actors and Monix Task. фьючи и таски у меня хорошо легли в голову, а вот акторы я чот не могу. Может кто за акторы пояснить?

Mikhail
05.07.2017
10:46:24
и в следующий раз лучше сразу пиши как компилятор ругается. так будет проще, чем с ветреными мельницами сражаться)

Alexey
05.07.2017
10:49:50
Я не могу понять что они имеют ввиду под интерактом с акторами

Mikhail
05.07.2017
10:51:15
Я не могу понять что они имеют ввиду под интерактом с акторами
там не интеракт. а про готовые интеграции же вроде как речь. в этом контексте акторы ничем не отличаются от футурок, просто физический исполнитель

Alexey
05.07.2017
10:53:24
ясн

KrivdaTheTriewe
05.07.2017
11:01:06
Есть какие-нибудь общие советы про тюнинг акки хттп или лучше стандартный конфиг использовать

Alexander
05.07.2017
11:02:06
попробуй так def restRequest[T: JsonWriter, R: FromResponse, F[_]](path: String, req: T): Future[Either[String, F[R]]
Не помогло. Похоже компилятор не понимает какой имплисит для R подхватить нужно.

Alex
05.07.2017
11:02:18
А какие еще живые примеры есть? Скала и свифт которые каждый релиз ломают старый код? Питон которого 2 штуки официально?

чот я не помню особых поломок при релизе, напомните?

Alex
05.07.2017
11:02:53
расточат

Alexander
05.07.2017
11:03:25
чот я не помню особых поломок при релизе, напомните?
В 2.12 были какие-то проблемы, их даже в Скалолазе осветили.

Alex
05.07.2017
11:03:36
ну мне вот и интересно какие

Google
Mikhail
05.07.2017
11:03:41
чот я не помню особых поломок при релизе, напомните?
брешат. между 2.11 & 2.12 были не стыковки, но на то они и мажорные версии. к тому же эти нестыковки легко компилятором подсказывались и быстро рефакторились. а внутри мажорок не припомню поломок

Vadim
05.07.2017
11:12:53
я не слышал такого - были только фейл релизы которые рушили бин совместимость, но их как бы просто скипнули

Daniel
05.07.2017
11:12:54
trailing commas

Daniel
05.07.2017
11:13:27
не, соврал, там наоборот

Oleg
05.07.2017
11:14:08
trailing commas
без флага?

Vadim
05.07.2017
11:14:14
там на одной линейке проблемы были

Daniel
05.07.2017
11:14:59
без флага?
я соврал, это не соответствует твоему утверждению про код 2.11

Aleksei
05.07.2017
11:17:41
чот я не помню особых поломок при релизе, напомните?
слегка вопрос по касательной, но где блин тогда 2,12 в спарке?

Grigory
05.07.2017
11:18:14
слегка вопрос по касательной, но где блин тогда 2,12 в спарке?
там много глубинных проблем есть но сейчас вроде как все работает

Grigory
05.07.2017
11:18:24
касательно датафреймов там могут быть косяки

Alexander
05.07.2017
11:18:27
и в гатлинге

Aleksei
05.07.2017
11:19:07
Grigory
05.07.2017
11:19:22
на сайте в примерах до сих пор 2.11.7
у меня вот рили день сурка.

https://issues.apache.org/jira/browse/SPARK-14220

мб разные чатики

:D

а; про таплы тут еще всплывало*

Google
Aleksei
05.07.2017
11:20:26
анрезолвд

Grigory
05.07.2017
11:20:30
https://issues.apache.org/jira/browse/SPARK-14540 и была серьезная проблема с перегрузками https://issues.apache.org/jira/browse/SPARK-14643

Mikhail
05.07.2017
11:20:40
есть пример кода на 2.11, который не компилится на 2.12 ?
будет проблематично найти. осенью на 2.12 переходил. из их репы Although Scala 2.11 and 2.12 are mostly source compatible вот этот mostly иногда проявлялся. там совсем чуть чуть было у меня и ничего критичного не было, по сложности сравнимо с "скобки добавить,убрать"

Aleksei
05.07.2017
11:20:51
перегрузки, особенно больше 5 Ж, всегда серьезная проблема

Mikhail
05.07.2017
11:22:56
Я думаю, они несовместимы только в обратную сторону чуть-чуть из-за SAM
посмотрю потом старые репо может в логах найду что

Admin
ERROR: S client not available

Nikita
05.07.2017
11:47:10
кто-нибудь мигрировал с акки 2.4 на 2.5? много косяков вылазит?

Alexey
05.07.2017
11:51:26
с akka-http могут быть косяки

она не собрана еще под 2.5

Dmitry
05.07.2017
11:53:03
op-rabbit тож

Timothy
05.07.2017
12:40:13
кто-нибудь мигрировал с акки 2.4 на 2.5? много косяков вылазит?
нет, кроме нового транспорта, если запускать внутри docker, на одном хосте не ходит udp трафик между контейнерами

с akka-http могут быть косяки
с ней тоже не было косяков

Alexander
05.07.2017
13:00:56
А можно как-то Functor из Cats в for-comprehension засунуть?

Alexey
05.07.2017
13:01:58
Daniel
05.07.2017
13:02:18
Pavel
05.07.2017
13:03:00
для for нужен flatMap, Functor - это только map

Alexander
05.07.2017
13:05:41
Да не, мне нужно сверху по функтору пройтись. Там проблема с сигнатурой: def map[A, B](fa : F[A])(f : scala.Function1[A, B]) : F[B]

Google
Daniel
05.07.2017
13:06:59
что такое "пройтись сверху"?

Alexander
05.07.2017
13:19:04
Снимаю вопрос, что-то я напутал с порядком вызовов.

Aleksei
05.07.2017
13:26:26
Alexander
05.07.2017
13:32:01
Но вообще, возвращаясь к сути вопроса, можно написать: for { s <- value } yield s Что развернётся в value.map(s => s), но у функтора map просит два аргумента, и я не нашёл способа это обойти.

Aleksei
05.07.2017
13:38:10
А если заимпортить cats.syntax.all._?

Daniel
05.07.2017
13:40:11
1) не надо for для одного выражения =/ 2) надо притащить имплисит для нужного инстанса

Oleg
05.07.2017
13:44:49
+ cats.syntax.flatMap._ если больше одного будет в for

а вот если if будет в for, в 2.12 нужно писать свой имплисит класс, потому что в cats.syntax.monadFilter только .filter а .withFilter Нет

кстати да @rudogma вот и пример синтаксиса, который компилится в 2.11, но не компилится в 2.12

Daniel
05.07.2017
13:47:24
import cats.instances.tuple._ import cats.syntax.functor._ (1,2).map(_ + 1) в качестве примера

Alexander
05.07.2017
13:47:27
А для специфичных кейсов как? У меня есть Functor[Future].compose[Result], где type Result[A] = Either[String,A]. Хочу по нему map.

Oleg
05.07.2017
13:47:39
if внутри for с .filter

монады не композятся, аппликатив фор не завезли, ололо

Alexander
05.07.2017
13:48:50
implicit val myFunctor = Functor[ ].compose
А как инстанс получить для Future[Either...

Daniel
05.07.2017
13:48:59
> аппликатив фор не завезли, ололо но обсуждают)

Oleg
05.07.2017
13:49:36
А как инстанс получить для Future[Either...
type MySuperMonad[X] = EitherT[Future, MyError, X]

Alexander
05.07.2017
13:52:12
val result: Future[Result[String]] = ??? implicit val futureResultF = Functor[Future].compose[Result] for { r <- result } yield r В r у меня Result[String], т.е. он не композится.

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