en
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

Open in Telegram

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

Show more

📈 Analytical overview of Telegram channel C# (C Sharp) programming

Channel C# (C Sharp) programming (@csharp_ci) in the Russian language segment is an active participant. Currently, the community unites 18 129 subscribers, ranking 7 041 in the Technologies & Applications category and 36 302 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 18 129 subscribers.

According to the latest data from 29 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -78 over the last 30 days and by -7 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 15.03%. Within the first 24 hours after publication, content typically collects 7.44% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 725 views. Within the first day, a publication typically gains 1 348 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 0.
  • Thematic interests: Content is focused on key topics such as .net, api, логика, архитектура, string.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

Thanks to the high frequency of updates (latest data received on 30 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

18 129
Subscribers
-724 hours
-157 days
-7830 days
Posts Archive
⚡️ Microsoft выпустила Visual Studio 2026 - крупнейшее обновление IDE за последние годы. 🔹 300+ новых функций и почти 5000 исправлений ошибок 🔹 Интеграция с GitHub Copilot стала глубже: теперь он помогает в анализе, рефакторинге и генерации кода 🔹 Редизайн интерфейса — 11 новых цветовых тем, улучшенная навигация и читаемость 🔹 Производительность выросла: количество зависаний интерфейса снизилось на 50 % 🔹 Более 4000 расширений от Visual Studio 2022 полностью совместимы с новой версией Самое время обновиться - новая версия ощутимо быстрее и умнее. https://visualstudio.microsoft.com/downloads/

🖥 Если вы создаёте новое приложение на .NET и используете минимальные API, вот понятный и согласованный пост без разделителе
+2
🖥 Если вы создаёте новое приложение на .NET и используете минимальные API, вот понятный и согласованный пост без разделителей. Минимальные API проще, чем контроллеры: меньше шаблонного кода, быстрее старт, короче путь от запроса к логике. Они органично ложатся на архитектуру вертикальных срезов, где каждая фича - самостоятельный модуль с собственным API, моделями и обработчиком. Каждый endpoint можно оформлять как отдельную фичу. В одном файле находятся запрос, ответ, обработчик и маршрут — всё компактно и по делу. Такой подход улучшает читаемость и делает зависимости между фичами минимальными. Пример:

public static class CreateProduct
{
    public record Request(string Name, decimal Price);
    public record Response(int Id, string Name, decimal Price);

    public class Endpoint : IEndpoint
    {
        public void MapEndpoint(IEndpointRouteBuilder app)
        {
            app.MapPost("products", Handler).WithTags("Products");
        }

        public static IResult Handler(Request request, AppDbContext context)
        {
            var product = new Product { Name = request.Name, Price = request.Price };
            context.Products.Add(product);
            context.SaveChanges();
            return Results.Ok(new Response(product.Id, product.Name, product.Price));
        }
    }
}
У минимальных API действительно меньше встроенных возможностей, чем у контроллеров, но это решается через middleware, фильтры или библиотеки вроде FastEndpoints, где одну фичу можно определить в одном файле с аккуратным разделением логики. Подход помогает масштабировать код без усложнения архитектуры: новые фичи добавляются как новые независимые вертикальные срезы, без изменения существующих модулей. https://milanjovanovic.tech/blog/vertical-slice-architecture-is-easier-than-you-think

Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого
Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого кода в C#. На открытом вебинаре курса OTUS C# Developer. Professional Павел Нилов объяснит, как работают обобщения, зачем они нужны и как с их помощью писать код, который не боится масштабирования. 📌 18 ноября, 20:00 Основы обобщений (Generics) в C# — классы, интерфейсы, методы и делегаты — ковариантность, контравариантность и ограничения — эффективное использование List и Dictionary — примеры и разбор типичных ошибок Вебинар бесплатный и подойдёт начинающим .NET-разработчикам, студентам и джунам, готовящимся к собеседованиям, а также тем, кто хочет систематизировать знания по Generics. 👉 Регистрируйтесь: https://otus.pw/QTK7/?erid=2W5zFHAbjFE Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

𝟵𝟬% API на самом деле НЕ RESTful — и почти всегда по одной причине 👇 По модели зрелости Ричардсона REST имеет 4 уровня: •
𝟵𝟬% API на самом деле НЕ RESTful — и почти всегда по одной причине 👇 По модели зрелости Ричардсона REST имеет 4 уровня: • 0 — просто один эндпоинт, всё через XML/JSON • 1 — ресурсы с разными URI • 2 — корректное использование HTTP-методов • 3 — HATEOAS, когда сам API подсказывает клиенту, какие действия доступны дальше Проблема в том, что большинство сервисов останавливаются на уровне 2 — то есть формально используют GET/POST/PUT/DELETE, но не дают клиенту навигации через гипермедиа. Почему почти никто не добавляет HATEOAS: 1. Нужно больше кода 2. Вырастают ответы 3. Нет жёсткого стандарта, как это оформлять 4. Клиент усложняется 5. Кажется оверинжинирингом Но что происходит без него? 1. Клиент и сервер становятся жёстко связаны 2. Бизнес-логика дублируется на клиенте 3. API плохо открывается и не подсказывает, как по нему ходить HATEOAS — не обязательный компонент, но именно он делает API настоящим REST, а не просто HTTP поверх JSON. Здесь разбор, когда это действительно важно и когда нет.

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

#ПятничныйКвиз #карательныйсишарп #ВопросИзЗрительногоЗала
#ПятничныйКвиз #карательныйсишарп #ВопросИзЗрительногоЗала

Хочешь разобраться с event-driven архитектурой? Начни с самого простого - событийных уведомлений. В DDD это делается через do
Хочешь разобраться с event-driven архитектурой? Начни с самого простого - событийных уведомлений. В DDD это делается через domain events. Как это работает: - В доменной модели есть агрегаты - они отвечают за целостность внутри своих границ. - Если нужно инициировать действие вне агрегата, он не вызывает его напрямую, а публикует domain event. - Другие агрегаты подписываются на эти события и реагируют, когда нужно. Получается слабое связывание: один объект просто сообщает «что произошло», а не «что делать дальше». Агрегат поднял событие — другие обработали. Чисто, понятно, без прямых зависимостей. Так строятся системы, которые легко расширять и поддерживать, не превращая код в паутину вызовов. Event-driven начинается не с Kafka и очередей, а с простого: правильно разделять границы и общаться через события. Подробнее

Невидимые утечки: как находить и обезвреживать сложнейшие утечки памяти в .NET Даже опытные разработчики не всегда замечают,
Невидимые утечки: как находить и обезвреживать сложнейшие утечки памяти в .NET Даже опытные разработчики не всегда замечают, как события, таймеры и делегаты создают невидимые утечки, удерживая объекты в памяти. На открытом вебинаре курса OTUS C# Developer. Professional Елена Сычева покажет, как такие ошибки возникают и как их находить. 📌 12 ноября, 20:00 Невидимые утечки в .NET — диагностика скрытых утечек памяти — разбор работы GC и дампов памяти — анализ событий, таймеров и делегатов — реальные примеры из продакшн-кейсов Вебинар бесплатный и будет полезен .NET-разработчикам уровня Middle и выше, работающим с долгоживущими приложениями и микросервисами. 👉 Регистрируйтесь: https://otus.pw/SkLR/?erid=2W5zFJw5xMW Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🔥 EF Core 10 принес нормальные JOIN'ы в LINQ Больше не нужно вспоминать, как извращаться с GroupJoin + DefaultIfEmpty, чтобы
+2
🔥 EF Core 10 принес нормальные JOIN'ы в LINQ Больше не нужно вспоминать, как извращаться с GroupJoin + DefaultIfEmpty, чтобы сделать обычный LEFT JOIN. Теперь есть прямые методы: ✅ LeftJoin ✅ RightJoin И они делают ровно то, что ты пишешь: «Оставь все из левой таблицы и подтяни правые записи, если есть совпадения». Плюсы - Читаемость выше - Код короче и очевиднее - Транслируется в тот же SQL, что и раньше, но без боли Примерно так LINQ наконец становится ближе к привычному SQL-пониманию разработчика: пишешь join — получаешь join, без магии и обходных путей. Подробнее про LeftJoin и RightJoin в EF Core 10 #dotnet #efcore #csharp #linq #backend #devtools

🔥 EF Core 10 принес нормальные JOIN'ы в LINQ Больше не нужно вспоминать, как извращаться с GroupJoin + DefaultIfEmpty, чтобы
+2
🔥 EF Core 10 принес нормальные JOIN'ы в LINQ Больше не нужно вспоминать, как извращаться с GroupJoin + DefaultIfEmpty, чтобы сделать обычный LEFT JOIN. Теперь есть прямые методы: ✅ LeftJoin ✅ RightJoin И они делают ровно то, что ты пишешь: «Оставь все из левой таблицы и подтяни правые записи, если есть совпадения». Плюсы - Читаемость выше - Код короче и очевиднее - Транслируется в тот же SQL, что и раньше, но без боли Примерно так LINQ наконец становится ближе к привычному SQL-пониманию разработчика: пишешь join — получаешь join, без магии и обходных путей. Подробнее про LeftJoin и RightJoin в EF Core 10 #dotnet #efcore #csharp #linq #backend #devtools

На Stepik вышел курс - Linux: полный апгрейд твоих скиллов Хочешь реально понимать, что происходит под капотом твоей системы,
На Stepik вышел курс - Linux: полный апгрейд твоих скиллов Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI? Без глубокого знания базы ты не инженер - ты просто пользователь. 🔹 В курсе ты: - Освоишь bash, grep, sed, awk - инструменты, которыми живут админы. - Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает. - Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск. - Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU. 💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux. 🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”. 🚀 Сейчас действуют скидка целых - 30%, не упусти реальный шанс прокачаться. 👉 Пройти курс на Stepik

⚡️ Что выведет код? using System; namespace MyApplication { class Program { static void Main(string[] args) { int a = 10, b =
⚡️ Что выведет код?

using System;

namespace MyApplication {
    class Program {
        static void Main(string[] args) {
            int a = 10, b = 20;
            Console.WriteLine("{0}+{1}", a, b);
        }
    }
}
- Объясните, почему вывод именно такой. - Измените одну строку так, чтобы программа печатала сумму чисел в виде 10+20=30. 1) Ответ Программа выведет: 10+20 2) Почему так - В Console.WriteLine("{0}+{1}", a, b); используется композитное форматирование (аналог string.Format). - Подстановки {0} и {1} заменяются на значения соответствующих аргументов — a и b. - Знак + находится внутри строкового литерала, значит это просто символ, а не операция сложения. - Поэтому получается «подставь a, затем символ +, затем b» → 10+20. Частая ошибка: думать, что + выполнит сложение. Нет — внутри кавычек это обычный текст.

Как вы организуете свои Vertical Slices? Есть два подхода, и оба встречаются в живых проектах: 1) Один файл → статический кла
Как вы организуете свои Vertical Slices? Есть два подхода, и оба встречаются в живых проектах: 1) Один файл → статический класс + вложенные типы - Request / Response внутри - Handler внутри - Validator внутри - Endpoint там же - максимум локальности и контекста - удобно читать как "одна фича – один файл" 2) Каждый тип в отдельном файле - Request.cs - Response.cs - Handler.cs - Validator.cs - Endpoint.cs - привычно для больших команд - проще искать по имени файла - лучше работает при очень длинных обработчиках По сути: - маленькие обработчики → один файл с вложенными типами - большие и долгоживущие фичи → отдельные файлы + папка Главный принцип Vertical Slice — держать фичу целостной. Не заставлять прыгать по всему solution ради одной команды. А вы как делаете: всё в одном файле или дробите?```

Не пропустите! 06 ноября в 20:00 пройдет бесплатный урок курса “Unity Game Developer. Professional” по теме “ECS: Секретное оружие топовых разработчиков.” Запись: https://otus.pw/c4Lq/ Устал от медленных и запутанных игровых механик? ECS изменит твое представление о разработке игр! Что вы узнаете: - Основы ECS — разберем ключевые принципы работы на примере LeoEcsLite - Сравнение подходов — проведем детальный анализ ООП vs ECS - Преимущества ECS — узнаем, почему крупные студии выбирают именно эту архитектуру - Практические кейсы — рассмотрим реальные примеры оптимизации геймплея - Производительность — разберем, как ECS помогает достичь максимальной эффективности Записывайтесь на вебинар и получите спец. предложение на обучение: https://otus.pw/c4Lq/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963

⚡️ Хорошая архитектура ничего не стоит, если её легко сломать. Есть три способа заставить команду придерживаться дизайна: - к
⚡️ Хорошая архитектура ничего не стоит, если её легко сломать. Есть три способа заставить команду придерживаться дизайна: - компилятор и статический анализ - архитектурные тесты - код-ревью Компилятор - лучший друг. Он мгновенно ловит ошибки и не даст собрать проект, если что-то нарушено. Но как использовать это для защиты архитектуры? В .NET можно скрывать типы через internal и разделять код на проекты, чтобы изолировать модули. Проблема - при масштабировании проектов становится слишком много. Статический анализ полезен, но писать свои Roslyn-правила - удовольствие на любителя. Поэтому я делаю ставку на архитектурные тесты. Они позволяют задать правила в виде автотестов и контролировать зависимости между модулями, особенно в модульном монолите: каждый модуль видит только публичный API других модулей. Ну и код-ревью - финальный фильтр. Кто-то должен глазами подтвердить, что всё ок. Что выбрать? Я больше всего полагаюсь на компилятор и архитектурные тесты - это помогает ловить проблемы максимально рано. Хотите больше? Посмотрите пример использования архитектурных тестов и подход shift left.

Last Call: не пропусти Wink AI Challenge — первый в России ИИ-хакатон в киноиндустрии. Создай своё решение, которое ускорит п
Last Call: не пропусти Wink AI Challenge — первый в России ИИ-хакатон в киноиндустрии. Создай своё решение, которое ускорит производство фильмов и сериалов. Призовой фонд — 1 125 000 рублей. Регистрация открыта до 4 ноября: https://cnrlink.com/winkaichallengecsharp Приглашаем ML-инженеров, backend- и frontend-разработчиков, DevOps, MLOps и мультимедиа-инженеров. Главные причины присоединиться: 🔸 Работа с настоящими сценариями и материалами, анализ текстов, извлечение сущностей, генерация структуры съёмок. 🔸 Практика применения NLP, NER и мультимодальных данных в задачах кинопроизводства. 🔸 Разработка ИИ-сервиса, который оценят и будут использовать продюсеры популярных российских фильмов и сериалов. 🔸 Реальный кейс в портфолио, созданный специально для крупнейшего онлайн-кинотеатра. 🔸Финалисты отправятся в Москву — Wink оплатит билеты и проживание. Успей зарегистрироваться на первый в России хакатон по применению ИИ в кинопроизводстве: https://cnrlink.com/winkaichallengecsharp

🔐 Что такое RBAC (Role-Based Access Control) RBAC - это модель контроля доступа на основе ролей. Она помогает управлять авто
🔐 Что такое RBAC (Role-Based Access Control) RBAC - это модель контроля доступа на основе ролей. Она помогает управлять авторизацией в приложениях просто и масштабируемо. Как работает RBAC: - Ролям назначаются определённые разрешения (permissions); - Пользователям присваиваются роли, и через них - разрешения; - Разрешения определяют, что пользователь может или не может делать. 📌 Преимущество RBAC в том, что можно централизованно управлять правами доступа. Но часто роли оказываются слишком «грубыми» — не хватает точности для отдельных политик безопасности. Здесь на помощь приходят permissions — разрешения на конкретные действия. Если нужно дать доступ другой роли, достаточно просто добавить разрешение к роли, не переписывая всю систему авторизации. 💡 Простая концепция, но невероятно мощная в управлении доступом. Подробнее

Но я уже и сам догадался
Но я уже и сам догадался

Интенсив по Unity: создай и монетизируй свою инди-игру Присоединяйся к 2-месячному интенсиву по Unity, во время которого ты с
Интенсив по Unity: создай и монетизируй свою инди-игру Присоединяйся к 2-месячному интенсиву по Unity, во время которого ты с нуля создашь культовую игру «2048», научишься кастомизировать проект с помощью нейросети и работать с алгоритмами.  Кому подойдёт интенсив: 🡶 Планируешь усилить портфолио крутым проектом, чтобы попасть на стажировку в геймдев студии; 🡶 Думаешь о монетизации собственных знаний уже сейчас 🡶 Хочешь научиться работать с нейросетями, чтобы добавить игре свой стиль; Только на этом потоке онлайн-лекции проходят лично с создателями интенсива — опытными геймдев-разработчиками. ▪️старт 3 ноября ▪️длительность: 2 месяца ▪️стоимость за весь курс 35 000 руб. Переходи на сайт и оставляй заявку, чтобы всего через 2 месяца начать зарабатывать на собственной инди-игре erid: 2W5zFHXTbda

Ubuntu Unity остался без разработчиков и новых релизов Проект Ubuntu Unity не может сформировать новый релиз 25.10 из-за отсутствия разработчиков, способных исправить критические проблемы с работой пользовательского окружения Unity, возникающие при использовании пакетной базы Ubuntu 25.10. Пользователям Ubuntu Unity не рекомендуется обновлять свои системы до ветки 25.10 или пытаться установить пакеты с Unity поверх других редакций Ubuntu 25.10, так как это может нарушить работоспособность системы. https://opennet.ru/64125/