Задача «Linq:YieldExceptionYield». В какой момент произойдёт Exception?
Anonymous Quiz
49%
Exception не произойдёт
24%
При объявлении переменной evenNumbers
27%
Нет правильного ответа
Действительно, в ходе исполнения программы исключения не произойдёт.
Строки
var numbers = GetSmallNumbers();
var evenNumbers = numbers.Select(n => n * 2);
строят запросы без непосредственного выполнения.
Отдельный интерес представляет последняя строка метода Main:
Console.WriteLine(evenNumbers.FirstOrDefault());
Данный вызов получит только первый элемент запроса (одиночные вызовы MoveNext() и Current), дальнейшее получение элементов перечисления происходить не будет. Таким образом, код отработает без исключений.
Источник: «Задачник.NET» Андрея Акиньшина
Строки
var numbers = GetSmallNumbers();
var evenNumbers = numbers.Select(n => n * 2);
строят запросы без непосредственного выполнения.
Отдельный интерес представляет последняя строка метода Main:
Console.WriteLine(evenNumbers.FirstOrDefault());
Данный вызов получит только первый элемент запроса (одиночные вызовы MoveNext() и Current), дальнейшее получение элементов перечисления происходить не будет. Таким образом, код отработает без исключений.
Источник: «Задачник.NET» Андрея Акиньшина
Ozon научит Go бесплатно! Важная новость для всех, кто связывает своё будущее с написанием кода: самый быстрорастущий российский e-commerce запускает бесплатную школу Go. Это возможность за два месяца стать middle-специалистом с опытом решения реальных задач и проектом в портфолио — а лучшие выпускники получат предложение о работе в Ozon. Что нужно, чтобы поступить? Опыт в написании кода, сделанное тестовое задание и, конечно, заявка. Подробности тут: http://ozon.dev/goschool
Подборка лучших практик разработки кода на C# с акцентом на производительность: https://proglib.io/w/b8b7a907
Medium
Performance best practices in C#
Non-exhaustive list of code patterns to avoid in C#, either because they are risky or perform poorly.
Задача «Math:DivideByZero». Что выведет программа?
Anonymous Quiz
15%
DivideByZeroException Infinity Infinity
38%
Infinity Infinity DivideByZeroException
9%
Infinity DivideByZeroException Infinity
38%
Нет правильного ответа
Программа выведет следующий результат:
Infinity
Infinity
DivideByZeroException
Первые две строчки выполнятся и выведут Infinity. При делении произойдёт конвертация int к double, а операция double operator/(double x, double y) выполняется согласно IEEE 754 (ECMA-334, 14.7.2), а значит при делении положительного числа на положительный ноль должна вернуть положительную бесконечность. Операция int operator/(int x, int y) бросает DivideByZeroException в случае, если правый операнд равен нулю (ECMA-334, 14.7.2). Поэтому третья операция деления выбросит исключение, о чём будет выведено соответствующее сообщение.
Источник: «Задачник.NET» Андрея Акиньшина
Infinity
Infinity
DivideByZeroException
Первые две строчки выполнятся и выведут Infinity. При делении произойдёт конвертация int к double, а операция double operator/(double x, double y) выполняется согласно IEEE 754 (ECMA-334, 14.7.2), а значит при делении положительного числа на положительный ноль должна вернуть положительную бесконечность. Операция int operator/(int x, int y) бросает DivideByZeroException в случае, если правый операнд равен нулю (ECMA-334, 14.7.2). Поэтому третья операция деления выбросит исключение, о чём будет выведено соответствующее сообщение.
Источник: «Задачник.NET» Андрея Акиньшина
Цикл статей о работе с ML.NET:
– Начало работы
– Распознавание рукописных чисел
– Генерация датасета для распознавания рукописных букв
– Начало работы
– Распознавание рукописных чисел
– Генерация датасета для распознавания рукописных букв
Flash2048
Блог Андрея Амельченя | ML.NET — начало работы
Блог Андрея Амельченя - Мысли и статьи о программировании и не только - ML.NET даёт простой и удобный механизм использования алгоритмов машинного обучения в .NET приложениях не прибегая к сторонним сервисам. В настоящее время доступна версия 1.1.0 и это уже…
RetireNet ― расширение, предназначенное для проверки вашего .NET Core проекта на наличие известных уязвимостей.
https://proglib.io/w/bff6cd49
https://proglib.io/w/bff6cd49
GitHub
GitHub - RetireNet/dotnet-retire: Open source vulnerability scanner for .NET Core projects
Open source vulnerability scanner for .NET Core projects - RetireNet/dotnet-retire
Фундаментальные структуры данных и алгоритмы на C#: https://proglib.io/w/cea4cedd
DEV Community
Fundamental Data Structures and Algorithms in C#
Stack Queue Linked List Hashtable Binary Search Binary Search Tree Graphs Sorting Algorithms The imp...
Forwarded from C# jobs — вакансии по C#, .NET, Unity
Вакансия: С# разработчик (full-stack / back-end)
Уровень: Senior
Компания: Mindbox, автоматизация маркетинга в России. Разрабатываем продукт для крупного и среднего бизнеса.
Вилка: 200 000 - 240 000
👨🎓 Ожидаем: знания BCL / CLR, чистый код, шаблоны классической и распределенной архитектуры, DDD, оптимизация производительности (желательно, SQL)
Предстоит разрабатывать фичи в облачном продукте с активными пользователями и большой нагрузкой
📌 Условия:
- Прозрачные грейды: разработчиков до 260 000 ₽/мес net, архитекторов, SM — до 320 000 ₽. Квартальные премии от прибыли продуктов
- Комфортный офис (м.Савеловская, м.Белорусская)
- На 100 000 ₽/год софинансируем образование (80%), спорт и здоровье (35%). Книги бесплатно
- Хорошее техническое оснащение
- Молодой коллектив. Спорт, квесты, настолки, ЧГК, VR и караоке
Контакты: @kate_tihorenko
➡️ Подробности - https://proglib.io/vacancies/s-razrabotchik-full-stack-back-end-mindbox-2020-05-19
Уровень: Senior
Компания: Mindbox, автоматизация маркетинга в России. Разрабатываем продукт для крупного и среднего бизнеса.
Вилка: 200 000 - 240 000
👨🎓 Ожидаем: знания BCL / CLR, чистый код, шаблоны классической и распределенной архитектуры, DDD, оптимизация производительности (желательно, SQL)
Предстоит разрабатывать фичи в облачном продукте с активными пользователями и большой нагрузкой
📌 Условия:
- Прозрачные грейды: разработчиков до 260 000 ₽/мес net, архитекторов, SM — до 320 000 ₽. Квартальные премии от прибыли продуктов
- Комфортный офис (м.Савеловская, м.Белорусская)
- На 100 000 ₽/год софинансируем образование (80%), спорт и здоровье (35%). Книги бесплатно
- Хорошее техническое оснащение
- Молодой коллектив. Спорт, квесты, настолки, ЧГК, VR и караоке
Контакты: @kate_tihorenko
➡️ Подробности - https://proglib.io/vacancies/s-razrabotchik-full-stack-back-end-mindbox-2020-05-19
👍1
Погружаемся в мир 3D-графики, освежаем знания по математике, основам линейной алгебры, тригонометрии, построению матриц и т.д.
В рамках статьи автор рассматривает, как трансформируются 3D-модели и как учитываются источники света. Чтобы помочь с объяснениями, автор приводит диаграммы и примеры кода, чтобы продемонстрировать, как математика и числа обрабатываются в играх.
https://proglib.io/w/cfaa8be0
В рамках статьи автор рассматривает, как трансформируются 3D-модели и как учитываются источники света. Чтобы помочь с объяснениями, автор приводит диаграммы и примеры кода, чтобы продемонстрировать, как математика и числа обрабатываются в играх.
https://proglib.io/w/cfaa8be0
TechSpot
How 3D Game Rendering Works: Vertex Processing
In this first part of our deeper look at 3D game rendering, we'll be focusing entirely on the vertex stage of the process. This means dragging out our math textbooks, brushing up on a spot of linear algebra, matrices, and trigonometry -- oh yeah!
Что выведет программа?
Anonymous Quiz
5%
time == null
61%
str == null и 1/1/0001 12:00:00 AM
5%
str == null
19%
Нет правильного ответа
10%
Посмотреть результаты
Действительно, программа выведет str == null и 1/1/0001 12:00:00 AM.
Обе переменные не инициализированы, но string — это ссылочный тип (если более точно, то это immutable тип, что означает reference тип с семантикой value типа), а DateTime представляет из себя тип значения. В связи с тем, что значение по умолчанию неинициализированного типа DateTime определяется как 12:00 1 января 1 года, второе условие не выполнится и мы попадем в альтернативное условие и программа выведет 1/1/0001 12:00:00 AM.
Обе переменные не инициализированы, но string — это ссылочный тип (если более точно, то это immutable тип, что означает reference тип с семантикой value типа), а DateTime представляет из себя тип значения. В связи с тем, что значение по умолчанию неинициализированного типа DateTime определяется как 12:00 1 января 1 года, второе условие не выполнится и мы попадем в альтернативное условие и программа выведет 1/1/0001 12:00:00 AM.
Завершение темы, связанной с рендерингом 3D-игр:
– Растеризация и трассировка лучей
– Билинейная, трилинейная, анизотропная фильтрация
– Освещение и тени. Математика освещения
Вдобавок хотелось бы отметить важную тему про обновление языка C#: ведущий дизайнер языка C# Мэдс Торгерсен делится соображениями по поводу некоторых функций, которые они планируют добавить в C# 9.0.
https://proglib.io/w/34d55d81
– Растеризация и трассировка лучей
– Билинейная, трилинейная, анизотропная фильтрация
– Освещение и тени. Математика освещения
Вдобавок хотелось бы отметить важную тему про обновление языка C#: ведущий дизайнер языка C# Мэдс Торгерсен делится соображениями по поводу некоторых функций, которые они планируют добавить в C# 9.0.
https://proglib.io/w/34d55d81
TechSpot
How 3D Game Rendering Works, A Deeper Dive: Rasterization and Ray Tracing
In this second part of our deeper look at 3D game rendering, we'll be focusing what happens to the 3D world after all of the vertex processing has finished. We'll need to dust off our math textbooks again, grapple with the geometry of frustums, and ponder…
Iris_Classon_Migrating_ASP_NET_Microservices_to_ASP_NET_Core_By.pdf
4.9 MB
Migrating ASP.NET Microservices to ASP.NET Core: By Example (2019)
Автор(ы): Iris Classon
Перенесите существующий микросервисный кластер из ASP.NET в ASP.NET Core. Хотя улучшенная производительность и кроссплатформенная поддержка очевидны, эта книга поможет вам преодолеть многие проблемы, чтобы определить, как, когда и в какой степени требуется миграция.
Внедрение Microsoft .NET Core вызвало много радости, но также и путаницу для разработчиков, привыкших к приложениям и сервисам ASP. В этой книге приводятся конкретные шаги по частичной или полной миграции системы микросервисов SaaS с учетом ограниченных ресурсов, времени и финансов.
В дополнение к практическим советам и реальным примерам рассказано о многих неудачах, которые предоставят вам полный 360-градусный обзор миграции.
Автор делится предписывающими рекомендациями по всем частям системы — от кода, зависимостей, редакторов, интеграции и конвейера развертывания до модели распространения.
Автор(ы): Iris Classon
Перенесите существующий микросервисный кластер из ASP.NET в ASP.NET Core. Хотя улучшенная производительность и кроссплатформенная поддержка очевидны, эта книга поможет вам преодолеть многие проблемы, чтобы определить, как, когда и в какой степени требуется миграция.
Внедрение Microsoft .NET Core вызвало много радости, но также и путаницу для разработчиков, привыкших к приложениям и сервисам ASP. В этой книге приводятся конкретные шаги по частичной или полной миграции системы микросервисов SaaS с учетом ограниченных ресурсов, времени и финансов.
В дополнение к практическим советам и реальным примерам рассказано о многих неудачах, которые предоставят вам полный 360-градусный обзор миграции.
Автор делится предписывающими рекомендациями по всем частям системы — от кода, зависимостей, редакторов, интеграции и конвейера развертывания до модели распространения.
Автор статьи описывает практику использования HttpClientFactory и Polly для создания надежных сервисов на .NET Core: https://proglib.io/w/4051a64a
DEV Community
.NET Core: Use HttpClientFactory and Polly to build rock solid services
In this post I will explain what is HttpClientFactory and Polly retry polices and why you should use them in your next project