
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

Nikolay
16.08.2017
17:04:50
https://blogs.msdn.microsoft.com/dotnet/2017/06/07/performance-improvements-in-net-core/
Ещё к записям можно попробовать добавить атрибут Struct, @fvnever вроде говорил помогало

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

Anton
16.08.2017
17:53:51

Evgeniy
16.08.2017
17:54:24

Pawel
16.08.2017
17:58:21

Nikolay
16.08.2017
18:06:59
Только нужен CLIMutable атрибут

Pawel
16.08.2017
18:08:29

Vladimir
16.08.2017
18:37:46

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

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

Astmatik
16.08.2017
19:00:12
Raven пока копаю.

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

Vladimir
16.08.2017
19:09:16

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:12:25

Igor
16.08.2017
19:12:40

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

Nikolay
16.08.2017
19:23:00

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

Nikolay
16.08.2017
19:49:44

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

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)

Nikolay
16.08.2017
20:07:38

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 и всех связанных тасок
(я подписался)

Nikolay
16.08.2017
20:11:29

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
тогда обломись или пиши дурацкие констрэйнты