C# 1001 notes
الذهاب إلى القناة على Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
إظهار المزيد6 538
المشتركون
-224 ساعات
-57 أيام
-330 أيام
أرشيف المشاركات
6 537
🖥 Улучшения сетевых технологий в .NET 8
https://devblogs.microsoft.com/dotnet/dotnet-8-networking-improvements/ #aspnetcore
@csharp_1001_notes
6 537
ℹ️Доменные моделиℹ️
Доменная Модель - это система абстракций, которая описывает выбранные аспекты предметной области (домена) и может быть использована для решения проблем относящихся к этой предметной области.
Существует 2 вида доменных моделей.
В Domain-Driven Design вы переносите логику в домен.
Объекты домена содержат богатое поведение и инкапсулируют правила.
Важные части логики и правил находятся в одном месте.
Это повышает согласованность и упрощает добавление новых функций.
Но как разработать богатую модель домена? ❓
Это бесконечный процесс переноса логики в домен и уточнения модели домена.
Отличный способ изучить DDD и то, как разрабатывать модели домена, - это рефакторинг существующих сценариев использования.
Вы выделяете часть логики, которая должна быть перенесена в домен.
Затем вы "проталкиваете" эту логику в объекты домена.
6 537
💥F# 8 был выпущен в рамках dotNET8.💥
Net8 содержит множеств обновлений и новых фич.
Так же много интерсных обновлений выпущены для F#8.
Подробнее об обновлении можно прочитать здесь:
📌Читать далее
6 537
Рефлексия с#
С выходом новых версий "net" у многих пользователей вновь появились вопросы о рефлексии на с#. Даже опытные программисты забыли о её существовании.
Давайте же вспомним основные возможности рефлексии на c#:
▪️Рефлексия в C# позволяет получить информацию о типе объекта, например, его имя, базовый класс, реализованные интерфейсы, методы, свойства и поля.
▪️Позволяет создать экземпляр объекта даже без знания его типа во время компиляции. Она предоставляет возможность создавать объекты динамически и задавать значения их свойств и полей.
▪️Вызов методов и доступ к полям
▪️Динамическое создание типов
▪️Рефлексия позволяет динамически загружать и разрешать сборки, а также получать доступ к типам и объектам, определенным в этих сборках.
❗️Однако, использование рефлексии может снизить производительность программы, поэтому следует применять ее с осторожностью и только там, где это действительно необходимо. ❗️
6 537
🌎Программист, мир огромен и разнообразен!
👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация
На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
✅Занятие будет полезно всем программистам, практикующим написание кода на C и C++.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KBMJj
6 537
🔥 Алгоритмы, которые вы должны знать, прежде чем проходить собеседования по системному проектированию
Эти алгоритмы полезны не только на собеседованиях, но и полезны для понимания любому инженеру-программисту.
Следует помнить, что понимание того, "как эти алгоритмы используются в реальных системах", обычно важнее, чем детали реализации на собеседовании по проектированию систем.
Что означают звездочки на диаграмме?
Пять звезд: Очень важно знать. Постарайстесь понять, как это работает и почему.
Три звезды: Важны в некоторой степени. Возможно, вам не нужно знать детали реализации.
Одна звезда: Продвинутый. Полезно знать Senior кандидатам.
6 537
❓Опытный C#-разработчик? Пора осваивать ASP NET Core!
Пройдите вступительный тест и проверьте, готовы ли вы к обучению на продвинутом онлайн-курсе
👉ПРОЙТИ ТЕСТ ПО C# ASP .NET Core
🔥Пройдёте успешно - сможете воспользоваться скидкой ЧП по промокоду BLACK23
🚀Торопитесь - курс стартует 29 ноября!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8K3xZR
6 537
Интерактивная игровая площадка LINQ ⬇
LINQ Marbles - это новый сайт, работа над которым продолжается и который должен помочь нам понять, как работают различные операторы LINQ при заданном наборе элементов.
Создан Стивеном Гизелем (Steven Giesel).
https://linqmarbles.info/
6 537
Курс «Английский для разработчиков» Яндекс Практикума
😀🤜 Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋ Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
6 537
Используете ли вы ключевое слово required в свойствах(properties)?
Начиная с C# 11 мы можем добавлять ключевое слово
required в свойства, что заставит инициализировать это свойство при создании объекта.
Это дает несколько преимуществ
- Меньше шансов на ошибку
- Избавляет от кода валидации
- Позволяет сделать свойства обязательным.
Компилятор выдаст ошибку, если вы не инициализируете это свойство.6 537
Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!».
Участников ждет много практики по разработке операционных систем и микроконтроллеров. Среди спикеров от руководители и ведущие разработчики команд SberDevices, «Лаборатория Касперского», «Открытая мобильная платформа», YADRO, «Сбер».
В программе:
— Как в операционной системе от SberDevices устроен процесс разработки на C++;
— Инструменты для поддержания качества кода в операционных системах;
— Опыт внедрения инструмента статического анализа кода Clang Tidy на поздней стадии проекта;
— Разработка операционной системы на базе Debian Linux: почему лучше сделать своё, чем покупать у вендора.
Конференция состоится 18 ноября в offline и online формате.
Для участия необходимо зарегистрироваться по ссылке.
Реклама. ПАО Сбербанк ИНН 7707083893. erid: 2SDnjcU9bsN
6 537
𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие.
Это простое изменение может улучшить читаемость вашего кода.
Но что такое чистый код в первую очередь?
Чистый код — это код, который:
- Легко читать
- Просто обслуживать
- Легко понять
Я считаю написание чистого кода навыком.
И это навык, который вы можете изучить и улучшить путем практики.
Общий принцип, лежащий в основе этого, называется принципом «раннего возврата».
Ранний возврат означает, что вы должны вернуться из метода, как только будут выполнены условия.
В исходном примере:
- Вложение условий увеличивает сложность
- Вложенность затрудняет анализ кода.
Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение.
Я достиг этого, используя сопоставление с образцом в одном примере.
Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.
6 537
😎Сишарпист, ASP. NET Core сам себя не выучит!
🔥Узнайте больше о фреймворке на бесплатном вебинаре «Пишем свой API: OData»: регистрация
Цель занятия:
— получить представление и примеры работы с протоколом Odata и его преимущствах по сравнению с REST на ASP.NET Core.
Кому полезно:
— тем, кто занимается интеграцией между системами или для построения интерактивных пользовательских интерфейсов.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Регистрируйтесь сейчас — напомним в день вебинара!
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JvK3n
6 537
Одним из моих любимых способов реализации паттерна
Options является использование подхода `IConfigureOptions`.Вот как его можно использовать:
@csharp_1001_notes6 537
⚡️ Вы когда-нибудь хотели, чтобы #Blazor мог моделировать привязку и валидацию HTTP-формы в режиме рендеринга на стороне сервера?
Попробуйте атрибут [𝚂𝚞𝚙𝚙𝚕𝚢𝙿𝚊𝚛𝚊𝚖𝚎𝚝𝚎𝚛𝙵𝚛𝚘𝚖𝙵𝚘𝚛𝚖].
Готовы попробовать? Посмотрите это пошаговое руководство.
@csharp_1001_notes
6 537
🚀 Что такое сетевая привязка (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 537
🔔.NET 8 - LTS, а значит с нами надолго (пока не выйдет 9)!
🔥На бесплатном вебинаре «Что нам принесет .NET 8» рассмотрим, какие новые возможности будут реализованы в новой версии дотнета, и реализуем их в новом проекте: регистрация
Нас ожидают:
— новинки в minimal api;
— performance-focused types;
— обновления криптографии;
— keyed DI services (один из последних аргументов в пользу стороннего di в вашем проекте).
Спикером выступит Антон Герасименко, тимлид и .NET Developer.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Ju1Kz
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
