Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение
Когда-то давно читал где-то что обьем кода для Flash превышает код Windows 98. К сожалению не помню где лежит эта статья, уже лет 10 назад описывалось как трудно саппортить Flash
Видеоигры не были для Microsoft естественным процессом развития. Показатели компании целиком зависели от продаж Windows и Office. 2001 год она встретила ...

Не точное утверждение, MS выпустила первый DirectX в 95 году, уже тогда видеоигры были в прицеле внимания. Только в то время это была не прямой доход как для XBOX а косвенный — пользователи выбирали windows в том числе как платформу для игр.
Вопрос снимается: не поленился и поискал в инете. Чтоб понять надо было пересмотреть минут 20 ютуба — везде как и тут считают что все уже в контексте и понимают о чем игра, рассказывая о бо всем кроме что это за игра и в чем ее смысл.
Оказывается это вариация мафии — команда бегает по карте выполняя маленькие не сложные задачи. Прикол в том что кто-то из команды мафия и играет против всех, в частности убивая кого-то пока остальные не видят. Команда может периодически совещаться и голосовать кого выкинуть, пытаясь угадать мафию.
Игра в действительности выглядит интересной, особенно если играть своей компанией подключив микрофон для живого общения.
Ваши 4 фактора не отвечают на ваш вопрос из заголовка. Каждый месяц выходят с десяток новых игр с такими же свойствами. Буду благодарен если кто-то все таки сможет обьяснить почему вокруг этой игры такой хайп, что в ней особенного?
Какая матрица? Мой ответ под сообщением с ссылкой на Mr. Nobody
Сам вспомнил этот фильм когда читал этот пост. Такие фильмы не очень популярны к сожалению и здесь наверное мало кто поймет о чем ваш коммент )
Обсуждая фильмы и цветовую палитру, нельзя не вспомнить режисера дальтоника Николаса Виндинг Рефна:
Nicolas Winding Refn — The Colourblind Director (Drive, Bronson, Valhalla Rising, Only God Forgives)
Трижды ха. Почти каждый бросает играть в факторио с мыслью «да ну нафиг, это же почти работа...».

У меня мысли про работу были когда играл в Shenzhen.io. А вот при игре в Factorio я бы так не сказал, там совсем другое мышление работает. Только иногда когда сталкивался с логическими цепями там, то да — приходилось поднапрячь мозг, хотя это было только в кайф. Кстати, Factorio занимает в steam 15 место в списке самых оцененных игр (рейтинг одобрения: 99%), так что очень рекомендую попробовать хотя бы в бесплатную демку.
Ну кому как. Мне так наоборот хочется разделить все числа посильнее, чтобы метры с килограммами сложить было нельзя. Или чтобы id пользователя и id товара были разные типы, несмотря на то что оба номинально int (или string, неважно)

Поддержую. Сам иногда добавляю в свой проэкт DDD Value Object в виде структуры с неявным кастом, даже когда внутри будет только одно поле. Вот пример для Nullable от MS для понимания.
Кстати уже давно висит вот такой feature request в C#: Exploration: Shapes and Extensions. С таким нововедением ваш Sum тоже можно будет писать на C#, правда с лишними телодвижениями. Раньше проскакивала информация что это планируют добавить в C# 9.0, но к сожалению на данный момент это не в списке candidates.
В смысле? Типа я один в команде сделал некое расширение в языке для проэкта и теперь меня боятся уволить так как никто другой не может разобраться в этом? Это не так как я это видел :)
Создание такого диалекта это довольно нетривиальная задача и далеко не каждый «сенйор» сделает это грамотно. Я за подход как и с популярными библиотеками — это на строне комьюнити. А команда проэкта лишь решает что следуть им добавить себе: так же как добавляем логгер или сериализатор хотелось чтоб можно было расширить свой код неким паттерн матчингом, рекордами. Вам понравилась фича «Nullable Reference Types»? Как насчет сделать свою подобную имплементацию компайл тайм валидации, но основанную не на null а на чем то большем? (например анализировать call graph на пример того как инициировались входящие в ваш метод аргументы, или что метод был вызван внутри некого «using(new Context())» )
Хорошим примером можно считать specflow: довольно интересный инструмент который легко добавить в проэкт и не сложно разобраться любому опытному программисту. И в тоже время не требует от вас знать как оно работает изнутри и саппортить это. Только минус тут то что Gherkin это отдельный язык который генерирует C# код перед компиляцией.
Еще пример: linq внутри C#. Представьте что есть комьюнити которое развивает свой язык наподобие linq для обработки данных и вам он очень подходит для ваших задач. Идея в том чтоб само комьюнити сделало «plugin» для C# и дало вам возможность использовать его сразу в «удобоваримом» виде и не ждать некого C# версии 20.0 когда сама MS добавит его.
Это просто прекрасно. Имхо это один из важных моментов в статье:
Важнейший аспект генераторов — это не то, что они собой представляют, а то, что позволяют реализовать.

Ключевое что нам тут дают удочку вместо того чтоб «накормить». Для более полного понимания инструмента рекомендую прочитать Source Generators Cookbook (ссылка уже есть в статье, но решил продублировать для тех кто пропустил).

ЗЫ: моя мечта чтоб в будущем нам дали более мощные инструменты. В текущей версии мы теперь можем расширять код только путем самого C# языка (например добавить аттрибут). В будущем хотелось бы иметь возможность писать на своем диалекте C#. К примеру MS планирует добавить в C# 9.0 Records. Вместо этого хотелось бы оставить vanilla C# как можно проще и самому расширять язык добавляя свои data, init и другие keywords в синтаксис языка.
Как насчет Swagger и клиентской кодогенерации? Какие там костыли придется городить?
Во-первых, таблица — это вообще не множество. По математическому определению, во множестве все элементы уникальны, не повторяются, а в таблицах в общем случае это вообще-то не так. Вторая беда, что термин «пересечение» только путает.

На сколько я помню, то теория рел. БД говорить что таблица — это множество кортежей. Разные кортежи могут хранить одинаковые значения и тогда это эквивалентные кортежи, но все же разные. Поэтому нет никакого противоречия, так как все элементы таблицы уникальны по определению.
Как только я начинаю «различать» элементы, то они перестают быть уникальными. Мы же продолжаем говорить о математике а не о своем понимании что такое уникальные элементы?
Кто вам сказал такую глупость? Множество — это просто совокупность элементов. КАКИХ — зависит от того, что вам надо. В первом приближении всё можно считать множествами.

Тогда что получается: даны множества A={a, a, b} и B={a, b}. Думаю не будете спорить что a принадлежит A. Также А принадлежит B, а B принадлежит A (потому что каждый елемент левого множества принадлежит правому). Отсюда A=B. Имхо бессмысленная возможность иметь множества с не уникальными элементами.
Стоит заметить что ваше решение плохо работает когда надо прикрутить транзакции. А имя вашего класса MoveProductParam как бы подразумевает что транзакция бы не помешала. Можно бы усложнить велосипед и прикрутить транзакцию к веб контексту, но в голове уже возникает троллейбус из хлеба. Но что делать когда нужно несколько транзакций на один реквест?
Правильно заметили выше — намешаны слои. Если уж так хочеться — делайте авто-валидацию или модел-байдинг по ид из БД уже в бизнес слое не завязываясь на веб АПИ. Тут тоже можно прикрутить свой велосипед через рефлекшн и атрибуты.
Введение общеизвестного способа узнать, что конкретный тип требует разрушения его экземпляров в конце использования

Я думаю в этом кроется ваше желание кидать эксепшн при повторном вызове Dispose. У меня другое понимание: IDisposable — способ узнать, что конкретный тип требует освобождения захваченных ресурсов. Разрушение — это только одно из следствий вызова метода (на самое главное). Много где по тексту я бы заменил разрушение на освобождение.
Имхо неудачный пример с лотереей. Главное требование к смарт контрактам — что следующее состояние для нового блока вычисляется однозначно. Когда одна нода майнит следующий блок, то все остальные ноды перепроверяют транзакции внутри нового блока — повторяют вычисления смарт контрактов. При этом состояние транзакций обязано совпасть. Не понимаю как в данной модели можно впихнуть функцию «рандом» в вычисления.
Кстати только сейчас сообразил что такие программисты как я сбивают первую диаграмму тоже: заходя на stackoverflow в свои 10 утра — сайт определит что мое локальное время 8. Может это одна из причин почему C# (как язык любимый в enterprise который в свою очередь любит прокси) статистика сдвинута влево.
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность