
KrivdaAllStars
31.01.2018
17:19:21

Gleb
31.01.2018
17:23:41

Andrey
31.01.2018
17:24:07
В месяц? :D

KrivdaAllStars
31.01.2018
17:25:21
Год

Google

Grigory
31.01.2018
17:26:17
фунтов?

KrivdaAllStars
31.01.2018
17:30:29
Ну да
Ну я там не работал, просто статистика нескольких позиций

Vyacheslav
31.01.2018
17:31:22
https://www.indeed.co.uk/jobs?q=Scala+Developer&l=London&jt=fulltime

Denis
31.01.2018
17:31:24
лондон 80-100
Это какого уровня конторы? Обычно столько в банках платят
https://stackoverflow.com/jobs/salary/results?l=London%2c+United+Kingdom&ed=2&ex=10&ff=1&dr%5B0%5D=BackendDeveloper&tl%5B0%5D=scala
для большинства контор все видемо ОЧЕНЬ печально

Igor
31.01.2018
17:33:26

Wystan
31.01.2018
17:34:00
лондон 80-100
Ок, спасибо. Я когда смотрел летом 50-80. Показалось чо буду там бомжевать на эти деньги.

Denis
31.01.2018
17:35:08
вот еще https://www.glassdoor.com/Salaries/london-scala-salary-SRCH_IL.0,6_IM1035_KO7,12.htm

Igor K
31.01.2018
17:45:09

Nikolay
31.01.2018
17:46:29

Google

Andrey
31.01.2018
17:52:47

Aleksei
31.01.2018
18:17:58
да ну эти аннотации прямо шляпа шляпа писать только код засирать

Vadim
31.01.2018
18:28:41
тут чувак в мэйлинге листе акки скидывал свой вариант https://bitbucket.org/jtownson/swakka

Andrey
31.01.2018
18:33:46
Хренасе

Andrey
31.01.2018
19:40:15

Gennady
31.01.2018
19:54:19
придумайте хоть один вариант ответа «зачем таскать доки внутри раутов»
они превращают код в какаху
на спринге прошли, еще в няшную скалу этот адок - ни за что

Vladimir
31.01.2018
19:58:26
ну вот положа руку на сердце, все всегда вовремя обновляют swagger.json когда он лежит отдельно?

Vadim
31.01.2018
20:07:00
положа руку на серце, не больно то и нужен этот сваггер чтобы ради него столько морочиться)

Vladimir
31.01.2018
20:10:40
ой, он удобный, когда не нужно ничего отдельно писать для фронта и тестировщиков; но это зависит от кол-ва потребителей api и частоты его изменения

Andrey
31.01.2018
20:11:53

Vadim
31.01.2018
20:13:03
ну вот как-то мне ниразу отсрой необходимости не было его юзать - чем мазать все аннотациями, которые таким же образом надо суппортить, я лучше доку поправлю

Gennady
31.01.2018
20:13:15

S
31.01.2018
20:13:39
А что автоматом сгенерить и при этом без аннотаций нельзя?

Gennady
31.01.2018
20:13:42
при том ято сам OAS - прекрасен и мы его используем и дальше будем

Andrey
31.01.2018
20:14:02

Gennady
31.01.2018
20:14:16
ведение и актуализацию доков
в отрыве от кода

Andrey
31.01.2018
20:15:28

Google

Gennady
31.01.2018
20:16:20
шаркну ножкой - у всех свои потребности
может кто делает по тыщще раутов и по пятку версий каждого каждые сутки
силами джунов по обьявлениям

Yura
31.01.2018
20:17:40
а может просто сгенерировать тестики по доке, и всех карать если разошлось
проверить что в тестовом контуре все запросы 400

S
31.01.2018
20:18:48
А еще тесты на генератор тестов

Yura
31.01.2018
20:19:19
ну это тупые тесты на актуальность доки

S
31.01.2018
20:19:59
И все ради дрочки вприсядку на чистоту кода и скалавей

Andrey
31.01.2018
20:20:07

Yura
31.01.2018
20:20:29
их можно раз написать(формать swagger.json) наврятли будет меняться каждый месяц.

S
31.01.2018
20:20:47
А можно вообще не писать

Yura
31.01.2018
20:21:09
Генератор этот, ну и тогда ходи рассказывай UI-щикам и тестерам, как вызывать твои запросы
И на каждый вопрос "WTF что за ответ такой" беги и рассказывай, что ты просто тут параметр не тот шлешь

Gennady
31.01.2018
20:21:55

Vladimir
31.01.2018
20:22:17
Кмк это чисто скаловый загон против аннотаций)

Vadim
31.01.2018
20:22:18
прям как на святыню покусились)

S
31.01.2018
20:22:24
Просто вебфреймворки должны поддерживать глобальный неинтрузивный перехват всех рутов

Oleg
31.01.2018
20:24:11
когда я генерил свою хрень я исходил из того, что мне совершенно незнакомые люди привезли в моё приложение около сотни типов с кучей полей
в какой-то внезапный момент, эти типы могут стать совсем другими, и я вряд ли узнаю об этом. В каком-то смысле я не до конца знаком с бизнес-областью моего приложения и тот факт, что сваггер будет автоматически отображать актуальный протокол очень меня успокаивает.
И многие изучали логику сервиса именно на основе сваггера, к которому я пальцем разве что пару раз прикоснулся

Gennady
31.01.2018
20:24:49
это кейс тысячи джунов с тысячей раутов

Oleg
31.01.2018
20:26:29

Google

Oleg
31.01.2018
20:26:34
потому что это не мой кейс

Gennady
31.01.2018
20:26:56
устойчиво, не требует вмешательства и мозга
но такое не у всех
дизайн API - и вот уже не 100 классов, а всего 20

Vladimir
31.01.2018
20:28:22
@ApiOperation(
value = "Update current user",
response = classOf[users.models.dto.UserSelfDto],
nickname = "user-update"
)
@ApiResponses(Array(
new ApiResponse(code = 400, message = "Parameters error", reference = "Error"),
new ApiResponse(code = 403, message = "Not authorized")))
@ApiImplicitParams(Array(
new ApiImplicitParam(
value = "User data",
required = true,
dataType = "users.forms.UserUpdate",
paramType = "body"),
new ApiImplicitParam(
value = "OAuth2 access token",
name = "access_token",
required = true,
dataType = "string",
paramType = "query")))

Oleg
31.01.2018
20:29:11

Vladimir
31.01.2018
20:29:13
но да, это все от бедности, ибо ничего лучше пока не завезли

Oleg
31.01.2018
20:29:33
100 типов описывают весьма сложный ответ. Сложность диктуется бизнес-областью
Ты можешь собрать всех тимлидов вселенной и они не смогут ужать логическую сложность метода.

Vadim
31.01.2018
20:35:17
@odomontois а насколько твоя генерилка далека от вот этого ада аннотаций?

Oleg
31.01.2018
20:38:36
@odomontois а насколько твоя генерилка далека от вот этого ада аннотаций?
бесконечно далека, в плане описания типов она состоит из набора implicit deriveShit в стиле circe
в плане описания сервисов она скопипасчена из https://haskell-servant.github.io/ с той лишь разницей, что типы описываются с помощью фантомных def, что освобождает тебя от необходимости подключать typelevel scala и смотреть на покрасневшую от синглтонов идею

Vadim
31.01.2018
20:39:50
типа у вас свой dsl?

Oleg
31.01.2018
20:40:01
да
получается такой гигансткий тип
из которого можно сгенерить akka-route и сваггер
все любимые директивы из akka http приходится дублировать в виде маленького типа и писать для него пару имплиситов -
как это в сервере работает
как это в сваггере выглядит
в планах генерилку клиента написать, но что-то никто не заинтересовался

Andrey
31.01.2018
21:21:16

Александр
31.01.2018
21:26:08

Jey
31.01.2018
21:40:41

Alexander
31.01.2018
22:02:01

Viacheslav
31.01.2018
23:31:41
сижу как раз думаю как сваггер прикрутить... почитал чатик... чот приуныл
хочешь приуныть, читай скалачат!

Google

Jey
31.01.2018
23:32:43
чем сваггер прикручивать
лучше помоги мне идл допилить
профиты неограничены
Как бы из тулбокса байткод выдернуть?

Daniel
01.02.2018
03:46:26

Pavel
01.02.2018
04:24:13
кто-нибудь сталкивался с дедлоком в параллельных тестах из за мокито? Как решали проблему?

Kirill
01.02.2018
04:40:02

Oleg
01.02.2018
04:47:14

Gennady
01.02.2018
05:00:28
100 типов описывают весьма сложный ответ. Сложность диктуется бизнес-областью
значит над этими 100 типами и раутами подумали часов эдак дофига и жмотиться парой часов для написания банальной доки - бессмысленно
проблема не в сложности, а в том что документашка инлайн лишь чуть меньше выходной документации (с точностью до дефолтных значений), значит на нее потрачено сравнимое количество усилий. А вот раздутие кода в 2 раза бессмысленными с тз работы - это отстой который будет сидеть на саппорте и все равно требовать мозг в будущем.

Oleg
01.02.2018
05:48:35

Юрий
01.02.2018
05:49:53
А где ссылку на репу на гитхабе?

Oleg
01.02.2018
05:50:18

Юрий
01.02.2018
05:52:28
всм прям "не разрешили"?
жуть

Alex
01.02.2018
05:54:19

Юрий
01.02.2018
05:54:57
ну знаешь, ты юзаешь 100500 опенсорс либ, а своё поделие ты не можешь отдать сообществу, даже если хочешь