C# 1001 notes
الذهاب إلى القناة على Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
إظهار المزيد6 686
المشتركون
+224 ساعات
+37 أيام
+4030 أيام
أرشيف المشاركات
6 685
Приходите на новый бесплатный урок:Деплой ASP NET приложений в Kubernetes
На вебинаре:Будет разобран практический пример разворачивания ASP NET приложения в кластере Kubernetes. Слушатели познакомятся с базовыми абстракциями Kubernetes: pod, deployment, service, ingress, и получат практические навыки запуска ASP NET приложений.
Кому полезно:
1. Начинающим DevOps инженерам
2. .NET разработчикам3. Всем, интересующимся Kubernetes и желающим в него перейти
После вебинара:
Вы сможете запустить собственное .NET приложение в среде Kubernetes.
Запишитесь сейчас: https://clck.ru/3E2s6k?erid=LjN8KSBnm
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 685
🖥 Новый способ создания блокировок в .NET 9: Lock(). Это упрощает код и избавляет от необходимости вручную управлять блокировками в finally
@csharp_1001_notes
6 685
Всем привет!
Наша международная продуктовая компания в сфере IoT ищет опытного C# разработчика для работы над проектом по созданию 3D digital twins для промышленных компаний. Мы разрабатываем передовые платформы для управления и мониторинга сетей, интегрирующие сбор данных в реальном времени, автоматизацию и аналитику. Работа полностью удалённая (не из РФ и РБ).
🛠 Стек: C#, .NET Core, REST API, WebSockets, MongoDB, SNMP
💼 Зарплата: $7000-9000
👥 Команда: небольшая и плоская, опытные разработчики со стажем 10+ лет.
Требуется опыт глубокой работы с протоколом SNMP и кроссплатформенной разработкой (Windows, Linux).
Пока на практике, нам встречаются либо опытные C# разработчики без опыта SNMP, либо сильные специалисты со знанием SNMP, но с другим стэком технологий (обычно С++, Java).
Если вы имеете глубокие знания и обширный опыт с C# и SNMP - будем очень рады познакомиться и пообщаться. Если вы знаете таких специалистов - будем признательны за рекомендацию, готовы обсудить бонус в случае найма такого специалиста к нам в команду
Если интересно — пишите в личные сообщения @dariapeopleverywhere!
6 685
+3
🖥 Создание GraphQL-клиента на .NET с использованием Rider и StrawberryShake может оказаться сложной задачей без хорошего руководства.
Этот материал будет полезен тем, кто испытывает трудности с определением схем, написанием запросов и интеграцией GraphQL в приложения на .NET.
Далее мы рассмотрим поэтапный процесс настройки среды разработки, определения схем, генерации клиентского кода и интеграции всех компонентов в проект.
Для начала следует ознакомиться с плагином GraphQL в Rider и фреймворком StrawberryShake.
атем следуйте шагам по настройке, описанным ниже.
📌 Подробнее
@csharp_1001_notes
6 685
Хотите писать код короче, мощнее и эффективнее? 🤔 Тогда вам точно нужен этот открытый урок по LINQ! 🚀
На этом вебинаре вы узнаете:
✅Секретный синтаксис LINQ: Как писать лаконичный и мощный код для работы с данными.
✅Лайфхаки компараторов: Используйте их, чтобы получить именно те данные, которые вам нужны.
✅Примеры на реальных задачах: как LINQ работает на практике и сразу начните применять его!
Приходите, если вы хотите освоить мощный инструмент для повышения продуктивности!
Этот вебинар — лишь небольшая часть большого образовательного курса C# Developer, который создан для тех, кто хочет с нуля освоить принципы программирования и развиваться в С#-разработке. Чаще всего язык применяется в серверной и web-разработке, создании игр.
Зарегистрируйтесь и получите:
🔥 PDF Топ 5 ошибок, которые допускают джуны на собеседованиях (и как их избежать): https://clck.ru/3DwUmh?erid=LjN8KD4Fv
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 685
openai-dotnet — библиотека, которая предоставляет .NET SDK для работы с OpenAI API. Она позволяет разработчикам легко интегрировать модели OpenAI в приложения, написанные на языке C# и других языках платформы .NET
🌟 Библиотека поддерживает взаимодействие с различными возможностями OpenAI, такими как GPT и другие инструменты, предлагаемые через их API
🔐 Лицензия: MIT
▪️Github
@csharp_1001_notes
6 685
🖥 Включение функций без повторного развёртывания приложения
❗️ Используйте Feature Flags!
💡 Флаги функций в .NET позволяют динамически включать или отключать определённые функциональные возможности приложения во время выполнения, что упрощает управление поведением системы без необходимости развёртывания новой версии.
🔍 Основные концепции:
🌟 Флаги функций: Переключатели, управляющие включением или отключением определённых функций
🌟 Управление флагами: В .NET 8 появился встроенный API для управления флагами
🌟 Постепенный запуск: Позволяет запускать новые функции для ограниченного числа пользователей, а затем включать для всех
🌟 Источники конфигурации: Флаги можно настраивать через
appsettings.json, Azure App Configuration или внешние сервисы
🌟 Фильтры функций: Условия для активации флагов (например, на основе ролей пользователей или окружения)
💡 Пример: Вы можете включить новую функцию только для 10% пользователей и анализировать, как они реагируют на изменения, прежде чем развернуть её глобально
@csharp_1001_notes6 685
Прошел тест ASP NET - навыки прокачал, зарплату поднял! 😎
8 бонусов для справившихся - уроки по «горячим» темам, список литературы, карта развития навыков специалиста.
Ну и приличная скидка на курс по C# ASP.NET Core разработчик ждет тебя, смельчак!
✅ Испытание для избранных начинается тут: https://otus.pw/nQ9N/?erid=LjN8KTrHR
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 685
🖥 UUID (Guid в C#) широко используются в качестве уникальных идентификаторов в базах данных. UUID являются случайными, что делает их популярными в распределенных системах
❗️ Однако у UUID есть некоторые недостатки:
🌟 UUID замедляют вставки в базу данных. Каждая вставка должна обновлять кластеризованный индекс, дерево B+. Поскольку UUID являются случайными, это дорогостоящая операция, так как она требует повторной балансировки дерева. Фрагментация индекса также высока (это плохо)
🌟 Более высокие затраты на хранение. Длина UUID составляет 128 бит, а если хранить его в виде строки в удобном для чтения формате, то он становится еще больше
💡 Эти недостатки можно исправить с ULID. Он также 128-битный, поэтому совместим с UUID. Однако, в отличие от UUID, ULID можно сортировать. Первые 40 бит ULID представляют собой временную метку, что делает ULID монотонно увеличивающимися.
🌟 Существует пакет .NET, реализующий спецификацию ULID, поэтому вы можете начать использовать его немедленно!
@csharp_ci
6 685
Какие брокеры использовать, чтобы обеспечить асинхронную связь между микросервисами?
Узнайте на открытом практическом уроке «Брокеры сообщений: RabbitMQ и Kafka» от OTUS, где мы узнаем:
✅ что такое брокеры сообщений и как они помогают в архитектуре микросервисов
✅ основные различия между RabbitMQ и Kafka, включая их архитектурные подходы
✅ как развернуть и настроить RabbitMQ и Kafka для ваших приложений
✅ практическое использование обоих брокеров на реальных примерах в live demo
Встречаемся 24 октября в 20:00 мск в преддверии старта курса «Microservice Architecture». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!
➡️ Ссылка для регистрации: https://otus.pw/Nxx8/?erid=LjN8KGqGm
#реклама
О рекламодателе
6 685
🖥 А вы знали, что INumber<T> — это встроенный способ ограничить дженерики только числовыми типами?
🌟 Этот способ появился довольно давно, начиная с dotnet 7!
@csharp_1001_notes
6 685
🙏NET Aspire: Новая надежда или пустая трата времени?
.NET Aspire – свежий релиз, обещающий перевернуть мир .NET. Но что на самом деле скрывается за этим громким названием? Действительно ли эта технология способна облегчить жизнь разработчикам, работающим вне облачных платформ?
💯На нашем вебинаре мы разберем, насколько зрелым получился .NET Aspire и насколько он применим на практике.
Кому это будет полезно? Всем, кто пишет код на .NET, особенно тем, кто занимается развертыванием и управлением приложениями.
Вебинар поможет вам:
✅Понять, как эта технология может повлиять на ваши проекты.
✅Принять взвешенное решение о внедрении .NET Aspire в свой workflow.
Запишитесь на вебинар 16.10.24! Узнайте, действительно ли .NET Aspire – это прорыв в мире .NET, или просто очередная модная новинка: https://clck.ru/3DnsxY?erid=LjN8JvKXX
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 685
🖥 Serilog — Это библиотека для структурированного логирования, которая позволяет гибко настраивать вывод логов в разных форматах (текст, JSON и др.). Serilog поддерживает множество синков (каналов для записи логов), таких как консоль, файлы, базы данных и различные облачные сервисы. Библиотека упрощает мониторинг и отладку приложений, позволяя анализировать лог-файлы для выявления ошибок и потенциальных проблем
🌟 Если вам нужно легкое и настраиваемое логирование в .NET проектах, Serilog будет отличным выбором
🔐 Лицензия: Apache 2.0
▪️Github
@csharp_1001_notes
6 685
Готовитесь к поступлению в универ? Олимпиады помогут попасть в вуз мечты!
Чтобы оказаться в топовом универе и учиться на интересной программе, надо заранее подготовиться к поступлению. Например, посмотреть, в каких олимпиадах можно принять участие.
Многие ведущие вузы проводят свои олимпиады. Если вы хотите учиться на IT-специальности, можно обратить внимание на профиль «Промышленное программирование» в «Высшей пробе». Задания составляла команда Яндекса, а потому они максимально приближены к тому, что делают реальные программисты. Чем поможет эта олимпиада? Если вы станете призёром или победителем, то получите преимущество при поступлении в лучшие университеты страны! 🎓🚀
Принять участие может любой учащийся 9–11-х классов! Базовых знаний информатики будет достаточно. Отборочный этап пройдёт онлайн, а тех, кто успешно справится с первой частью, пригласят на очный заключительный этап.
Регистрируйтесь на «Высшую пробу» до 14:00 мск 5 ноября — повысьте свои шансы на поступление в вуз мечты!
6 685
🖥 Малоизвестная функция 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_notes6 685
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 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
6 685
Обновление в .NET Smart Components
.NET Smart Components теперь доступны на GitHub! Эти AI-ориентированные компоненты облегчают интеграцию умных функций в ваши приложения. Ознакомьтесь с кодом, документацией и примерами, чтобы начать использовать AI в своих проектах, и делитесь своими идеями на GitHub.
Подробности: https://devblogs.microsoft.com/dotnet/join-the-dotnet-smart-components-ecosystem/
#en
6 685
🕘 Последние дни регистрации на хакатон «Код Согласия» — масштабное соревнование для опытных и начинающих ИТ-специалистов. Реши
реальную бизнес-задачу и поборись за призовой фонд в 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
6 685
⚡️ Сможет ли Blazor превзойти React/Angular?
Очень интересное обсуждение на Reddit от новичка в .NET-разработке. Комментаторы считают, что Blazor учить легче, но в то же время он не развивается так быстро как популярные JavaScript-фреймворки.
Делитесь своими мыслями в комментариях
@csharp_1001_notes
6 685
Вот что ждет в Т-Банке .NET-разработчиков, кроме ДМС, крутых офисов и других плюшек:
— Актуальный стек. Здесь следят за трендами и быстро внедряют новое.
— Общение на «ты». Так проще.
— Прозрачная система роста. Вы всегда будете знать, какие навыки нужно подтянуть и как получить повышение.
— Вы окажетесь среди профессионалов, у которых можно многому научиться. А если захотите — можете стать ментором для младших коллег.
Больше о вакансиях .NET-разработчиков — здесь
Erid: 2VtzqviCguE
