Hog
Может быть от алкоголя ещё больше пердак горел
а у меня наоборот - полный расслабон
Vladislav
https://twitter.com/ploeh/status/1122932481924247554?s=12
Roman
То есть два года они делали нихуя?
разминали жвалы они, и собирались в большую сценаристовскую многоножку
Roman
столько говна на экран намазать это конечно талант нужен
Анна
Крылатый
Если чо реддиту и Мстители хороший фильм
Годный признак: если фильм/сериал провалился в прокате в США, то однозначно стоит посмотреть, крайне вероятно, что там годнота.
Vladyslav
Q: Can we rename Command Handler to IBusinessDomainEventFactoryProxyImplProvider? A: Awesome question, thanks for that! Absolutely not.
x
https://medium.com/@reinman/monoids-to-groupoids-492c35105113
отличная статья, а что он всё время про Уолл Стрит пишет? там дофига где фп?
Roman
готовлю презентаху для коллег, набросал такой код, чтоб показать мощь доменного моделирования. Бахните ревью плз: https://gist.github.com/rliman/3b5cc2e5dc25f60074850083763bad8f
Ayrat
отличная статья, а что он всё время про Уолл Стрит пишет? там дофига где фп?
ну эт логично, финансовая сфера очень любит тервер, матстат и прочий матан. программисты с такими знаниями нередко обмазываются фпшечкой
Ayrat
поэтому может быть бизнес овнерам и насрать как у них код устроен, но сама сфера притягивает большое кол-во фп дротов
x
ну эт логично, финансовая сфера очень любит тервер, матстат и прочий матан. программисты с такими знаниями нередко обмазываются фпшечкой
я как бы заметил обратную корелляцию: чем больше математики в предметной области, тем люде круче тянет в питон или матлаб. Не в скалу или хаскелл
Ayrat
одно дело тебе надо графики построить для статеечки или там посчитать что-то по-бырому
Ayrat
А другое, тебе надо рисовать доменную модель для какой-нибудь биржи
Ayrat
питоном там не пахло
x
ну там у них кресты и quantLib
Roman
питоном там не пахло
Для биржи может нет, но питона ещё больше чем фп
Roman
И жава
x
питона и жавы много, да
Ayrat
Ну я видел предложения на хаскеля в какие-то банки на линкеде в UK
Ayrat
помимо прочих
Roman
В других про хаскель не слышал
Ayrat
Standard Chartered скорее всего
А я чот не помню. Может быть, у меня в голове такого названия чот нет
Roman
А я чот не помню. Может быть, у меня в голове такого названия чот нет
У них в Сингапуре на хаскеле много пишут. Там даже свой компилятор
Vladislav
думаешь, он нужен там?
А иначе можно создать обходя метод parse
Roman
я понимаю, но не вижу, что в этом плохого
Roman
То есть главное — не дать создать невалидное состояние же
Roman
А каким образом ты создашь валидное — дело десятое
Vladislav
То есть главное — не дать создать невалидное состояние же
Ну отсутствие приватного конструктора позволяет это. Хотя в этом случае наверно матч ещё сломается
Vladislav
Наверно нет смысла если оно так
Roman
Ну отсутствие приватного конструктора позволяет это. Хотя в этом случае наверно матч ещё сломается
Матч ломается, но ты пилишь внутри модуля актив паттерн, который торчит наружу
Vladislav
как позволяет?
Прости, я тут походу зря доебался. С телефона подумал что у кейсов значения есть
Vladislav
Тогда нет смысла
Roman
👌
Vasily
@atsapura не совсем понял прикол с visa и mastercard
Vasily
Что будет в случае unionpay?
Roman
ошибка! Я не знаю всех провайдеров, бахнул для наглядности. Но могу добавить и юнион пей!
Vasily
Нужен просто номер карты по алгоритму луна
Roman
думаешь, надо для презентации?
Vasily
Ну пока код несколько оторван от реальности
Aleksandr
Датасаентисты странные люди
Aleksandr
Не в обиду оных
Vasily
Датасаентисты странные люди
Экскаваторщики они
Vladislav
а R provider только для полного фреймворка?
Aleksandr
Да
Shub
есть вообще наблюдение такое: если в коде появляются валидаторы, особенно валидаторы на 15 строк и более (не говоря уже про целые модули валидаторов) - значит есть проблема либо на стадии дизайна, либо на стадии определения типов
Hog
я ещё не понял ботву с чеками
Hog
а тип карты кодируется в номере
Daniil
там же по сути конвертация из DTO в доменные типы, как без этого обойтись?
Vasily
type CreditCardInfo = { Number: DigitString Provider: CardProvider Name: LetterString ExpirationDate: (uint16*uint16) } Пиздец начинается тут
Hog
а что там?
Ну, если расплачиваешься чеком, то там надо раутинг + аккаунт + сумма.
Hog
не понял про остальное
Roman
блять, видимо надо было не финансовую область
Roman
вообще, я хотел ревью кода, а не моих знаний финансовой сферы)
x
А, не заметил )
Vasily
все про алгоритм луна или чо?
проблема в том, что в данном случае Number может легко разойтись с Provider
Hog
И убери эту французскую хуергу :) Check оно 😊
Roman
ребят, это не продакшн код. Кроме того, некоторые компании сами не процессят платежи по кредиткам, и полного номера они не видят вообще, в целях безопасности
Hog
а :) бритиш
Roman
что именно?
Shub
и совершенно нормально, когда пользовательский ввод не парсится
Hog
что именно?
если номера нет