
Sergey
15.09.2017
15:52:06
Оффтоп и очередной вопрос про деньги: допустим, у меня есть ~год опыта работы джава-фуллстэком, последние 2 месяца перекатываюсь в скалу. Какую сумму можно просить на интервью? (джун, конечно). дс2

hohserg
15.09.2017
15:52:14
И эффективно ли юзать LongMap, когда нужно хранить Int-ключи? Ведь при каждом действии с мапой происходять преобразование toLong, toInt
@ssvitkov время работы ниче не значит
Но у работодателя может быть другое мнение)

Google

Sergey
15.09.2017
15:54:50
@ssvitkov время работы ниче не значит
да, конечно, я понимаю это. Просто пытаюсь понять, какая вилка у скала-джуниора и насколько сильно она отличается от вилки джава-джуниора (если вообще отличаается)

Aleksei
15.09.2017
15:55:53

Aleksey
15.09.2017
15:56:06
хорошо быть джуном. столько перспектив. не то что у нас, старых пердунов.

Aleksei
15.09.2017
15:56:06
Ну зп на скалке чуть выше

Митко Соловец?
15.09.2017
15:56:15
смотря какой джун
если джава ту скала

Aleksei
15.09.2017
15:56:22

Oleksiy
15.09.2017
15:56:24
Так как писать на скале приятней, то и платить должны меньше. Я бы привел такой аргумент.

Митко Соловец?
15.09.2017
15:56:33
то как бы там зп по грейду должна быть

Aleksey
15.09.2017
15:56:47

Aleksei
15.09.2017
15:57:17
Но тогда и курс другой был ?

Sergey
15.09.2017
15:58:06

Google

Митко Соловец?
15.09.2017
15:58:44

Олег
15.09.2017
15:58:48

Митко Соловец?
15.09.2017
15:59:05

Олег
15.09.2017
15:59:40
Просто вдруг это 15k грн

Aleksei
15.09.2017
16:00:01

Митко Соловец?
15.09.2017
16:00:16
так до этого кем по жизни был?
айтишников или нет?

Aleksei
15.09.2017
16:00:28

Олег
15.09.2017
16:00:31

S
15.09.2017
16:01:15

Олег
15.09.2017
16:01:36
Вайтишник

Митко Соловец?
15.09.2017
16:02:02
пилил по-тихому
короче ты с нуля прям вкатился?

Andry
15.09.2017
16:02:21

KrivdaTheTriewe
15.09.2017
16:09:01

Aleksey
15.09.2017
16:13:14

Anatoliy
15.09.2017
16:20:01

Oleksiy
15.09.2017
16:23:15
Не лишено логики, поднимаем ЗП для моей вымышленной позиции!

Google

hohserg
15.09.2017
16:44:54
Почему не работают implicit int to long для a->b, но работают для (a,b)? Похоже на баг. Версия 2.11.7

Oleg
15.09.2017
16:57:36

hohserg
15.09.2017
16:58:06
object LongToInt {
implicit def long2int(i:Long):Int=i.toInt
implicit def int2long(i:Int):Long=i.toLong
}
new mutable.LongMap[(String,String)]()+=(damage,(craftGroup,useGroup))
damage - Int
вот так работает
new mutable.LongMap[(String,String)]()+=damage-?craftGroup,useGroup)
а вот так нет
смайлик, блин
a->b
вот это понятно?

Oleg
15.09.2017
16:59:34
во вторых gist и scastie.scala-lang.org
в третьих у тебя мапа стринг-стринг, при чём тут лонг-инт
в четвёртых, две имплиситных конверсии за раз не применяется

hohserg
15.09.2017
17:02:24
LongMap
ключ Long, значение (String,String)

Oleg
15.09.2017
17:02:51
либо у тебя объект превратится имплиситно в Long
либо в ArrowAssoc, чтобы расшириться методом ->
в пятых имплиситная конверсия Int => Long уже есть в стандарте, её не нужно объявлять

hohserg
15.09.2017
17:04:30
А в каком пакете есть?

Google

Oleg
15.09.2017
17:04:38
да просто по дефолту
это же просто джавовый каст
в пакете scala.Predef

hohserg
15.09.2017
17:06:45
не работает че-то
та же ошибка

Oleg
15.09.2017
17:07:32
я же сказал, что две имплиситных конверсии не применятся

hohserg
15.09.2017
17:07:56
это как понимать?

Oleg
15.09.2017
17:08:02
не превратится у тебя объект сначала в Long, а потом в ArrowAssoc[Long] , не умеет так компилятор
т.е. либо в Long либо в ArrowAssoc[Int]
ты же понимаешь, как работает этот синтаксис x -> y

hohserg
15.09.2017
17:09:22
мне казалось ,что это синтаксический сахар

Bulat
15.09.2017
17:09:52
implicit final class ArrowAssoc[A](private val self: A) extends AnyVal {
@inline def -> [B](y: B): Tuple2[A, B] = Tuple2(self, y)
def →[B](y: B): Tuple2[A, B] = ->(y)
}
это в Predef

Oleg
15.09.2017
17:09:59
нет, это имплиситная конверсия, дешугарится в ArrowAssoc(x) -> y
соответственно ты хочешь чтобы компилятор наслоил две конверсии типа
ArrowAssoc(int2Long(key)).->(value)
вот компилятор так намеренно не делает

hohserg
15.09.2017
17:11:53
Хорошо, темерь понятно. Т.е. мне нужно сделать имплицит Int to ArrowAssoc[Long]?

Oleg
15.09.2017
17:12:34
нет, используй тьюплы
если компилятор найдёт две имплисит конверсии в ArrowAssoc, скорее всего он запутается и не вызовет ни одну, увидев метод ->

Google

Oleg
15.09.2017
17:22:31
Хочешь странного сахара - сделай себе странного сахара
https://scastie.scala-lang.org/Odomontois/bOrxqxARRCy6Nbbh6jbUPw

Ivan
15.09.2017
17:26:10

hohserg
15.09.2017
17:55:58
Oleg, спасибо, но это немного не то. А почему компилятор не юзает несколько имплицитов вложенных вообще? Чтобы запутанность кода была ниже?

Oleg
15.09.2017
18:00:23
я хз тогда что для тебя то

Daniel
15.09.2017
18:07:53

hohserg
15.09.2017
18:11:41
чтобы можно было создать тьюпл через -> и работало неявное преобразование в лонг
я хз тогда что для тебя то

Oleg
15.09.2017
18:12:32
но компилятор никогда не вычислит, что тебе нужен Long
вот, смотри ровно то, что ты просил
https://scastie.scala-lang.org/Odomontois/klf5ag43R0KBmReCtTyyrg

Mikhail
15.09.2017
18:20:52
ну и в лучших традициях борцов за чистоту кода, можно даже так https://scastie.scala-lang.org/Rudogma/6BsU0knSQn6Ga9GLBzmeCQ

hohserg
15.09.2017
18:54:09
Михаил, спасибо, вот это то ,что нужно

Mikhail
15.09.2017
19:24:38

hohserg
15.09.2017
19:25:27
Наподобии того, что ты скинул? Чем он плох?

Mikhail
15.09.2017
19:28:09
Наподобии того, что ты скинул? Чем он плох?
тем, что это просто костыль неявный. а костыли - всегда плохо) годятся когда знаешь зачем и куда, но не годятся чтобы быть использованным как "гуд гайдлайнз, стейт оф арт кодинг"

hohserg
15.09.2017
19:28:46
Костылем будет, если я каждый раз буду писать toLong