@scala_ru

Страница 979 из 1499
Юрий
07.10.2017
08:50:34
Ну и вообще, зачем их как-то явно делить?

Мне со временем все меньше хочется работать с фреймворкамт, больше с либами, на которых решаешь свои задачи

Andrey
07.10.2017
08:51:35
А чем route DSL не платформенный код?
После того как напишешь контроллер, надо идти в платформу и прописывать его там...

Юрий
07.10.2017
08:53:15
После того как напишешь контроллер, надо идти в платформу и прописывать его там...
А, я кажется я понял. В спринге аннотацию прописал - а дальше магия. А в акке нужно явно роуты скармливать, так?

Google
Alexey
07.10.2017
08:56:17
Человек просто любит чтобы апликуха стартовала 10 минут, но искала все сама

Andrey
07.10.2017
08:56:18
Мне со временем все меньше хочется работать с фреймворкамт, больше с либами, на которых решаешь свои задачи
Я согласен с этим. Но я говорю не про разделение фреймворк библиотека. А про разделение общего кода и частного. И тут может быть как фреймворк так и библиотеки

Andrey
07.10.2017
09:01:13
А, я кажется я понял. В спринге аннотацию прописал - а дальше магия. А в акке нужно явно роуты скармливать, так?
Нет. Дело не в аннотации вовсе. А в том чтобы выделить общий код. Ну вот представь, что в буте тебе после добавления каждого контроллера надо лезть в спринг и там его прописывать. Фигня же. В общем случае хочется чтобы после создания роута в каком-то отдельном модуле/пакете он сам при сборке всего проекта попадал куда надо, без ручного его прописывания в коде

Юрий
07.10.2017
09:05:31
Нет. Дело не в аннотации вовсе. А в том чтобы выделить общий код. Ну вот представь, что в буте тебе после добавления каждого контроллера надо лезть в спринг и там его прописывать. Фигня же. В общем случае хочется чтобы после создания роута в каком-то отдельном модуле/пакете он сам при сборке всего проекта попадал куда надо, без ручного его прописывания в коде
Имхо, лучше явно все задавать. Ты просто знаешь, как работает спринг. Но мне кажется, что любая такая магия добавляет неочевидности и сложности. С аккой все явно - вот точка входа в приложение, вот роуты, из этих роутов дёргаются всякие контроллеры. Все сразу понятно и явно

Andrey
07.10.2017
09:06:54
ну вот, ты добавляешь ветку в свой рут и он попадает куда надо без ручного прописывания
А добавление ветки в общий роут это не ручное добавлен е разве?

Oleg
07.10.2017
09:07:20
А добавление ветки в общий роут это не ручное добавлен е разве?
ну вот в плее ты так же руками дописываешь в routes

Или в говносервлетах руками пишешь аннотацию

Alexey
07.10.2017
09:08:05
А добавление ветки в общий роут это не ручное добавлен е разве?
Чем это отличается от того, что тебе надо добавить аннотацию?

Oleg
07.10.2017
09:08:06
То же количество действий

Andrey
07.10.2017
09:08:24
ну вот в плее ты так же руками дописываешь в routes
Да. А в спринге не прописываю). А на имплиситах не пробовали такое сделать?

Alexey
07.10.2017
09:08:25
Что то и где то придется добавить

Google
Oleg
07.10.2017
09:08:54
Спринг сам понимает какой код - сервис?

Andrey
07.10.2017
09:09:38
В спринге не пишешь аннотации?
В спринге я не вношу отдельные контроллеры в один общий, чтобы они работали

Nick
07.10.2017
09:10:27
Спринг сам понимает какой код - сервис?
можешь решить свои вопрос кодогенерацией

Oleg
07.10.2017
09:11:19
Да. А в спринге не прописываю). А на имплиситах не пробовали такое сделать?
Имплиситы они по требованию резолвятся. Нельзя заставить имплисит в коде проактивно добавить запись куда-то

Юрий
07.10.2017
09:11:53
С аккой ты можешь всё приложение раскрутить от точки входа. Это явно, просто и понятно. В спринге какой таковая точка входа скрыта от программиста. Как понять, какой код реально попадет в приложение - хз. Эти аннотированные классы отовсюду могут подгружаться. Это же ваще адок.

Andrey
07.10.2017
09:13:07
Имплиситы они по требованию резолвятся. Нельзя заставить имплисит в коде проактивно добавить запись куда-то
Т.е. не получится, условно, написать класс MainRouter который во время компиляции подтянет себе все роуты из разных пакетов?

Aleksei
07.10.2017
09:13:25
нет, для этого есть спринг

Nick
07.10.2017
09:14:22
да все можно)

Юрий
07.10.2017
09:15:05
Я с этим полностью согласен. Просто хочу понять можно ли как-то обобщить код с роутами.
Так ты же предлагаешь магически бог знает откуда подгружать роуты

Oleg
07.10.2017
09:15:23
Я с этим полностью согласен. Просто хочу понять можно ли как-то обобщить код с роутами.
Он как раз отлично обобщается в отличие от нетипизированных аннотаций

Andrey
07.10.2017
09:15:49
Так ты же предлагаешь магически бог знает откуда подгружать роуты
Магически это в спринге) я хочу понять можно ли немагией в скале)

Юрий
07.10.2017
09:15:56
В принципе, ничего не мешает сделать как в спринг - свой класспас загрузчик делаешь и в путь

Nick
07.10.2017
09:16:45
Можешь во время компиляции найти все роуты и сгенерить код

Юрий
07.10.2017
09:16:56
Фу фу фу ))
Ты же за спринг. Он так и работает

Oleg
07.10.2017
09:16:59
В любом случае магия спринга основана на интроспекции. Т.е. ты на самом деле вместе со своим ЖВМ пишешь на другом ещё одном плохо специфицированном метаязыке

Нетипизированном, интерпретатор которого запускается после компиляции

Google
Oleg
07.10.2017
09:17:38
Никто не хочет этого для скалы

Andrey
07.10.2017
09:17:44
Ты же за спринг. Он так и работает
Я от него убежать хочу)

Oleg
07.10.2017
09:19:05
Волшебство скалы основано на композиции. А не на сахаре, как отдельные думают. Поэтому для спринга прекрасный выбор - котлин

Юрий
07.10.2017
09:19:34
Плюсую

Andrey
07.10.2017
09:20:46
О нет, давайте только не про Котлин...

Oleg
07.10.2017
09:21:21
О нет, давайте только не про Котлин...
Так вот ты спрашиваешь нас про котлин, а у нас есть, что сказать

Юрий
07.10.2017
09:22:04
О нет, давайте только не про Котлин...
Просто как ты себе представляешь эту магическую регистрацию роутов? Как понять, какие в итоге роуты будут в приложении?

Andrey
07.10.2017
09:23:06
Nick
07.10.2017
09:23:18
я тебе уже раза 3 сказал

Oleg
07.10.2017
09:23:33
Добавить таску, которая скаламетой интроспектит

Ненамного лучше спринга

Но по крайней мере во время билда...

Nick
07.10.2017
09:24:11
Добавить таску, которая скаламетой интроспектит
а не слишком ли низко? может проще макросами?

Юрий
07.10.2017
09:24:50
Ну так конечно можно. Но это ужос

Nick
07.10.2017
09:25:08
почему? многие так делают

Юрий
07.10.2017
09:26:06
Потом кто-нибудь посмотрит на код, сделает поиск использования кода, а идея ничего не найдет. И этот код пропадет из проекта.

Nick
07.10.2017
09:27:57
sangria

Юрий
07.10.2017
09:35:57
sangria
И где там эта магия? Мельком просмотрел, там нужно все явно указать.

Google
Nick
07.10.2017
09:43:21
аннотации посмотри

https://github.com/sangria-graphql/sangria/tree/1bbad3c4c9c2ebd612ed8158d5e39f33d6bb8903/src/main/scala/sangria/macros

Юрий
07.10.2017
09:45:54
С телефона не очень удобно доки читать :)

Alexey
07.10.2017
09:54:15
а не слишком ли низко? может проще макросами?
похорошему макрос должен просто изменять дерево, которое в него попало, если ты вылезаешь за этот скоуп то тебе никто не гарантирует ничего хорошего

С имлиситом можно сделать, нужно получать в конструкторе что то, при помощи чего будет регистрироваться роуты и всё

Но это такое, накладывать обязанность на бизнесс код зарегать себя где то

Nick
07.10.2017
09:59:31
можно кстати и имплиситом решить

Nikolay
07.10.2017
10:36:15
Я подозреваю что у топикстартера приложение на 3-7 роутов на верхнем уровне, которые проще всего руками прописать в Main.

Nick
07.10.2017
10:37:03
та и ваще, пусть делает один роут и через haproxy рулит ?

Nikolay
07.10.2017
10:38:07
Насчёт спринга - большей частью дело привычки, через какое-то время использования akka http будет казаться что такой вариант с роутами правильнее

Nick
07.10.2017
10:44:55
Andrey
07.10.2017
10:45:37
Да не нужны они там. Нагрузки нет, монолит тащит без проблем.

Nick
07.10.2017
10:46:43
А. Типа микросервисы эт про нагрузку?)

Nikolay
07.10.2017
10:46:48
Плохая из тебя Ванга)) на данный момент около сотни
То есть сотня ресурсов, типа таких? /users /orders

Andrey
07.10.2017
10:47:39
То есть сотня ресурсов, типа таких? /users /orders
Таких с пару десятков и ещё у них у каждого несколько

Nikolay
07.10.2017
10:48:47
Те что у каждого из них не должны наружу в main торчать

Dmitry
07.10.2017
11:33:15
/orders

KrivdaTheTriewe
07.10.2017
12:04:08
Lupsick
07.10.2017
19:19:03
посоны, кто-нибудь ставил apache predictionio?

Google
Sergey
07.10.2017
19:34:04
Доброго всем вечера, коллеги! Не поскажите куда копать, нужно организовать row level security? Используем Slick 3.1.

Aleksey
08.10.2017
12:15:06
/toxic

Nikolay
08.10.2017
12:19:48
Молчащие скалисты - это токсично

Aleksei
08.10.2017
13:31:31
Добавить колонку Level bigint not null default 0

Oleg
08.10.2017
15:19:53
А что такое XAML в контексте секьюрити/DB?

Sergey
08.10.2017
16:44:28
А что такое XAML в контексте секьюрити/DB?
На основе атрибутов записи принять решение показывать или нет

Добавить колонку Level bigint not null default 0
Вопрос как лучше подмешать в SQL запрос дополнительные фильтры. Может есть примеры?

?Ivan
08.10.2017
18:36:58
Вопрос как лучше подмешать в SQL запрос дополнительные фильтры. Может есть примеры?
сделать view в бд с нужным условием и выбирать из нее как из таблицы.

Sergey
08.10.2017
18:37:41
сделать view в бд с нужным условием и выбирать из нее как из таблицы.
Динамически не настроить, плюс логика перекачюет в БД, чего не хочется

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