ar
Feedback
C# (C Sharp) programming

C# (C Sharp) programming

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام C# (C Sharp) programming

تُعد قناة C# (C Sharp) programming (@csharp_ci) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 18 305 مشتركاً، محتلاً المرتبة 7 332 في فئة التكنولوجيات والتطبيقات والمرتبة 36 865 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 18 305 مشتركاً.

بحسب آخر البيانات بتاريخ 16 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -7، وفي آخر 24 ساعة بمقدار -4، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 19.58‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.47‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 3 584 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 368 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 0.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل .net, api, логика, архитектура, string.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 17 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

18 305
المشتركون
-424 ساعات
+137 أيام
-730 أيام
أرشيف المشاركات
🚀 5 вещей, которые я добавляю в каждый .NET проект Если сделать это сразу - потом не будешь страдать в проде 1️⃣ .editorconf
🚀 5 вещей, которые я добавляю в каждый .NET проект Если сделать это сразу - потом не будешь страдать в проде 1️⃣ .editorconfig / .props Автоматически фиксируют стиль кода → меньше споров, больше консистентности 2️⃣ Статический анализ SonarAnalyzer и аналоги → ловят баги ещё до запуска 3️⃣ Наблюдаемость (Observability) Serilog + OpenTelemetry → логи + трейсы = понимаешь, что реально происходит 4️⃣ Docker Compose / .NET Aspire Поднимаешь всё окружение одной командой → БД, кеши, очереди 5️⃣ CI/CD с первого дня Авто-сборка и тесты → не даёшь сломанному коду попасть в main Настроил один раз → экономишь десятки часов потом 🔥 Самое сложное для большинства - Observability но именно оно спасает в проде

Как за 2 года стать разработчиком, за которого конкурируют компании? ⚡️ 8 апреля ИТМО в партнёрстве с Яндекс Практикумом пров
Как за 2 года стать разработчиком, за которого конкурируют компании? ⚡️ 8 апреля ИТМО в партнёрстве с Яндекс Практикумом проведут День открытых дверей онлайн-магистратуры «Фронтенд- и бэкенд-разработка». Поговорим про фронтенд и бэкенд, разницу между ними и уровень знаний на старте. Обсудим, какие навыки нужны для поступления, как магистратура помогает быстрее выйти на рынок — и быть на нём конкурентоспособным. Отдельно разберём сценарии для тех, кто уже работает в IT: как сменить стек, углубиться в текущий или перейти в новые направления, включая работу с ИИ.
На встрече обсудим: — какой трек выбрать и как выстроить карьеру в разработке — какую роль играет ИИ в программировании — как устроена программа и чему вы научитесь — как проходит обучение и как его совмещать с работой — как поступить: вступительные испытания и ключевые даты
Подключайтесь онлайн 8 апреля в 19:00 мск. → Зарегистрироваться на ДОД

🚀 Почему этот EF Core код тормозит? Технически - всё ок. По производительности не очень. Вот типичная ошибка: ❌ Загружаешь в
🚀 Почему этот EF Core код тормозит? Технически - всё ок. По производительности не очень. Вот типичная ошибка: ❌ Загружаешь всю сущность (все колонки) ❌ Потом фильтруешь и мапишь уже в памяти Что происходит: - лишние данные тянутся из БД - растёт нагрузка на сеть - увеличивается потребление памяти - замедляется приложение ✅ Как правильно: Используй проекцию через `.Select()` прямо в запросе: - берёшь только нужные поля - меньше данных из БД - быстрее запрос - меньше нагрузка на систему 📌 Правило простое: Не тащи всё - бери только то, что используешь Именно такие мелочи чаще всего дают x2–x10 к скорости.

☁️ Как на самом деле устроены инфраструктурные сервисы Yandex Cloud? Разработчики Yandex Cloud и Yandex Infrastructure расска
☁️ Как на самом деле устроены инфраструктурные сервисы Yandex Cloud? Разработчики Yandex Cloud и Yandex Infrastructure расскажут об этом 16 апреля на встрече для разработчиков, архитекторов и сетевых инженеров. В программе вас ждут реальные технические варианты реализации и опыт нетривиальных решений разработчиков платформы: — Инфраструктура как код для управления оповещениями: и никаких проблем — Развёртывание в ритме танго: как мы заменили оркестрацию процесса установки «хореографией» — Как мы оптимизируем вывод больших языковых моделей: кэширование, время отклика и ресурсы графических ускорителей — Как мы строили собственный сервис доставки контента и через что нам пришлось пройти? — Как мы работаем с уязвимостями на примере современных атак — Секретный доклад (онлайн трансляция не предусмотрена) Участники смогут обсудить самые “горячие” вопросы, технические варианты реализации и ошибки с разработчиками сервисов Yandex Cloud и другими участниками. Когда: 16 апреля офлайн в Москве и онлайн. Помимо экспертных докладов, офлайн участников ждут развлекательная программа, а тех, кто онлайн: инженерное соревнование в прямом эфире. Регистрируйтесь, чтобы послушать реальные истории от разработчиков, обменяться опытом и узнать, что скрыто под «капотом» инфраструктурных сервисов, а также какие планы у команды на будущее.

🚀 Динамические Claims в ASP.NET Core Хотите добавлять права пользователю прямо во время выполнения приложения? В ASP.NET Cor
🚀 Динамические Claims в ASP.NET Core Хотите добавлять права пользователю прямо во время выполнения приложения? В ASP.NET Core это можно сделать через Claims Transformation. Что это даёт: - можно подтягивать данные из базы или внешнего сервиса - добавлять их в HttpContext.User - строить гибкие политики авторизации То есть права пользователя можно расширять динамически, без изменения токена или повторной аутентификации. Пример из поста: Во время трансформации claims добавляется новый claim: CardType = "platinum" После этого можно создать policy: - пользователь должен быть аутентифицирован - у него должен быть claim CardType = platinum И использовать её в авторизации. Это особенно полезно для: - RBAC (role-based access control) - сложных систем прав - динамических разрешений из БД - feature-based доступа Например: - premium пользователь - платиновая карта - доступ к закрытому API - платные функции Claims Transformation позволяет подмешивать эти права на лету. Полная статья: https://milanjovanovic.tech/blog/master-claims-transformation-for-flexible-aspnetcore-authorization

👩‍💻 Открытый урок «Производительность кода на примере алгоритмов сортировки» 🗓 21 апреля в 20:00 МСК 🆓 На этом открытом у
👩‍💻 Открытый урок «Производительность кода на примере алгоритмов сортировки» 🗓 21 апреля в 20:00 МСК 🆓 На этом открытом уроке мы разберёмся, как скорость работы программы зависит от выбранного способа решения задачи - на понятном примере сортировки данных 🔍 Что вы узнаете на вебинаре: • Почему существует несколько способов выполнить одну и ту же задачу • Как разные подходы к сортировке данных влияют на скорость работы программы • Почему одни решения подходят для маленьких объёмов данных, а другие — для больших • Что происходит с программой, когда данных становится в 10, 100 или 1000 раз больше 🎯 Кому будет полезно: • Тем, кто только присматривается к профессии разработчика на C# • Новичкам, которые начали изучать C# и хотят понимать, как писать «быстрый» код • Всем, кто хочет разобраться, от чего зависит скорость работы приложений 🔗 Ссылка на регистрацию: https://otus.pw/GAHM/?erid=2W5zFGdMqeZ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

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

#ПятничныйКвиз
#ПятничныйКвиз

FluentValidation делает валидацию входных данных очень простой. Знаете ли вы, что валидаторы поддерживают DI (Dependency Inje
FluentValidation делает валидацию входных данных очень простой. Знаете ли вы, что валидаторы поддерживают DI (Dependency Injection)? Можно внедрять объекты настроек, настроенные через DI, и использовать их прямо внутри валидаторов. Посмотрите пример в коде ниже.

👩‍💻 Открытый урок «Как работают структуры данных C# "под капотом"» 🗓 13 апреля в 20:00 МСК 🆓 На этом открытом уроке мы пр
👩‍💻 Открытый урок «Как работают структуры данных C# "под капотом"» 🗓 13 апреля в 20:00 МСК 🆓 На этом открытом уроке мы простым и понятным языком разберём структуры данных, что происходит внутри программы, когда она хранит и обрабатывает данные. Что рассмотрим на вебинаре: ✔ Внутреннее устройство ключевых коллекций ✔ Принципы работы и алгоритмическую сложность операций ✔ Особенности реализации, влияющие на производительность Кому будет полезно: ✔ Начинающим разработчикам - чтобы углубить понимание платформы .NET и писать эффективный, надёжный код. ✔ Тем, кто готовится к техническим собеседованиям (вопросы о внутреннем устройстве коллекций и сложности операций - классика интервью). ✔ Всем, кто хочет осознанно выбирать структуры данных - избегать типичных ошибок, понимать компромиссы и узкие места. 🔗 Ссылка на регистрацию: https://otus.pw/HE4y/?erid=2W5zFJNNR7F Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Разработчик показал, как использовать Ollama для извлечения данных из чеков прямо в .NET. Самая интересная часть оказалась не
Разработчик показал, как использовать Ollama для извлечения данных из чеков прямо в .NET. Самая интересная часть оказалась не в том, чтобы отправить изображение модели. Гораздо сложнее было получить результат, который можно реально использовать в коде. Обычный текстовый ответ мало помогает, когда нужны структурированные данные: - позиции из чека - количество - цены - итоговая сумма Поэтому вместо обычного ответа модель начали просить возвращать JSON. После этого результат можно сразу маппить в C#-объекты и использовать в приложении. И именно здесь начинается самое интересное. Большая часть работы — не код, а правильный prompt. Если модель: - округляла цену - пропускала цифру - или «придумывала» позицию приходилось уточнять инструкции. Это и есть главный сдвиг в таком подходе: раньше разработчик писал парсеры и regex, а теперь — настраивает поведение модели через prompt. Когда модель начинает возвращать структурированные данные, всё остальное снова превращается в обычный код приложения. Разбор полной реализации: https://milanjovanovic.tech/blog/how-to-extract-structured-data-from-images-using-ollama-in-dotnet #ai #ollama #dotnet #csharp

Vector Search - как это работает (и почему это важно для .NET разработчиков) Vector search ищет смысловую близость, а не прос
Vector Search - как это работает (и почему это важно для .NET разработчиков) Vector search ищет смысловую близость, а не просто точные совпадения. Он сравнивает данные - текст, изображения или аудио - используя векторные эмбеддинги в многомерном пространстве. То есть система ищет не одинаковые слова, а похожие по смыслу объекты. Почему это важно? Vector search лежит в основе многих AI-функций: - семантический поиск - рекомендательные системы - интеграции с LLM - умные ассистенты внутри приложений Добавив векторный поиск в приложение, разработчик может создавать намного более умные продукты, которые понимают смысл запросов пользователя. Это дает реальную бизнес-ценность - от поиска по документам до персонализированных рекомендаций. 📍 Полный пример реализации

🔵Ozon Tech приглашает на Community .NET Meetup 24 марта (вторник) в Москве (Лофт Casa Picassa) и онлайн. В программе три док
🔵Ozon Tech приглашает на Community .NET Meetup 24 марта (вторник) в Москве (Лофт Casa Picassa) и онлайн. В программе три доклада, много кейсов и камерная дискуссия без записи. В фокусе primitive obsession, нагрузка с Load Shedding и Escape Analysis в JIT. За подробной программой и регистрацией — сюда ⬅️

Есть более эффективный способ делать массовые обновления в EF Core. Начиная с EF Core 7 появился метод ExecuteUpdate, который
Есть более эффективный способ делать массовые обновления в EF Core. Начиная с EF Core 7 появился метод ExecuteUpdate, который позволяет обновлять записи напрямую на стороне базы данных. Вместо того чтобы загружать объекты в память, изменять их в цикле и затем вызывать SaveChanges, можно выполнить обновление одним SQL-запросом. Это значительно быстрее и снижает нагрузку на приложение, особенно при работе с большими таблицами. Однако есть важное условие: нужно заранее знать, какое поле вы обновляете и какое значение ему присваиваете, поскольку операция формируется как прямой SQL-update. Такой подход отлично подходит для массовых операций и оптимизации производительности в EF Core.

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

#ПятничныйКвиз
#ПятничныйКвиз

C# records - идеальный способ создавать value objects. Почему это важно? В DDD value object должен: - быть неизменяемым (immu
C# records - идеальный способ создавать value objects. Почему это важно? В DDD value object должен: - быть неизменяемым (immutable) - сравниваться по значениям, а не по ссылке Именно это records дают из коробки. Что получаем: - неизменяемость через init - структурное сравнение (Value Equality) - короткий и чистый синтаксис - deconstruction - pattern matching Пример:

public class Booking
{
    public Address Address { get; init; }
    public DateRange Period { get; init; }
}

public record Address(
    string Street,
    string City,
    string State,
    string Country,
    string ZipCode);
Теперь два Address считаются равными, если совпадают их поля - без переопределения Equals и GetHashCode. Раньше для value object приходилось писать: • конструкторы • Equals • GetHashCode • оператор == Теперь - одна строка. Records делают value objects: • безопаснее • проще • ближе к функциональному стилю Если используете DDD в .NET - records должны быть стандартом для value objects.

Как меняется роль разработчика в 2026 году? AI стремительно меняет то, как создаются продукты и пишется код. Всё чаще обсужда
Как меняется роль разработчика в 2026 году? AI стремительно меняет то, как создаются продукты и пишется код. Всё чаще обсуждают не только новые инструменты, но и более фундаментальный вопрос: какой будет роль разработчика в ближайшие годы. 24 марта Mindbox проводит открытые дебаты, где эксперты по AI из SberDevices и Itsy обсудят, куда движутся технологии и как это влияет на работу инженеров. Что будет на встрече: — разговор о том, как на AI смотрят с двух сторон: со стороны бизнеса и со стороны разработки — возможность задать свои вопросы и обсудить их прямо во время дебатов — реальные идеи и практики, которые уже используют команды Если вам интересно, как меняется индустрия и какие навыки будут важны дальше — подключайтесь и приносите свои вопросы. Канал Сергея Маркова Канал Никиты Архипова 📅 24 марта ⏰ 19:00–20:30 мск 📍 Онлайн, бесплатно 👉 Зарегистрироваться Реклама. ООО «Майндбокс», ИНН: 7713688880, erid: 2W5zFGn2zp1

В .NET 8 появился простой способ сделать HttpClient устойчивым к сбоям — буквально одной строкой. Microsoft добавила библиоте
В .NET 8 появился простой способ сделать HttpClient устойчивым к сбоям — буквально одной строкой. Microsoft добавила библиотеку Microsoft.Extensions.Http.Resilience, в которой уже есть готовые pipeline’ы для обработки ошибок при HTTP-запросах. Что это даёт из коробки: - Retry при временных сбоях - Timeout - Circuit Breaker - Rate limiting - Защиту от перегрузки Подключается максимально просто:

services.AddHttpClient<GitHubService>(static httpClient =>
{
    httpClient.BaseAddress = new Uri("https://api.github.com/");
})
.AddStandardResilienceHandler();

⚡️ Exceptions - это для действительно исключительных ситуаций. Но в реальном приложении они все равно будут случаться, и их н
⚡️ Exceptions - это для действительно исключительных ситуаций. Но в реальном приложении они все равно будут случаться, и их нужно обрабатывать предсказуемо. Самый удобный способ в ASP.NET Core - сделать глобальный обработчик через middleware: - перехватываем любые необработанные исключения - логируем ошибку - возвращаем клиенту единый JSON-ответ (ProblemDetails) с 500 Пример:

public class ExceptionHandlingMiddleware
{
    private readonly RequestDelegate _next;
    private readonly ILogger<ExceptionHandlingMiddleware> _logger;

    public ExceptionHandlingMiddleware(
        RequestDelegate next,
        ILogger<ExceptionHandlingMiddleware> logger)
    {
        _next = next;
        _logger = logger;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        try
        {
            await _next(context);
        }
        catch (Exception exception)
        {
            _logger.LogError(
                exception, "Exception occurred: {Message}", exception.Message);

            var problemDetails = new ProblemDetails
            {
                Status = StatusCodes.Status500InternalServerError,
                Title = "Server Error"
            };

            context.Response.StatusCode =
                StatusCodes.Status500InternalServerError;

            await context.Response.WriteAsJsonAsync(problemDetails);
        }
    }
}