Shub
люди в основном предпочитают json потому, что его легко писать.
Ayrat
https://json-schema.org/
Shub
и под него легко писать всякие там парсеры, плагины и подсветки.
Ayrat
но это неофициальное говно
Shub
ну ты понял, да?
Ayrat
я-то давно понял, а шо делать?
x
юзать хмл!
Ayrat
ну если нужна схема и валидация, то да. Но можно жсоном обойтись
Ayrat
с костылями
Крылатый
Нужно просто писать на S-expressions
Shub
ну если нужна схема и валидация, то да. Но можно жсоном обойтись
главное только понять, в какой момент жсона не хватает и когда уже достаточно кейсов перейти на xml
Ayrat
@eglyph а Василий который Кириченко в Джете? У меня появились подозрения что да
Shub
хороший вопрос. щас посмотрю
Ayrat
в чатике джета пошло обсуждение про сорслинг для фшарп.кор и пошли пальцы вверх на ишью и внезапно Вася там же затесался
Ayrat
ишью уже полгода висит
Vasiliy
Никто не говорил, что это сложно)) Просто не для ботов фшарпа роза цвела😂
Vasiliy
Это как гранатой гвозди забивать
Shub
вроде нет
Ayrat
т.е. маловероятно что он полгода ждал и внезапно вместе с волной джет-народа решил полайкать ишуй
Ayrat
вполне мог
для этого надо наверное слак джета читать. Или следить за трендами лайкания ишуев
Ayrat
я хз что из этого более вероятно
Shub
не могу найти никого похожего на Василия. разве что он по документам какой-то там Basil
Shub
ну или как вариант - он в Волмарте
Shub
я кстати думаю, что Василий ок, просто манера троллить неуклюжая
Ayrat
Возможно, у нас всё была мысль бухнуть с ним в Москве, но чот прям личных контактов ни у кого не было
Ayrat
а просто анонимку написать такое себе
Shub
неплохая идея. если он в Москве - то насколько мне известно, в eCommerce Labs никаких офисов или контактов там нет
Shub
чего, я б написал
Shub
ну, не анонимку, конечно. представился бы
Ayrat
ну понятно что представился бы) Просто например написал бы мне хуй пойми кто (представившись!) и пригласив в бар бухать с такими же хуй пойми, то тот тут вопрос. Но за спрос конечно денег не берут, надо было приглашать)
Ayrat
хуй с ним, в следующий раз так и сделаем
Vasiliy
😏😄 Неее. надо сказать, что он неправ, и при этом он понял бы, что он неправ.
Yury
Для этого надо следом объяснить, в чем именно неправ.
Vasiliy
Коллега думает, что f# Только для всяких распределенный вычислений. А писать бота — это типо сильно умный язык для этого
Yury
Ну, его право, а почему это не так?))))
Roman
*если предположить, что ты уже им нормально владеешь
Vladislav
https://www.youtube.com/watch?v=U843Uema_Lg
Vladislav
почему неудобно?
мне не понравилось, первое впечатление
Vladislav
руки чесались фшарп выкинуть и взять сишарп т.к. быстрее
Roman
руки чесались фшарп выкинуть и взять сишарп т.к. быстрее
ну надо ж понять, почему. Если непривычно — дело одно. Если не хватает тулинга/библиотек или еще чего — дело другое
Vladislav
если брать чистый кор то автодополнения экстеншн методов нет
Roman
Мне мешало то, что лучших практик я не знал. Но это не проблема фшарпа, это проблема меня
Vladislav
в итоге сидишь блять вспоминаешь в каком оно неймспейсе
Vladislav
плюс приведение типов явное нужно к IActionResult всяким
Vladislav
короче это все как-то складывается и хочется фшарп выкинуть
Roman
ну, может быть. Мне наоборот нравится явность происходящего. Я готов написать чуть больше кода, но зато явно видеть, что, где и почему происходит. И что сломается или не сломается, если я поменяю пару строк
Vasiliy
Мне мешало то, что лучших практик я не знал. Но это не проблема фшарпа, это проблема меня
Вооо и это тоже проблема. Приходишь с сшарпа, где обмазываешься репозиториями, сервисами, а что и как красиво сделать в в фшарпе сразу не знаешь
Roman
Вооо и это тоже проблема. Приходишь с сшарпа, где обмазываешься репозиториями, сервисами, а что и как красиво сделать в в фшарпе сразу не знаешь
Ну я уже миллион раз тут всем подряд советовал, но почитай DDD made Functional и попробуй пописать что-то такое
Roman
Я начал потихонечку там пилить одну штуку. В принципе более менее ясно становится по ходу, как это надо делать
Shub
F# - язык общего назначения. Но круды на нем не очень удобно лепить,да
он недалек от истины в общем-то. брать эфшуруп для ботов - это как учить латынь ради похабных частушек. разные там in manius non recipe
Roman
@trigun27 TL;DR: * Весь IO на края приложения пихаешь, луковая архитектура и все такое. * Начинаешь моделировать все с бизнес логики. О хранении данных не думаешь вообще. Это тебе даст более точное и строгое отражение правил в коде: валидация будет вшита сразу, нарушение ее правил просто не скомпилится. * Сразу делишь все на bounded contexts, которые общаются между собой посредством ДТО, которые являются плоскими структурами без проблем сериализуются в жсон и могут быть распарсены любым языком корректно
Vasiliy
🤔 ух, спасибо.
Roman
последнее несколько спорно
деление на контексты? Или общение плоскими дто?
Shub
деление “сразу”, ДТО, плоские структуры, сериализация в жсон - это все узкоспецифично
Shub
“сразу” можно и не понять, где там контекст
Roman
если сразу не понятно — то сразу и не делишь)
Shub
ДТО - сильная связь.
Shub
тебе придется начать со спецификации общения между контекстами, что может быть трудно
Shub
и тебе придется делать изменения в обоих контекстах, если ты решил поменять ДТО в одном месте
Roman
и тебе придется делать изменения в обоих контекстах, если ты решил поменять ДТО в одном месте
там как раз предварительно рассказывается, что существуют разные виды взаимодействия: - главный консьюмер контекст - главный паблишер контекст - равноправное что-то
Hog
можно просто upcast
Там же надо в биндинге всё равно тип указываать
Roman
как бы если у тебя в пеймент контексте поменялись правила, и теперь тебе нужно больше инфы, чем ты принимал раньше, то остальные контексты же обязаны приспособиться
Ayrat
или хелпер методы заставлять сразу IActionResult возвращать. Это как бы одна из фич фшарпа, отсутствие имплисит кастов. по мне так норм
Ayrat
Shub
там как раз предварительно рассказывается, что существуют разные виды взаимодействия: - главный консьюмер контекст - главный паблишер контекст - равноправное что-то
совершенно верно. теперь смотри, что получается: тезис - “эфшарп слишком умный язык для вульгарных задач”. антитезис - “нет, что ты, стоит лишь НА ОСНОВЕ ДДД ПРОВЕСТИ ПОЛНЫЙ АНАЛИЗ ТРЕБОВАНИЙ С ВЫДЕЛЕНИЕМ КОНТЕКСТОВ, РАЗРАБОТАТЬ СПЕЦИФИКАЦИИ НА МЕЖКОНТЕКСТНЫЕ ВЗАИМОДЕЙСТВИЯ, ВЫБРАТЬ ФОРМАТ СЕРИАЛИЗАЦИИ И РАСПРЕДЕЛИТЬ РОЛИ, это же элементарно”
Shub
синтез у меня что-то не происходит с такими исходными