Крылатый
Доброе утро, фшарпята!
Анна
Твоя новая аватарка мне нравится)
Спасибо, теперь я спокойна :)
Анна
Ayrat
Nikolay
Храни в файловой системе лол
https://www.youtube.com/watch?v=BF5fLri0Ugc
Ayrat
Ты странный. Как будто скл лайт хранит на Марсе. Дб это старается делать локально чтобы быстро читать балки записей и держит иднекс для поиска.
Ayrat
Если тебя не волнует чтение балков особо, то тебе достаточно хранить индекс
Анна
люблю трамваи!
Анна
https://people.onliner.by/2018/12/22/dengi-24 У нас тут в Беларуси весело
Анна
Vladislav
Vladislav
Hog
люблю трамваи!
https://m.youtube.com/watch?v=NrRm6CvrcDU
Анна
Анна
https://m.youtube.com/watch?v=NrRm6CvrcDU
какой грустный клип
Nikolay
https://m.youtube.com/watch?v=NrRm6CvrcDU
Трамваям больно
Hog
какой грустный клип
Не без этого! С альбома «Песня о безответной любви к Родине»
Éminence grise
Господа и дамы, а кто либо IdentityServer юзал? Я вот не в зуб ногой, как там сделать отзыв права на логин элементарно на пользователя, когда у тебя 10 серверов. Такое ощущение, что это абстрактный конь в ваккууме. Или я ничего не понял..
Éminence grise
Спасибо
Aleksandr
Сегодня впервые писал императивный код на фшарпе для проекта на впф
Aleksandr
В целом, привыкнуть нетрудно
Aleksandr
Даже разницы особо не чувствуется на чем писать
Aleksandr
Единственное, конечно, по if-statement приходится скучать иногда
Фил Ранжин
Выбрасывание исключений - этио часть контракта, или деталь реализации?
Aleksandr
И то, и другое
Aleksandr
Я вообще не понимаю как это можно разделять
Фил Ранжин
Вот как раз для впф проектирую интерфейс модели, и хочу задокументировать его свойства так, что сеттеры плюются исключениями
Фил Ранжин
и думаю вот
Aleksandr
Я вообще не понимаю как это можно разделять
Реализация же идет в соответсвии с контрактом, а контракт выдает важные для клиента детали реализации
Фил Ранжин
ну вот я приволок кейс
Фил Ранжин
это норм - документировать интерфейс так, что он бросается исключениями, и рассчитывать, что все имплементящие будут это делать?
Фил Ранжин
По идее если бы то было норм, то бросание/не бросание исключений было бы частью системы типов. А это не так.
Aleksandr
Например, Closeable
Фил Ранжин
java заставляет кэтчить
Aleksandr
Не все исключения
Aleksandr
Только checked
Éminence grise
Ну ты загнул, это к системе типов не относится. И вообще - исключение как часть контракта - это что то очень нехорошее. Исключение - всегда ошибка либо IO, либо вызывающей стороны, но никак не контракт.
Éminence grise
Лучше заставить возвращать Result<'s,'e> и в обертке генерить исключение по 'e. Тогда гарантия при реализации есть
Фил Ранжин
и тима, которая закидает меня ссаными тряпками за Result
Éminence grise
Ну оберни VM, которая должна давать exception вокруг VM которая выдает резалт
Aleksandr
Стоит оставлять result до самого последнего момента так, чтобы его каст в эксепшн происходил именно в тот момент, когда идет взаимодействие напрямую с view
Фил Ранжин
мне хотелось бы дизайн с валидацией внутри модели
Фил Ранжин
потому что vm которые её будут использовать несколько
Éminence grise
LanguageExt тебе в помощь, если csharp. там вообще есть классный тип Validation<'t, 'e>, где 'е моноид
Фил Ранжин
А C# way?
Éminence grise
А C# wayне отличается от других. Отличается только качество разрабов и архитектов на проекте. Не язык, а то можно узнать, что главный недостаток раста - отсутсвие наследования, а как я писать буду?
Éminence grise
Хочешь строгой (читай чистой) типизации контракта - работай, как в функционалке. Хочешь бардак - ООП тебе в помощь с exception в самом конце лестницы вызовов.
Фил Ранжин
Хех, окей
Фил Ранжин
буду делать с резалтом
Éminence grise
буду делать с резалтом
И ребятам на проекте покажи как, может дозреют до F#
Éminence grise
Я вот сейчас через LanguageExt как раз своих дрессирую.
Фил Ранжин
у меня лид лютый хейтер F
Éminence grise
Увольняйся
Aleksandr
Как он это аргументирует?
Фил Ранжин
И пусть эти дурацкие дети голодают. Не работать же бате с хейтером фшарпа!
Éminence grise
Это уже диагноз. Можно не пользовать, можно извиняться, что спецов нет, но ненавидеть что то может только полный дебил
Фил Ранжин
Могут ненавидеть, потому что изучать лень, а всем вокруг нравится
Фил Ранжин
он попробовал пару раз, ничего не понял, и теперь это больная тема
Éminence grise
А это и есть дебелизм в нашей индустрии
Фил Ранжин
да почти все взрослые разрабы такие
Éminence grise
Ничего, что мне 50
Фил Ранжин
ты просто слишком взрослый)
Фил Ранжин
Ой, я вот так биткоин ненавидел
я кстати тоже по той же причине
Aleksandr
он попробовал пару раз, ничего не понял, и теперь это больная тема
Я могу понять людей, которые к Scheme или Clojure никак привыкнуть/прочитать не могут, но f# же блин, освоить совсем нетрудно
Aleksandr
На каком-то уровне
Éminence grise
Не обобщай, не все. Просто проникнув наверх люди теряют часто заряд, да и изначально интересы у людей разные - и у многих - это просто классные зарплаты. Но это все СИЛЬНО временное превосходство. Могу да же историю из сегодняшнего дня рассказать. При чем с ударом по таким умникам не от IT, а от бизнеса
Фил Ранжин
рассказывай
Éminence grise
Я могу понять людей, которые к Scheme или Clojure никак привыкнуть/прочитать не могут, но f# же блин, освоить совсем нетрудно
Я не могу. Синтаксис ничто. Я вообще считаю, что не знать интересный язык стыдно. Любой интересный язык. Но это я на них замороченный 😊
Aleksandr
Ну я вот часто к слышу от людей претензию, что большинство фяп абсолютно нечитаемы, и, мол, поэтому им не хочется в них разбираться