
евроневидимка
24.07.2018
08:24:49


Ayrat
24.07.2018
08:24:58
у меня вот другой кейс. Общие доменные модели в сборке, там всё названо нормально - PascalCase, в сборке только netstandard и FSharp.Core зависимости. А где надо сериализнуть используется newtonsoft с camelCase настройкой. Так на фронте ЖСеры получают привычные, читаемые жсоны.
Если работаю с внешими моделями, то каждый микросервис берёт что ему надо по месту через JsonSelect в свои локальные модели.
типа так
maybe {
let jObj = JObject.Parse text
let! teamId = jObj |> selectToken "id" |> Option.map toGuid
let! playerName = jObj |> selectToken "$.players[0].name" |> Option.map string
return
{ TeamId = teamId
PlayerName = playerName }
}
там обычно полотна здоровые летают, хватает maybe монады и местных моделей
ну и хелпер такой есть в общей либе
let inline selectToken path (JTok: #JToken) = jTok.SelectToken path |> Option.ofObj
который возвращает нормальный Option, т.е. надо явно проверять что такой путь в жсоне найден

Google

Pavel
24.07.2018
08:47:05
Новое от @ploeh про DI http://blog.ploeh.dk/2018/07/24/dependency-injection-revisited/
Free монада на C# ?

Roman
24.07.2018
09:01:01

Vasily
24.07.2018
09:16:03
Owasp top 10 2017

Roman
24.07.2018
09:45:39

Roman
24.07.2018
09:52:04

Ayrat
24.07.2018
09:57:27
Если не получается распарсить в локальную модель, то микросервис может только красиво упасть

Roman
24.07.2018
09:59:40
понял, спс

Friedrich
24.07.2018
10:05:21
https://www.meetup.com/GDGNsk/events/253090531/ whoa
И на новосибирском митапе будет про F# :3

Roman
24.07.2018
10:12:47

Anna
24.07.2018
10:14:30

Google

Friedrich
24.07.2018
10:15:11
Но к митапчику приеду, схожу обязательно.

Igor
24.07.2018
10:16:46

Dmitry
24.07.2018
10:21:50
О, в ленте Ютуба такое всплыло https://www.youtube.com/watch?v=aTNSo_2GapU (16.06.2018, KRY DOT NET, Красноярск Вводный доклад о архитектуре и дизайне приложений в рамках функциональной парадигмы.)

Vasiliy
24.07.2018
10:24:03
Кстати, кто то говорил, что в августе будет митап в мск.

Friedrich
24.07.2018
10:24:10
Это же @oxffaa докладывает :)

Vasiliy
24.07.2018
10:24:43
Хотел узнать, митап еще в силе ?

Артём
24.07.2018
10:27:45

Friedrich
24.07.2018
10:27:56
nyeh heh heh

Roman
24.07.2018
10:28:16

Артём
24.07.2018
10:32:07
Кстати, судя по вопросам из зала, я не особо приуспел. Многое люди не поняли и пришлось объяснять на пальцах. Поэтому, если у кого есть конструктивная критика или идеи, как можно доклад сделать лучше, то поделитесь в личку, буду очень благодарен. ?

Igor
24.07.2018
10:37:45

Артём
24.07.2018
10:46:59

Roman
24.07.2018
10:52:32
привет!

Vasiliy
24.07.2018
10:55:44
Кстати, судя по вопросам из зала, я не особо приуспел. Многое люди не поняли и пришлось объяснять на пальцах. Поэтому, если у кого есть конструктивная критика или идеи, как можно доклад сделать лучше, то поделитесь в личку, буду очень благодарен. ?
Ммм честно говоря не сильно уловил про обработку ошибок.
Хорошее объяснение было у Скотта Влашина: если у нас есть функция с одним путем, нам надо сделать функцию с развилкой, т.е. 2 пути, и тогда мы их можем кобинировать, потому что сигнатура будет одинаковой. Если можно стащить у Скотта объяснение было бы круто, особенно для тех, кто вообще в первый раз видит f#.

Артём
24.07.2018
11:02:26

?
24.07.2018
11:10:44
гайз, а F# .core умеет в шерпойнты?

Vasily
24.07.2018
11:31:21
В sharepoint?

?
24.07.2018
11:31:40
да

Google

Vasily
24.07.2018
11:31:55
Он умеет все, что умеет c#

?
24.07.2018
11:32:07
мне самый базовый функционал надо - в листе айтемов наклепать новых

Vasily
24.07.2018
11:32:27
Непонятно, почему вопрос в чате f#

?
24.07.2018
11:32:36
в прошлый раз когда смотрел кор не умело оно в шерпойны из коробки а на "старых" дотнетах какие-то пляски были

Vasily
24.07.2018
11:32:39
Это скорее вопрос про библиотеки
А при чем тут кор?

?
24.07.2018
11:32:54
ты прав, это скорее по дотнету вопрос, просто думал на F# делать это
кор при том что я хочу это не на виндузах запускать

Vasily
24.07.2018
11:33:15
Ну там скорее всего com внутри
Возможно, есть вебапи

?
24.07.2018
11:33:34
все так, в старых дотнетах через ком, а для кор ниче не нашел такого чтобы было как у людей

Vasily
24.07.2018
11:33:54
Ну значит пишешь на винде приблуду с рест апи
Не на винде ее дергаешь

?
24.07.2018
11:34:31
? сразу уже тогда винду в докер запрятать бы предложил

Bonart
24.07.2018
11:34:48

Vasily
24.07.2018
11:34:59
Нет

Ayrat
24.07.2018
11:35:15
но это вроде всё

Bonart
24.07.2018
11:35:46
Если нет то жалко

Google

Friedrich
24.07.2018
13:26:23

?
24.07.2018
13:26:48

Friedrich
24.07.2018
13:27:18
да, именно так
А какое именно умение тебе нужно? Мб просто в REST подолбишь этот шарепоинт, да и всё?

?
24.07.2018
13:27:52
тогда тем более ой вей, а по поводу реста не знал что там вообще он есть, поищу, спс за наводку

Friedrich
24.07.2018
13:28:16
И мб самый нормальный способ будет на стороне шарепоинта дописать рестовую апишку, если её нету. И уже апишку тыкать снаружи чем захочешь.
Глубоко внутрь шарепоинта лучше не влезать, если возможно.

?
24.07.2018
13:29:13

Friedrich
24.07.2018
13:29:41
Типичная энтерпрайзная история :(

Vasily
24.07.2018
13:30:28
Мда, жаль парня

Ayrat
24.07.2018
13:33:25
тут не F#, тут ассенизаторский костюм поможет.

Evgeniy
24.07.2018
13:34:15
Внезапно, наткнулся на хабре.
https://habr.com/post/309240/
Кто такой "ночнойПекарь"?
Есть среди нас? :)

Bonart
24.07.2018
14:39:50

Roman
24.07.2018
14:46:07

Vasily
24.07.2018
14:50:25

Google

Ayrat
24.07.2018
14:52:37
невелика потеря

Dmitry
24.07.2018
14:53:35
и ещё protected же

Ayrat
24.07.2018
14:54:53
и ещё goto

Evgeniy
24.07.2018
14:55:41
Early return не умеет — не готов к продакшену.

Ayrat
24.07.2018
14:56:23
а early return в языке где всё выражение это как вообще?

Vlad
24.07.2018
14:56:45

Evgeniy
24.07.2018
14:58:06

アレクセイ
24.07.2018
14:58:55
это монадная композиция против аппликативов или о чём-то другом

Ayrat
24.07.2018
14:59:56
Как в Rust.
я чот тупой наверное, но чем в расте, который statement язык, оно от C# отличается?

Evgeniy
24.07.2018
15:00:12