
Again
14.05.2017
21:43:13
ну я понял,что просто записать хэш пароля 1234567
и всегда сбрасвыать на такой
если нужно

Mikhail
14.05.2017
21:43:23

Google

Летучая
14.05.2017
21:44:11
)))

Му
14.05.2017
21:57:11
Пздц ?

Nikita
14.05.2017
22:47:44
так тупо удобнее

Egor
14.05.2017
22:48:57
и рядом plain text :)

viktor
15.05.2017
00:56:01
кто-то юзал семафоры в реальной жизни?

alix
15.05.2017
00:56:24

Владимир
15.05.2017
00:56:25
семафорслим да

alix
15.05.2017
00:56:28
лабы делал по сиспрогу

viktor
15.05.2017
00:57:20
Ну ебана.. я же про реальную жизнь говорю, а не про влажные с универа.

alix
15.05.2017
00:58:32
ты задай ответ нормально

Andrew
15.05.2017
01:46:11
кто-то юзал семафоры в реальной жизни?
юзал, но сейчас как-то всякие таски, эвэйты прочая хрень есть, и как-то уже не возникает задачи рулить несколько тредов семафором явно, на данный момент вполне всё обходится монитором и мьютексами, причем последнее чаще вижу просто как способ запретить несколько инстансов приложеньки

Alex
15.05.2017
06:25:04
я ConcurrentDictionary по совету местных юзал

Google

alix
15.05.2017
06:25:56
семафорслимы удобны когда например нужно ограничить число одновременно исполняемых тасочек
например чтобы их по четыре выполнялось
равное кол-ву ядер

Ilya
15.05.2017
07:23:27
Омг, зачем? Это же дотнет, он все сделает лучше, чем ты

alix
15.05.2017
07:25:00
но вдруг другие причины
ограничить одновременное число тасочек
типа одновременное число коннектов к сервису и тр
п

Владимир
15.05.2017
07:39:49

Ilya
15.05.2017
07:40:57

Владимир
15.05.2017
07:41:33
а, я пропустил "равное количеству ядер"

Му
15.05.2017
07:46:20
я недавно нагуглил вот такое решение для этой цели
public static async Task<IList<TResult» SelectAsync<TSource, TResult?this IEnumerable<TSource> source, Func<TSource, Task<TResult» selector, int maxDegreesOfParallelism = 4)
{
var results = new List<TResult?);
var activeTasks = new HashSet<Task<TResult»();
foreach (var item in source)
{
activeTasks.Add(selector(item));
if (activeTasks.Count >= maxDegreesOfParallelism)
{
var completed = await Task.WhenAny(activeTasks);
activeTasks.Remove(completed);
results.Add(completed.Result);
}
}
results.AddRange(await Task.WhenAll(activeTasks));
return results;
}

alix
15.05.2017
07:47:25

Владимир
15.05.2017
07:47:26

alix
15.05.2017
07:47:30
это умозрительно

Му
15.05.2017
07:47:35
как оформлять сообщение в виде кода?
*** же, нет?

Anatoly
15.05.2017
07:47:45
`

Google

Владимир
15.05.2017
07:47:49
`

Anatoly
15.05.2017
07:47:52
бля. парсер сожрал
```

Владимир
15.05.2017
07:48:11
\`\`\` code \`\`\`

Му
15.05.2017
07:48:15
заюзал чтобы дёргать http сервер не более чем в N потоков

Anatoly
15.05.2017
07:49:26
Вариант с семафором выглядел бы проще мне кажется.
Хз правда какой вариант больше задержек вносит.

Му
15.05.2017
07:49:27
без мютексов\семафоров и т.п.

Владимир
15.05.2017
07:51:39
Понял что происходит.
Выглядит разумно, но как-то сложночитаемо.
WhenAny возвращает первую выполненную?

Axm
15.05.2017
07:53:32

alix
15.05.2017
07:55:23

Владимир
15.05.2017
07:56:39

Axm
15.05.2017
07:57:03
Ну это, можно же обернуть

Daniil
15.05.2017
07:57:22
Parallel.ForEach это CPU Bound, зачем это при IO bound работе?

Axm
15.05.2017
08:15:25

Ilya
15.05.2017
08:24:33

Anatoly
15.05.2017
08:25:42
чтобы проще удалять наверное.

Ilya
15.05.2017
08:26:22
О - оптимизация?

Anatoly
15.05.2017
08:27:13
Ну хотя я не думаю что больше ста элементов будет когда-нибудь в этом списке. И линейный поиск по листу не должны почувствовать.
Но без тестов это как писькой по воде водить

Google

Ilya
15.05.2017
08:28:36
Тут такое себе, зато добавление элементов происходит дольше

Vinc
15.05.2017
08:59:17
https://metanit.com/sharp/tutorial/2.12.php
последний пример, не понимаю, зачем нужен энум и что за параметр такой Operation op?

Му
15.05.2017
09:01:48

Axm
15.05.2017
09:02:14
почему?
есть инфа почитать?

Му
15.05.2017
09:02:38
потому что не евейтит

Daniil
15.05.2017
09:09:27

Dmitry
15.05.2017
09:14:32
ребят, строка Data Source требует путя типо C:\database.accdb - один бэкслеш. программа получает инпут этого path из диалогового окна. достаю значения FileName а путь экранируется, ну то есть имею C:\\database.accdb - два бекслеша. делал Replace(@"\\",@"\" ) не помогает. есть решения?

Admin
ERROR: S client not available

Vasily
15.05.2017
09:19:20
Где-то у меня завалялся стикер facepalm

Владимир
15.05.2017
09:26:03

Nikita
15.05.2017
09:34:57
Чат
Чат, нужно твоё вмешательство
Состоялся релиз AvaloniaUI 0.5 - https://habrahabr.ru/post/328684/

Ilya
15.05.2017
09:35:31
лайкать чтоль надо?

Vasily
15.05.2017
09:35:36
У меня аккаунта на хабре нету все равно

Nikita
15.05.2017
09:35:39
необходимо нажать на стрелочку ↑

Ilya
15.05.2017
09:35:43
5к

Владимир
15.05.2017
09:35:47

Vasily
15.05.2017
09:35:48
Лет 8 назад было лениво заводить

Google

Vasily
15.05.2017
09:36:02
А сейчас и ни к чему, вроде

Ilya
15.05.2017
09:36:59
а у меня днище-акаунт походу
холопам не дают голосовать

Alex
15.05.2017
09:37:10
аналогично

Владимир
15.05.2017
09:37:21
не полноценный говорят
ты

Ilya
15.05.2017
09:37:36
ага
эта
у меня вопрос

Nikita
15.05.2017
09:39:25
with great power comes great irresponsibility

Ilya
15.05.2017
09:39:26
может задавали уже
но зачем UI фрэймворк, если сейчакс 2к17 и дестктоп умирает

Nikita
15.05.2017
09:40:11
мобилки, webassembly

Ilya
15.05.2017
09:40:20
тем более UI коорый на линукс робит

Владимир
15.05.2017
09:40:29

Nikita
15.05.2017
09:40:41
avalonedit портанули

Ilya
15.05.2017
09:40:41

Nikita
15.05.2017
09:40:51
oxyplot портанули
а вообще идея в том, чтобы оно _везде_ робило
Эта группа больше не существует