Size: a a a

Scala User Group

2020 June 13

ΛВ

Λнтон Войцишевский... in Scala User Group
Vlad
Не нужно. Знания основ JVM будет достаточно
Что именно поздразумевается под основами?
источник

NM

Nikita Melkozerov in Scala User Group
Андрей Фирсов
Коллеги, всем привет! Подскажите пожалуйста, важно ли перед изучением скалы знать Java? На сколько сложнее скала-джуну без знания Java найти работу, чем со знанием? Бэкграунд джуна - год во фронте.
уже 6 лет пишут на скале и так ни разу не работал с джава проектами. Но про примерное устройство JVM и java concurrency все же будет неплохо знать
источник

AS

Alex Sh in Scala User Group
С Java кодом все-таки приходится сталкиваться на практике и в скала проектах.
Залезешь иногда в какой-нть KafkaProducer.java, а там 1300 строк отборнейней жавы
источник

NM

Nikita Melkozerov in Scala User Group
Alex Sh
С Java кодом все-таки приходится сталкиваться на практике и в скала проектах.
Залезешь иногда в какой-нть KafkaProducer.java, а там 1300 строк отборнейней жавы
но читать джава код != знать спринг по памяти :) если можешь на скале писать то джаву тоже можно будет читать
источник

AS

Alex Sh in Scala User Group
Поэтому читать Java код - надо.
Отлаживать JVM и Java код - надо.
Знать про JavaConversions наверное надо
Писать Java код, поддерживать совместимость с Java кодом - наверное от конкретного проекта зависит.
источник

AS

Alex Sh in Scala User Group
Nikita Melkozerov
но читать джава код != знать спринг по памяти :) если можешь на скале писать то джаву тоже можно будет читать
Ну спринг это не Java.
источник

AS

Alex Sh in Scala User Group
Не надо тут такое вспоминать без повода
источник

VG

Vladislav Golub in Scala User Group
Я тут конкурс видел от альфы на ява разраба. Весит на старте опросник своих знаний. На пункте спринга поставил, что не знаю его. Меня развернуло со словами возвращайтесь когда будете знать. Вот так и узнаешь о своей проф непригодности =)
источник

P

Python in Scala User Group
Vladislav Golub
Я тут конкурс видел от альфы на ява разраба. Весит на старте опросник своих знаний. На пункте спринга поставил, что не знаю его. Меня развернуло со словами возвращайтесь когда будете знать. Вот так и узнаешь о своей проф непригодности =)
Повезло значит. Это очень странно фильтровать разработчиков по знанию спринга. Ещё бы по знанию log4j фильтровали... Вляпались бы.
источник

AT

Aλeksei Tereχin in Scala User Group
Боты атакэ
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Vladislav Golub
Я тут конкурс видел от альфы на ява разраба. Весит на старте опросник своих знаний. На пункте спринга поставил, что не знаю его. Меня развернуло со словами возвращайтесь когда будете знать. Вот так и узнаешь о своей проф непригодности =)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
простите, я конечно же имел в виду
источник

AT

Aλeksei Tereχin in Scala User Group
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник

SM

Sergey M in Scala User Group
Хелло еверибади,
У меня тут проблема на тему covariance contrvariance - тема в которой разобраться не могу

Имеется вот такая штука (запускаю в scalasheet)
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{Promise, Future, Await}
import scala.concurrent.duration._

import java.util.concurrent.CompletableFuture
import java.util.function.Supplier

val supp = new Supplier[Int] {
 override def get(): Int = {
   Thread.sleep(500)
   20
 }
}
val cf = CompletableFuture.supplyAsync(supp)


def javaCFtoScalaF[A](cf: CompletableFuture[A]): Future[A] = {
 val promise = Promise[A]
 cf.handle {
   (a, ex: Throwable) => {
     Option(a).
       map(r => promise.success(r)).
       getOrElse(promise.failure(ex))
   }
 }

 promise.future
}

val sf = javaCFtoScalaF[Int](cf)

sf.isCompleted
sf.value

Await.result(sf, 1.second)


Выдаёт
Error:(19, 6) no type parameters for method handle: (x$1: java.util.function.BiFunction[_ >: A, Throwable, _ <: U])java.util.concurrent.CompletableFuture[U] exist so that it can be applied to arguments (java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]])
--- because ---
argument expression's type is not compatible with formal parameter type;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: ?U]
Note: A <: Any, but Java-defined trait BiFunction is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
cf.handle {

Error:(20, 24) type mismatch;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: U]
(a, ex: Throwable) => {


Кто-нибудь поможет?
источник

SK

Sergey Kucherenko in Scala User Group
Sergey M
Хелло еверибади,
У меня тут проблема на тему covariance contrvariance - тема в которой разобраться не могу

Имеется вот такая штука (запускаю в scalasheet)
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{Promise, Future, Await}
import scala.concurrent.duration._

import java.util.concurrent.CompletableFuture
import java.util.function.Supplier

val supp = new Supplier[Int] {
 override def get(): Int = {
   Thread.sleep(500)
   20
 }
}
val cf = CompletableFuture.supplyAsync(supp)


def javaCFtoScalaF[A](cf: CompletableFuture[A]): Future[A] = {
 val promise = Promise[A]
 cf.handle {
   (a, ex: Throwable) => {
     Option(a).
       map(r => promise.success(r)).
       getOrElse(promise.failure(ex))
   }
 }

 promise.future
}

val sf = javaCFtoScalaF[Int](cf)

sf.isCompleted
sf.value

Await.result(sf, 1.second)


Выдаёт
Error:(19, 6) no type parameters for method handle: (x$1: java.util.function.BiFunction[_ >: A, Throwable, _ <: U])java.util.concurrent.CompletableFuture[U] exist so that it can be applied to arguments (java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]])
--- because ---
argument expression's type is not compatible with formal parameter type;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: ?U]
Note: A <: Any, but Java-defined trait BiFunction is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
cf.handle {

Error:(20, 24) type mismatch;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: U]
(a, ex: Throwable) => {


Кто-нибудь поможет?
очень больно глазкам читать разъехавшийся код с мобилки. Попробуйте скасти, есть в описании канала
источник

SM

Sergey M in Scala User Group
источник

SM

Sergey M in Scala User Group
А Scastie у меня выдаёт результат
источник

М

Михаил in Scala User Group
Sergey M
Хелло еверибади,
У меня тут проблема на тему covariance contrvariance - тема в которой разобраться не могу

Имеется вот такая штука (запускаю в scalasheet)
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.{Promise, Future, Await}
import scala.concurrent.duration._

import java.util.concurrent.CompletableFuture
import java.util.function.Supplier

val supp = new Supplier[Int] {
 override def get(): Int = {
   Thread.sleep(500)
   20
 }
}
val cf = CompletableFuture.supplyAsync(supp)


def javaCFtoScalaF[A](cf: CompletableFuture[A]): Future[A] = {
 val promise = Promise[A]
 cf.handle {
   (a, ex: Throwable) => {
     Option(a).
       map(r => promise.success(r)).
       getOrElse(promise.failure(ex))
   }
 }

 promise.future
}

val sf = javaCFtoScalaF[Int](cf)

sf.isCompleted
sf.value

Await.result(sf, 1.second)


Выдаёт
Error:(19, 6) no type parameters for method handle: (x$1: java.util.function.BiFunction[_ >: A, Throwable, _ <: U])java.util.concurrent.CompletableFuture[U] exist so that it can be applied to arguments (java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]])
--- because ---
argument expression's type is not compatible with formal parameter type;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: ?U]
Note: A <: Any, but Java-defined trait BiFunction is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
cf.handle {

Error:(20, 24) type mismatch;
found   : java.util.function.BiFunction[A,Throwable,scala.concurrent.Promise[A]]
required: java.util.function.BiFunction[_ >: A, Throwable, _ <: U]
(a, ex: Throwable) => {


Кто-нибудь поможет?
Какая версия компилятора у тебя? В скасти последняя по дефолту
источник

SM

Sergey M in Scala User Group
Михаил
Какая версия компилятора у тебя? В скасти последняя по дефолту
2.12
источник