uk
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Відкрити в Telegram

По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Показати більше

📈 Аналітичний огляд Telegram-каналу C# (C Sharp) programming

Канал C# (C Sharp) programming (@csharp_ci) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 18 126 підписників, посідаючи 7 044 місце в категорії Технології та додатки та 36 287 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 18 126 підписників.

За останніми даними від 30 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -65, а за останні 24 години на 0, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 15.36%. Протягом перших 24 годин після публікації контент зазвичай збирає 7.44% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 2 784 переглядів. Протягом першої доби публікація в середньому набирає 1 349 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 0.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як .net, api, логика, архитектура, string.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Завдяки високій частоті оновлень (останні дані отримано 31 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

18 126
Підписники
Немає даних24 години
-117 днів
-6530 день
Архів дописів
🔦 Fluent UI Blazor — библиотека компонентов от Microsoft, которая переносит фирменный Fluent Design в Blazor-приложения. Она
🔦 Fluent UI Blazor — библиотека компонентов от Microsoft, которая переносит фирменный Fluent Design в Blazor-приложения. Она включает готовые решения для кнопок, карточек, таблиц и сложных элементов вроде диалоговых окон, сохраняя единый стиль современных продуктов Microsoft. Проект имеет глубокую интеграцию с .NET 8/9 и гибкость: темы настраиваются через CSS-переменные, есть поддержка RTL и адаптация под системные настройки. Для старта можно использовать готовые шаблоны dotnet new или вручную подключить NuGet-пакеты. 🤖 GitHub @csharp_ci

Рефлексия тормозит приложения? Пора управлять компилятором! Устали писать одинаковый код снова и снова? Рефлексия съедает про
Рефлексия тормозит приложения? Пора управлять компилятором! Устали писать одинаковый код снова и снова? Рефлексия съедает производительность в рантайме, а генерация boilerplate-кода отнимает часы. Современный C# предлагает элегантное решение — заставить компилятор работать на вас. 🎥 Вебинар «Заставьте компилятор работать на вас: магия метапрограммирования с Source Generators в C#» 📅 6 августа, 20:00 👩‍🏫 Елена Сычева Разберём на практике: → Почему рефлексия — узкое место и как Source Generators решают проблему на этапе компиляции → Устройство компилятора Roslyn: синтаксические деревья и семантическая модель → Live-coding первого Source Generator для избавления от рутинного кода → Применение генераторов в популярных библиотеках .NET 7+ Результат: вы научитесь создавать собственные генераторы кода, которые автоматизируют рутину и повышают производительность приложений без runtime-накладных расходов. Вебинар проходит в рамках курса «C# углубленный» — участники получают эксклюзивные условия обучения. → Регистрация: https://otus.pw/1j45/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963

🧠 Model Context Protocol (MCP) для новичков — от Microsoft Microsoft выложила в open-source обучающий курс, чтобы помочь пон
🧠 Model Context Protocol (MCP) для новичков — от Microsoft Microsoft выложила в open-source обучающий курс, чтобы помочь понять, как работает Model Context Protocol — протокол, лежащий в основе взаимодействия LLM с внешним контекстом. 📘 Что внутри: — понятные объяснения концепций MCP — практические примеры на .NET, Java, TypeScript, JavaScript и Python — пошаговые упражнения для начинающих Подойдёт тем, кто хочет разобраться, как строятся LLM-агенты, функции и контекстные вызовы в MCP-экосистеме. 👉 Репозиторий: https://github.com/microsoft/mcp-for-beginners

📌 PolySharp — удобный способ использовать новые фичи C# на старых версиях .NET. Этот NuGet-пакет работает как source-генерат
📌 PolySharp — удобный способ использовать новые фичи C# на старых версиях .NET. Этот NuGet-пакет работает как source-генератор, автоматически подбирая нужные полифиллы в зависимости от целевой платформы. Для работы достаточно добавить ссылку на PolySharp, установить последнюю версию C# и можно писать современный код даже для .NET Framework или UWP. Инструмент обладает умной генерацией только необходимых типов. Например, если компилятору C# 13 нужен [IsExternalInit] для init-only свойств, PolySharp создаст его за кулисами. При этом он не трогает фичи, требующие поддержки рантайма, но покрывает огромный пласт синтаксических улучшений — от nullable-аннотаций до интерполированных строковых обработчиков. 🤖 GitHub @csharp_ci

⚡️ Почему лучшие разработчики всегда на шаг впереди? Потому что они знают, где брать настоящие инсайд! Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе. ИИ: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Devops: t.me/DevOPSitsec Базы данных: t.me/sqlhub Мл собес t.me/machinelearning_interview C++ t.me/cpluspluc Docker: t.me/DevopsDocker Хакинг: t.me/linuxkalii МЛ: t.me/machinelearning_ru Data Science: t.me/data_analysis_ml Javascript: t.me/javascriptv C#: t.me/csharp_ci Java: t.me/java_library Python собеседования: t.me/python_job_interview Мобильная разработка: t.me/mobdevelop Golang: t.me/Golang_google React: t.me/react_tg Rust: t.me/rust_code ИИ: t.me/vistehno PHP: t.me/phpshka Android: t.me/android_its Frontend: t.me/front Big Data: t.me/bigdatai МАТЕМАТИКА: t.me/data_math Kubernets: t.me/kubernetc Разработка игр: https://t.me/gamedev Физика: t.me/fizmat SQL: t.me/databases_tg Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy 🎓954ГБ ОПЕНСОРС КУРСОВ: @courses 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers 🧠ИИ: t.me/vistehno 🖥 Chatgpt для кода в тг: @Chatgpturbobot - 📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy 💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi Подпишись, чтобы всегда знать, куда двигаться дальше!

Что выведет на экран это код?
Anonymous voting

#ПятничныйКвиз #СахарЭтоБелаяСмерть
#ПятничныйКвиз #СахарЭтоБелаяСмерть

😬 Почти каждый разработчик делал эту ошибку Код вроде бы нормальный: - API для регистрации вызывает UserService - UserServic
😬 Почти каждый разработчик делал эту ошибку Код вроде бы нормальный: - API для регистрации вызывает UserService - UserService сохраняет пользователя и вызывает EmailService - EmailService отправляет письмо через SmtpClient Но если присмотреться — SendWelcomeEmail помечен как **async void** ❗️ Почему это проблема? ❌ async void делает невозможным отлов исключений. Если внутри SendEmailAsync() что-то пойдёт не так — try/catch не сработает. Исключение пролетит мимо и может тихо крашнуть приложение или вызвать странные баги. Почему так? 🔸 async void не возвращает Task, значит await невозможен 🔸 Исключения из таких методов не перехватываются обычным образом ✅ Как правильно: Всегда возвращай Task — только так можно надёжно обрабатывать ошибки. 📌 Запомни правило: async void допустим только в event‑handler’ах. Больше — нигде. Ты уже сталкивался с этой ловушкой? Пиши свои фейлы или советы 👇

🛠 Игра начинается: лутайте призы на сервере Selectel в Minecraft Пока вы работаете, пиглины добывают золото в недрах Незера.
🛠 Игра начинается: лутайте призы на сервере Selectel в Minecraft   Пока вы работаете, пиглины добывают золото в недрах Незера. Пора и вам немного развеяться: присоединяйтесь к игре на сервере Selectel. Стройте, исследуйте, конкурируйте — или просто создайте ферму из кактусов, никто не осудит.   На сервере три режима игры под разное настроение:   ▪️ Ванильное выживание на нормальной сложности — бессмертная классика с мини-квестами и внутриигровыми наградами каждый день. ▪️ Креатив с пиксельными дата-центрами Selectel, гигантскими фигурками героев аниме и другими постройками. ▪️ Арена — особый режим, на котором раз в неделю будут запускать разные PVP- и PVE-события с призами.   На сервере нет и не будет донатов. Чтобы начать, достаточно установить на ПК копию Minecraft Java Edition 1.21.5 или новее, а затем зарегистрироваться ➡️ Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqx834rk

🧪 ABP Framework — мощный инструмент для .NET-разработчиков, который превращает стандартный ASP.NET Core в платформу для корп
🧪 ABP Framework — мощный инструмент для .NET-разработчиков, который превращает стандартный ASP.NET Core в платформу для корпоративных решений. Это не просто фреймворк, а целая экосистема с готовыми модулями, шаблонами проектов и инструментами автоматизации. Проект имеет поддержку DDD, мультитенантности и микросервисов из коробки. ABP берет на себя рутинные задачи вроде авторизации, валидации и логирования, позволяя сосредоточиться на бизнес-логике. 🤖 GitHub @csharp_ci

🚀 Хочешь масштабировать своё API по горизонтали? Без балансировщика нагрузки не обойтись. Вот как быстро собрать свой на .NE
🚀 Хочешь масштабировать своё API по горизонтали? Без балансировщика нагрузки не обойтись. Вот как быстро собрать свой на .NET с помощью YARP (Yet Another Reverse Proxy): 3 простых шага: 1. Установи библиотеку YARP (`Microsoft.ReverseProxy`) 2. Настрой YARP в Program.cs и appsettings.json 3. Укажи пути к downstream-сервисам После этого твой прокси уже готов к работе — будет распределять трафик между сервисами. Но это только начало. YARP мощный и расширяемый. Он поддерживает разные политики балансировки нагрузки прямо "из коробки": ▪ Random — случайный выбор ▪ RoundRobin — по кругу ▪ LeastRequests — к тому, у кого меньше всего запросов ▪ FirstAlphabetical — по алфавиту ▪ PowerOfTwoChoices — выбери лучший из двух случайных (дефолт) Автор статьи применил YARP для масштабирования нескольких приложений и делится опытом в полном гайде: 📖 Читай подробнее: https://milanjovanovic.tech/blog/horizontally-scaling-aspnetcore-apis-with-yarp-load-balancing

😱💻 Хотите прокачать архитектурные скилы и стать востребованным fullstack-разработчиком? Пройдите вступительный тест и получ
😱💻 Хотите прокачать архитектурные скилы и стать востребованным fullstack-разработчиком? Пройдите вступительный тест и получите бесплатные уроки курса «C# ASP.NET Core разработчик» от OTUS! 👉 Пройти тест: https://otus.pw/I9v5/ 🚀 Зарядите карьеру: увеличьте доход, берите сложные проекты и работайте с современным стеком! Всего за 6 месяцев вы научитесь: • Разрабатывать веб-приложения на ASP.NET Core, рассматривая ASP.NET подробно, со всеми его механизмами • Создавать различные технологии межсервисного взаимодействия + реалтайм с клиентским приложением •Интегрировать фронтенд (ReactJS + JavaScript+Typescript) с бэкендом • Тестировать приложения: интеграционные и нагрузочные тесты • Автоматизировать процессы с CI/CD и Kubernetes • Проектировать микросервисы и освоить event-driven архитектуру 🎁 Бонус: После теста — доступ к урокам! 👉 Проверьте свои силы прямо сейчас: https://otus.pw/I9v5/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963

🎯 Design pattern, который должен знать каждый — Decorator Один из самых гибких и мощных паттернов — особенно в мире .NET и D
🎯 Design pattern, который должен знать каждый — Decorator Один из самых гибких и мощных паттернов — особенно в мире .NET и DI. ▪ Что это такое? Decorator позволяет обернуть реализацию сервиса в дополнительное поведение — например, логгирование, кэширование или retry-механику — без изменения исходного кода. ▪ Как применить на практике? В .NET это особенно удобно с библиотекой Scrutor — она расширяет встроенный DI-контейнер и позволяет добавлять декораторы в одну строчку. Пример:

services.Decorate<IService, LoggingDecorator>();
Зачем это нужно? — логгировать вызовы без лома архитектуры — централизованно обрабатывать ошибки — добавить метрики без влезания в бизнес-логику 📌 Подробнее

Что выведет на экран этот код?
Anonymous voting

#ПятничныйКвиз #ЗанимательнаяМатематика
#ПятничныйКвиз #ЗанимательнаяМатематика

💎 CSharpier — бескомпромиссный форматтер для C#. Этот инструмент берёт ваш код и переписывает его по своим строгим правилам,
💎 CSharpier — бескомпромиссный форматтер для C#. Этот инструмент берёт ваш код и переписывает его по своим строгим правилам, вдохновлённым Prettier. Никаких бесконечных настроек, только единый стандарт оформления для всего проекта. Инструмент интегрируется с редакторами, работает через CLI и даже в CI/CD. Будет особенно удобен для команд, где важна единообразная кодовая база без ручной правки стиля. 🤖 GitHub @csharp_ci

✂️ Clipper2 — библиотека для работы с полигонами. Этот проект представляет собой современную версию классической библиотеки C
✂️ Clipper2 — библиотека для работы с полигонами. Этот проект представляет собой современную версию классической библиотеки Clipper, переписанную с нуля для поддержки новых стандартов. Инструмент выполненяет булевые операций (объединение, пересечение, вычитание) над сложными полигональными фигурами, а также их офсетное преобразование. Библиотека имеет кроссплатформенную поддержку: помимо нативных C++, C#, Delphi-реализаций, доступны адаптации для Java, Kotlin и даже WebAssembly. При этом версия на С# демонстрирует наибольшую производительность, она идеально подходит для задач CAD-систем и GIS-приложений. 🤖 GitHub @csharp_ci

🎯 Хитрая задача на C# для продвинутых Твоя цель — реализовать ленивую фильтрацию по уникальному ключу без LINQ. Условие: Есть класс:

class User
{
    public string Name { get; set; }
    public int Age { get; set; }
}
Нужно написать метод UniqueBy<T, TKey>, который возвращает только уникальные элементы по ключу. Нельзя использовать LINQ (Distinct, GroupBy и т.д.). Метод должен быть ленивым — использовать yield return. Пример:

var users = new List<User>
{
    new User { Name = "Alice", Age = 30 },
    new User { Name = "Bob", Age = 25 },
    new User { Name = "Alice", Age = 35 },
    new User { Name = "Eve", Age = 25 }
};

foreach (var user in UniqueBy(users, u => u.Name))
{
    Console.WriteLine($"{user.Name}, {user.Age}");
}
// Вывод:
// Alice, 30
// Bob, 25
// Eve, 25
🧠 Решение:

public static IEnumerable<T> UniqueBy<T, TKey>(IEnumerable<T> source, Func<T, TKey> keySelector)
{
    var seen = new HashSet<TKey>();
    foreach (var item in source)
    {
        var key = keySelector(item);
        if (seen.Add(key))
            yield return item;
    }
}
📌 Чем эта задача интересна: ▪ Требует знания HashSet, yield return и замыканий ▪ Работает с любыми коллекциями и даже бесконечными потоками ▪ Часто нужна при фильтрации API-результатов, логов и UI Ставь лайк, если хочешь больше таких продвинутых C#-задач.

Устали править копипастные участки кода и бороться с хаосом в проекте? ⏺️ Приглашаем на открытый урок «Переиспользуемый код н
Устали править копипастные участки кода и бороться с хаосом в проекте?  ⏺️ Приглашаем на открытый урок «Переиспользуемый код на C#: архитектурный подход» 15 июля в 20:00 МСК. Разберём, как строить приложение по принципам SOLID, DRY, KISS и YAGNI и избавляться от дублирования на уровне архитектуры. Вы увидите, как декомпозировать систему на слои, внедрять зависимости через абстракции и собирать «Lego-приложение» для разных интерфейсов. 🔴 Встречаемся 15 июля в 20:00 МСК. ➡️ Успейте зарегистрироваться на урок количество участников ограничено: https://otus.pw/55rM/?erid=2W5zFJJBcuE  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

⚠️ Как вы обрабатываете ошибки в C#? Многие используют исключения для управления потоком и быстрого фейла. Но в C# метод не с
⚠️ Как вы обрабатываете ошибки в C#? Многие используют исключения для управления потоком и быстрого фейла. Но в C# метод не сообщает, какие именно исключения он может выбросить — это не видно в сигнатуре. 🔍 Мой подход: Исключения — только для исключительных ситуаций. Если метод может ожидаемо провалиться, пусть это будет явно. ✅ Используйте Result-паттерн: — Метод возвращает Result<T> вместо выбрасывания исключения — Caller обязан проверить IsSuccess и обработать ошибку — Код становится предсказуемее и легче тестируется — Дополнительно: пропускная способность может быть выше, чем при throw/catch Пример:

Result<User> result = userService.FindById(id);
if (!result.IsSuccess)
    return Error(result.Error);
Подробнее