
Dmitry
09.11.2016
08:16:26
Котлин тебя побери, Grigory

Grigory
09.11.2016
08:17:21
котлин для джава чатика (:

Viacheslav
09.11.2016
08:17:39
Хэээй мэн, ты всегда дабл смайлы ставишь. Я каждый раз когда это вижу, потом пол дня думаю про дэжавю и что "матрица меняет программу"
зачем ты это делаешь?)

Grigory
09.11.2016
08:18:19

Google

Viacheslav
09.11.2016
08:18:41
этоооо... серьезный подход к делу)

Wystan
09.11.2016
08:18:59
https://wtf.jpg.wtf/56/61/1478675526-5661b9b3f1d9c08db1fad865d02862c4.jpeg

Grigory
09.11.2016
08:19:24
чумовые выборы конечно)

Viacheslav
09.11.2016
08:20:50
За родину, за Трампа!

Dmitry
09.11.2016
08:21:09
И тут диванные политологи..

Ivan
09.11.2016
08:21:25
великая победа всего русского народа

Denis
09.11.2016
08:36:24
https://twitter.com/sethmacfarlane/status/796261404646903808

Nikolay
09.11.2016
08:39:42

D
09.11.2016
08:53:10

Nikolay
09.11.2016
09:08:18
те кто использует scalafmt, не было у вас проблем на билдах с scala 2.12?

Timothy
09.11.2016
09:34:34

Nikolay
09.11.2016
09:37:34
если я все правильно понимаю, то это обычный sbt плагин, и он должен зависеть только от самого sbt и той версии scala, которая используется в sbt. но если я переключаю версию scala на 2.12.0, то при форматировании получаю NoClassDefFound
сейчас, минимальный пример соберу

Google

Nikolay
09.11.2016
09:46:47
https://github.com/rockjam/scalafmt-oops

Dmitriy
09.11.2016
09:47:30

Nikolay
09.11.2016
09:47:58
sbt compile - и оно упадет. при этом c 2.11.8 все работает
мне кажется что что-то не так с sbt плагином. какая-то зависимость от scala версии проекта?

Mikhail
09.11.2016
09:50:20
наверное он использует версию в проекте для получения AST
это логично по крайней мере)

Ivan
09.11.2016
09:51:11

Nikolay
09.11.2016
09:51:14
но почему он падает на java.lang.NoClassDefFoundError: scala/Product$class ?

Mikhail
09.11.2016
09:53:53
я такие ошибки встречал как раз в ситуациях, когда одна часть была скомпилирована под одну версию, а другая под другую - не помню в какой именно последовательности, но было похоже на это)

Igor
09.11.2016
09:54:14
когда память течет у одного из приложений, а из-за этого падает веб-сервер это норм? или дедлок
или еще какая-то хня
по-моему на томкате сидят только «не осилившие» перейти на более современные решения

Mikhail
09.11.2016
09:57:40

Igor
09.11.2016
09:58:14
опять же, мы сравниваем разные проекты наверное. У кого-то хайлоад и он не понимает, как кто-то может быть доволен сервлетами, кому-то хватает

Ivan
09.11.2016
09:58:27
возможно

Dmitriy
09.11.2016
09:58:44
в яндексе и нетфликсе сервлеты =\

Igor
09.11.2016
09:58:53
Плюсы томката: можно гуем разворачивать приложения довольно просто

Timothy
09.11.2016
09:58:56

Mikhail
09.11.2016
09:59:09

Google

Ivan
09.11.2016
09:59:38
я сам не любитель томката но раз речь зашла о нем то можно и подефать
по поводу памяти да
течет

Mikhail
09.11.2016
10:00:43

Nikolay
09.11.2016
10:00:52
кажется sbt еще под 2.10.X

Timothy
09.11.2016
10:01:51
sbt 0.13 должен уже умереть

Nikolay
09.11.2016
10:02:03
пока живой)

folex
09.11.2016
10:02:13
И уступить место 1.0?

Nikolay
09.11.2016
10:02:19
думаешь следующий релиз sbt будет 1.0?

folex
09.11.2016
10:02:29
ну он уже есть на гитхабе как релиз
но там work in progress, конечно же
Шансы есть, в общем

Timothy
09.11.2016
10:03:37
http://eed3si9n.com/sbt-server-reboot

folex
09.11.2016
10:04:09
А в sbt кстати кто-то деньги вливает, не знаете? лайтбенд например

Mikhail
09.11.2016
10:04:15
можешь посмотреть чуть глубже скалуфмт - возможно там по умному и можно подмодуль просто под 2.12 пересобрать (но это если он действительно использует версию в проекте для забора ast)

Denis
09.11.2016
10:24:00
https://twitter.com/olafurpg/status/796076878167736321
http://scalameta.org/tutorial/#generic

Google

Denis
09.11.2016
10:24:10
началось!
вчера поковырял мету, очень приятная штука

Nikolay
09.11.2016
10:24:34
раньше был проект с кодогенерацией на tree hugger - если сравнивать с ним, то вообще мечта)

Slavik
09.11.2016
11:59:31
Подскажите плз, а кто-нибудь еще, кроме Circe, умеет десериализовывать из Json patch’и?
Я про что-то такое:
val foo = Foo(….)
val patch = decode[Foo => Foo](jsonStr).right.get
val patchedFoo = patch(foo)

Daniel
09.11.2016
12:03:59
https://github.com/gnieh/diffson
Disclaimer: пользовался всего разок
но вроде было ок

Slavik
09.11.2016
12:09:08
@danslapman Спасибо! Я на него смотрел, но мне показалось, что он умеет только вычислять патч между двумя Json’ами. Он точно умеет генерить ф-цию, которая патчит поля case class’а?

Юрий
09.11.2016
12:09:21
А что за патчи?

Slavik
09.11.2016
12:10:22
еще раз тот же пример, но более подробно:
val foo = Foo(a=10,b=20,c=30)
val patch = decode[Foo => Foo](“”” {“b”:40}”””).right.get
val patchedFoo = patch(foo)
// Foo(10, 40, 30)

Daniel
09.11.2016
12:10:53
@SlavikBaranov
val patch = JsonDiff.diff(json1, json2, false)
val json3 = patch(json1)
фактически так-же)

Daniel
09.11.2016
12:11:45
а в чем проблема с circe?

Slavik
09.11.2016
12:12:30
@danslapman В целом - да, но надо сериализовать, пропатчить, десериализовать.
@optician_owl Поддержка дефолтных полей сделана 5 дней назад и еще не зарелизилась :)
Если альтернатив не найду - остановлюсь на Circe, да..

Daniel
09.11.2016
12:14:07
@SlavikBaranov а как это связано с патчами?
фишка diffson в том, что он интегрируется и с play-json, и с spray-json, что удобней

Slavik
09.11.2016
12:16:00
Не связано, просто не хочется использовать для put и patch разные библиотеки
Но в целом, diffson - вполне вариант, да. Спасибо еще раз

Google

Nirland
09.11.2016
13:04:25

Igor
09.11.2016
13:05:34
да, но скалатра на сервлетах https://github.com/scalatra/scalatra/blob/2.5.x/jetty/src/main/scala/org/scalatra/jetty/JettyServer.scala

Mikhail
09.11.2016
13:05:59

Nirland
09.11.2016
13:08:51
Да и вообще я честно говоря не понимаю вот в скале все фапают на асинхронность ну взять к примеру плэй, окей нио юзаем для обработки соединений, но вместе с этим очень часто какую нибудь ждбс базу, через какой нибудь фиксированный тред пул. В итоге, чем это принципиально отличается от стандартной модели сервлетов?

Aleksei
09.11.2016
13:10:17
ну не все же

Mikhail
09.11.2016
13:10:25
так точно

Aleksei
09.11.2016
13:10:26
и есть уже асинхронные драйвера
для староверов в мускул

Mikhail
09.11.2016
13:10:40
да не только на асинхронность фапают здесь присутствующие)

Igor
09.11.2016
13:11:16
я, например, фапаю на время, потраченное на реализацию задачи

Mikhail
09.11.2016
13:11:32
я фапаю на женщин
даже при использовании синхронных ждбц есть много других асинхронных источников данных и много других ниошных нюансов, которые нужно порою синхронизировать и которые как бы не очень красиво делать через synchronize

Dmitriy
09.11.2016
13:12:52

Mikhail
09.11.2016
13:20:06

Alexey
09.11.2016
13:22:02
А что реляционное есть с неблокирующим драйвером?