@CSharpChatЭта группа больше не существует

Страница 1460 из 1888
Анатолий
11.07.2017
16:11:30


Aikidos
11.07.2017
16:12:38
Красиво

Анатолий
11.07.2017
16:12:38
Ну как минимум можно у объекта сделать поле "код группы"
В данном случае, я говорю про объект в памяти, а не маппинг поверх какой-либо ORM-ки.

Aikidos
11.07.2017
16:13:37
У нас на работе нет решарпера, даже плачу по ночам

Google
Роман
11.07.2017
16:15:09
ух жесть, я только сейчас понял что нужно сделать, фигасе вопросы на засыпку

Роман
11.07.2017
16:16:04
Вот-вот )))
экспоненциально жрёт память потому что структура данных такая, а не потому что с сетами проблемы

Nicholas
11.07.2017
16:16:33
так пусть будет медленнее, зато память сэкономишь

Роман
11.07.2017
16:17:37
да, мне видится 2 варианта: хранить всё как сейчас или вычислять результат во время доставания, как выше написали

Oleg
11.07.2017
16:18:34


хм, а реакт разве не популярнее?

Анатолий
11.07.2017
16:18:55
да, мне видится 2 варианта: хранить всё как сейчас или вычислять результат во время доставания, как выше написали
При 10КК объектов обход всей коллекции становится делом драматичным для проца.

Oleg
11.07.2017
16:19:05
https://insights.stackoverflow.com/survey/2017

Aikidos
11.07.2017
16:19:17
Что думаете о ведущих Ораклистах? Это большую голову нужно иметь, чтобы стать таким (без сарказма)? Скажем так, если в баре встретится ведущий шарпер (кличка Шуруп) с ведущим ораклистом (кличка Карась), то кому нальют за счет заведения? Смотрел книги по ораклу. Жесть.

Роман
11.07.2017
16:20:54
При 10КК объектов обход всей коллекции становится делом драматичным для проца.
можно попробовать промежуточный варинат: создавать индекс со списком коллекций в которые входит этот эллемент

Анатолий
11.07.2017
16:20:54
Ну и ответсвтенность к томуже.

Google
Анатолий
11.07.2017
16:22:11
можно попробовать промежуточный варинат: создавать индекс со списком коллекций в которые входит этот эллемент
Либо я тебя не понял, либо см. код, который я выше выкладывал - по реализации как раз словарь (индекс+массив) и список (на самом деле HashSet)

Или ты думаешь, что список дешевле по памяти, чем HashSet?

Роман
11.07.2017
16:23:52
Либо я тебя не понял, либо см. код, который я выше выкладывал - по реализации как раз словарь (индекс+массив) и список (на самом деле HashSet)
смотри, у тебя ссылки на итем есть в куче сетов моя идея была в том, чтобы хранить ссылки сразу на списки. По памяти может быть профит. При доставании придётся перегонять через сет.

Aikidos
11.07.2017
16:24:13
Что gateway починили нет.

/stat@combot

Combot
11.07.2017
16:24:16
combot.org/chat/-1001066857984

Анатолий
11.07.2017
16:29:12
Анатолий
11.07.2017
16:30:39
Мммм... Можно вообще сделать Dictionary<T,ISet<T>> и с помощью всякой магии преобразовывать объекты из одного в другой.

Vladimir Bondaryuk
11.07.2017
16:32:02
А, дошло. HashSet - больше памяти жрет, чем list из-за того, что у него еще индекс сколько-то занимает. Яснопонятно :)
А если использовать не list/hashset, а какой-нибудь linkedlist он вообще памяти будет занимать столько, сколько объектов

Анатолий
11.07.2017
16:33:07
Вплоть до того, что внутри где-нибудь вести счетчик регулярности доступа на чтение/записи ключа и в фоновом режиме приобразовывать редкоизменяемые коллекции к более эффективным по памяти аналогам и вызывать GC (трижды)))

Так, думаю проще посмотреть, как реализовано...

Все на удивление просто и легко :)

Юрий
11.07.2017
16:57:38
Кстати о ReSharper. Не возникало ощущения, что он не нужен? Или все же уютненько, что за уши не оторвешь? А то сижу я и смотрю, может обновить свою лицензию до All Products да попробовать.

Анатолий
11.07.2017
17:00:41
Без решарпера вариант только если громадный монолитный солюшен на средней тачке

Иначе это мазохизм)

Rushan
11.07.2017
17:17:37
Какие примерно требования у Решарпера ? Много ему оперативки / какой ~ проц нужен на приличном солюшене ?

Google
Vasily
11.07.2017
17:18:19
Так, думаю проще посмотреть, как реализовано...
Сюда неплохо disjoint set зайдет по идее

@alxrt ну и любопытно, для чего подобное может понадобиться

Анатолий
11.07.2017
17:22:35
Сюда неплохо disjoint set зайдет по идее
Эм, неа. Т.к. Множества списков могут пересекаться. То есть: Имеем множества: (A,B,C) (A,C) (A,C,D,E) При доступе по ключам получаем такие множества: A -> B,C,D,E B -> A,C C -> A,B,D,E D -> A,C,E E -> A,C,D

Aikidos
11.07.2017
17:23:50
Кстати о ReSharper. Не возникало ощущения, что он не нужен? Или все же уютненько, что за уши не оторвешь? А то сижу я и смотрю, может обновить свою лицензию до All Products да попробовать.
Мне с ним привычно. Если уже мозги кипят и сделал косяк, то он поправит. Привычка просто. Что за тобой просматриват мама-шарпер

Timur
11.07.2017
17:24:42
вначале за тобой присматривает интеллисенс, потом решарпер, а потом AI отбирает у тебя работу

Анатолий
11.07.2017
17:24:43
@alxrt ну и любопытно, для чего подобное может понадобиться
У меня есть система инбоксов. Мне нужно понять, с кем имел общение каждый из пользователей (в инбоксе может быть больше двух собеседников и могут быть разные инбоксы с одинаковым набором собеседников).

Vasily
11.07.2017
17:24:45
Запихни все элементы в массив,множества храни интами

Так хоть дубляжа не будет

Анатолий
11.07.2017
17:26:29
Aikidos
11.07.2017
17:26:44
вначале за тобой присматривает интеллисенс, потом решарпер, а потом AI отбирает у тебя работу
На тему отбора работы, у канала it's a nutshell (вроде так называется), есть отличное научпоп видео про машинное обучение.

Вернее видео само про прогнозы

Vasily
11.07.2017
17:28:47
Поясни, пожалуйста :)
Берешь элементы по индексу,множества хранишь хешсетами интов

Anatoly
11.07.2017
17:29:11
вначале за тобой присматривает интеллисенс, потом решарпер, а потом AI отбирает у тебя работу
Потом AI надоедают просьбы: передвиньте кнопочку, поигратесь со шрифтами, нарисуйте семь красных линий и он к херам уничтожает человечество

IM2STRNG4DTWRLD
11.07.2017
17:29:17
А можно линк, где можно с 0 почитать о ef?

Vasily
11.07.2017
17:29:39
Можно вообще граф хранить в памяти

Если пофиг на множества

В смысле не надо их потом получать

Анатолий
11.07.2017
17:30:52
Можно вообще граф хранить в памяти
В том то и дело, что надо. Задачку я выше описал (про инбоксы)

Aikidos
11.07.2017
17:30:53
С простыми, но интересными посылами. Вроде вопроса, "если AI заберет работу и у людей не будет денег для приобретения товаров и услуг, а тем временем, продукции будет становиться все больше (т.к. машина справляется лучше), то кто будет её потреблять?"

Анатолий
11.07.2017
17:33:06
С простыми, но интересными посылами. Вроде вопроса, "если AI заберет работу и у людей не будет денег для приобретения товаров и услуг, а тем временем, продукции будет становиться все больше (т.к. машина справляется лучше), то кто будет её потреблять?"
Деньги имеют значение только для людей. Машинам деньги нужны только на обслуживание и развитие. По факту, чувак, который замутит AI (точнее тот, кого этот Ai будет слушаться) и будет грести бабло

Google
Aikidos
11.07.2017
17:34:04
Так бабла и не будет

Откуда оно, если нет потребителей

Экономика должна будет перестроиться. Иначе как она будет работать, если сейчас она рассчитана на потребление

Vasily
11.07.2017
17:36:14
В том то и дело, что надо. Задачку я выше описал (про инбоксы)
Тогда в хешсетах порядковые номера,элементы в отдельном списке

Юрий
11.07.2017
17:43:25
В итоге выяснилось, что покупка ReSharper приближает человечество к их истреблению, окей. D:

Vasily
11.07.2017
17:45:10
Тогда в хешсетах порядковые номера,элементы в отдельном списке
У элементов, которые во множества пихаешь, коллизии хэшей есть?

Admin
ERROR: S client not available

Дмитрий
11.07.2017
17:45:44
А можно линк, где можно с 0 почитать о ef?
нагугли метанит или профессорвеб

Vasily
11.07.2017
17:45:53
Или уникальные идентификаторы

Vasily
11.07.2017
17:51:57
Без понятия.
Ну тогда придется два словаря заводить

public class SetStore<T> { int index = 1; Dictionary<T, int> mapByType = new Dictionary<T, int>(); Dictionary<int,T > mapByIndex = new Dictionary<int, T>(); List<HashSet<int>> sets = new List<HashSet<int>>(); public void AddSet(IEnumerable<T> set) { var hash = new HashSet<int>(); foreach(var obj in set) { if(!mapByType.ContainsKey(obj)) { index = index + 1; mapByIndex[index] = obj; mapByType[obj] = index; } hash.Add(mapByType[obj]); } sets.Add(hash); } public IEnumerable<T> GetLinked(T obj) { var i = mapByType[obj]; return sets.Where(s => s.Contains(i)).SelectMany(s => s.Select(e => mapByIndex[e]).ToArray(); } }

Накидал на скорую руку

Летучая
11.07.2017
18:01:44
Говнокод-легаси тебе дали, а ты одной кнопкой имена переменных выправляешь, отступы ровняешь, юзинги и неймспейсы меняешь в соответствии с папками

5 минут — и говнокод превращается в произведение искусства

(ну почти)

(в некоторых случаях ничего уже не спасет)

Анатолий
11.07.2017
18:03:18
Это ещё не говоря о Code Cleanup с максимальными настройками

Летучая
11.07.2017
18:04:35
Посоны, обмазываюсь Autofac

Google
Летучая
11.07.2017
18:04:41
Всё правильно делаю? Рейт

Vasily
11.07.2017
18:05:17
LightInject

Anatoly
11.07.2017
18:05:26
Всё правильно делаю? Рейт
Главное чтобы тебе нравилось.

Vasily
11.07.2017
18:06:25
Ну и главное правило - ServiceLocator.Get должен вызываться в коде только в одном месте

Nicholas
11.07.2017
18:08:34
Khasan
11.07.2017
18:10:36
друзья, может кто знает как мне подключиться к СОМ некой проги по типу app = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application") я знаю что у проги есть СОМ, но не знаю что писать в коде



Anatoly
11.07.2017
18:12:23
https://randomascii.wordpress.com/2017/07/09/24-core-cpu-and-i-cant-move-my-mouse/ Nice

Nikita
11.07.2017
18:23:54
у меня от этого окна флешбеки пошли

не надо так

Khasan
11.07.2017
18:25:55
не надо так
а как надо?)

Женя
11.07.2017
19:20:55
ну тогда да, как то так

это раннее связываение с COM объектами, другой метод взаимодействия

Max
11.07.2017
19:29:06
/stat

Страница 1460 из 1888

Эта группа больше не существует Эта группа больше не существует