Anatoly
Я попробую, спасибо
Romɑn
https://github.com/fsharplang-ru/pulsar-client-dotnet
Roman
Romɑn
Roman
Romɑn
Можно и больше)
Roman
Romɑn
Roman
хм, там 56% кода на сишарпе
Roman
как это?
Romɑn
@Lanayx вливал что-то. Точнее расскажет.
Фил Ранжин
Фил Ранжин
буду отправлять своих людей
Фил Ранжин
(коррупция в технологиях, это смешно)
Shub
(коррупция в технологиях, это смешно)
очень, особенно с учетом, что буквально в этом году ряд крупных венчурных фондов прилично полинял благодаря смешной такой коррупции в технологиях
Shub
был еще смешной такой Терранос
Фил Ранжин
я всё же другие вещи имел ввиду
Фил Ранжин
но ты похоже хочешь что-то обсудить
Фил Ранжин
так что валяй
Shub
коррупция в технологиях есть. как и везде. не знаю, что тут можно обсуждать
Фил Ранжин
я имел ввиду только звезды на гх по дружбе
Romɑn
Ilya
С Theranos весело получилось, да.
Shub
Ilya
В случае тераноса не коррупция же была, а фрод.
Ayrat
Ayrat
и протобуф
Ayrat
а сам клиент и протокол на фшарпе
Ayrat
типа локальный форк
Ayrat
подозреваю тут такая же схема
Ayrat
потом убирал когда автора оригинала одуплят PR
Roman
аа, хитро
Vladimir
Там они фичу сделали которую почему-то не релизят, пришлось сорцы копировать
Vladimir
@fillpackart спасибо за звезду) еще кто-то поставил, но я не знаю какой в чате ник, тоже спасибо)
Vladislav
https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted
Vladimir
фарш выпал с радаров
Ayrat
Хм, а мне чот в этом году опрос не приходил. Ну и ладно
Anatoly
if supports_fsharp { dontspam }
Anonymous
Привет. Не подскажите, есть ли где-то в .NET метод, возвращающих список зарезервированных символов URI?
Ayrat
Ayrat
Ну это если не найдешь в стд либе
Ayrat
У нас тут есть специалист по чтению RFC
@aensidhe
Doge
Интересно как изменится это число, когда больше народу пойдёт его тыкать.
Doge
И столкнутся тем, что это самый требовательный к тайп-левел магии язык. Один из тех, кто её реально приходиться использовать по делу, а не просто фана ради
Anatoly
Ayrat
блин, регулярки нет? эх. придется написать.
Поставь на эту таску 3 стори поинта
Roman
@vshapenko тут вон чувак из maui просит скриншоты приложений для лучшей поддержки f#
https://github.com/dotnet/maui/issues/115#issuecomment-635060930
Ayrat
там чувак на вб топящий вообще странный
Ayrat
как бы можно просить поддержки вб не в ущерб фшарпу
Ayrat
а он там топит за то что фшарп не нужен и поэтому надо поддержать вб.нет
Ayrat
@Liminiens вот здесь ещё немного интересного
https://github.com/Hopac/Hopac/tree/master/Libs/Hopac.Experimental
Ayrat
https://github.com/Hopac/Hopac/blob/master/Libs/Hopac.Experimental/Pipe.fsi
Ayrat
в гопаке есть ещё дохуя всего что в доке нету. Но под вкладкой экспериментал)
Ayrat
/// Operations for programming with (synchronous) pipes. Both the inputs and
/// the outputs of these pipe combinators are given explicitly so that pipes can
/// be combined flexibly.
Ayrat
я эти пайпы не тестил вообще.
Ayrat
Ох бля
/// Represents a multicast channel for one to many communication.
type MChan<'a>
Ayrat
это ж прям пуб суб
Vladislav
Фил Ранжин
Фил Ранжин
хоть для чего то админ ресурс сгодился
Vladimir
Ayrat
Спасибо
Я решил потестить мультикаст. Выглядит годно, но там ченелы внутри, а они не любят буферизацию (постоянные queue на них), поэтому поменял ресивЧенел в мультикасте на мейлбокс и получил вот чо
| Method | MessageCount | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|----------------- |------------- |-----------:|------------:|-----------:|-------:|-------:|-------:|----------:|
| HopacEventStream | 10000 | 3.453 ms | 5.3136 ms | 1.8949 ms | 7.8125 | 3.9063 | 1.9531 | 2.91 MB |
| ExpMulticast | 10000 | 1.387 ms | 0.3048 ms | 0.1087 ms | - | - | - | 1.01 MB |
| HopacEventStream | 100000 | 15.486 ms | 5.4429 ms | 1.9410 ms | - | - | - | 21.41 MB |
| ExpMulticast | 100000 | 15.402 ms | 6.5554 ms | 2.3377 ms | - | - | - | 18.45 MB |
| HopacEventStream | 1000000 | 171.373 ms | 94.9459 ms | 33.8586 ms | - | - | - | 313.44 MB |
| ExpMulticast | 1000000 | 166.845 ms | 110.6230 ms | 39.4492 ms | - | - | - | 116.78 MB |
я хз откуда такая ошибка в целом, подозреваю что из-за отсутствия ожидания получения может быть всякое. А может потому что я на фоне ковыряю свой код в идее)
Vladislav
HopacEventStream это то что я на локе написал?
Ayrat
а, не.
Ayrat
скинь к слову
Ayrat
мультикаст с ченелом на ресиве взлетит в полном гопак окружении без queue постоянных. Это тонкий момент
Vladislav
Ayrat
если нужен интероп с внешним миром, который кидает в ченел стопицот сообщений без ожидания приёма ченела, ты просто заблокируешь все потоки гопака ожиданием
Vladislav
module WorkScheduler =
let instance = Scheduler.create Scheduler.Create.Def
type EventStream<'T>() =
let subs = ResizeArray<Job<'T -> unit>>()
let lock = Lock()
member __.Pub(value: 'T): unit =
Lock.duringFun lock (fun () ->
subs
|> Seq.map (fun fn -> fn |> Job.map (fun fn -> fn value))
|> Job.seqIgnore
|> WorkScheduler.instance.queue
)
|> queue
member __.Sub fn =
Lock.duringFun lock (fun () -> subs.Add(fn))
|> queue
Vladislav
вроде так было
Vladislav