@scala_ru

Страница 1242 из 1499
Юрий
31.01.2018
12:14:37
Вспоминаем fs2

Alex
31.01.2018
12:14:54
А от чего именно кровоточит?

Alex
31.01.2018
12:15:04
http4s же поверх fs2 и чо

Google
Юрий
31.01.2018
12:16:02
А от чего именно кровоточит?
Да от всего. Хочется делать простые вещи просто, а там все имплиситами обмазано, слева магнет паттерн, справа идея красная

Юрий
31.01.2018
12:18:16
Не понятно, почему в скале так любят все делать сложным. Реально хочется чего-то простого местами, а альтернатив просто нет.

Ну если имплиситы мешают, то только в котлин или го дорога )
Имплиситы отличная вещь, но если злоупотреблять любой фичей это превращается в кошмар

Если высокоуровневые фичи не нужны - там low level api есть
Им хоть кто-то пользуется? Оно вообще юзабельно?

Alex
31.01.2018
12:21:17
Им хоть кто-то пользуется? Оно вообще юзабельно?
Я это к тому, что можно набросать простенький custom DSL

а так если нужна бесшовная интеграция с akka-*(actors/typed/streams) то тут выбора особо нет

Oleg
31.01.2018
12:26:37
давненько идея не краснела от акки

KrivdaAllStars
31.01.2018
12:29:39
Юрий
31.01.2018
12:30:14
Grigory
31.01.2018
12:30:28
Google
Grigory
31.01.2018
12:30:33
не очень привычно

Юрий
31.01.2018
12:30:40
давненько идея не краснела от акки
У меня и не переставала

Oleg
31.01.2018
12:31:18
Не понятно, почему в скале так любят все делать сложным. Реально хочется чего-то простого местами, а альтернатив просто нет.
Некоторые концепты сами по себе очень многослойные, типа того же HTTP c кучей аспектов. Соответственно возникает запрос реализовывать самые простые кейзы минимальным количеством кода, а если что-то нужно кастомное, дописывать ровно столько, сколько нужно для кастомизации. Поэтому модель решения получается естественным образом сложной, а простые кейзы проецируются на неё кучей автоматизма. Когда-то этот автоматизм реализовывали всякие специализированные этапы деплоя, которые искали аннотации\конфиги и делали интроспекцию твоей структуры. Сегодня более опрятным считается этот автоматизм отдавать компилятору, который по крайней мере работает параллельно с тем, как ты пишешь код. Полагаю с ростом числа адептов всего отдавать в залог типам, сгладятся и углы, из-за которых всё это кажется переусложнённой магией

Vadim
31.01.2018
12:31:20
возьми чистый финагл - там все просто - Req => Future[Resp]

хотя можно и туже akka-http - только без роутинг dsl'я)

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

Oleg
31.01.2018
12:40:46
в моём мире джанга вс фласк - это как play vs akka-http

Daniel
31.01.2018
12:40:46
надеялся, что Фомкин делает королев таким, но подозрение что это лишь молодой "спринг"

Andrey
31.01.2018
12:42:09
Daniel
31.01.2018
12:42:52
Даже отдаленно напоминаюещего спринг там ничего нет...
я в плане того, что он может обрасти кучей всего и развиться в сложного монстра (если появится аудитория, мотивирующая Лёшу)

в качестве простого есть же планы втащить некоторые либы в стдлиб например, беттер-файлс

про хттп не помню только

Александр
31.01.2018
12:50:52
вот бы нашелся герой что роутинг сделает читаемым

Alex
31.01.2018
12:51:22
Велосипед тоже так себе вариант
Ну тогда получается пустое множество решений ? custom DSL плохо, akka-http DSL плохо, другие либы - тоже плохо

Александр
31.01.2018
12:55:17
@POST("/users")
ГЕРОЙ

Юрий
31.01.2018
12:55:52
Некоторые концепты сами по себе очень многослойные, типа того же HTTP c кучей аспектов. Соответственно возникает запрос реализовывать самые простые кейзы минимальным количеством кода, а если что-то нужно кастомное, дописывать ровно столько, сколько нужно для кастомизации. Поэтому модель решения получается естественным образом сложной, а простые кейзы проецируются на неё кучей автоматизма. Когда-то этот автоматизм реализовывали всякие специализированные этапы деплоя, которые искали аннотации\конфиги и делали интроспекцию твоей структуры. Сегодня более опрятным считается этот автоматизм отдавать компилятору, который по крайней мере работает параллельно с тем, как ты пишешь код. Полагаю с ростом числа адептов всего отдавать в залог типам, сгладятся и углы, из-за которых всё это кажется переусложнённой магией
Конкретно акка хттп содержит много сложных вещей, никак не связанных с хттп.

Google
Alex
31.01.2018
12:55:53
@ГЕРОЙ("/ты")

Vadim
31.01.2018
12:56:30
я тут ради эксперимента решил у варнингов идеи поменять цвет с красного на, что-нить менее агрессивное

Nikolay
31.01.2018
12:56:49
Конкретно акка хттп содержит много сложных вещей, никак не связанных с хттп.
как говорил недавно Олег, "отдельная субкультура типизированных хэдеров"

Nick
31.01.2018
12:57:18
берешь графкуэль и делает один эндпоинт -> читаемо

Aleksei
31.01.2018
12:57:36
раз уж про акку, а как сделать чтобы эндпоинт мог несколько ContentType принимать?

Oleg
31.01.2018
12:57:43
Конкретно акка хттп содержит много сложных вещей, никак не связанных с хттп.
тебе ведь не только HTTP нужен Нужно запустить многопоточный сервер, понимающий протокол и все его аспекты, общающийся с твоей программой, обладающий нужной формой асинхронности

Юрий
31.01.2018
12:57:51
На тему приятных хттп решений - в моей жизни самым приятным был express.js. он супер простой, и с ним можно разобраться за час

_
31.01.2018
12:59:59
в идее можно кликнуть в метод и найти имплисит параметры которые снаружи берутся, а можно ли наборот? узнать куда подставляется имплисит val

Юрий
31.01.2018
13:00:30
Vadim
31.01.2018
13:00:57
Alexey
31.01.2018
13:01:01
Да. Нужно просто поставить на него курсор. У меня еап

Александр
31.01.2018
13:01:51
А у скалатры не оче?
скалатра? что гуглить

S
31.01.2018
13:02:01
скалатра? что гуглить
https://github.com/scalatra/scalatra

Александр
31.01.2018
13:02:55
https://github.com/scalatra/scalatra
а на прод вылил кто это?

S
31.01.2018
13:03:47
а на прод вылил кто это?
В этом чатике - не знаю. Вообще это довольно популярный уеб-фреймворк. http://scalatra.org/community/built-with.html

Daniel
31.01.2018
13:04:04
https://twitter.github.io/finatra/user-guide/http/controllers.html вот вам еще

Google
_
31.01.2018
13:04:32
http://julienrf.github.io/endpoints/

такое смотрели? фреймворки

Юрий
31.01.2018
13:05:08
Вообще в скале очень не хватает простых либ. Повсюду монстры с оверинжинирингом на фри (привет typelevel) либо дсл где надо методом тыка подставлять имплиситы из тысяч, чтобы собралось.

Александр
31.01.2018
13:05:14
какая красота поперла, как бы не забы ь

Alex
31.01.2018
13:09:36
простота это иллюзия, потом эти простые либы приходится сшивать белыми нитками

Daniel
31.01.2018
13:10:27
поэтому надо разделять иногда достаточно одного, иногда придется лезть в другое

Oleksandr
31.01.2018
13:14:11
как вижу зависимость на "шейплес + коты + акка" — в дрожь кидает

Alex
31.01.2018
13:15:35
коты же и есть либа для интеграции

Alexander
31.01.2018
13:16:05
поэтому надо разделять иногда достаточно одного, иногда придется лезть в другое
Тут проблема роста. Сделал на простом - начал добавлять фичи - переписывай на сложном.

Oleksandr
31.01.2018
13:16:14
коты же и есть либа для интеграции
если хочешь коты, делай базовый модуль, и _отдельно_ с котами

кто хочет коты — возьмет второй, кто не хочет — сам допилит первый

Alex
31.01.2018
13:16:47
Nikita
31.01.2018
13:17:15
если хочешь коты, делай базовый модуль, и _отдельно_ с котами
Это же касательно библиотек, а не продакшена, так?

Oleksandr
31.01.2018
13:17:23
Ну акка-то еще ничего
да ну, там же тонна всего, и конфликтов версий потенциальных куча

Alexander
31.01.2018
13:17:43
если хочешь коты, делай базовый модуль, и _отдельно_ с котами
Хочу ФП в ядре использовать, но не хочу идти по пути фс2 (переписывать половину котов)

Oleksandr
31.01.2018
13:18:35
Хочу ФП в ядре использовать, но не хочу идти по пути фс2 (переписывать половину котов)
а, скажем, в ядре обозначить интерфейсы (через тот же F[_]), и реализацию последних в соседнем модуле с котами возможно провернуть?

Google
Юрий
31.01.2018
13:18:41
простота это иллюзия, потом эти простые либы приходится сшивать белыми нитками
Понятно, что все относительно. Но создается впечатление, что авторы либ специально ищут способ "как бы сделать посложнее". Скала отличный язык, но благодаря богатым возможностям все соревнуются не в решении проблем, а в применении фич языка

Alexander
31.01.2018
13:18:49
Oleksandr
31.01.2018
13:19:26
Шейплес проще плея того же, как по мне.
вопрос в том, что насильно экспозить либы такого масштаба в _либах_ — дурной тон

одни грабли с шейдингом и тд чего стоят

Alexander
31.01.2018
13:21:59
трейдофф
Ну, тут тонкий момент - нужно осознавать когда можно допилить, а когда лучше заново переписать. Не всегда это просто понять, тем более когда у нас бизнес, и требования быстро меняются.

Alexander
31.01.2018
13:23:54
одни грабли с шейдингом и тд чего стоят
По-моему это ближе к проблеме зависимостей в целом, но, да, тоже предпочитаю тонкие либы.

Oleksandr
31.01.2018
13:26:32
пора делать манифест "нет толстым либам в скале" и пиариться на конфах

это реальная проблема)

Alexander
31.01.2018
13:26:43
тогда сразу страдать, спринг, хибер,оракл
Кажется, так обычно и делают. Но я думаю что есть решения элегантнее - модульность (вроде того как кэтс распилили), самому абстракциями огораживаться.

Alex
31.01.2018
13:26:56
разобъем всё на модули и тд

Oleksandr
31.01.2018
13:27:20
Alex
31.01.2018
13:27:31
вроде нормич

Oleg
31.01.2018
13:27:32
Alexander
31.01.2018
13:27:50
разобъем всё на модули и тд
Дегоуз неплохо контраргументировал.

Daniel
31.01.2018
13:28:15
Oleksandr
31.01.2018
13:28:32
вроде нормич
ну вот надо продумать четкие критерии "толстоты" и "тонкости", и когда одна переходит во второе

Oleg
31.01.2018
13:28:45
Oleksandr
31.01.2018
13:29:07
скажем, в моем понимании, если либа транзитивно тащит много всякого — она уже не "тонкая"

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