Viacheslav
В обычной студии тоже нет
По-моему, он только в вс код и есть
Igor
VS for Mac просто ванлав
Да это допопный mono develop только с др названием 🤔 сколько лет юзал - вообще не поменялось но f# он поддерживает, это да
Vladislav
Бля, завтра поставлю, уговорили
* From tonight, people in Britain will be allowed to leave their homes for only “very limited purposes” - shopping for basic necessities; for one form of exercise a day; for any medical need; and to travel to and from work when “absolutely necessary” * People are warned not to meet friends or family members who they do not live with * Shopping is only permitted for essentials like food and medicine, and people are advised to do it “as little as you can” * Police have powers to enforce the rules, including through fines and dispersing gatherings * All shops selling non-essential goods, such as clothing and electronic stores, are ordered to close * Libraries, playgrounds, outdoor gyms and places of worship are to close * All gatherings of more than two people in public - excluding people you live with - are banned * All social events, including weddings and baptisms are banned * Funerals are not included in the new restrictions * Parks will remain open for exercise but gatherings will be dispersed * Restrictions “under constant review” and will be checked again in three weeks. They will be relaxed “if the evidence shows we are able to”
Shub
сегодня напоминали, какое azure sdk v4 полное говно, нет? держу в курсе
Shub
в общем оно по ходу не может писать рекорды
Romɑn
По моему хрень какая-то
Romɑn
https://bartoszsypytkowski.com/dealing-with-complex-dependency-injection-in-f/amp/?__twitter_impression=true
Shub
По моему хрень какая-то
я утром читал это, и таки да. там не то, чтобы тотальная херь, но крайне базовые какие-то наработки
Shub
все предложенные способы ссылаются на разных там влашиных и симанов, ни одного решения не предложено. ну хотя бы честно признается, что в ООП это решенный вопрос, а в эфшарпе - нет
Vladimir
всмысле не предложено решений? там как раз решение предложено - передавайте один env параметр
Vladimir
а самая соль это автоматическое объединение интерфейсов
Romɑn
всмысле не предложено решений? там как раз решение предложено - передавайте один env параметр
Вот передавать один энв параметр, как-то ну никак. Я лучше DI из С# буду использовать.
Shub
всмысле не предложено решений? там как раз решение предложено - передавайте один env параметр
мне это руками выкатывать в каждом проекте? а когда велью приносить?
Vladimir
я вот прочитал - просто жуть как понравился способ - возможность передавать один объект не как здоровенную зависимость а как пачку маленьких зависимостей
Shub
во-первых, ты будешь передавать эти зависимости в кажную божью функцию, как дурак, руками. во-вторых, ты забодаешься отлавливать, где ты что передавал, а где нет, в-третьих у тебя нет никакой типизации вообще.
Vladimir
што?) чего это в каждую божью функцию? нам же симан завещал - dependency rejection, только пару мест куда надо будет передавать где функции нечистые, не пойму зачем мне что отлавливать, я же указываю нужный кусок dependency в параметре, не понимаю почему это считается отсутствием типизации
Viacheslav
По моему хрень какая-то
А по-моему, вполне интересно выглядит
Hog
В соседней каунти -шелтер ин плейс до 10 апреля :(
Hog
Даже ликёрники закроют и магазины с травой с завтрашнего дня
Hog
Наверное и до нас доберётся через пару дней :(
Shub
я тебе приведу гипотетически пример.
Shub
как ты напишешь клиента к скажем Azure?
Shub
даже не так. скажем, нам нужно завернуть тупорылый этот сдк в что-то более-менее удобоваримое
Shub
по заветом твоих мультяшных героев мне нужно написать по функции на каждую буковку CRUD, и передавать только нужную букву в каждую функцию, не так ли?
Shub
если у меня есть какой-то функционал, который не дай бог делает все операции - я должен передать туда четыре аргумента, что ли?
Shub
что делать, если таких мест больше, чем одно и они на разных концах пространства имен?
Shub
что делать, если наши функции сами имеют зависимости? например где-то нужен кастомный сериализатор json, а где-то нужен другой режим подключения (Gateway вместо Direct) - мне это тоже все протаскивать через аргументы?
Shub
в смысле, строить цепочку всех этих вызовов - вот тут пред-зависимость1, а тут пред-зависимость2, и если они сконструировались - то сконструируем зависимость-3?
Shub
ты можешь приблизительно представить весь объем бойлерплейта, который надо написать?
Shub
а потом посмотреть на ASP.NET и расплакаться, потому что у них это одной строчкой делается
Doge
ты можешь приблизительно представить весь объем бойлерплейта, который надо написать?
Ну объем бойлерплейта будет прям ощутимо больше только прям в совсем больших приложениях
Shub
и даже если предположить что ты титаническими усилиями это все сделаешь - как ты собираешься это энфорсить? если вас в проекте уже 4, у тебя времени физически не хватит
Shub
Ну объем бойлерплейта будет прям ощутимо больше только прям в совсем больших приложениях
зачем вообще писать бойлерплейт в таких местах? inb4 "настоящий шотландец".
Doge
зачем вообще писать бойлерплейт в таких местах? inb4 "настоящий шотландец".
Когда у тебя микросервис в тысячи и десятки тысяч строк - то можно и без IoC вручную прокидывать зависимости. Там бойлерплейта сравнимо с обычной регистраций будет. То есть я живу сейчас в языке без IoC контейнеров, прокидываю зависимости руками.
Shub
а до десятков тысяч строк проекты на эфшарпе растут аж бегом
Doge
Бойлерплейта минимум выходит. То есть с IoC было примерно столько же, если учесть код его настройки, но у меня и граф зависимостей элементарный.
Doge
Но да, если зависимостей дофига, между ними сложный граф связей и тому подобное, то бойлерплейт без IoC будет сильно быстрее расти
Hog
Hog
Картинка в тему
Shub
Бойлерплейта минимум выходит. То есть с IoC было примерно столько же, если учесть код его настройки, но у меня и граф зависимостей элементарный.
а вообще-то начальный поинт был работает ли симановские\влашинские идеи насчет DI или нет. баланс сил в IoC и "ручками" нам в принципе известен
Shub
моя позиция в том, что не работает дальше тривиальных примеров. очень тривиальных примеров
Shub
то есть, в кейсе "напишите мне клиент к сервису Х" уже начинаются маневры "ну тут надо сделать исключение из правил"
Anonymous
https://bartoszsypytkowski.com/dealing-with-complex-dependency-injection-in-f/amp/?__twitter_impression=true
Я чот не пойму, что Reader, что Writer монады это ж уже давно известные вещи.
Anonymous
В чем новизна?
Shub
В чем новизна?
в отсутствии их из коробки в эфшарпе, а так же в очередном листочке календаря с вечным сентябрем. пришла новая кровь, которая [к счастью] влашина не читала. настало время напомнить, что-то типа того
Shub
у нас в копропротивной вики висит страничка на эту тему практически с теми же поинтами и практически с теми же ссылками. написана че-то 4 года назад или раньше даже
Shub
популяризаторы нужны все же
Anonymous
Не видел ни одного кейса, где Ридер монада оправдала бы себя.
Anonymous
Если ее еще и руками делать... ух, чернокнижество
Anonymous
популяризаторы нужны все же
Так на ХаскельВики доступно пишут.
Shub
Так на ХаскельВики доступно пишут.
пишут, конечно, но печатных материалов мало не бывает. разным людям заходят разные материалы, иначе на любую произвольную тему можно было бы написать одну книжку
Vladimir
Я чот не пойму, что Reader, что Writer монады это ж уже давно известные вещи.
там именно что пишется, что для фарша монады для передачи зависимостей не подходят и предложен другой подход
Doge
Не видел ни одного кейса, где Ридер монада оправдала бы себя.
Так она не сама по себе важна, а в составе монадического стэка
Anonymous
Anonymous
Assert.shouldNeverReachHere();
Anonymous
как вам такой "правильный" код?
Vladimir
победителей не судят
Ivan
кстати про ассерты, при полном свиче по enum, добавляете ли default и если да, то что кидаете в нем?
Ivan
у меня ответ да и кидаю либо InvalidOperation либо ArgumentException, что больше по контексту подходит.
Ivan
Out of range кидаю
интересный вариант, спасибо.
Anonymous
Так отсюда полшага до Ридера.
Ayrat
блин
Ayrat
брю это лучшее что случалось со мной. brew cask install visual-studio … и всё
Ayrat
охуенно
Ayrat
это которая для мака