ch
Feedback
C# 1001 notes

C# 1001 notes

前往频道在 Telegram

Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp

显示更多
6 612
订阅者
+924 小时
+667
+5630
帖子存档
💡 Используете ли вы чистые SQL-запросы в Entity Framework? EF Core и SQL В EF8 чистые SQL-запросы могут возвращать любой тип
💡 Используете ли вы чистые SQL-запросы в Entity Framework? EF Core и SQL В EF8 чистые SQL-запросы могут возвращать любой тип без необходимости включать его в модель EF. Можно запрашивать несопоставленные типы с помощью методов SqlQuery и SqlQueryRaw. Метод SqlQuery использует интерполяцию строк для параметризации запроса , при этом вам не нужно создавать новые сущности в вашей модели данных. Вот 4-минутное руководство по работе с запросами. @csharp_1001_notes

⚡️ Антипаттерны архитектуры Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избегать и преодолева
⚡️ Антипаттерны архитектуры Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избегать и преодолевать "подводные камни" проектирования! Антипаттерн (англ. anti-pattern) — это распространённый подход к решению класса часто встречающихся проблем, являющийся неэффективным, рискованным или непродуктивным. В отличие от шаблона проектирования, рассмотрение антипаттерна включает в себя как неправильное решение проблемы с его признаками и последствиями, так и выход из ситуации. В этом проекте собраны ценные сведения, практические советы и примеры из реальных проектов для обучения и помощи в создании лучших программных архитектур и улучшать существующие. ▪ПроектGithub @csharp_1001_notes

🖥 Appcopier Программа на C#, которая позволяет создавать резервные копии и восстанавливать наиболее важные параметры и настр
🖥 Appcopier Программа на C#, которая позволяет создавать резервные копии и восстанавливать наиболее важные параметры и настройки Windows в автономном режиме и локально. ▪ Github @csharp_1001_notes

🖥 Интеграция генерации изображений OpenAI в приложение .NET https://weblog.west-wind.com/posts/2023/Dec/21/Integrating-OpenA
🖥 Интеграция генерации изображений OpenAI в приложение .NET https://weblog.west-wind.com/posts/2023/Dec/21/Integrating-OpenAI-image-generation-into-your-NET-Application @csharp_1001_notes

🖥 Как легко заблокировать нежелательных пользователей? И как просто реализовать API с ограничением запросов? Вы можете решит
🖥 Как легко заблокировать нежелательных пользователей? И как просто реализовать API с ограничением запросов? Вы можете решить обе проблемы с помощью функции RateLimitPartition. Если вы используете .NET 7, вам не нужны сторонние библиотеки. Все необходимые инструменты уже готовы для работы . - Выберите алгоритм ограничения скорости - Создайте политику ограничения скорости с разделением на части - Примените ее к обратному прокси-серверу или определенным эндпоинтам. Ограничение скорости по IP отлично подходит для неаутентифицированных пользователей. Используйте правильный IP-адрес, если ваш API находится на обратном прокси. Иначе вы можете ограничить скорость обратного прокси. @csharp_1001_notes

🖥 C# Language Design Обсуждение дизайна языка: Если вы языковой гик или просто интересуетесь тем, как развивается C#, обрати
🖥 C# Language Design Обсуждение дизайна языка: Если вы языковой гик или просто интересуетесь тем, как развивается C#, обратите внимание на этот репозиторий! https://github.com/dotnet/csharplang/ @csharp_1001_notes

🚀 BenchmarkDotNet BenchmarkDotNet поможет вам превратить методы в бенчмарки, отслеживать их производительность и делиться эк
🚀 BenchmarkDotNet BenchmarkDotNet поможет вам превратить методы в бенчмарки, отслеживать их производительность и делиться экспериментами по измерениям. Это не сложнее, чем писать модульные тесты! Под капотом программы происходит много волшебства, которое гарантирует надежные и точные результаты благодаря статистическому движку perfolizer. BenchmarkDotNet защищает вас от многих ошибок бенчмаркинга и предупреждает, если что-то не так с кодом бенчмарка или полученными измерениями. Результаты представлены в удобной для пользователя форме, которая подчеркивает все важные выводы о вашем эксперименте. BenchmarkDotNet уже используется в 18700+ проектах GitHub, включая .NET Runtime, .NET Compiler, .NET Performance и многие другие. ▪GithubПочитать @csharp_1001_notes

erid: LjN8KZyGa 🦾Хардкорный тест по языку С🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на
erid: LjN8KZyGa 🦾Хардкорный тест по языку С🦾 📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе - «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене! ⏰ Время прохождения теста ограничено 30 минут 👉ПРОЙТИ ТЕСТ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🖥 Улучшения сетевых технологий в .NET 8 https://devblogs.microsoft.com/dotnet/dotnet-8-networking-improvements/ #aspnetcore
🖥 Улучшения сетевых технологий в .NET 8 https://devblogs.microsoft.com/dotnet/dotnet-8-networking-improvements/ #aspnetcore @csharp_1001_notes

ℹ️Доменные моделиℹ️ Доменная Модель - это система абстракций, которая описывает выбранные аспекты предметной области (домена)
ℹ️Доменные моделиℹ️ Доменная Модель - это система абстракций, которая описывает выбранные аспекты предметной области (домена) и может быть использована для решения проблем относящихся к этой предметной области. Существует 2 вида доменных моделей. В Domain-Driven Design вы переносите логику в домен. Объекты домена содержат богатое поведение и инкапсулируют правила. Важные части логики и правил находятся в одном месте. Это повышает согласованность и упрощает добавление новых функций. Но как разработать богатую модель домена? ❓ Это бесконечный процесс переноса логики в домен и уточнения модели домена. Отличный способ изучить DDD и то, как разрабатывать модели домена, - это рефакторинг существующих сценариев использования. Вы выделяете часть логики, которая должна быть перенесена в домен. Затем вы "проталкиваете" эту логику в объекты домена.

💥F# 8 был выпущен в рамках dotNET8.💥 Net8 содержит множеств обновлений и новых фич. Так же много интерсных обновлений выпущ
💥F# 8 был выпущен в рамках dotNET8.💥 Net8 содержит множеств обновлений и новых фич. Так же много интерсных обновлений выпущены для F#8. Подробнее об обновлении можно прочитать здесь: 📌Читать далее

Рефлексия с# С выходом новых версий "net" у многих пользователей вновь появились вопросы о рефлексии на с#. Даже опытные прог
Рефлексия с# С выходом новых версий "net" у многих пользователей вновь появились вопросы о рефлексии на с#. Даже опытные программисты забыли о её существовании. Давайте же вспомним основные возможности рефлексии на c#: ▪️Рефлексия в C# позволяет получить информацию о типе объекта, например, его имя, базовый класс, реализованные интерфейсы, методы, свойства и поля. ▪️Позволяет создать экземпляр объекта даже без знания его типа во время компиляции. Она предоставляет возможность создавать объекты динамически и задавать значения их свойств и полей. ▪️Вызов методов и доступ к полям ▪️Динамическое создание типов ▪️Рефлексия позволяет динамически загружать и разрешать сборки, а также получать доступ к типам и объектам, определенным в этих сборках. ❗️Однако, использование рефлексии может снизить производительность программы, поэтому следует применять ее с осторожностью и только там, где это действительно необходимо. ❗️

🌎Программист, мир огромен и разнообразен! 👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист
🌎Программист, мир огромен и разнообразен! 👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация На вебинаре мы: — подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок — развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом. ✅Занятие будет полезно всем программистам, практикующим написание кода на C и C++. 👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KBMJj

🔥 Алгоритмы, которые вы должны знать, прежде чем проходить собеседования по системному проектированию Эти алгоритмы полезны
🔥 Алгоритмы, которые вы должны знать, прежде чем проходить собеседования по системному проектированию Эти алгоритмы полезны не только на собеседованиях, но и полезны для понимания любому инженеру-программисту. Следует помнить, что понимание того, "как эти алгоритмы используются в реальных системах", обычно важнее, чем детали реализации на собеседовании по проектированию систем. Что означают звездочки на диаграмме? Пять звезд: Очень важно знать. Постарайстесь понять, как это работает и почему. Три звезды: Важны в некоторой степени. Возможно, вам не нужно знать детали реализации. Одна звезда: Продвинутый. Полезно знать Senior кандидатам.

❓Опытный C#-разработчик? Пора осваивать ASP NET Core! Пройдите вступительный тест и проверьте, готовы ли вы к обучению на про
Опытный C#-разработчик? Пора осваивать ASP NET Core! Пройдите вступительный тест и проверьте, готовы ли вы к обучению на продвинутом онлайн-курсе 👉ПРОЙТИ ТЕСТ ПО C# ASP .NET Core 🔥Пройдёте успешно - сможете воспользоваться скидкой ЧП по промокоду BLACK23 🚀Торопитесь - курс стартует 29 ноября! Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8K3xZR

Интерактивная игровая площадка LINQ ⬇ LINQ Marbles - это новый сайт, работа над которым продолжается и который должен помочь
Интерактивная игровая площадка LINQ LINQ Marbles - это новый сайт, работа над которым продолжается и который должен помочь нам понять, как работают различные операторы LINQ при заданном наборе элементов. Создан Стивеном Гизелем (Steven Giesel). https://linqmarbles.info/

Курс «Английский для разработчиков» Яндекс Практикума 😀🤜 Для тех, кто хочет изменить свою профессиональную жизнь и работать
Курс «Английский для разработчиков» Яндекс Практикума 😀🤜 Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде. Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков: ✋ Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи. 👨‍💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи. 📣 Митапы. Сможете понимать на слух доклады и выступать сами. 😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать. 👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее. 💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение. Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.

Используете ли вы ключевое слово required в свойствах(properties)? Начиная с C# 11 мы можем добавлять ключевое слово required
Используете ли вы ключевое слово required в свойствах(properties)? Начиная с C# 11 мы можем добавлять ключевое слово required в свойства, что заставит инициализировать это свойство при создании объекта. Это дает несколько преимуществ - Меньше шансов на ошибку - Избавляет от кода валидации - Позволяет сделать свойства обязательным. Компилятор выдаст ошибку, если вы не инициализируете это свойство.

Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет м
Уже в эту субботу пройдет первая конференция от SberDevices по системной разработке — «Салют, OS DevConf!». Участников ждет много практики по разработке операционных систем и микроконтроллеров. Среди спикеров от руководители и ведущие разработчики команд SberDevices, «Лаборатория Касперского», «Открытая мобильная платформа», YADRO, «Сбер». В программе: — Как в операционной системе от SberDevices устроен процесс разработки на C++; — Инструменты для поддержания качества кода в операционных системах; — Опыт внедрения инструмента статического анализа кода Clang Tidy на поздней стадии проекта; — Разработка операционной системы на базе Debian Linux: почему лучше сделать своё, чем покупать у вендора. Конференция состоится 18 ноября в offline и online формате. Для участия необходимо зарегистрироваться по ссылке. Реклама. ПАО Сбербанк ИНН 7707083893. erid: 2SDnjcU9bsN

𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие. Это простое изменение может улучшить читае
𝗖𝗹𝗲𝗮𝗻 𝗰𝗼𝗱𝗲 𝘁𝗶𝗽 : как объединить вложенные операторы IF в одно условие. Это простое изменение может улучшить читаемость вашего кода. Но что такое чистый код в первую очередь? Чистый код — это код, который: - Легко читать - Просто обслуживать - Легко понять Я считаю написание чистого кода навыком. И это навык, который вы можете изучить и улучшить путем практики. Общий принцип, лежащий в основе этого, называется принципом «раннего возврата». Ранний возврат означает, что вы должны вернуться из метода, как только будут выполнены условия. В исходном примере: - Вложение условий увеличивает сложность - Вложенность затрудняет анализ кода. Решение состоит в том, чтобы объединить вложенные операторы IF в одно логическое выражение. Я достиг этого, используя сопоставление с образцом в одном примере. Или вы можете предоставить метод, который оборачивает условие и возвращает логическое значение.