Roman
надо у диёра спросить
Ilya
Если нет, то с удовольствием. Заодно библиотечку для них сделаем.
Roman
@Snowfall0 че в пыхе по тайпклассам?
Ilya
У них там с "тайп" частью в принципе не очень.
Диёр
дженериков подождём, а там видно будет
Roman
У них там с "тайп" частью в принципе не очень.
отличная возможность запрогать им систему типов
Anonymous
Без оговорок.
Диёр
на го я тоже в прод писал
Диёр
дженериков не дождался
Диёр
техдир говорил "если чего-то в го нет, то это не нужно"
Roman
У них там в принципе не очень.
ты че пес пхп проверенная технология и девелоперов можно легко найти оло
Roman
и вкотач
Anonymous
техдир говорил "если чего-то в го нет, то это не нужно"
вот воистину - устами младенца глаголет Истина
Anonymous
по-моему, мапы в Го тоже лишние, слайсами вполне можно обойтись ящитаю
Roman
техдир говорил "если чего-то в го нет, то это не нужно"
в го нет техдира. Техдир не нужен. Шах и мат
Ilya
техдир говорил "если чего-то в го нет, то это не нужно"
Очень грамотная психологическая защита, кстати. Избавляет от любых страданий из-за отсутствия чего-либо.
Диёр
У них там с "тайп" частью в принципе не очень.
так-то в пыхе очень сильная система типов, которая строится на phpdoc комментах и .phpstorm.meta.php аннотациях!
Roman
ЛСД работает ГОРАЗДО лучше, мой друг
в качестве защиты сознания?
Ilya
ЛСД работает ГОРАЗДО лучше, мой друг
Там эффект короче. И деньги нужны. А их нет. И деньги не нужны, кстати.
Ilya
Нет, отлично метод работает, нечего и обсуждать.
Anonymous
пусть знают
Roman
типа того
ну тут крайне сомнительно. ЛСД скорее разрабатывает анус сознание, а не защищает его
Roman
если только не рассматривать "пережил лсд, переживу и это"
Диёр
говорю своим что пхп говно они мне говорят что просто фреймворк говно, а пхп ок спросил а что с фреймворком не так он get/set сам не генерит для моделек! будто больше проблем нет
Igor
Ребят, я вам функциональной архитектуры принес, со вчерашнего fprog https://docs.google.com/presentation/d/1S5wXNcSHxs73yoiiE9hR4p8eBJ3G8YxeZDlNqaQdSKo/edit?usp=sharing
Igor
https://i.gyazo.com/bad3e74f8f82db44528c336e617ab0a4.png В центре нее находится это
Roman
https://i.gyazo.com/bad3e74f8f82db44528c336e617ab0a4.png В центре нее находится это
фак ее господи как хорошо мммм оооууу ееее мммм аааааа
Anonymous
так это типично, если что
Anonymous
только странно что newtype
Anonymous
а не Instance App
Диёр
перекину это в группу хаскелистам штоле
так-то в пхп не рекомендуется вырезать комментарии при кешировании т.к. часть либ могут использовать комменты в своей работе
Ilya
Это гениально!
Ivan
"Type-directed typeclass resolution — не может быть двух полей одного типа. Необходимо создавать newtype'ы" из презентации выше. В F# что-то подобное практикуется?
Igor
Shub
https://old.reddit.com/r/rust/comments/doqzzf/is_rust_good_for_me/f5q1d57/
Диёр
https://old.reddit.com/r/rust/comments/doqzzf/is_rust_good_for_me/f5q1d57/
цитатка о том, что мет не такой вредный как пхп, может считаться пропагандой наркотиков?
Vasily
Пример современного энтерпрайза
x
пришёл на работу
Vasily
пришёл на работу
Баристой работаешь?
x
бартендером
Andrew
пришёл на работу
Норм, у нас тоже опаутинили все
Анна
В прошлой моей конторе не было этой фигни
Анна
а тут тоже навезли черняги
x
толерантности пост https://babylonbee.com/news/motorcycle-that-identifies-as-bicycle-sets-world-cycling-record
Григорий
как нужно правильно дружить БД и DDD подход, то есть если я хочу доменную модель, но при этом приходится работать с БД, перехватывать исключения от БД и крутить монады с доменными моделями? можете поделиться опытом?)
Григорий
спасибо, гляну
Shub
не надо туда глядеть, там 99% текста - консультант апсейлит самого себя
Shub
DDD НЕ РЕКОМЕНДУЕТСЯ для простых ситуаций, если что, см. Эванса
Roman
И маппинг
Shub
И маппинг
ну как тут Chiron не затащить, не правда ли?
Roman
примеры с пояснительной статьей вот тут https://github.com/atsapura/CardManagement
Shub
ты что! маппинг сам себя не напишет
Roman
DDD НЕ РЕКОМЕНДУЕТСЯ для простых ситуаций, если что, см. Эванса
смотря что понимать под ДДД и насколько фанатично следовать этим представлениям
Shub
https://philippe.bourgau.net/imgs/2019-10-11-detailed-agenda-for-a-ddd-design-level-event-storming-part-1/live-game-domain-events.jpg СЛОИ
Roman
Сама идея в основе абсолютно адекватная же
Shub
смотря что понимать под ДДД и насколько фанатично следовать этим представлениям
я считаю, что если на первых 50 страницах начинает использоваться капсболд и начинаются истории про какие-то особо сложные ситуации, в которых поможет вот эта особо загадочная парадигма - это фундаменталистский религиозный культ пытается охмурять неофитов
Roman
подожди, какие страницы, что такое капсболд и чо вообще происходит?
Roman
короче, я не знаю, что там кто понимает под ДДД, но я из всей этой кутерьмы считаю полезным: - Единая терминология в документации и в коде, с маппингом 1:1 всех сущностей - Максимальная выразительность типов, чтобы невалидное состояние было невозможно выразить (я имею ввиду здесь отнсительно простую валидацию без ебаной астронавтики, самописных хкт и зависимых типов) - Разграничение контекстов и общение между контекстами через контракты
Григорий
А можно про это по подробнее? >- Разграничение контекстов и общение между контекстами через контракты
Крылатый
Вы ведь про doom's day device?)
Roman
А можно про это по подробнее? >- Разграничение контекстов и общение между контекстами через контракты
Bounded contexts. Суть в том, что сущности из реальной жизни слишком многогранны и сложны, чтобы их отразить в коде вменяемым образом. Идея разграничения контекстов заключается в том, чтобы разбить твое большое приложение на логические модули. В каждом модуле у тебя, например, будет существовать юзер. Только в модуле настроек приватности у него будет один набор свойств (настройки того, кто ему может писать, смотреть страницу и тд), а в модуле переписки совсем другой (собеседники, список диалогов, сообщений и тд). Так вот твои сущности (юзер в данном примере) дробятся на проекции по одной на каждый такой контекст. Далее, по поводу общения через контракты: Внутри таких контекстов у тебя есть всякая мудреная логика, проверка бизнес правил и прочего говна. Так вот, чтобы это случайным образом не нарушить и не обойти, один контекст (например, месседжинг) при обращении к другому (например, приватность) должен общаться через самый верхний слой того контекста, т.е. контракт. В противном случае будет дублирование логики внутри разных контекстах и баги, как неизбежное следствие.