Size: a a a

Scala User Group

2020 October 03

λ

λoλdog in Scala User Group
но в целом это будет не очень хорошо и быстро работать
источник

Г

Георгий in Scala User Group
Привет. Может кто-то подсказать, как работает scalafiddle, scastie в части запуска кода? Какими средствами это может быть реализовано? Я не понимаю:
а) Как запустить sbt из кода
б) Как в открытый sbt отправить новую команду
Буду благодарен, если подскажете, где можно это посмотреть, в гугле не нашел, может плохо искал(
источник

SK

Sergey Kucherenko in Scala User Group
Георгий
Привет. Может кто-то подсказать, как работает scalafiddle, scastie в части запуска кода? Какими средствами это может быть реализовано? Я не понимаю:
а) Как запустить sbt из кода
б) Как в открытый sbt отправить новую команду
Буду благодарен, если подскажете, где можно это посмотреть, в гугле не нашел, может плохо искал(
источник

λ

λoλegΥch in Scala User Group
Георгий
Привет. Может кто-то подсказать, как работает scalafiddle, scastie в части запуска кода? Какими средствами это может быть реализовано? Я не понимаю:
а) Как запустить sbt из кода
б) Как в открытый sbt отправить новую команду
Буду благодарен, если подскажете, где можно это посмотреть, в гугле не нашел, может плохо искал(
источник

λ

λoλegΥch in Scala User Group
прост процесс запускается
источник

λ

λoλegΥch in Scala User Group
скалафидл напрямую с конпилером работает
источник

λ

λoλegΥch in Scala User Group
в теории можно sbt-server юзать
источник

Г

Георгий in Scala User Group
Спасибо)
источник
2020 October 04

AD

Apache DOG™ in Scala User Group
Nick
Пример: Весит где-то сервис который отдает по запросу данные в формате protobuf. Хочется зная только схему .proto парсить без генерации классов и в случае новой схемы(появился новый сервис) просто  добавить ее в общее хранилище у себя и больше ничего не менять.
Протобаф не джисон, не был задизайнен как человекочитаемый и кодоген там необходим чтобы не писать зубодробительную парсилку и кодеки руками
источник

M

Marsel in Scala User Group
Nick
Требуется лишь в читаемый стринг перевести
Можно попробовать просто вызывать утилиту protoc в виде отдельного процесса
источник

АМ

Азамат Макарчук... in Scala User Group
Nick
Пример: Весит где-то сервис который отдает по запросу данные в формате protobuf. Хочется зная только схему .proto парсить без генерации классов и в случае новой схемы(появился новый сервис) просто  добавить ее в общее хранилище у себя и больше ничего не менять.
А чем добавление .proto в хранилище будет отличаться от добавления нормального парсера ? Хочется не выкатывать сервис при изменениях схемы ? В любом случае нужно один раз сгенерировать хотя бы урезанный парсер из прото файла.
источник

N

Nick in Scala User Group
Азамат Макарчук
А чем добавление .proto в хранилище будет отличаться от добавления нормального парсера ? Хочется не выкатывать сервис при изменениях схемы ? В любом случае нужно один раз сгенерировать хотя бы урезанный парсер из прото файла.
Гибкость, вот основная цель. Общее хранилище схем решает много проблем, но это другая тема для обсуждения. Для прото изменяется схема надо менять класс, то есть его перегенерить, это не оч удобно + тесты, но не говорю что это не правильно я не так долго работаю с прото вот и ищу совета у кого есть опыт. Что вы подразумеваете под урезанным парсером? Вы его генерите своим велосипедом или сторонней библой? Основная цель моего вопроса была узнать кто как делает у себя в общих чертах, чтобы как-то оценить текущее свое решение(scalapb) и понять насколько хотелки соотносятся с реальностью
источник

Oℕ

Oleg ℕizhnik in Scala User Group
ΤΙΛ "Библа"
источник

λ

λoλegΥch in Scala User Group
ляба
источник

AS

Artem Sokolov in Scala User Group
Nick
Гибкость, вот основная цель. Общее хранилище схем решает много проблем, но это другая тема для обсуждения. Для прото изменяется схема надо менять класс, то есть его перегенерить, это не оч удобно + тесты, но не говорю что это не правильно я не так долго работаю с прото вот и ищу совета у кого есть опыт. Что вы подразумеваете под урезанным парсером? Вы его генерите своим велосипедом или сторонней библой? Основная цель моего вопроса была узнать кто как делает у себя в общих чертах, чтобы как-то оценить текущее свое решение(scalapb) и понять насколько хотелки соотносятся с реальностью
до сих пор не понятно что вы собираетесь делать
вот появился новый сервис с новым апи/форматом прото.
вы вроде хотите легковесно добавлять данную новою зависимость
но не понятно что вы хотите делать с этим дальше
источник

AS

Artem Sokolov in Scala User Group
если у вас затем работа приложения завязана на формат и на структуру - то без доработок особо не обойтись и я думаю в таком случае перегенерить кейсклассы это меньшее из зол. только если у вас не так что вам из всего сообщения нужно одно поле которое крайне маловероятно что будет меняться - тогда вероятно можно обходить дерево формата и по пути доставать поле. вопрос про это ?

если у вас ничто на формат не завязано, то тогда вопрос - зачем вам вообще знать про формат, что вы с них хотите делать?
единственное что приходит в голову из эпохи xml - можно было бы прогнать валидацию на соответствие ответа текущей актуальной схеме, но это кажется всё что можно сделать.
источник

P

Python in Scala User Group
А кто-нибудь использует TiKV?
источник

AD

Apache DOG™ in Scala User Group
Nick
Гибкость, вот основная цель. Общее хранилище схем решает много проблем, но это другая тема для обсуждения. Для прото изменяется схема надо менять класс, то есть его перегенерить, это не оч удобно + тесты, но не говорю что это не правильно я не так долго работаю с прото вот и ищу совета у кого есть опыт. Что вы подразумеваете под урезанным парсером? Вы его генерите своим велосипедом или сторонней библой? Основная цель моего вопроса была узнать кто как делает у себя в общих чертах, чтобы как-то оценить текущее свое решение(scalapb) и понять насколько хотелки соотносятся с реальностью
Если поменялся протокол вам так или иначе надо менять то что его парсит со всеми вытекающими. Только с протобафом вы об этом узнаете сразу, а без - как оно завалится сразу на стейжинге или в проде, так что эта самая "гибкость" как вы её рисуете, поле с граблями россыпью. Но вот что можно сделать - сдвинуть все изменения к какому-то краю.
источник

Е

Егор in Scala User Group
А это чат для маленьких? Если для взрослых то скиньте для маленьких, а пока я вопрос задам:
Допустим есть List[List[Int]], и мне нужно получить из него List[Int] содержащий размеры всех списков, это ведь можно как-то в стиле ФП сделать, а не итерироваться по всему листу?
источник

NV

Nikita Vilunov in Scala User Group
Егор
А это чат для маленьких? Если для взрослых то скиньте для маленьких, а пока я вопрос задам:
Допустим есть List[List[Int]], и мне нужно получить из него List[Int] содержащий размеры всех списков, это ведь можно как-то в стиле ФП сделать, а не итерироваться по всему листу?
.map(_.size)
источник