Size: a a a

Software Design/Architecture/Zen

2021 March 30

SP

Sergey Protko in Software Design/Architecture/Zen
Константин Грачев
хм. Прост ты за него так топил, я думал вы его юзаете. Хотел поинтересоваться, что за киллерфичи вы в кейклоке увидели, что с платного сервиса решили уйти
мы юзаем сча Okta
источник

SP

Sergey Protko in Software Design/Architecture/Zen
keycloak умеет в федерацию так что за ним может быть и Okta и Auth0 и другие провайдеры
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но политики там вроде как самые гибкие из того что смотрел
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Не подскажешь, со всякими SPA как лучше это всё использовать. У кейклока своя JS либа есть для SPA, лучше её взять или просто proxy oauth сервером закрыть?
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Никогда всё это не трогал, в голове никак пазл не сложится
источник

K

Konstantin in Software Design/Architecture/Zen
Константин Грачев
Не подскажешь, со всякими SPA как лучше это всё использовать. У кейклока своя JS либа есть для SPA, лучше её взять или просто proxy oauth сервером закрыть?
С keycloak темплейты неудобно делать для морды, это как сразу. Там нужно будет свои SPA для каждого темплейта делать отдельно.

Кмк кейклоак это прям такой конкретный швейцарский нож для всего, и внутреннего и внешнего доступа, и сделать всеогранизационную секьюрити любых уровней и интеграцией во всякие third-party типо Google. Но есть проблемы со скоростью, не всё «шустро шустро» и нужен хороший тех. саппорт если будет нормальный трафик. Он «капризный»
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
Konstantin
С keycloak темплейты неудобно делать для морды, это как сразу. Там нужно будет свои SPA для каждого темплейта делать отдельно.

Кмк кейклоак это прям такой конкретный швейцарский нож для всего, и внутреннего и внешнего доступа, и сделать всеогранизационную секьюрити любых уровней и интеграцией во всякие third-party типо Google. Но есть проблемы со скоростью, не всё «шустро шустро» и нужен хороший тех. саппорт если будет нормальный трафик. Он «капризный»
В смысле зачем свои спа для каждого темплейта? Темплейт это же страница логина?
источник
2021 March 31

K

Konstantin in Software Design/Architecture/Zen
Константин Грачев
В смысле зачем свои спа для каждого темплейта? Темплейт это же страница логина?
Темплейты приходят от keycloak и там базовый html. Нужно инжектить приложения в них, отдельные бандлы для хендлинга всей регистрации/логина. Отдельные SPA
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Подскажите как правильно описать спецификацию в случае выборки наиболее подходящего экземпляра из коллекции с применением правил сортировки?
Есть спецификация на поиск продуктов с минимальной и максимальной ценой, плюс категория:
class ProductSpecification:
   min_price: float
   max_price: float
   category: Category


Обычно сервис передает эту спецификацию в репозиторий продуктов, получая в ответ коллекцию продуктов.
В новом бизнес процессе нужно выбрать один самый дорогой по вышеуказанной спецификации. Не понимаю как правильно передать в спецификацию (или не в спецификацию?) криитерий сортировки.
Может есть другой паттерн для этого случая?
источник

RL

Romka Los in Software Design/Architecture/Zen
Segmentation Fault
Подскажите как правильно описать спецификацию в случае выборки наиболее подходящего экземпляра из коллекции с применением правил сортировки?
Есть спецификация на поиск продуктов с минимальной и максимальной ценой, плюс категория:
class ProductSpecification:
   min_price: float
   max_price: float
   category: Category


Обычно сервис передает эту спецификацию в репозиторий продуктов, получая в ответ коллекцию продуктов.
В новом бизнес процессе нужно выбрать один самый дорогой по вышеуказанной спецификации. Не понимаю как правильно передать в спецификацию (или не в спецификацию?) криитерий сортировки.
Может есть другой паттерн для этого случая?
Будто бы самый дорогой - это плохая спецификация. Тк относительно и тесно завязана на коллекцию.
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Romka Los
Будто бы самый дорогой - это плохая спецификация. Тк относительно и тесно завязана на коллекцию.
Ну то есть что надо: создать СамыйДорогойPoructSpecification, наследник ProductSpecification?
источник

RL

Romka Los in Software Design/Architecture/Zen
Segmentation Fault
Подскажите как правильно описать спецификацию в случае выборки наиболее подходящего экземпляра из коллекции с применением правил сортировки?
Есть спецификация на поиск продуктов с минимальной и максимальной ценой, плюс категория:
class ProductSpecification:
   min_price: float
   max_price: float
   category: Category


Обычно сервис передает эту спецификацию в репозиторий продуктов, получая в ответ коллекцию продуктов.
В новом бизнес процессе нужно выбрать один самый дорогой по вышеуказанной спецификации. Не понимаю как правильно передать в спецификацию (или не в спецификацию?) криитерий сортировки.
Может есть другой паттерн для этого случая?
Есть какие-то ограничения(возможно религиозные) в репозитории сделать метод getProductWithMaxPrice?
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Romka Los
Есть какие-то ограничения(возможно религиозные) в репозитории сделать метод getProductWithMaxPrice?
Нет) Я просто не додумался...
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Romka Los
Есть какие-то ограничения(возможно религиозные) в репозитории сделать метод getProductWithMaxPrice?
На самом деле у меня не продукты и товары, а выборка физ лиц по скорингам. Сортировка происходит по скор баллам, а их там штук 5, которые варьируются по бизнес сценариям. Проблема в том, что норм названия не придумать...
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Segmentation Fault
На самом деле у меня не продукты и товары, а выборка физ лиц по скорингам. Сортировка происходит по скор баллам, а их там штук 5, которые варьируются по бизнес сценариям. Проблема в том, что норм названия не придумать...
Поэтому сейчас я делаю что-то типа:
persons.find_by(
   PersonSpec(name, surname, ...),
   PersonPriority("score_a", "score_b", "score_c"),    <-- "псевдо спецификация"
)

а в другоме месте так:
persons.find_by(
   PersonSpec(name, surname, ...),
   PersonPriority("score_a", "score_e"),
)
источник

SF

Segmentation Fault in Software Design/Architecture/Zen
Segmentation Fault
Поэтому сейчас я делаю что-то типа:
persons.find_by(
   PersonSpec(name, surname, ...),
   PersonPriority("score_a", "score_b", "score_c"),    <-- "псевдо спецификация"
)

а в другоме месте так:
persons.find_by(
   PersonSpec(name, surname, ...),
   PersonPriority("score_a", "score_e"),
)
И мне кажется есть паттерн на этот случай, который бы подошел мне в этой ситуации
источник

SZ

Sergey Zolotov in Software Design/Architecture/Zen
Константин Грачев
@fes0r а ты с auth0 на keycloak решил мигрировать?
мы на cognito думали перевезти кастомеров. но потом как-то передумали))
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Добрый день!
Есть сущность ПРОЕКТ.
У сущности проект есть СТАТУС ПРОЕКТА.
Хотелось бы сделать это, как ValueObject.
Но есть справочник - журнал статусов.
Получается статус проекта это сущность теперь?
Или же значение из журнала будет копироваться в значение VO?
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
что такое журнал статусов и как он связан со статусом проекта?
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Aleh Kashnikau
что такое журнал статусов и как он связан со статусом проекта?
Виды статусов которые проект может принимать.
источник