@scala_ru

Страница 937 из 1499
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 время работы ниче не значит
да, конечно, я понимаю это. Просто пытаюсь понять, какая вилка у скала-джуниора и насколько сильно она отличается от вилки джава-джуниора (если вообще отличаается)

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

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

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

если джава ту скала

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

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

Aleksey
15.09.2017
15:56:47
Рефлексируешь? ?
через неделю стану программистом за 30.

Aleksei
15.09.2017
15:57:17
через неделю стану программистом за 30.
Я когда становился программистом, то в 25 лет ушел на джуна за 15к в месяц

Но тогда и курс другой был ?

Sergey
15.09.2017
15:58:06
Я когда становился программистом, то в 25 лет ушел на джуна за 15к в месяц
знаю чувака, который вкатился в программирование в 28 и первый год работал пэхером за 12к (правда, под конец года подняли до 30)

Google
Митко Соловец?
15.09.2017
15:59:05
Это какая валюта?
500 баксов примерно

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

Aleksei
15.09.2017
16:00:01
Просто вдруг это 15k грн
Ну у меня же имя с А начинается, а не с О

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

айтишников или нет?

Aleksei
15.09.2017
16:00:28
а до этого кем был?
Нач тех отдела фирмы по госзаказам

Олег
15.09.2017
16:00:31
500 баксов примерно
У меня первая была в таком случае где-то $800

S
15.09.2017
16:01:15
Нач тех отдела фирмы по госзаказам
> в 25 нач отдела > перекатывается в программирование за 15К

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

Митко Соловец?
15.09.2017
16:02:02
пилил по-тихому

короче ты с нуля прям вкатился?

Andry
15.09.2017
16:02:21
так до этого кем по жизни был?
Физик -> программер -> свой бизнесс -> программер

через неделю стану программистом за 30.
Что уже в Орле нашел работу ;)

Aleksey
15.09.2017
16:13:14
Anatoliy
15.09.2017
16:20:01
есть желающие https://vk.com/vkhackathon ?
а где оно вообще будет?

Так как писать на скале приятней, то и платить должны меньше. Я бы привел такой аргумент.
т.к. кода можно написать за одно и то же время больше чем на джаве - по идее платить надо бы больше?)))

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

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
есть желающие https://vk.com/vkhackathon ?
Я не против присоединиться

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

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

Oleg, спасибо, но это немного не то. А почему компилятор не юзает несколько имплицитов вложенных вообще? Чтобы запутанность кода была ниже?
потому что если бы компилятор реализовывал бы цепочки из любого количества имплиситов, компилятор мог бы годами накручивать их в поисках нужного метода Фактически каждый раз ему нужно было бы реализовать поиск путей по графу всех типов\методов и падать, если таких путей несколько. Поведение дико нестабильное, и сверхнеэффективное

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

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