
anton
10.03.2017
22:09:18

Max
10.03.2017
22:11:42

anton
10.03.2017
22:18:07
вот например, у тебя два асинк таска зашедулились на разных тредах
но оба таска хотят что-то делать с одним и тем же объектом ..
потеряешь в скорости? да, сколько-то потеряешь

Google

Arseniy
10.03.2017
23:21:32
так кто-нибудь юзал asp.net core поверх полного фреймворка?
у меня странная поблема. надо слепить на коленке замену ftp, доступного только для чтения
суть в том, что у меня есть несколько каталогов. которые надо регулярно обходить в поисках изменений.
я тут один оценил одну такую папку, там более 27кк файлов, со сложной структурой каталогов (вествистая и глубокая)
и кароч обход ftp просто нереально тормозит. несмотря на все мои оптимизации типо ручной имплементации glob-паттернов, которая отбрасывает лишние пути
зробил пару тестов. выяснилось, что для если хост будет сидеть на машине с файлами, то diff на ентих 27кк можно посчитать за 1-2 минуты, используя ~200 метров оперативы.
ну и вот я думаю, что может ftp вообще выкинуть с херам. а файлы сервировать самому. но чет писать не хочется.
я посмотрел на asp.net core, который вообще ни разу не трогал


Sergey
10.03.2017
23:35:06
27kk эт многовато. А не вариант на хост апп пустить, который фс мониторит?
Так вроде все дропбоксоподобные делают
А структуру один раз просканить и в бд положить

Arseniy
10.03.2017
23:36:49
вот тут https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/ пишут
>WebListener is a Windows-only HTTP server based on the Http.Sys kernel driver.
и можно через https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/weblistener
сервировать файлы. по идее http.sys очень эффективная либа. и можно ему статические пути добавить https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
оно должно трасферить файлы вообще в обход дотнетовского пайка

Sergey
10.03.2017
23:37:09
Пусть себе изменения только мониторит

Arseniy
10.03.2017
23:37:16
@sergey_chanaev ну вот проблема как раз в бд. мне надо оракл

Google

Arseniy
10.03.2017
23:38:50
я хочу запустить асп.нет кор на полном дотнете, чтобы укладывать состояние в базу. тогда клиенты будут приходить со своим glob и номером ревизии, который они последний раз получали. а я им только diff отдавать буду.
вроде всё четко выгллядит, но вот что с ораклом непонятно. я знаю, что .net core сильно ограниченный и в оракл не может

Sergey
10.03.2017
23:39:47
я чот думал там оракл запилили уже

Arseniy
10.03.2017
23:44:29
вообще, из прочитанного мне очень понравилось, что из себя представляет aspo.net core

Sergey
10.03.2017
23:59:09
надо думать :) считай полный перепил философии

Aleksey
11.03.2017
00:15:49
Друзья подскажите, на asp.net можно сделать браузер, чтобы он весел как веб сайт на сервере?

Gid
11.03.2017
00:19:59
Что

Arseniy
11.03.2017
00:24:03

Gid
11.03.2017
00:26:10
Не зная их значений

Владимир
11.03.2017
00:27:15
Да вроде все понятно. Может человек хочет имитировать браузер, и чтобы она (имитация) висела на сервере и что-нибудь делала.

Gid
11.03.2017
00:27:44

Владимир
11.03.2017
00:28:17

Sergey
11.03.2017
00:55:49

Arseniy
11.03.2017
00:56:30
профессиональная особенность

Sergey
11.03.2017
00:56:55
как мне насяльника объяснил, чтобы я в разговоре с ним не использовал слово assume, типа значит "ass u me".

Владимир
11.03.2017
00:57:01

Anatoly
11.03.2017
00:58:26

Arseniy
11.03.2017
01:00:50

Anatoly
11.03.2017
01:01:43

Google

Arseniy
11.03.2017
01:02:44
он говорит, что с тасками стало в 5 раз медленее. учитывая UI-приложение, можно предположить, что один из косяков - это шедулинг на UI потоке

Anatoly
11.03.2017
01:03:08
А, ок. С утра между глаз попало, не заметил
пусть тогда сам ебётся

Arseniy
11.03.2017
01:04:20
потом, он не говорит, как коммуницирует с api. таски имеют профит, если у нас сеть будет через IOCP, а он вполне мог и через синхронные методы работать

Владимир
11.03.2017
01:04:37
Нормально?

Arseniy
11.03.2017
01:04:50
конечно
в 2017 году такую херню принято называть акторами

Владимир
11.03.2017
01:07:11

Arseniy
11.03.2017
01:08:40
Запомню.
это с тобой мы пытались переиграть ентити?

Владимир
11.03.2017
01:09:08
Сейчас скину, что получилось в итоге

Владимир
11.03.2017
01:18:19
это с тобой мы пытались переиграть ентити?
Код:
http://pastebin.com/uVhH3hF6
ПредикатБилдер я загуглил, ибо пара часов с тем вариантом так и не дали результатов.
Этот завелся раза с третьего.
Инклуды пришлось все таки вынести в отдельные условия, чтобы допилить то, что мы в прошлый раз забыли (файл должен выбираться, только если у него есть все теги).
SQL получается подобного вида:
http://pastebin.com/t1ZzMuJp
Один нот экзист на все эксклуды и по одному экзисту на инклуды. Может можно было как-то еще улучшить, но у меня идей не было.
Вел, по результатам это выигрыш в 10 раз во времени по сравнению с моим прошлым вариантом и я более чем доволен. До 5 тегов 50-100мс на запрос в среднем.

Arseniy
11.03.2017
01:20:06
у тебя совершенно адское форматирование)
какие-то субстринги
если всё работает, то ок. но я бы всё написал как следует, чтобы не ахуевать потом, если придётся вернуться

Владимир
11.03.2017
01:22:21
А, это еще одно допусловие, я вспомнил, что валуя приходит в виде
'=value' или '!=value' и это тоже надо учитывать.
Что не так с форматированием? Единственное, я не оч люблю скипы { }.
Что можно исправить в коде выше?

Arseniy
11.03.2017
01:24:26
ну чтобы исправить, мне надо вникнуть. а я не готов.
мне просто что непонятно
if (condition != null)
{
query = query.Where(condition);
}
вот такую херню. ты мало того, что оформляешь скобками, так еще и отбиваешь путыми строками вокруг ифа
if (expr == null) return or;
вот тут ты даже не делаешь перенос строки и не ставишь скобки

Google

Владимир
11.03.2017
01:25:31
Не, предикат билдер я загуглил, не реформатил. Можно поправить мб, да.

Arseniy
11.03.2017
01:25:55
var flag = f.Value.Substring(0, 1);
if (flag == "=")
{
var v = f.Value.Substring(1);
fcond = t => t.TagId == f.TagId && t.Value == v;
}
else
{
var v = f.Value.Substring(2);
fcond = t => t.TagId == f.TagId && t.Value != v;
}
вот тут явно напрашивается что-то типо ExtractValue
что было var v = ExctractValue(f.Value)
а дальше трививальная логика

Владимир
11.03.2017
01:26:29
А первое, да, всегда так пишу.
fcond тоже разные же
== v
!= v

Arseniy
11.03.2017
01:27:24
ну так вот их и собирай. а у тебя в перемешку логика извлечения значения и формирования fcond

Admin
ERROR: S client not available

Владимир
11.03.2017
01:28:11
Но от того, что мы извлекли, зависит знак.

Arseniy
11.03.2017
01:31:36
извлекай значений туплом или через аут параметр
чтобы и то и другое верталось
я просмотрел, завезли нам уже туплы с деконструкций в 2017 студии или не

Владимир
11.03.2017
01:32:47
Завезли

Arseniy
11.03.2017
01:33:59
а с Replace что за история, ты понял?
ну и как я тогда написал, для по-настоящему хорошей производительности нужна хранимка
у тебя ms sql server?

Владимир
11.03.2017
01:38:29
http://pastebin.com/xYC9m9sT
ну допустим

Sergey
11.03.2017
01:39:30
А я сразу решение со сторедпрокой предлагал. Пусть сервак там интерсекцирует

Arseniy
11.03.2017
01:39:44
я бы заменил в данной ситуации if-else на
? :

Google

Владимир
11.03.2017
01:39:50
Энтети начинает видеть какие-то анбиндед переменные.

Arseniy
11.03.2017
01:40:53

Sergey
11.03.2017
01:41:29
Что у вас там с часовыми поясами?

Arseniy
11.03.2017
01:41:34
но если собирать шаблонный запрос на сервере, то мы получим кешированный запрос со статистикой и всеми прочими бонусами
мск

Sergey
11.03.2017
01:41:47
Что вы по ночам-то заседаете?

Anatoly
11.03.2017
01:42:01
UTC +7
утро, какие ночи то
:)

Владимир
11.03.2017
01:42:19

Anatoly
11.03.2017
01:42:52
Нелья просто так взять и привести лямбду к лямбде. картинка с боромиром

Sergey
11.03.2017
01:43:12

Arseniy
11.03.2017
01:44:34

Sergey
11.03.2017
01:44:47
5 и 9 утра. Неплохо ?
На днях в каком-то ДБ чятике проскакивало

Arseniy
11.03.2017
01:45:46
ай. ты знаешь сколько времени должно пройти, чтобы перекатить оракл перекатился на "новую"?
Эта группа больше не существует