@jvmchat

Страница 2338 из 2890
Sergey
21.03.2018
10:46:21
В EF Core

Pavel ?
21.03.2018
10:46:40
Зато там нет тайп еразуре)))

Sergey
21.03.2018
10:46:41
Он в планах!!!!

Митко Соловец?
21.03.2018
10:46:46
помойка просто

Google
Pavel ?
21.03.2018
10:47:01
И генерики умеют в примитив)

Sergey
21.03.2018
10:47:07
Зато n+1 побороли

Pavel ?
21.03.2018
10:47:50
А ещё там полиморфный байт-код)

Митко Соловец?
21.03.2018
10:48:43
а еще убогий код стайл))

Sergey
21.03.2018
10:48:55
Method { }

Aleksander
21.03.2018
10:49:03
Пацаны, вопрос. А кто-нибудь тесты на вебсокеты писал? Интересует вопрос, как решается проблема асинхронности, ну т.е. делается запрос и ожидается, что в вебсокет придет ответ(но ответ может придти через 10 секунд, например). Для такого кейса выставляются таймауты, насколько это правильно завязываться на таймауты? Например, если тесты запускаются на машине с меньшими ресурсами, и все тесты выполняются параллельно, может так случится, что время ответа увеличивается сильно и ты перестаешь влезать в таймаут. Интересны подходы, как правильно писать такие тесты, либо тык в статью

Pavel ?
21.03.2018
10:49:37
а еще убогий код стайл))
Это субъективно) но вот нотация говно да)) я не могу название метода с большой буквы писать) у меня сразу взрыв мозга

И депрессия

guga
21.03.2018
10:53:08
Ну хотя бы не андерскор

Aleksander
21.03.2018
10:53:46
Тесты сокета или то что из него приходит? Зачем сокет то тестить?
Естественно, того, что из него приходит и тестить в правильную ли очередь оно приходит

Pavel ?
21.03.2018
10:54:20
И не ждать 10 секунд)

Google
Aleksander
21.03.2018
10:56:36
А замокать этот момент никак нельзя?)
Теми средствами, которыми я оперирую, замокать этот момент нельзя. Сервер замокать можно, но это все равно асинхронный ответ, который может придти, а может и нет. И приходится ждать какое-то время, конкретно у меня сделано через блокирующую очередь и таймаут на poll

Ну и вообще, это немного интеграционный тест, в котором в докере поднимается реальный стенд с реальными сервисами(с помощью замечательного фреймворка тестконтейнерс)

Ну и еще вброс, аналога mockMVC для спринга с тестами для вебсокетов, я не нашел

Я, конечно, не могу отрицать, что я не идиот =)) Но, вышло как-то так

Oleg
21.03.2018
11:03:24
Кстати, если обновить Идею до самого свежего EAP, там появится Java 10 из коробки

Aleksander
21.03.2018
11:05:19
Ну, функциональные, это когда все-все поднимается. А у меня все-таки какой-то автономный кусок. В общем, в рамках моего отдела - это функциональный тест, в рамках всего продукта - нельзя сказать так

Aleksander
21.03.2018
11:06:11
Залей код на житхаб)))))
Меня выпнут же сразу =))

Pavel ?
21.03.2018
11:08:42
Короче тут тогда тайауты теста в минуту, а далее тупо ждать)

Иначе тесты превратятся в геморрой)

Aleksander
21.03.2018
11:11:01
т.е. поднять свой локальный кусок и натравить на него фт не вариант?
Я поднимаю свой кусок, сервисы, которые не мои - я мокаю. А дальше что я не понял("натравить на него фт")

Anton
21.03.2018
11:13:12
Я поднимаю свой кусок, сервисы, которые не мои - я мокаю. А дальше что я не понял("натравить на него фт")
Ну запускаешь тесты, они долбят в него запросами, какими тебе надо (http, ws...) и сравнивают результаты. Не понял, в чём проблема сделать запрос в ws

Aleksander
21.03.2018
11:13:49
Проблемы никакой нет. Я даже написал DSL для этого, но проверка того, что пришло в ответ от WS - это проверка с таймаутом

Таймаут фиксированное число, а тесты могут запускаться в разных средах, могут запускаться параллельно и ответ в вебсокет может приходить с разными реальными таймаутами

И выходит, что есть большая вероятность написать Flaky тесты

Aleksander
21.03.2018
11:17:15
Зачем таймауты? Почему бы асинхронщиной не обмазаться - промисы/фьючи там, например.
Ну обмажусь, в какой-то момент мне ответ не пришел по какой либо причине, что тогда?

Anton
21.03.2018
11:21:42
Ну обмажусь, в какой-то момент мне ответ не пришел по какой либо причине, что тогда?
если сторонняя система не ответила, то не твои проблемы вообще., их косяк раз не уложились в таймаут ответа. если твоя, то нужно разбираться, почему не успел. хз, возможно я просто не до конца понял ситуацию

Google
Aleksander
21.03.2018
11:23:31
если сторонняя система не ответила, то не твои проблемы вообще., их косяк раз не уложились в таймаут ответа. если твоя, то нужно разбираться, почему не успел. хз, возможно я просто не до конца понял ситуацию
Без таймаута кмк мне тут не обойтись. Даже моя система может не ответить, например я сделал запрос, он при каких-нибудь условиях создает эвент и отправляет его в определенную очередь вебсокета, а при иных условиях он не создает никакого эвента

Oleksandr
21.03.2018
11:48:15
guga
21.03.2018
11:49:46
а то пока ломбок только DTO генерит

Anton
21.03.2018
11:56:07
фвп давно есть, кейс классы есть (ломбок), именованных параметров, увы, пока нет
по поводу фвп там есть только костыль в виде functional interface, в котлине и скале куда удобнее, имхо. ломбок - тоже костыль сверху. зачем это, если можно сразу взять язык, где всё это есть, без всяких ломбоков и дополнительных конструкций?

guga
21.03.2018
11:58:46
поправь если я что-то путаю

Ну case class в скале, но сути, такая же кодогенирация как и ломбок, только без плагина в ide

Anton
21.03.2018
11:59:38
я не про как сделано, а про синтаксис, с точки зрения конечного пользователя

guga
21.03.2018
12:01:33
я не про как сделано, а про синтаксис, с точки зрения конечного пользователя
Я конечно не могу сказать что джава прямо таки фп язык, но не могу так же сказать что котлин ушел дальше

Anton
21.03.2018
12:04:00
Я конечно не могу сказать что джава прямо таки фп язык, но не могу так же сказать что котлин ушел дальше
да какбы не в фп дело, просто в удобстве, многословности, логичности, скажем так. хотя это довольно субъективаня тема конечно

Oleksandr
21.03.2018
12:05:27
и куда мощнее несчастного котлиновского

guga
21.03.2018
12:06:16
будет же, кучу раз кидали ссылку
Когда-то все будет. Но правда, как много проектов мигрануло на 9ку

guga
21.03.2018
12:06:57
Когда-то все будет. Но правда, как много проектов мигрануло на 9ку
Мне кажется только новые проекты стартонули, а старые намертво в 8ке

Oleksandr
21.03.2018
12:07:30
А в скале не через интерфейс? Function1, Function2?
и да и нет да -- так было до 8 джавы нет -- сейчас юзается инвокдайнемик, интеров с джава лямбдами норм

Anton
21.03.2018
12:08:51
а зачем язык, который не дает ничего, кроме чуть более удобного синтаксиса?
удобнее и быстрее разрабатывать. тут уже имхо, но если сравнивать с котлином, он не "чуть более" он "гораздо более"

Google
Anton
21.03.2018
12:11:51
синтаксис вторичен и полностью не важен
как показывает практика - нет. если бы это было так, мы сейчас вообще не обсуждали бы котлин, не было бы никако руби или питона - перл же могет решать эти же задачи и является языком этого же класса, например. синтаксис важен

Oleksandr
21.03.2018
12:13:04
скажем, в питоне есть ооп, а в перле очень долго было через зад оно

это семантика

очень грубо говоря, если текст на языке А можно перевети автозаменой в _точно_с_такими_же_параметрами_в_рантайме_и_компайлтайме_ в текст на языке Б, то А -- просто синт сахар над Б

например, дефольные параметры -- чистейший сахар

хотя приятный глазу, не спорю

а, скажем, final int i = 42 в джаве и плюсах имеют разный рантайм смысл, семантику (я про jmm)

крч, котлин не нужен?

guga
21.03.2018
12:22:10
Anton
21.03.2018
12:25:46
крч, котлин не нужен?
ну так этот сахар приятней же и повышает скорость написания, уже это делает его таки нужным

по этой логике тогда ни ломбок, ни тс и jsx для фронта - всё нинужно.

Oleksandr
21.03.2018
12:27:25
по этой логике тогда ни ломбок, ни тс и jsx для фронта - всё нинужно.
если бы котлин позиционировался как плагин к джаве (как ломбок), я бы и не спорил

но вот это "прорывной ЯП!" -- бесит

как плагин к джаве, котлин очень хорош как новый ЯП -- не нужен

Google
Anton
21.03.2018
12:30:16
а какая цена за него?
на фронте - костыли, пиздецовый разросшийся тулинг. а котлин? какая? просадок по префомансу вроде нет, тулинг тоже ок - ьери и пиши сразу

Oleksandr
21.03.2018
12:30:21
как плагин к джаве, котлин очень хорош как новый ЯП -- не нужен
ну типа, а давайте возьмем мерс, добавим наклейку и мигалку, и скажем, что это новая марка машины

смешно? а котлин именно это делает

на фронте - костыли, пиздецовый разросшийся тулинг. а котлин? какая? просадок по префомансу вроде нет, тулинг тоже ок - ьери и пиши сразу
1) нельзя черрипикнуть лишь фичу с именованными параметрами 2) завязка на котлинц, как бы ни был он "прост", это лишнее звено

Oleksandr
21.03.2018
12:33:21
Корутины - тоже сахар?
о, мое любимое корутины вообще либой должны быть

Ярослав
21.03.2018
12:33:34
Работал кто-нить с OpenHAB?
я сейчас пытаюсь разобраться

Oleksandr
21.03.2018
12:33:52
о, мое любимое корутины вообще либой должны быть
котлин не меняет кишки джвм, и перформанса/удобства го ему не достичь

Anton
21.03.2018
12:33:56
смешно? а котлин именно это делает
это с твоей колокольни. с точки зрения обычного пользовтаеля, для которго язык это просто инструмент - он позволяет ему быстрее и удобнее выполнять задачу. особенно, когда у тебя jvm не основная платформа, например, но с ней нужно интегрироваться. тебе будет совершенно пох, какая там семантика, что там под капотом, итд. нужно решить задачу - чем быстрее, тем лучше. для тебя в таком случае котлин - это язык

Vladimir
21.03.2018
12:34:08
о, мое любимое корутины вообще либой должны быть
Ок, как тогда их в джаве сделать через автозамену?

Oleksandr
21.03.2018
12:35:29
Ок, как тогда их в джаве сделать через автозамену?
потому и "любимое"... тут некорректное сравнение, тк надо брать не просто джаву, а джаву + либу

и вот с либой корутин или чего похожего -- запросто

ок, мб и так, это многое обьясняет

котлин не меняет кишки джвм, и перформанса/удобства го ему не достичь
поэтому смысла прибивать гвоздями корутины в язык нет

Anton
21.03.2018
12:38:58
те котлин для поверхностных "хуяк-хуяк и в прод, а что под капотом, пофиг" ?
нет, он позволяет решать задачу, не концентриуясь на то, что под капотом. сама суть жвм в этом же - чтобы тебе не нужно было вдаваться в подробности, просто катай код, вм разрулит всё. главная цель удовство и скорость

Vladimir
21.03.2018
12:39:19
и вот с либой корутин или чего похожего -- запросто
Что должно быть в этой либе, чтобы можно было выполнить полметода, выйти из него, а потом выполнить остальное?

Oleksandr
21.03.2018
12:40:02
(гц, докер, системные лимиты, jmm, ...)

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