C# 1001 notes
Открыть в Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
Больше6 683
Подписчики
-424 часа
-47 дней
+3130 дней
Архив постов
6 682
Интерактивная игровая площадка LINQ ⬇
LINQ Marbles - это новый сайт, работа над которым продолжается и который должен помочь нам понять, как работают различные операторы LINQ при заданном наборе элементов.
Создан Стивеном Гизелем (Steven Giesel).
https://linqmarbles.info/
6 682
Курс «Английский для разработчиков» Яндекс Практикума
😀🤜 Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋ Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
6 682
Используете ли вы ключевое слово required в свойствах(properties)?
Начиная с C# 11 мы можем добавлять ключевое слово
required в свойства, что заставит инициализировать это свойство при создании объекта.
Это дает несколько преимуществ
- Меньше шансов на ошибку
- Избавляет от кода валидации
- Позволяет сделать свойства обязательным.
Компилятор выдаст ошибку, если вы не инициализируете это свойство.6 682
Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!».
Участников ждет много практики по разработке операционных систем и микроконтроллеров. Среди спикеров от руководители и ведущие разработчики команд SberDevices, «Лаборатория Касперского», «Открытая мобильная платформа», YADRO, «Сбер».
В программе:
— Как в операционной системе от SberDevices устроен процесс разработки на C++;
— Инструменты для поддержания качества кода в операционных системах;
— Опыт внедрения инструмента статического анализа кода Clang Tidy на поздней стадии проекта;
— Разработка операционной системы на базе Debian Linux: почему лучше сделать своё, чем покупать у вендора.
Конференция состоится 18 ноября в offline и online формате.
Для участия необходимо зарегистрироваться по ссылке.
Реклама. ПАО Сбербанк ИНН 7707083893. erid: 2SDnjcU9bsN
6 682
𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие.
Это простое изменение может улучшить читаемость вашего кода.
Но что такое чистый код в первую очередь?
Чистый код — это код, который:
- Легко читать
- Просто обслуживать
- Легко понять
Я считаю написание чистого кода навыком.
И это навык, который вы можете изучить и улучшить путем практики.
Общий принцип, лежащий в основе этого, называется принципом «раннего возврата».
Ранний возврат означает, что вы должны вернуться из метода, как только будут выполнены условия.
В исходном примере:
- Вложение условий увеличивает сложность
- Вложенность затрудняет анализ кода.
Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение.
Я достиг этого, используя сопоставление с образцом в одном примере.
Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.
6 682
😎Сишарпист, ASP. NET Core сам себя не выучит!
🔥Узнайте больше о фреймворке на бесплатном вебинаре «Пишем свой API: OData»: регистрация
Цель занятия:
— получить представление и примеры работы с протоколом Odata и его преимущствах по сравнению с REST на ASP.NET Core.
Кому полезно:
— тем, кто занимается интеграцией между системами или для построения интерактивных пользовательских интерфейсов.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Регистрируйтесь сейчас — напомним в день вебинара!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JvK3n
6 682
Одним из моих любимых способов реализации паттерна
Options является использование подхода `IConfigureOptions`.Вот как его можно использовать:
@csharp_1001_notes6 682
⚡️ Вы когда-нибудь хотели, чтобы #Blazor мог моделировать привязку и валидацию HTTP-формы в режиме рендеринга на стороне сервера?
Попробуйте атрибут [𝚂𝚞𝚙𝚙𝚕𝚢𝙿𝚊𝚛𝚊𝚖𝚎𝚝𝚎𝚛𝙵𝚛𝚘𝚖𝙵𝚘𝚛𝚖].
Готовы попробовать? Посмотрите это пошаговое руководство.
@csharp_1001_notes
6 682
🚀 Что такое сетевая привязка (Session affinity)?
Сетевая привязка широко используется в сценариях балансировки нагрузки, когда несколько экземпляров API обслуживают запросы.
Сетевая привязка - это способ привязать последовательность запросов к определенному месту назначения API.
Как правило, к тому, который обработал первый запрос.
Например, в качестве балансировщика нагрузки или API-шлюза можно использовать обратный прокси YARP.
Чтобы включить сродство сессий, достаточно определить соответствующий параметр
SessionAffinity в конфигурации JSON.
Вот как начать работу с YARP: https://www.milanjovanovic.tech/blog/implementing-an-api-gateway-for-microservices-with-yarp
@csharp_1001_notes6 682
🔔.NET 8 - LTS, а значит с нами надолго (пока не выйдет 9)!
🔥На бесплатном вебинаре «Что нам принесет .NET 8» рассмотрим, какие новые возможности будут реализованы в новой версии дотнета, и реализуем их в новом проекте: регистрация
Нас ожидают:
— новинки в minimal api;
— performance-focused types;
— обновления криптографии;
— keyed DI services (один из последних аргументов в пользу стороннего di в вашем проекте).
Спикером выступит Антон Герасименко, тимлид и .NET Developer.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Ju1Kz
6 682
🖥 Эта возможность C# поможет вам нагромождения в коде.
С версии C# 10 можно отказаться от ненужного блочного оператора вокруг объявления пространства имен.
Просто и эффективно.
Это стандарт для всех моих проектов.
И даже есть возможность очистки кода в Visual Studio.
А вы используете эту фичу?
Репост = Отправьте другу, чтобы избавить его от нагромождений в коде♻️
6 682
👍 Создайте простое приложение всего за пару часов.
👉 Начать можно с бесплатного открытого урока «Создание современных приложений для браузера на C# с Blazor» от OTUS.
На занятии разберем:
- что такое Blazor и какую роль он играет в веб-разработке;
- обзор плюсов и минусов использования Blazor;
- какие приложения для браузеров можно создать.
Прямо на уроке вы вместе с преподавателем-практиком создадите простое приложение, которое сможете добавить в свое портфолио.
⏰ Занятие пройдёт 24 октября в 20:00 мск
👉 Зарегистрируйтесь для участия и получения записи https://otus.pw/zhwF/
🎁 Всем зарегистрировавшимся дарим 2 шпаргалки по базовым командам в C#
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KYakd
6 682
⚡️ Тестирование на основе данных - это метод тестирования, при котором тестовые данные предоставляются через некоторый внешний источник. Поэтому его также называют параметризованным тестированием.
Популярной библиотекой тестирования в .NET, поддерживающей параметризованное тестирование, является
xUnit. В ней для определения тестовых методов используются атрибуты. Атрибут Fact определяет простой тест, а атрибут Theory - параметризованный тест.
В этой статье показано четыре способа написания параметризованных тестов с помощью xUnit.
https://www.milanjovanovic.tech/blog/creating-data-driven-tests-with-xunit
@csharp_1001_notes6 682
Repost from Golang вопросы собеседований
Вышел GigaChat нового поколения. Разработчики @gigachat_bot качественно обновили его, изменив свой подход к обучению. Благодаря этому сервис стал лучше отвечать на запросы пользователей — примерно в два раза. При этом GigaChat также запустили в VK, аудитория сервиса уже достигла более 1 млн пользователей.
Попробовать.
@golang_interview
6 682
🔥 Бенчмарки .NET 8 FrozenDictionary ⬇.
В приведенном ниже бенчмарке скорость чтения на 68% выше, чем у обычного словаря 🔥 ...
Значительное улучшение времени работы с .NET 8 Preview 1 по сравнению с Preview 7. FrozenDictionary (и FrozenSet) теперь подходят для гораздо большего числа случаев использования.
Разбор с сайта MS devblogs в начале этого года ->
https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-1/comment-page-2/#comment-17478
@csharp_1001_notes
6 682
❓ C#-разработчик? Освойте новые возможности этого языка!
Мир IT не стоит на месте. Чтобы быть в контексте и соответствовать требованиям качественных работодателей, нужно постоянно совершенствовать свои знания и навыки.
У вас есть прекрасная возможность сделать это на бесплатном открытом уроке от OTUS.
👉 Тема: Что полезного в новых версиях C#?
На занятии систематизируем знания о новых возможностях языка с C#8 по C#11, а также обсудим и попробуем использовать на примерах новейшие возможности C# 12 и .NET 8.
📅 Занятие пройдёт 18 октября в 20:00 мск в рамках курса «C# Developer. Professional».
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
👉 Регистрируйтесь для участия и получения записи https://otus.pw/KncY/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KAmSU
