@Fsharp_chat

Страница 268 из 772
Vladimir
16.08.2017
15:56:03
все запросы сейчас плюс-минус раза 1.5 за одинаковое время выполняются

оки, уберу)

Vasily
16.08.2017
15:56:42
Она тут не нужна в общем-тол

Vladimir
16.08.2017
15:56:44
но это будут только геты по айдишке

Google
Vladimir
16.08.2017
15:57:16
список посещений и среднее надо сериализовать в любом случае

Vasily
16.08.2017
15:58:41
http://www.newtonsoft.com/json/help/html/Performance.htm

http://mbraceproject.github.io/FsPickler/

Vladimir
16.08.2017
15:59:52
Да, я видел) Даже вопрос задавал в репо жирафа

https://github.com/dustinmoris/Giraffe/issues/82

посмотрю fspickler, хотел fastjson заюзать, но поддержки .net core еще нет

Vasily
16.08.2017
16:01:42
Как вариант вместо стрингов хранить MemoryStream

еще можно ручную сериализацию напистаь

Vladimir
16.08.2017
16:02:28
звучит страшно) но можно попробовать

ага, ладно поехал я домой, попозже вернусь

спасибо за советы)

Evgeniy
16.08.2017
16:27:32
Привет! o/

Vasily
16.08.2017
16:28:09
Тот самый?

Google
Pawel
16.08.2017
16:56:44
А какие проблемы с рекордами?
в смысле ни EF, ни LiteDB их не понимают

Nikolay
16.08.2017
17:04:50
Всем привет)
Привет :)

https://github.com/Lanayx/PerformanceTest
Можно попробовать .Net Core 2.0

https://blogs.msdn.microsoft.com/dotnet/2017/06/07/performance-improvements-in-net-core/

Ещё к записям можно попробовать добавить атрибут Struct, @fvnever вроде говорил помогало

Андрій
16.08.2017
17:49:35
@gsomix, получилось?

Evgeniy
16.08.2017
17:54:24
@gsomix, получилось?
Я пока не успел посмотреть. Но за репозиторий спасибо!

Nikolay
16.08.2017
18:06:59
в смысле ни EF, ни LiteDB их не понимают
Проверил только что LiteDb, с рекордами ок

Только нужен CLIMutable атрибут

Vladimir
16.08.2017
18:37:46
Можно попробовать .Net Core 2.0
Его пока жираф не поддерживает, как только так сразу)

Nikolay
16.08.2017
18:42:52
Его пока жираф не поддерживает, как только так сразу)
А со Struct попробуешь? :) Мне интересно)

И там библиотека не обязательно должна поддерживать .Net Core 2.0, достаточно поддержки .Net Standard

Vladimir
16.08.2017
18:44:42
Попробую struct =)

Astmatik
16.08.2017
19:00:12
А в чём ты видишь преимущества SQL перед NoSQL ?
Для моей задачи нужна документо-ориентированная бд.

Raven пока копаю.

Pawel
16.08.2017
19:04:25
RavenDB довольно странная, но альтернативы в .Net нет (каламбур) в плане full featured nosql

Vladimir
16.08.2017
19:09:16
И там библиотека не обязательно должна поддерживать .Net Core 2.0, достаточно поддержки .Net Standard
Там все сразу должно быть 2.0 .net core и asp.net core и kestrel. Жираф это же просто небольшая обертка над asp.net core

Google
Nikolay
16.08.2017
19:10:47
Pawel
16.08.2017
19:11:43
года 3 назад пробовал LiteDB c F# - ни чего не вышло. Щас после новости @Dolfik про поддержку рекордов затестил ещё разок с таким вот типом type B = C of int * int | D [<CLIMutable>] type A = { mutable Id : int mutable x : int list mutable y : Map<int,int> mutable z : B } увы, чуда не произошло))

Nikolay
16.08.2017
19:13:07
Я проверил, Option, DU, Tuples - не работают

list и Map, мб и будут работать)

Pawel
16.08.2017
19:13:45
да. и из-за других структур данных F#(списки, мапы), без которых кода на F# у меня нет

Nikolay
16.08.2017
19:14:15
Pawel
16.08.2017
19:15:24
ну и если бы она что-то осмысленное сказала что ей не нра, а то NullReferenceException и вася. Ох уж мне эти эксепшены..

Nikolay
16.08.2017
19:16:34
А как в F# получить Func?

Так же как и в C#?

Pawel
16.08.2017
19:22:35
А как в F# получить Func?
имеешь ввиду new System.Func<int,int>(fun (x:int) -> 12)?

Nikolay
16.08.2017
19:23:00
имеешь ввиду new System.Func<int,int>(fun (x:int) -> 12)?
Угу, но это как-то уродливо

Igor
16.08.2017
19:23:40
Вроде можно просто Func<_,_> (лучше правда не особо)))

Nikolay
16.08.2017
19:24:26
Можно было-бы что-нибудь типа: fun x -> 12 |> func

Evgeniy
16.08.2017
19:41:09
Привет! o/

Egoarka
16.08.2017
19:43:14
привет :)

Pawel
16.08.2017
19:47:04
По поводу LiteDB (и ей подобным embeded nosq) - я тут слегка разобрался в этой теме и пришёл к выводу, что с ней всё плохо. Остановил выбор на маргинальщине - https://github.com/hhblaze, юзаю по тихоньку в тестовом режиме в комбинации F# + FsPickler. Пока несовместимых с жизнью претензий к ней нет. Embeded NoSQL нормального человека

Igor
16.08.2017
19:49:15
> Остановил выбор на маргинальщине - https://github.com/hhblaze Зачем так плохо о человеке ?, наверное речь была о https://github.com/hhblaze/DBreeze

Google
Pawel
16.08.2017
19:52:30
то, что она навязывает прикладному коду свою сериализацию вместо того, чтобы принимать от него пары ключ-занчение в виде последовательности байтов, как это принято в 17 году в гуманных аналогах. И хранит данные в json.

ну и в конкурентный View не умеет

Nikolay
16.08.2017
20:02:56
Кажется нашёл баг в Ionide, может кто проверить у себя?

Anton
16.08.2017
20:03:03
?

Nikolay
16.08.2017
20:03:13
Нужен .Net Core 2.0

Evgeniy
16.08.2017
20:03:36
Нужен .Net Core 2.0
Если это что-то про netstandard2.0, то уже все зарепортили.

Nikolay
16.08.2017
20:03:59


Собирается ок, но подсвечивает ошибки

Такое?

Evgeniy
16.08.2017
20:04:35
Да, было. Посмотри последние закрытые issue в репозитории ionide.

Там какие-то проблемы с netstandard2.0 библиотеками, не работает интеллисенс.

Nikolay
16.08.2017
20:05:08
Похоже из-за названия LiteDB в неймспейсе, ибо я делал в отдельном проекте название LiteDbTest, и было ок всё

А после перезапуска вообще не подхватывает

Igor
16.08.2017
20:07:20
Короче, пока ionide не работает с netstandart 2.0 (я откатился пока на 1.1)

Igor
16.08.2017
20:07:58
Работает
Плохо, мы зарепортили уже баги

Nikolay
16.08.2017
20:08:12
Я одного бота писал на Preview 2, проблем вообще не было

Evgeniy
16.08.2017
20:08:51
Работает
https://github.com/ionide/ionide-vscode-fsharp/issues/497

Nikolay
16.08.2017
20:09:12
А, именно classlib :(

Google
Vladimir
16.08.2017
20:09:40
Так, кому еще интересно highloadcup =) Поменял records с классов на структуры, особо ничего не поменялось Сейчас буду пробовать предсериализовать json чтобы быстрее его отдавать

Igor
16.08.2017
20:10:10
Ждем наверное вот этого https://github.com/fsharp/FsAutoComplete/issues/180 и всех связанных тасок (я подписался)

Vladimir
16.08.2017
20:12:16
да, поменяю сериализатор и предсериализацию сделаю

Nikolay
16.08.2017
20:13:53
Успехов, держи в курсе :)

Vladimir
16.08.2017
20:14:18
=) спасибо

fspickler тоже .net core не поддерживает(

Igor
16.08.2017
20:21:33
Народ поясните, это можно это в F# написать что бы НЕ ставить явно тип a? let test a = a.helloworld()

Vasily
16.08.2017
20:22:10
В целом можно,по идее

Если выше тип объявлен

Igor
16.08.2017
20:23:13
Я в смысле обобщить что что-угодно с таким методом. @gsomix вроде недавно кидал пример синтаксиса.

Vasily
16.08.2017
20:23:15
да, поменяю сериализатор и предсериализацию сделаю
Имеет смысл еще ответы кешировать.Жирафа их может долго формировать ,по идее

Ну констрейнт навесить

Vladimir
16.08.2017
20:23:49
Поясни плиз) Не очень понимаю как их кэшировать

Pawel
16.08.2017
20:23:59
type Helloworld = { helloworld : unit -> string } let test a = a.helloworld()

Igor
16.08.2017
20:24:23
А если нет типа в скоупе? Для дженерика

Vasily
16.08.2017
20:24:37
Поясни плиз) Не очень понимаю как их кэшировать
Сейчас у тебя даже однотипные ответы всегда перестраиваются

Летучая
16.08.2017
20:24:53
Кстати, а кто как решает доступ к свойству в пайпе? |> fun x -> x.PropName

Pawel
16.08.2017
20:24:57
тогда обломись или пиши дурацкие констрэйнты

Страница 268 из 772