Архив за 14 марта 2019 - 3

На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects.

В этой статье я постараюсь раскрыть нюансы реализации Value Objects в .Net Core с использованием Entity Framework Core.

Под катом много кода.
Читать полностью »

Компания Apple объявила, что ежегодная конференция разработчиков WWDC 2019 (Worldwide Developers Conference) пройдёт с 3 по 7 июня в конференц-центре имени Мак-Энери в Сан-Хосе.

Компания Colorful в очередной раз продемонстрировала свою тягу к выпуску огромных видеокарт. В том время как Asus и Zotac ограничились достаточно простыми и компактными версиями новенькой GeForce GTX 1660, Colorful решила выпустить огромную модель iGame GeForce GTX 1660 Ultra 6G.

Если записать сегодняшний месяц и день через точку, получится приближенное значение числа Пи — 3.14, поэтому сегодня отмечается неофициальный праздник «День Пи». Компания Google приготовила к этому дню рекорд, попавший в книгу рекордов Гиннесса. Команда, которую возглавляет сотрудница Google Эмма Харука Ивао (Emma Haruka Iwao), рассчитала значение иррациональной константы с точностью до 31 415 926 535 897 знаков. Предыдущий рекорд был на 9 трлн знаков короче.

Чтобы получить столь впечатляющий результат, приложение y-cruncher работало на 25 виртуальных машинах Google Cloud в течение 121 дня.

Пробуем контрактное программирование С++20 уже сейчас

Пробуем контрактное программирование С++20 уже сейчас - 1

В С++20 появилось контрактное программирование. На текущий момент ни один компилятор ещё не реализовал поддержку этой возможности.

Но есть способ уже сейчас попробовать использовать контракты из C++20, так как это описано в стандарте.

Читать полностью »

Компания Nvidia сегодня представила видеокарту GeForce GTX 1660. Производители видеокарт, конечно, сразу добавили на свои сайты соответствующие адаптеры.

У Asus таких пока четыре, но в ближайшее время их явно станет больше, так как пока нет ни одной карты семейства ROG. Фактически модели две, но каждая доступна в двух модификациях.

Компания Xiaomi запустила на официальном сайте Black Shark возможность зарезервировать смартфон Black Shark 2 до его анонса. 

Автоматизация и трансформация: Volkswagen сократит тысячи рабочих мест

Концерн Volkswagen ускоряет процесс трансформации с целью повышения прибыли и более эффективной реализации проектов по выводу на рынок автомобильных платформ нового поколения.

Сообщается, что в период до 2023 года будут сокращены от 5000 до 7000 рабочих мест. Volkswagen, в частности, не планирует нанимать на работу новых сотрудников взамен тех, кто выходят на пенсию.

Читать полностью »

Ассортимент Kolink пополнил корпус Phalanx с матовой алюминиевой лицевой панелью, анодированной в черный цвет и разделенной на две части, меду которыми видны вентиляторы с подсветкой.

Дизайн классов: что такое хорошо? - 1

Автор: Денис Цыплаков, Solution Architect, DataArt

За годы работы я обнаружил, что программисты из раза в раз повторяют одни и те же ошибки. К сожалению, книги, посвященные теоретическим аспектам разработки, избежать их не помогают: в книгах обычно нет конкретных, практических советов. И я даже догадываюсь, почему…

Первая рекомендация, которая приходит в голову, когда речь заходит, например, о логировании или дизайне классов, очень простая: «Не делать откровенной ерунды». Но опыт показывает, что ее определенно недостаточно. Как раз дизайн классов в этом случае хороший пример — вечная головная боль, возникающая из-за того, что каждый смотрит на этот вопрос по-своему. Поэтому я и решил собрать в одной статье базовые советы, следуя которым, вы избежите ряда типичных проблем, а главное, избавите от них коллег. Если некоторые принципы покажутся вам банальными (потому что они действительно банальны!) — хорошо, значит, они уже засели у вас в подкорке, и вашу команду можно поздравить.

Оговорюсь, на самом деле, мы сосредоточимся на классах исключительно для простоты. Почти то же самое можно сказать о функциях или любых других строительных блоках приложения.Читать полностью »