@jvmchat

Страница 685 из 2890
Stanislav
03.11.2016
10:16:49
вопрос про котлин. почему val Class<MyClass> c = javaClass не влезает в метод fun m(c: Class<Any>) {} ? зато влезает метод с дженериками fun <T> m(c: Class<T>) {}

Alexey
03.11.2016
10:21:36
Я не настоящий сварщик, но подозреваю дело в ко, контр и инвариантности

Stanislav
03.11.2016
11:04:07
так, посоны, беру свои слова обратно про котлин. Таки есть незаменимые плюшки по сравнению с джавой

Alexey
03.11.2016
11:04:21
какие?

Google
Alexey
03.11.2016
11:04:23
пали

Stanislav
03.11.2016
11:05:22
хвостовая рекурсия и экстендж методы

Alexey
03.11.2016
11:05:51
оптимизация хвостовой рекурсии в смысле? как в кложе и скале?

это плюс, согласен

а второе это что?

ну мы тут с джавой хотя бы сравниваем. понятно что скала лучше

аа

ну имплиситы короче

Stanislav
03.11.2016
11:08:15
я бы сказал, что сильно предсказуемее

(по сравнению со скалой)

но я все-таки сравнивать со скалой не хочу

во-первых, потому что не писал ничего на скале, только читал

ну на этом и хватит

Google
Stanislav
03.11.2016
11:11:17
мне нужна лучшая джава, а пересмотр своих взглядов на жизнь

кстати, раз уж про скалу вспомнили, может посоветуете какой-нибудь опенсорс на scalaz почитать? шоб каноничненько и до костей пробирало ?

Oleksandr
03.11.2016
11:13:18
хвостовая рекурсия не особо нужна, без уклона в ФП а котлиновские расширения транслируются в статик методы -- тот же сахар

Alexey
03.11.2016
11:13:22
сырцы scalaz )

Oleksandr
03.11.2016
11:13:59
http://eed3si9n.com/learning-scalaz

но я бы посоветовал cats смотреть, они поприятее

Stanislav
03.11.2016
11:14:46
http://eed3si9n.com/learning-scalaz
не, мне не академическое что-то, а реальный бы проект

Denis
03.11.2016
11:16:39
в скалазе разве кроме ? | что-то еще используется? :)

Oleksandr
03.11.2016
11:16:42
а, ну с этим сложнее) akka-http, но он тяжелый для понимания

Stanislav
03.11.2016
11:16:53
хвостовая рекурсия не особо нужна, без уклона в ФП а котлиновские расширения транслируются в статик методы -- тот же сахар
с одно стороны да, а с другой можно реально композицией заниматься. На джаве пришлось бы городить что-то вроде: method1( arg1, method2( arg2, arg3, method3( ... ) ) ) а на котлине можно arg1.method1 {..} .method2(arg2, arg3) { ... }

(пользуясь случаем передаю привет ребятам из cloudbees, которые написал клиент к зендеску с таким кодом)

Oleksandr
03.11.2016
11:34:21
кстати, раз уж про скалу вспомнили, может посоветуете какой-нибудь опенсорс на scalaz почитать? шоб каноничненько и до костей пробирало ?
не могу не заметить, что активно этот весь ФП стафф использует процентов 5 скалистов (не надо думать, что мы все такие) остальные пишут проще

Stanislav
03.11.2016
11:35:22
Это да

Но хочется как страшилки на ночь почитать, знаете ли

Oleksandr
03.11.2016
11:41:31
Но хочется как страшилки на ночь почитать, знаете ли
https://github.com/tel/scala-comms/ вот ещё, поменьше, но все ещё злобное

Ilshat
03.11.2016
12:03:03
че то все про скалу. че такая крутая вещь. стоит бросать яву и изучать?

Alexey
03.11.2016
12:03:38
если хочется функциональщины, то скала

Denis
03.11.2016
12:03:41
отличный вброс!

Anatol
03.11.2016
12:03:56
Для общего развития в любом случае полезно будет.

Ilshat
03.11.2016
12:04:04
а на выходе тот же ява?

Google
Alexey
03.11.2016
12:04:05
а так в 90% проектов джавы хватает

тот же байткод

Ilshat
03.11.2016
12:04:55
интересно. надо поизучать

Митко Соловец?
03.11.2016
12:05:14
скалка - для общего развития, но джавы современной практически для всех задач хватает

Alexey
03.11.2016
12:06:07
если нужна какая-то адовая многопоточность или асинхронность, то я бы скалу взял все таки

Митко Соловец?
03.11.2016
12:07:44
но таких проектов намного меньше

Антон
03.11.2016
12:08:13
Ерланг для общего развития мне кажется лучше скалы, скала гораздо сложнее, и поворачивает мозг тоже збс

Artem
03.11.2016
12:09:59
Идрис для общего развития мне кажется лучше скалы

Митко Соловец?
03.11.2016
12:12:28
Хаскелль для общего развития мне кажется лучше Идриса

Ilshat
03.11.2016
12:14:34
а работал кто с kryonet?

Ilshat
03.11.2016
12:16:01
видимо нет. перейду тогда на netty

Антон
03.11.2016
12:16:22
мы используем крио для сериализации, но в связке с JGroups

Ilshat
03.11.2016
12:17:26
клиент на андроиде. думал юзать kryonet, благо его сериализацию юзаю. да и легкий. но непонятно как шифровать данные.

Admin
ERROR: S client not available

Антон
03.11.2016
12:19:30
самое простое https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning

но этим не должно крайо заниматься.

Google
Ilshat
03.11.2016
12:20:26
проблема не в выборе метода шифрования. а встраивание в kryonet

Alexey
03.11.2016
12:21:16
когда много всяких джобов делают что-нибудь параллельно

решая общую задачу

Stanislav
03.11.2016
12:22:07
звучит как обычная многопоточность

Alexey
03.11.2016
12:22:13
ага

обычная многопоточность это ад

Stanislav
03.11.2016
12:22:31
тогда ладно

Антон
03.11.2016
12:22:37
а что такое адовая многопоточность?
если взять что в среднем в мире умирает 160к человек в день, из них 80% попадают в ад, то это примерно 1,5 запроса в секунду

Alexey
03.11.2016
12:22:52
фп тем и хорош, что нету переменных и прочего изменяемого говнеца

Stanislav
03.11.2016
12:30:40
ну вот кстати вопрос

как на фп сделать производительный чат-рум ?

в смысле на полном мутабилити

MutableRef<ImmutableList<Msg>> не предлагать

выносить стейт в редис или куда-то еще тоже

Igor
03.11.2016
12:34:55
чат рум по сути своей имеет линейную структуру, а значит при нормальном проектировании иммутабельной структуры данных, всё должно работать быстро.

Stanislav
03.11.2016
12:42:42
то есть будет в итоге один реф на мутабельный стейт, который будет держать в себе иммутабельные структуры данных?

Igor
03.11.2016
12:47:03
структура будет одна, внутри мутабельная. снаружи (в контексте языка), будет казаться, что у тебя дофига иммутабельных структур.

ну, не имеет смысла пересоздавать массив (список) каждый раз при добавлении сообщения в чат.

так что разработчики языка (компилятора) заранее позаботятся о том, чтобы были оптимизации по памяти.

Google
Oleg
03.11.2016
13:32:16
Name [jdbc/somebase] is not bound in this Context. Unable to find [jdbc]. Как это побороть? Гугл бессилен. Конфиги перепроверил все, драйвер mysql.jar в папку lib томката закинул

Pavel ?
03.11.2016
13:32:54
а базу то создал????

Oleg
03.11.2016
13:33:55
ну да, и в идее настроил доступ к ней

Oleksandr
03.11.2016
13:35:45
как на фп сделать производительный чат-рум ?
фп != отсутсвию мутабельности оно скорее про её контроль

Страница 685 из 2890