ch
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 302 名订阅者,在 技术与应用 类别中位列第 7 331,并在 俄罗斯 地区排名第 36 951

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 18 302 名订阅者。

根据 11 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -27,过去 24 小时变化为 6,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 16.94%。内容发布后 24 小时内通常能获得 8.35% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 3 100 次浏览,首日通常累积 1 528 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 0
  • 主题关注点: 内容集中在 .net, api, логика, архитектура, string 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ

凭借高频更新(最新数据采集于 12 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

18 302
订阅者
+624 小时
-27
-2730
帖子存档
🧠 EF Core и Repository: когда паттерн мешает, а не помогает 👶 Junior: использует EF Core прямо в контроллере 🧑 Middle: стр
🧠 EF Core и Repository: когда паттерн мешает, а не помогает 👶 Junior: использует EF Core прямо в контроллере 🧑 Middle: строит BaseRepository, IUnitOfWork, IOrderRepository, IOrderDataAccess... 🧓 Senior: снова использует EF Core — без репозиториев Почему так? Сначала Repository Pattern кажется удобным: 4 метода на CRUD — всё аккуратно. Но как только домен растёт, появляются проблемы: - Репозиторий на каждую сущность - Общая логика между сущностями? Куда её девать? - Репозитории раздуваются до 10+ методов - Тестируемость становится фикцией: мокаем абстракцию от абстракции А что насчёт "мы вдруг сменим базу"? В 99% случаев — не смените. EF Core и так абстрагирует SQL. А при переходе на NoSQL придётся переписывать модели, запросы и подход целиком. А что с "это улучшает разделение ответственности"? На деле: - В сервисах висит куча репозиториев - Общая логика размыта - Больше обвязки, больше боли, меньше пользы ✅ DbContext уже реализует Repository и Unit of Work. И это официально указано в исходниках EF Core. 🔥 17 000+ разработчиков уже ушли от репозиториев к практичному использованию EF Core в: - N-Layered архитектуре - Clean Architecture - Vertical Slice - Specification Pattern - Интеграционных тестах с in-memory 📖 Подробнее: https://antondevtips.com/blog/why-you-dont-need-a-repository-in-ef-core #dotnet #efcore #architecture #backend #repositorypattern

😁 Программируй бота на dev-платформе SourceCraft от Яндекса c AI-ассистентом! На SourceCraft легко создать бот: хранить код,
😁 Программируй бота на dev-платформе SourceCraft от Яндекса c AI-ассистентом! На SourceCraft легко создать бот: хранить код, настраивать задачи, писать автотесты, автоматизировать развертывание. А вместе со встроенным AI-ассистентом это можно сделать еще быстрее! 💡 И вот что ещё круто: всем пользователям дарим грант 6 000 ₽ на сервисы облака, чтобы бот жил на полноценной инфраструктуре. Получить грант и запустить бота Создавай бота для любых задач на платформе SourceCraft!

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

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

10 практических шагах, которые делают запросы EF Core быстрее в 10 раз — и о том, что чаще всего проблема не в EF, а в том, к
10 практических шагах, которые делают запросы EF Core быстрее в 10 раз — и о том, что чаще всего проблема не в EF, а в том, как разработчики его используют. 1️⃣ Добавлять индексы EF не создаёт их сам. Он рекомендует вручную индексировать колонки из WHERE, JOIN и ORDER BY. 2️⃣ Оптимизировать проекции Не нужно забирать целую сущность, если нужны 2–3 поля — лучше использовать .Select(). 3️⃣ Использовать AsNoTracking для чтения Отслеживание сущностей расходует память и CPU, поэтому для read-only операций он предлагает .AsNoTracking() или глобальное правило NoTracking. 4️⃣ Аккуратно использовать Include Слишком много Include приводит либо к N+1, либо к огромным JOIN. Он советует включать только нужные связи. 5️⃣ Избегать больших IN / Contains Тысячи значений в Contains() превращаются в тяжёлые IN. Лучше бить на батчи или использовать временные таблицы. 6️⃣ Делать пагинацию Он подчёркивает, что нельзя грузить тысячные выборки целиком: нужны .Skip().Take() или курсорная пагинация. 7️⃣ Использовать скомпилированные запросы Часто вызываемые запросы можно ускорить через EF.CompileQuery(). 8️⃣ Включать SplitQuery Это помогает избежать «картезианского взрыва», когда много Include создают огромное количество дублирующихся строк. 9️⃣ Писать RAW SQL, если логика сложная Иногда проще и быстрее использовать FromSqlRaw(), чтобы контролировать план запроса напрямую. 🔟 Использовать кэширование Часто запрашиваемые данные должны идти из кэша — MemoryCache, Redis или новый HybridCache в .NET 9+. Бонус: Перед оптимизацией он советует обязательно измерять узкие места: BenchmarkDotNet, SQL Profiler, планы выполнения. Ссылка на оригинал

Реактивное программирование в C# Advanced: сложные операторы, обработка ошибок и холодные/горячие Observable Асинхронность в
Реактивное программирование в C# Advanced: сложные операторы, обработка ошибок и холодные/горячие Observable Асинхронность в C# может быть простой, если знать, как с ней работать правильно. На открытом вебинаре курса OTUS C# Developer. Advanced Елена Сычева покажет, как реактивное программирование помогает избавиться от Callback Hell и писать код, который сам реагирует на данные и события. 📌 26 ноября, 20:00 Реактивное программирование в C# Advanced — продвинутые операторы Rx.NET: Switch, GroupBy, Buffer, Throttle — устойчивые к сбоям системы: Catch, Retry, Finally — холодные и горячие Observable: Publish, Replay, RefCount — управление подписками и жизненным циклом реактивных компонентов Вебинар будет полезен разработчикам на C#, работающим с асинхронным кодом, потоками данных и событиями. Участники узнают, как проектировать реактивные системы, способные восстанавливаться после ошибок, и писать декларативный, читаемый и эффективный код. 👉 Зарегистрируйтесь: https://otus.pw/16bE/?erid=2W5zFJg2ejJ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

✔️ Google подружила Colab с Visual Studio Code. Компания выпустила расширение, которое напрямую связывает редактор кода со средами выполнения Google Colab. Иными словами, теперь можно работать с локальными .ipynb файлами, но выполнять код на Google Colab. Поддерживается подключение как к бесплатным средам выполнения, так и к премиум-тарифам Colab Pro. Для начала работы достаточно установить расширение Google Colab из VS Code Marketplace. При выборе ядра для ноутбука появится опция «Colab», после чего нужно будет авторизоваться в аккаунте Google. Расширение также опубликовано в реестре Open VSX для совместимых редакторов. developers.googleblog.com

Представь, тебе завтра пишет Microsoft и говорит: “Мы хотим использовать ваш продукт. Поддерживаете ли вы SSO?” Можешь ответи
Представь, тебе завтра пишет Microsoft и говорит: “Мы хотим использовать ваш продукт. Поддерживаете ли вы SSO?” Можешь ответить “да”? Большинство SaaS-команд - нет. У них есть просто логин, но не корпоративный вход. В больших компаниях сотрудники не создают отдельные пароли для каждого сервиса. Они входят через корпоративные аккаунты - Okta, Microsoft Entra ID, Google Workspace и т.д. Именно это делает Single Sign-On (SSO). Но внедрить SSO непросто: десятки протоколов (SAML, OIDC, SCIM), куча интеграций, каждая со своими нюансами. Это занимает недели и не делает продукт лучше — просто нужно, если хочешь продавать в enterprise. И вот тут помогает WorkOS. Вместо десятков интеграций - одна. Ты подключаешь WorkOS, а он сам работает с нужным провайдером входа. Когда пользователь нажимает «Sign in with SSO» и вводит домен, WorkOS определяет нужный IdP, перенаправляет на корпоративную страницу входа и возвращает готовый профиль пользователя в твоё приложение. Плюс есть AuthKit - готовый интерфейс входа с поддержкой паролей, соцсетей, magic-auth и SSO сразу из коробки: https://github.com/workos/authkit

🔥 Хитрая .NET-задача Дан код:

public class Fetcher
{
    private readonly HttpClient _client = new HttpClient();

    public async Task<string> DownloadAsync(string url)
    {
        await Task.Delay(10);
        return await _client.GetStringAsync(url);
    }
}

public async Task RunAsync()
{
    var fetcher = new Fetcher();
    var tasks = Enumerable.Range(0, 5)
                          .Select(_ => fetcher.DownloadAsync("https://example.com"))
                          .ToList();

    await Task.WhenAll(tasks);

    Console.WriteLine("Done");
}
Вопросы: 1) Код может «подвиснуть» или упасть в продакшене. Какие два скрытых дефекта здесь спрятаны? 2) Как их исправить без изменения сигнатур методов? 3) Почему HttpClient здесь одновременно правильно и неправильно? 4) Что произойдет, если: заменить HttpClient на HttpClientFactory; - убрать Task.Delay(10)? 5) Как переписать класс так, чтобы он был: - потокобезопасным - быстрым - без скрытных deadlock-сценариев - и выдерживал сотни запросов в секунду? Требования: - нельзя менять логику RunAsync - нельзя кэшировать результат - код должен оставаться асинхронным

🔥 Подборка полезных ресурсов для программистов. Здесь ты найдёшь всё это - коротко, по делу и без воды. Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты! AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Devops: t.me/DevOPSitsec Собеседования DS: t.me/machinelearning_interview C++ t.me/cpluspluc Docker: t.me/DevopsDocker Хакинг: t.me/linuxkalii Data Science: t.me/data_analysis_ml Javascript: t.me/javascriptv C#: t.me/csharp_1001_notes Java: t.me/java_library Базы данных: t.me/sqlhub 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 Haskell: t.me/haskell_tg Физика: t.me/fizmat 💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy Папка Linux:https://t.me/addlist/w4Doot-XBG4xNzYy 😆ИТ-Мемы: t.me/memes_prog 🇬🇧Английский: t.me/english_forprogrammers 🧠ИИ: t.me/vistehno 🎓954ГБ ОПЕНСОРС КУРСОВ: @courses 📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Сохрани себе, чтобы не потерять!

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

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

⚡️ Релиз .NET 10 .NET 10 - свежий LTS-релиз с поддержкой до ноября 2028 года. Платформа стала значительно быстрее благодаря у
+1
⚡️ Релиз .NET 10 .NET 10 - свежий LTS-релиз с поддержкой до ноября 2028 года. Платформа стала значительно быстрее благодаря улучшениям в JIT, NativeAOT и поддержке AVX10.2. Добавлена постквантовая криптография, возможность запускать приложения прямо из исходных файлов (например, main.cs), а также новый AI Agent Framework, улучшения в Blazor и расширенная поддержка OpenAPI. @csharp_ci

Представь, тебе завтра пишет Microsoft и говорит: “Мы хотим использовать ваш продукт. Поддерживаете ли вы SSO?” Можешь ответи
+3
Представь, тебе завтра пишет Microsoft и говорит: “Мы хотим использовать ваш продукт. Поддерживаете ли вы SSO?” Можешь ответить “да”? Большинство SaaS-команд - нет. У них есть просто логин, но не корпоративный вход. В больших компаниях сотрудники не создают отдельные пароли для каждого сервиса. Они входят через корпоративные аккаунты - Okta, Microsoft Entra ID, Google Workspace и т.д. Именно это делает Single Sign-On (SSO). Но внедрить SSO непросто: десятки протоколов (SAML, OIDC, SCIM), куча интеграций, каждая со своими нюансами. Это занимает недели и не делает продукт лучше — просто нужно, если хочешь продавать в enterprise. И вот тут помогает WorkOS. Вместо десятков интеграций - одна. Ты подключаешь WorkOS, а он сам работает с нужным провайдером входа. Когда пользователь нажимает «Sign in with SSO» и вводит домен, WorkOS определяет нужный IdP, перенаправляет на корпоративную страницу входа и возвращает готовый профиль пользователя в твоё приложение. Плюс есть AuthKit - готовый интерфейс входа с поддержкой паролей, соцсетей, magic-auth и SSO сразу из коробки: https://github.com/workos/authkit

⚡️ 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

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