@scala_ru

Страница 81 из 1499
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
implicit val groupFormat: Format[GroupInfo] = Json.format[GroupInfo]
без этого никак? маппер же знает какой объект ему подсовывается

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
Jackson использует runtime reflection?
хз чо он там использует, но работает и работает быстро и хорошо

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
да, да, там нет слова макрос
а, во https://www.playframework.com/documentation/2.5.x/ScalaJsonAutomated

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
вспомнил, как мы о происхождении слова "церковь" как раз спорили на днях
крети́н «слабоумный человек». Вероятно, через нем. Kretin — то же (с 1800 г.; см: Шульц–Баслер 1, 404) из франц. crétin от лат. christiānus «христианин» (см. Гамильшег, ЕW 276 и сл.), потому что слабоумных считали угодными богу существами.

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
которые между прочем экспериментал

меты пока нету под scalajs
эм, какбы мета вроде до scala-js работает и наверное никак не должна влиять на js

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
эм, какбы мета вроде до scala-js работает и наверное никак не должна влиять на js
Нет, это не так. Там есть issue на эту тему, работа ведется.

https://github.com/scalameta/scalameta/issues/359

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

Nick
13.09.2016
10:12:19
Нет, это не так. Там есть issue на эту тему, работа ведется.
ну какбы так, просто чтот не срослось)

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

Страница 81 из 1499