
Nikolay
13.09.2016
08:48:26
вот например. сам кейс класс
case class GroupInfo(id: Int, title: String, isPublic: Boolean, avatars: Option[AvatarUrls])

Vladimir
13.09.2016
08:48:28
*для большинства случаев

Nikolay
13.09.2016
08:48:41
ну да, даже так
если нужно какое-то специфичное представление, то нужно все таки. тот же snake_case сделать

Google

Nikolay
13.09.2016
08:49:37
хотя может быть есть хелперы в плее?

Viacheslav
13.09.2016
08:49:44

Nikolay
13.09.2016
08:49:55
без этого - circe)

Diemust
13.09.2016
08:49:55
хз, почему они это не сделали но на снейк кейс есть маленькая сторонняя либа
только тогда надо везде добавлять немного бойлерплейта

Nikolay
13.09.2016
08:50:23
circe умеет автоматически генерировать endoders/decoders для кейс классов

Diemust
13.09.2016
08:50:47
в circe вот сразу можно выбрать в каком формате фигачить

Nick
13.09.2016
08:51:08
на самом деле на скале можно уже meta заюзать
и нагенерить метод toJson

Viacheslav
13.09.2016
08:51:25

Nick
13.09.2016
08:51:26
и эт будет экстримально быстро

Nikolay
13.09.2016
08:51:46
Jackson использует runtime reflection?

Diemust
13.09.2016
08:51:49
экстримально? даже страшно становится =)

Google

Nick
13.09.2016
08:52:04
да, jackson юзает reflection

Viacheslav
13.09.2016
08:52:15

Nikolay
13.09.2016
08:52:22
ну вот, а scala библиотеки не используют

Nick
13.09.2016
08:52:35
он его умно юзает
запоминает для обьектов ,что и как сериализовать

Viacheslav
13.09.2016
08:53:33
ок, что выбрать в итоге если не джексон: circe, play, spray ... ?

Nick
13.09.2016
08:53:51
сделать trait Jsonable )

Nikolay
13.09.2016
08:54:39
просто encoders/decoders readers/writers marshallers/unmarshallers это обычный scala код, который для общих случаев генерируется, а в специфичных случаях ты получаешь бОльшую гибкость

Viacheslav
13.09.2016
08:55:50
генерируется кем\чем в какой момент? мы про плей или circe говорим?

Nikolay
13.09.2016
08:56:01
макросами в compile time

Viacheslav
13.09.2016
08:56:22
можно ссылочку на примеры?
на макросы всмысле и жисон

Nikolay
13.09.2016
08:57:25
https://www.playframework.com/documentation/2.1.1/ScalaJsonInception
если все верно помню
это про play

Viacheslav
13.09.2016
08:58:01
чота версия древняя, в 2.5.6 таких словей нет)

Vladimir
13.09.2016
08:58:13
https://www.playframework.com/documentation/2.5.x/ScalaJson

Viacheslav
13.09.2016
08:58:45
да, да, там нет слова макрос

Diemust
13.09.2016
08:58:57
def writes[A]: OWrites[A] = macro JsMacroImpl.writesImpl[A]
похоже на макросы вроде, из исходников =)

Google

Alexey
13.09.2016
08:59:26
https://travisbrown.github.io/circe/

Vladimir
13.09.2016
09:00:01

Viacheslav
13.09.2016
09:02:19
ок, пасиб, попробую понять и простить плеешный маппинг)

Nikolay
13.09.2016
09:02:56
привыкнуть)

Юрий
13.09.2016
09:18:09
Надо пушку юзать
https://github.com/fomkin/pushka
никакого рантайм рефлекшна

Grigory
13.09.2016
09:43:01
пушка тема

Alexander
13.09.2016
10:04:59
ко вчерашнему разговору о латыни и древнегреческом как раз: "circe (pronounced SUR-see, or KEER-kee in classical Greek, or CHEER-chay in Ecclesiastical Latin) is a JSON library for Scala"
важно!

Foo
13.09.2016
10:06:09
впрочем наверное тебя там не было

Aleksey
13.09.2016
10:06:28
Понятно. Кирка или Цирцея.

Nick
13.09.2016
10:06:55

Alexander
13.09.2016
10:06:56
ага, я видел отголоски этого спора :) кирха оттуда же

Foo
13.09.2016
10:07:02
не, Цирцея по другому пишется)
в греческом
церковь скорее "кириаке"

Alexander
13.09.2016
10:07:17

Foo
13.09.2016
10:07:19
а цирцея "кирке", да
ну в общем без кандиминимума по мертвым языкам к скале лучше не подступаться

Google

Aleksey
13.09.2016
10:07:56

Nick
13.09.2016
10:08:11
на обычных макросах

Юрий
13.09.2016
10:08:11
меты пока нету под scalajs

Nick
13.09.2016
10:08:22
которые между прочем экспериментал

Aleksey
13.09.2016
10:09:02

Nick
13.09.2016
10:09:12
эт да)

Admin
ERROR: S client not available

Юрий
13.09.2016
10:09:27
https://github.com/scalameta/scalameta/issues/359

Nikolay
13.09.2016
10:10:03
а meta покрывает то что нужно для полноценного использования макросов?

Nick
13.09.2016
10:12:19

Юрий
13.09.2016
10:15:04
Я думаю там задача не космических масштабов, просто нужно выпилить из scala meta все jvm апи, которых нет в scala.js
но просто это нужно кому-то сделать
все заняты задачами поважнее

Nick
13.09.2016
10:15:42
эм, да там не в api дело
там с парсингом уг какое-т

Alex
13.09.2016
14:17:39
https://gist.github.com/jdegoes/97459c0045f373f4eaf126998d8f65dc

Юрий
13.09.2016
15:12:07
Написано ок, но вещи типа Zygomorphism и Postpromorphism вызывают странные чувства

Aleksey
13.09.2016
15:16:54
ой гевалт

Google

Nick
13.09.2016
15:53:47
Зигаморфизм
Эт чтот из 40-х

folex
13.09.2016
16:37:25
А можете дать линк на этот чат?
не могу нагуглить

Nikolay
13.09.2016
16:38:48
у админов вроде линки, не?

folex
13.09.2016
16:39:11
Всмысле у них спрашивать?

Nikolay
13.09.2016
16:39:53
вроде как да
либо можно просто добавить человека
без инвайт линка

Aleksey
13.09.2016
16:41:24
https://telegram.me/joinchat/AaPKaj2kTiOww7NAqYHabQ

folex
13.09.2016
16:41:39
спасибо
https://telegram.me/jvmchat отрыл тут

Nikolay
13.09.2016
16:49:40
там бытует мнение что scala сложна, и почитают spring

Nick
13.09.2016
16:49:52
spring норм
чо ты

Nikolay
13.09.2016
16:50:28
я не говорю обратного

Aleksey
13.09.2016
16:51:26
@vndzzz а ты можешь настроить что бы у нас была красивая публичная ссылка, как у этих посонов?