en
Feedback
C# 1001 notes

C# 1001 notes

Open in Telegram

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

Show more
6 615
Subscribers
+924 hours
+667 days
+5630 days
Posts Archive
openai-dotnet — библиотека, которая предоставляет .NET SDK для работы с OpenAI API. Она позволяет разработчикам легко интегри
openai-dotnet — библиотека, которая предоставляет .NET SDK для работы с OpenAI API. Она позволяет разработчикам легко интегрировать модели OpenAI в приложения, написанные на языке C# и других языках платформы .NET 🌟 Библиотека поддерживает взаимодействие с различными возможностями OpenAI, такими как GPT и другие инструменты, предлагаемые через их API 🔐 Лицензия: MIT ▪️Github @csharp_1001_notes

🖥 Включение функций без повторного развёртывания приложения ❗️ Используйте Feature Flags! 💡 Флаги функций в .NET позволяют
🖥 Включение функций без повторного развёртывания приложения ❗️ Используйте Feature Flags! 💡 Флаги функций в .NET позволяют динамически включать или отключать определённые функциональные возможности приложения во время выполнения, что упрощает управление поведением системы без необходимости развёртывания новой версии. 🔍 Основные концепции: 🌟 Флаги функций: Переключатели, управляющие включением или отключением определённых функций 🌟 Управление флагами: В .NET 8 появился встроенный API для управления флагами 🌟 Постепенный запуск: Позволяет запускать новые функции для ограниченного числа пользователей, а затем включать для всех 🌟 Источники конфигурации: Флаги можно настраивать через appsettings.json, Azure App Configuration или внешние сервисы 🌟 Фильтры функций: Условия для активации флагов (например, на основе ролей пользователей или окружения) 💡 Пример: Вы можете включить новую функцию только для 10% пользователей и анализировать, как они реагируют на изменения, прежде чем развернуть её глобально @csharp_1001_notes

Прошел тест ASP NET - навыки прокачал, зарплату поднял! 😎 8 бонусов для справившихся - уроки по «горячим» темам, список лите
Прошел тест ASP NET - навыки прокачал, зарплату поднял! 😎 8 бонусов для справившихся  - уроки по «горячим» темам, список литературы, карта развития навыков специалиста.  Ну и приличная скидка на курс по C# ASP.NET Core разработчик ждет тебя, смельчак! ✅ Испытание для избранных начинается тут: https://otus.pw/nQ9N/?erid=LjN8KTrHR Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🖥 UUID (Guid в C#) широко используются в качестве уникальных идентификаторов в базах данных. UUID являются случайными, что д
🖥 UUID (Guid в C#) широко используются в качестве уникальных идентификаторов в базах данных. UUID являются случайными, что делает их популярными в распределенных системах ❗️ Однако у UUID есть некоторые недостатки: 🌟 UUID замедляют вставки в базу данных. Каждая вставка должна обновлять кластеризованный индекс, дерево B+. Поскольку UUID являются случайными, это дорогостоящая операция, так как она требует повторной балансировки дерева. Фрагментация индекса также высока (это плохо) 🌟 Более высокие затраты на хранение. Длина UUID составляет 128 бит, а если хранить его в виде строки в удобном для чтения формате, то он становится еще больше 💡 Эти недостатки можно исправить с ULID. Он также 128-битный, поэтому совместим с UUID. Однако, в отличие от UUID, ULID можно сортировать. Первые 40 бит ULID представляют собой временную метку, что делает ULID монотонно увеличивающимися. 🌟 Существует пакет .NET, реализующий спецификацию ULID, поэтому вы можете начать использовать его немедленно! @csharp_ci

Какие брокеры использовать, чтобы обеспечить асинхронную связь между микросервисами? Узнайте на открытом практическом уроке «
Какие брокеры использовать, чтобы обеспечить асинхронную связь между микросервисами? Узнайте на открытом практическом уроке «Брокеры сообщений: RabbitMQ и Kafka» от OTUS, где мы узнаем: ✅ что такое брокеры сообщений и как они помогают в архитектуре микросервисов ✅ основные различия между RabbitMQ и Kafka, включая их архитектурные подходы ✅ как развернуть и настроить RabbitMQ и Kafka для ваших приложений ✅ практическое использование обоих брокеров на реальных примерах в live demo Встречаемся 24 октября в 20:00 мск в преддверии старта курса «Microservice Architecture». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS! ➡️ Ссылка для регистрации: https://otus.pw/Nxx8/?erid=LjN8KGqGm #реклама О рекламодателе

🖥 А вы знали, что INumber — это встроенный способ ограничить дженерики только числовыми типами? 🌟 Этот способ появился дово
🖥 А вы знали, что INumber<T> — это встроенный способ ограничить дженерики только числовыми типами? 🌟 Этот способ появился довольно давно, начиная с dotnet 7! @csharp_1001_notes

🙏NET Aspire: Новая надежда или пустая трата времени? .NET Aspire – свежий релиз, обещающий перевернуть мир .NET. Но что на с
🙏NET Aspire: Новая надежда или пустая трата времени? .NET Aspire – свежий релиз, обещающий перевернуть мир .NET. Но что на самом деле скрывается за этим громким названием? Действительно ли эта технология способна облегчить жизнь разработчикам, работающим вне облачных платформ? 💯На нашем вебинаре мы разберем, насколько зрелым получился .NET Aspire и насколько он применим на практике. Кому это будет полезно? Всем, кто пишет код на .NET, особенно тем, кто занимается развертыванием и управлением приложениями. Вебинар поможет вам:  ✅Понять, как эта технология может повлиять на ваши проекты.  ✅Принять взвешенное решение о внедрении .NET Aspire в свой workflow. Запишитесь на вебинар 16.10.24! Узнайте, действительно ли .NET Aspire – это прорыв в мире .NET, или просто очередная модная новинка: https://clck.ru/3DnsxY?erid=LjN8JvKXX  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🖥 Serilog — Это библиотека для структурированного логирования, которая позволяет гибко настраивать вывод логов в разных форм
🖥 Serilog — Это библиотека для структурированного логирования, которая позволяет гибко настраивать вывод логов в разных форматах (текст, JSON и др.). Serilog поддерживает множество синков (каналов для записи логов), таких как консоль, файлы, базы данных и различные облачные сервисы. Библиотека упрощает мониторинг и отладку приложений, позволяя анализировать лог-файлы для выявления ошибок и потенциальных проблем 🌟 Если вам нужно легкое и настраиваемое логирование в .NET проектах, Serilog будет отличным выбором 🔐 Лицензия: Apache 2.0 ▪️Github @csharp_1001_notes

Готовитесь к поступлению в универ? Олимпиады помогут попасть в вуз мечты! Чтобы оказаться в топовом универе и учиться на инте
Готовитесь к поступлению в универ? Олимпиады помогут попасть в вуз мечты! Чтобы оказаться в топовом универе и учиться на интересной программе, надо заранее подготовиться к поступлению. Например, посмотреть, в каких олимпиадах можно принять участие. Многие ведущие вузы проводят свои олимпиады. Если вы хотите учиться на IT-специальности, можно обратить внимание на профиль «Промышленное программирование» в «Высшей пробе». Задания составляла команда Яндекса, а потому они максимально приближены к тому, что делают реальные программисты. Чем поможет эта олимпиада? Если вы станете призёром или победителем, то получите преимущество при поступлении в лучшие университеты страны! 🎓🚀 Принять участие может любой учащийся 9–11-х классов! Базовых знаний информатики будет достаточно. Отборочный этап пройдёт онлайн, а тех, кто успешно справится с первой частью, пригласят на очный заключительный этап. Регистрируйтесь на «Высшую пробу» до 14:00 мск 5 ноября — повысьте свои шансы на поступление в вуз мечты!

🖥 Малоизвестная функция C#: Caller Information ❗️ Функциональность Caller Information позволяет передавать в метод информацию о вызывающем его коде, например: - Имя файла - Номер строки в файле - Имя вызывающего метода 🌟 Эта особенность может быть крайне полезной для логирования, отладки и тестирования кода. Хотя она существует с версии C# 5.0, о ней часто забывают. ❓ Как это работает? 💡 Для получения информации о вызывающем методе используются специальные атрибуты: 🌟 [CallerFilePath] — возвращает полный путь к исходному файлу, в котором был вызван метод. 🌟 [CallerLineNumber] — возвращает номер строки в файле, где был вызван метод. 🌟 [CallerMemberName] — возвращает имя метода или свойства, из которого был вызван метод. 🔍 Пример использования Предположим, у нас есть метод Log, который записывает сообщение в консоль вместе с информацией о вызове:

using System;
using System.Runtime.CompilerServices;

class Program
{
    static void Main()
    {
        TestMethod();
    }

    static void TestMethod()
    {
        Log("Это тестовое сообщение");
    }

    static void Log(string message,
                    [CallerFilePath] string filePath = "",
                    [CallerLineNumber] int lineNumber = 0,
                    [CallerMemberName] string memberName = "")
    {
        Console.WriteLine($"Сообщение: {message}");
        Console.WriteLine($"Файл: {filePath}");
        Console.WriteLine($"Метод: {memberName}");
        Console.WriteLine($"Строка: {lineNumber}");
    }
}
🔍 Вывод:

Файл: C:\Users\...\Program.cs
Метод: TestMethod
Строка: 11
💡 Применение: 🌟 Логирование — автоматическое добавление контекста при записи логов. 🌟 Отладка — упрощение поиска ошибок, так как можно сразу определить файл, метод и строку. 🌟 Анализ производительности — отслеживание производительности конкретных методов. 🌟 Асинхронные вызовы — идентификация методов в асинхронных цепочках вызовов. @csharp_1001_notes

ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀 Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программировани
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀 Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения! 👉 Стартуем 7 октября. Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин. Ты научишься: ✅ Разбивать приложение на слои в соответствии с Clean Architecture ✅ Формировать Domain Model и применять тактические паттерны DDD ✅ Реализовывать Use Case как Command/Query ✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения ✅ Писать 3 вида тестов для разных слоев приложения Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqw9UVi9&utm_campaign=4 А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач. А еще: ✅ Проверим все домашки ✅ Поддержим в чате ✅ Проведем живые разборы ✅ Ответим на все вопросы 📕 Сертификат об участии по итогам прохождения курса. 🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqw9UVi9&utm_campaign=4 Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqw9UVi9

Обновление в .NET Smart Components .NET Smart Components теперь доступны на GitHub! Эти AI-ориентированные компоненты облегча
Обновление в .NET Smart Components .NET Smart Components теперь доступны на GitHub! Эти AI-ориентированные компоненты облегчают интеграцию умных функций в ваши приложения. Ознакомьтесь с кодом, документацией и примерами, чтобы начать использовать AI в своих проектах, и делитесь своими идеями на GitHub. Подробности: https://devblogs.microsoft.com/dotnet/join-the-dotnet-smart-components-ecosystem/ #en

🕘 Последние дни регистрации на хакатон «Код Согласия» — масштабное соревнование для опытных и начинающих ИТ-специалистов. Реши реальную бизнес-задачу и поборись за призовой фонд в 1 000 000 рублей! ❗️ Регистрация открыта до 27 сентября: https://cnrlink.com/soglasiecodecsharpnotes Приглашаем frontend и backend-разработчиков, аналитиков, менеджеров по продукту, дизайнеров, тестировщиков, студентов и выпускников технических вузов.  🚀 На выбор участников хакатона — одна из задач, основанных на реальных бизнес-кейсах СК «Согласие»:  1️⃣ Web-сервис для проверки гипотез: разработайте инструмент для быстрого создания и тестирования новых страховых продуктов. Стек технологий — не ограничен. 2️⃣Сервис для ведения проектов: разработайте систему для централизованного хранения, удобного отображения и мониторинга крупных проектов внутри компании. Допустимые стеки в данной задаче: Vue JS, PHP, C#. Ключевые этапы хакатона «Код Согласия»: 🔹 до 27 сентября — окончание регистрации 🔹 28 сентября — старт хакатона 🔹 30 сентября, 3 октября, 5 октября — чек-поинты с экспертами 🔹 6 октября — оглашение победителей Успей зарегистрироваться на хакатон «Код Согласия»: https://cnrlink.com/soglasiecodecsharpnotes Реклама. ООО "СК "СОГЛАСИЕ". ИНН 7706196090.erid: LjN8KMV3b

⚡️ Сможет ли Blazor превзойти React/Angular? Очень интересное обсуждение на Reddit от новичка в .NET-разработке. Комментаторы
⚡️ Сможет ли Blazor превзойти React/Angular? Очень интересное обсуждение на Reddit от новичка в .NET-разработке. Комментаторы считают, что Blazor учить легче, но в то же время он не развивается так быстро как популярные JavaScript-фреймворки. Делитесь своими мыслями в комментариях @csharp_1001_notes

Вот что ждет в Т-Банке .NET-разработчиков, кроме ДМС, крутых офисов и других плюшек: — Актуальный стек. Здесь следят за тренд
Вот что ждет в Т-Банке .NET-разработчиков, кроме ДМС, крутых офисов и других плюшек:Актуальный стек. Здесь следят за трендами и быстро внедряют новое. — Общение на «ты». Так проще. — Прозрачная система роста. Вы всегда будете знать, какие навыки нужно подтянуть и как получить повышение. — Вы окажетесь среди профессионалов, у которых можно многому научиться. А если захотите — можете стать ментором для младших коллег. Больше о вакансиях .NET-разработчиков — здесь Erid: 2VtzqviCguE

✔ Awesome-Avalonia PRs Welcome Коллекция полезных библиотек и инструментов для проекта Avalonia включает в себя множество пол
+3
Awesome-Avalonia PRs Welcome Коллекция полезных библиотек и инструментов для проекта Avalonia включает в себя множество полезных ресурсов. Если вы работаете с кроссплатформенным XAML-фреймворком для экосистемы .NET, то репозиторий awesome-avalonia заслуживает вашего внимания. Он содержит множество полезной информации и будет отличным дополнением к вашим закладкам. ▪ GitHub

⚡Как стать гуру в разработке корпоративных приложений, вебсистем и игр в экосистеме microsoft и сэкономить на обучении? ✅Выбе
⚡Как стать гуру в  разработке корпоративных приложений, вебсистем и игр в экосистеме microsoft и сэкономить на обучении?  ✅Выберите комбинацию из трех курсов.  ✅Для этой цели идеально подойдут: C# + NET + JavaScript   ✅Подключайтесь к изучению, используя подписку от OTUS  Такой формат позволяет сэкономить и использовать при этом  все преимущества образовательной платформы.  👌Давайте сравним:  При покупке этих 3 курсов  отдельно стоимость составит 329000 руб.  При покупке этих же 3 курсов по подписке OTUS, стоимость составит всего 160000 руб!  Подписка действует 6 месяцев. За полгода вы успеете полностью пройти 3 курса и начать новые 👉Узнайте больше/ https://otus.pw/05ND/?erid=LjN8K5fHD

💁💁 LXC vs. Docker: что использовать? В современных условиях разработки программного обеспечения технология контейнеризации стала ключевым инструментом для разработчиков, стремящихся повысить эффективность и обеспечить согласованность в различных средах. Среди различных контейнерных технологий, доступных сегодня, контейнеры Linux (LXC) и Docker являются двумя наиболее популярными вариантами. В статье рассматриваются виртуальные среды LXC и Docker и их функциональные возможности. Продолжение тут #почитать

Вебинар «Обработка исключений в C#»: Спотыкайтесь, но оставайтесь на ногах! 👀На вебинаре вы: - Разберётесь с основами класса
Вебинар «Обработка исключений в C#»: Спотыкайтесь, но оставайтесь на ногах! 👀На вебинаре вы: - Разберётесь с основами класса System.Exception и его производными - Научитесь применять ключевые конструкции для перехвата исключений- Откроете для себя лучшие практики обработки ошибок, которые используют профи 😎Что вас ждёт: - Узнаете, какие типы исключений существуют в C# и научитесь создавать свои - Поймёте, когда и почему возникают ошибки, и как их избежать - И самое важное – узнаете, каких ошибок стоит бояться, а какие можно спокойно игнорировать 💯Открытый урок просто идеально подходит для новичков на C#!Регистрируйтесь сейчас: https://clck.ru/3DH4cY?erid=LjN8KAhML  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🏬 Разработка масштабируемого веб-API для приложения e-commerce с использованием .NET и MongoDB: пошаговый гайд Гайд проведет
🏬 Разработка масштабируемого веб-API для приложения e-commerce с использованием .NET и MongoDB: пошаговый гайд Гайд проведет вас через ключевые компоненты и принципы проектирования чистой архитектуры .NET, интеграцию MongoDB и различные функции и возможности приложения электронной коммерции. 👉 Читать