Hog
Ну я шучу, конечно, на фшарпе попробую. Просто решение, которое я видел на сишарпе на тасках, для меня вообще не логично.
Всякие эти операции с архивами. Пишешь для одного, а потом херак - асинксек мапасинкпараллел.
Ilya
Всякие эти операции с архивами. Пишешь для одного, а потом херак - асинксек мапасинкпараллел.
Там ещё прогресс надо отдавать. Думаю для этого меилбокс попробовать. И вообще, не подсказывай, я сам хочу!
Ilya
Channel же!
По-моему, не очень подходит. Там браузер будет апишку дёргать, а она ему прогресс отдавать. Тут вообще подписки отписки эти ваши не нужны.
Ivan
а, браузер
Ilya
Угу, пользователь тыкает файлики на компе, они делятся на батчи, архивируются и отправляются. Прогресс выводится пользователю.
Hog
Channel же!
А что, если мне фулфреймворк надо? Датафлоу?
Ilya
Текстовый файлик. Имя - гуид батча. Внутри - прогресс :)
Там уже и так кестрел локально запущен. Смысла нет с файликами возиться.
Hog
А если лоадбалансер тебя на другой сервер отправит, где ин-процесс ничего?
Ilya
И я джун, так что не бейте за подобные архитектурные решения :) Мне просто эту задачу дали на сишарпе, а я не осилил. Хочу на фшарпе попробовать, а потом ещё на сишарпе.
Anonymous
можно потроллить еще немного?
Anonymous
смотрите какой фарш красивый app.Map ( new PathString("hello1"), fun (appBlder:IApplicationBuilder) -> appBlder.Use(fun (ctx:HttpContext) (next:Func<Task>) -> (task { do! ctx.Response.WriteAsync("first hello") do! next.Invoke () } :> Task) ) |> ignore ) |> ignore
Hog
в нугете нет?
Я в микрософт доках посмотрел. Выбрал заместо коры фулл - и мне показали тыкву
Ilya
А если лоадбалансер тебя на другой сервер отправит, где ин-процесс ничего?
Нету там лоад-балансеров. Пользователь запускает экзешник, открывает страничку в браузере, делает своё дело, а потом кликает иконку в трее и закрывает приложение.
Ilya
Да, совмещёны винформы и аспнет в одном проекте!
Ivan
Я в микрософт доках посмотрел. Выбрал заместо коры фулл - и мне показали тыкву
проверил - создал проект на фреймворке, подключил нугет и все заработало.
Hog
проверил - создал проект на фреймворке, подключил нугет и все заработало.
Да, чот с просони забыл ещё и в нугете посмотреть.
Anonymous
и че такое route и text и >=> это ж где-то скрыто?
Anonymous
я тоже могу 1 строку выделить и сказать что вот смотрите как красиво
Ayrat
и че такое route и text и >=> это ж где-то скрыто?
Giraffe, обёртка над асп нет корой
Anonymous
а
Anonymous
слыхал о таком
Anonymous
но я типа решил по приколу попробовать темплейт асп.нет кора на f# и вот такие вот дела
Ayrat
я тоже могу 1 строку выделить и сказать что вот смотрите как красиво
Моя строчка прямой аналог твоего бойлерплейта
TOV_MULTIMASSO
О, композиция Кляйсли
TOV_MULTIMASSO
Удобная штука
Ayrat
но я типа решил по приколу попробовать темплейт асп.нет кора на f# и вот такие вот дела
Ну ты пишешь ещё на голых хендлерах, а на них на фшарпе писать лучше с жирафом, так как сишарповое апи, как ты выяснил - говно
Ayrat
Много неявных кастов (которые фшарп не умеет), много игнорируемых возвратов (которые надо игнорить явно) и много перегрузок у функций (поэтому надо типы у аргументов явно определять чтобы компилятор смог)
Anonymous
тут часто я вижу как ругаются на дженерики в с#
Anonymous
вот к примеру в таком случае, можно было без дописания int> все повычислять
Anonymous
но вы понимаете, что это специально сделали? даже рихтер писал что создатели языка все специально усложнили чтобы вы задумывались.
TOV_MULTIMASSO
Отличный дизайн языка, делайте так всегда (нет)
TOV_MULTIMASSO
но вы понимаете, что это специально сделали? даже рихтер писал что создатели языка все специально усложнили чтобы вы задумывались.
Anonymous
👍
Anonymous
я даже щас найду это. Я тогда подумал что это правильное решение но щас понимаю что это вообще жесткий рофл
Hog
Как-то так :)
Ivan
Как-то так :)
так-так, а теперь архив :)
TOV_MULTIMASSO
Нету в языке оператора |>, и first-class method literals, вот и городят расширения
Anonymous
но где-то было про генерики
Hog
так-так, а теперь архив :)
Архив не мне надо было. У меня стрёмный апи эвент-бейзд. А я из него хочу стрим сделать из уже готовых рекордов.
Ilya
не совсем понял
Я вот твой код смотрю и вижу someType value = X.returningT<string>(); А теперь скажи, какого типа value? Что я должен об этом коде думать?
Диёр
Giraffe, обёртка над асп нет корой
а самой аспнет корой не очень на фарше?
Just
а ктото с Nancy + F# работал?
Hog
а самой аспнет корой не очень на фарше?
Уже же Айрат объяснил почему.
Ilya
в том то и дело что в функции пофиг какой тип данных у вызывающего обьекта
Ну я рад за функцию, но я главнее функции, и мне не пофиг.
Anonymous
value типа стринг
Ilya
value типа стринг
Круть, а X какого типа?
Anonymous
можно так сделать, но боксинг, поэтому я и дженерики юзал
Ilya
а не важно
Что значит неважно? То есть мне надо в метод лезть и смотреть, что там делается?
Anonymous
ну блин, если returningT метод доступен обджекту, значит он доступен всем. Значит неважно
Anonymous
можно так сделать, но боксинг, поэтому я и дженерики юзал
я думал JIT оптимизировал это и нет никакого боксинга, а хуй вам! даже когда аргумент не используется он боксит
TOV_MULTIMASSO
Это индирекция почти уровня оператора COMEFROM
TOV_MULTIMASSO
Но если не использовать экстенжены налево и направо, а дозированно, то вполне себе удобная штука
Anonymous
хочешь узнать тип X?
Anonymous
вот прям реально есть желание
Anonymous
наведись на него мышкой
Ilya
наведись на него мышкой
Я навёлся! Скриншот ничего не показал.
Ilya
Почини.
Anonymous
лол
Viacheslav
наведись на него мышкой
С решарпером и этого делать не придётся!
Ilya
лол
Можешь перестать кидать код скриншотами. Я не против🤷‍♂️
Anonymous
С решарпером и этого делать не придётся!
нууу... в принципе и с вижуал студией профешнал
Anonymous
Можешь перестать кидать код скриншотами. Я не против🤷‍♂️
так всмысле, тут явно видно что это int, я весь код скинул а не отрывок
Anonymous
ну если прям интересно что за тип у X в моем коде, который просто пример
Viacheslav
нууу... в принципе и с вижуал студией профешнал
?? У меня энтерпрайз дома без решарпера и такого нет. ЧЯДНТ?
Ilya
так всмысле, тут явно видно что это int, я весь код скинул а не отрывок
Ну тебе ж не нравится, что надо писать int, то есть ты бы с удовольствием кидал и код, где не виден тип. Я чуть-чуть в будущее заглянул.