
Ivan
14.09.2018
21:43:10

Arseniy
14.09.2018
21:43:59

Ivan
14.09.2018
21:44:13
Я б вообще только на расте писал, если б не стоимость

Arseniy
14.09.2018
21:45:09
ну я бы скорее на хаскеле писал, чем на расте

Google

Ayrat
14.09.2018
21:45:21
Можно написать на тасках? Конечно.
Но проще в пару строчек на гопаке
https://gist.github.com/Szer/8293c05de445911d616b451b006eac11

Ivan
14.09.2018
21:46:45
Основной рабочий фрагмент какокго размера Айрат?

Ayrat
14.09.2018
21:47:48

Ivan
14.09.2018
21:48:12

Ayrat
14.09.2018
21:49:43
Фильтры, чузы (для опшнов) все на лету делается
Потому в памяти не оседает

Ivan
14.09.2018
21:51:14

Google

Ivan
14.09.2018
21:51:56
Тогда можно попробовать.

Ayrat
14.09.2018
21:52:03

Ivan
14.09.2018
21:53:30
Ну и что тебе не нравится? Библиотеки пока д... Но перспектива офигенная. А тулинг - на уровне фшарп, если не лучше.

Ayrat
14.09.2018
21:54:03
Студия тоже норм, она меня тормозами бесит только

Ivan
14.09.2018
21:54:38
https://intellij-rust.github.io/

Ayrat
14.09.2018
21:55:02
(я-то точно про хаскель)

Ivan
14.09.2018
21:55:46
Не - я хаскель люблю. Но это всеж не для промышленного применеия.

Bonart
14.09.2018
21:55:55

Ivan
14.09.2018
21:56:25

Ayrat
14.09.2018
21:56:34

Arseniy
14.09.2018
21:56:45

Ivan
14.09.2018
21:56:59

Arseniy
14.09.2018
21:57:28
есть один вопрос с тем, как ставятся задачи

Ivan
14.09.2018
21:57:42

Bonart
14.09.2018
21:57:45
> надо сильно в себе культивировать один единственный правильный стиль и всегда его предерживаться, что контпродуктивно
А вот здесь мы вас и поправим!

Ayrat
14.09.2018
21:58:17

Bonart
14.09.2018
21:58:18

Arseniy
14.09.2018
21:58:39
Ayrat Stream.mapParallelJob 24 dataLake.DownloadString — эта штука прсто на пачки бьет или более умная?

Google

Ayrat
14.09.2018
21:58:54

Ivan
14.09.2018
21:58:59
И себя не любют. А вот мы его очень. Как так?

Ayrat
14.09.2018
21:59:18
Это кастомная приблуда

Bonart
14.09.2018
21:59:19

Ayrat
14.09.2018
21:59:38
Но в гопаке есть похожая. Ща

Arseniy
14.09.2018
21:59:39
тут один вопрос, как всегда. если одна задача завершается, оно протолкнет на выполение следующую или будет ждать всю пачку?

Ayrat
14.09.2018
21:59:52

Ivan
14.09.2018
22:00:01
Где?

Arseniy
14.09.2018
22:00:14
ну так и давай одно слово

Ivan
14.09.2018
22:01:04
В хопаке, скорее всего, вообще нить переключаться не будет. В асинках и тасках - как получится.

Roman
14.09.2018
22:01:30

Arseniy
14.09.2018
22:01:35
при чем тут нить. тут вопрос в том, как ты задачки накидываешь

Ivan
14.09.2018
22:02:13

Ayrat
14.09.2018
22:02:40
когда-нибудь руки дойдут, выложу в опенсурс, мне не жалко

Ivan
14.09.2018
22:04:18
Вот, хотя пример. В доке нет не фига. А я уже его гениальнвй код (без шуток) устаю читать на каждый чих (ну старый)

Ayrat
14.09.2018
22:04:21

Arseniy
14.09.2018
22:06:31
принцип работы это всего какой?
ты создал пайп, под ним очередь, над ней трекинг заполненности или что?

Ayrat
14.09.2018
22:07:10

Google

Arseniy
14.09.2018
22:07:59
то есть, ты суешь 100500 задача в очередь и дальше гребешь их с заполненным окном в 24?
я просто не вижу картину в целом.
суть в том, что надо понять, что задачка кончилась.
надо взять новую.
Кароче, backpressure есть?)

Ayrat
14.09.2018
22:09:27
а логика на 10 строк

Arseniy
14.09.2018
22:11:34
и?

Ayrat
14.09.2018
22:12:13
и?
и ничего. Я ответил на твои вопросы?

Arseniy
14.09.2018
22:13:29
нет. либо я не понял
у меня нет студии, чтобы понять твои операторы.

Ayrat
14.09.2018
22:13:55
Тогда повторюсь. Это с бекпрешуром.

Arseniy
14.09.2018
22:15:46
ну то есть как это работает
ты засосал задачи, направил на исполнение, дальше смотришь, кто завершился или где https://gist.github.com/Szer/535909c37cdf5b92777c15d00ad25456#file-streams-fs-L12
и где новые забираются?


Ayrat
14.09.2018
22:20:12
работает на альтернативах
евентлуп опрашивает есть что в канале degree? если да, то меняем стейт евентлупа с новым уровнем degree
если нет, идём дальше.
спрашиваем у канала done? если там есть что (какая-то ранее выполненная работа), то пытаемся отдать её в даунстрим ченел и после этого меняем стейт евентлупа с меньшим уровнем загрузки.
если нет, идём дальше, если уровень текущей загрузки позволяет взять ещё работки сверху, то пытаемся прочитать канал input и поработать с ним (в свежесозданной джобе, нам на неё насрать, мы её не тречим. обмазав try catch). результат засылаем во внутренний канал done и возвращаем новый стейт евентлупа с большим уровнем загрузки.
если у нас всё занято, то висим на alt.never (т.е. ничего не делаем и ожидаем хотя бы одну предудыщую альтернативу)

Arseniy
14.09.2018
22:22:26
да
я в глаза долблюсь.
норм, славлю КЛАСС
идея ясна, может быть уже в понедельник я еще раз это всё прогляжу.

Google


Vladimir
14.09.2018
23:31:09
если более развернуто.
я когда работал писателем наскале, видел как человек на ревью зарубает за if(a == false), с мотивацией, мол надо писать if(!a), потому что это "читается как думается", а в случае a == false, надо распознать сравнение и тд и тп.
далее, я знаю, что многие аналитики, в sql запросе предложение where начинают с 1 = 1, потому что дальше они через and будут писать условия, которые будут комментироваться и расскомментироваться по 100 раз.
даллее, я знаю людей, которые не любят тернарный оператор в C#, потому что он якобы мешает им думать и там легко совершить ошибку.
но по факту, на фоне всего объяма кода , если вникаешь в суть, заметить эти нюансы просто невозможно.
для этого надо сильно в себе культивировать один единственный правильный стиль и всегда его предерживаться, что контпродуктивно.
то есть if от match я не отличу. а если там будет поднято вычисление в монаду ради якобы больше "парадигмальности", то конечно будет фи.
Я тоже пишу 1=1 в SQL чтобы условия удобно было через AND добавлять)


Arseniy
14.09.2018
23:38:33

Александр
15.09.2018
02:42:56
Извините

Roman
15.09.2018
05:38:58
Не сбивайте человека в начале пути )))

Evgeniy
15.09.2018
07:16:35
https://twitter.com/k_cieslak/status/1040700427405279233

Artemy
15.09.2018
08:39:02
Я думаю, то был просто пример эквивалентных выражений

Roman
15.09.2018
08:40:42
Выражений да. Не совсем понял наверное.

Ivan
15.09.2018
08:45:31

Roman
15.09.2018
16:51:14
https://www.nuget.org/packages/Fable.Semantic/0.5.0
Я пакет выложил
Ставьте зведы, делайте пулл реквесты, форкайте своим друзьям
https://github.com/fsharplang-ru/Fable.SemanticUI/