
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
Ну хотя бы не андерскор

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

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 из коробки

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

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

Pavel ?
21.03.2018
11:05:57

Aleksander
21.03.2018
11:06:11

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

Anton
21.03.2018
11:09:12

Aleksander
21.03.2018
11:11:01

Anton
21.03.2018
11:13:12

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

Anton
21.03.2018
11:16:42

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

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
и куда мощнее несчастного котлиновского

sss3 ?
21.03.2018
12:06:01

guga
21.03.2018
12:06:16

Oleksandr
21.03.2018
12:06:26

guga
21.03.2018
12:06:57

Oleksandr
21.03.2018
12:07:30

Anton
21.03.2018
12:08:51

Google

Oleksandr
21.03.2018
12:09:18
это шелуха
:дзен:

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
но вот это "прорывной ЯП!" -- бесит
как плагин к джаве, котлин очень хорош
как новый ЯП -- не нужен

Google

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

Oleksandr
21.03.2018
12:30:21
смешно?
а котлин именно это делает

Vladimir
21.03.2018
12:32:52

Oleksandr
21.03.2018
12:33:21

Ярослав
21.03.2018
12:33:34

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
и вот с либой корутин или чего похожего -- запросто
это с твоей колокольни. с точки зрения обычного пользовтаеля, для которго язык это просто инструмент - он позволяет ему быстрее и удобнее выполнять задачу. особенно, когда у тебя jvm не основная платформа, например, но с ней нужно интегрироваться. тебе будет совершенно пох, какая там семантика, что там под капотом, итд. нужно решить задачу - чем быстрее, тем лучше. для тебя в таком случае котлин - это язык
те котлин для поверхностных "хуяк-хуяк и в прод, а что под капотом, пофиг" ?
ок, мб и так, это многое обьясняет

Anton
21.03.2018
12:38:58

Vladimir
21.03.2018
12:39:19

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