Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «C# (C Sharp) programming»

C# (C Sharp) programming
1.9K
6.8K
2.0K
105
0
По всем вопросам- @haarrp

C# - канал Senior C# разработчика.

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci - C# академия

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb

#VRHSZ
Подписчики
Всего
18 048
Сегодня
-3
Просмотров на пост
Всего
1 846
ER
Общий
10.23%
Суточный
7.88%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 1 871 поста
Смотреть все посты
Пост от 27.10.2026 11:38
488
0
20
💻️️️️️️ Rate Limiting в ASP.NET Core: четыре алгоритма, которые ограничивают нагрузку по-разному.

Антон Мартынюк разобрал их с примерами на C# и сценариями применения.

Fixed Window – фиксированное окно
Например, 100 запросов за минуту. После сброса счётчика лимит доступен заново. Подвох: 100 запросов перед границей окна и ещё 100 сразу после могут пройти почти одновременно.

Sliding Window – скользящее окно
Делит окно на сегменты и постепенно освобождает использованные разрешения. Сглаживает всплески на границах окон; точность зависит от размера сегментов.

Token Bucket – корзина токенов
Каждый запрос расходует токен, запас регулярно пополняется. Позволяет отдельно настроить размер допустимого всплеска и устойчивую интенсивность запросов.

Concurrency Limiter – ограничение параллельности
Например, не больше пяти одновременно выполняющихся экспортов. Новое разрешение появляется после завершения запроса. Число последовательных запросов в минуту этот алгоритм не ограничивает.

В статье есть и практические ловушки:

- Именованная политика сама по себе не создаёт отдельный лимит каждому клиенту. Нужны разделы по IP, пользователю или API-ключу.
- За reverse proxy необходимо корректно настроить доверенные forwarded headers.
- Счётчики хранятся в памяти процесса. Несколько экземпляров приложения не получают общий лимит автоматически.
- Ответ 429 и обработку Retry-After нужно настроить явно.

https://antondevtips.com/blog/aspnet-core-rate-limiting-algorithms-explained
Пост от 25.10.2026 12:04
297
0
18
«Ускорь этот C#-код» — полезнее просить ИИ вместе с инструкцией, как измерять результат.

BlazingFastDotnet — сборник приёмов оптимизации .NET 10 и 11, упакованный в SKILL.md для ИИ-агентов. Его можно читать и как обычный технический справочник.

Внутри:

- Поиск узких мест: dotnet-counters, dotnet-trace, Linux perf и анализ машинного кода JIT.
- Память и многопоточность: аллокации, GC, конкуренция за блокировки и false sharing.
- Настройка выполнения: ThreadPool, сокеты, JIT и параметры NativeAOT.
- Оптимизация C#: SIMD, работа со строками и ASP.NET Core.

Автор предлагает подключать документ по необходимости, когда появилась конкретная задача ускорения.

Порядок работы простой: замерить исходную производительность → найти причину → менять по одному параметру → сохранять только измеримый выигрыш.

Часть рекомендаций рассчитана прежде всего на бенчмарки. Настройки могут обменивать память на скорость или увеличивать нагрузку на CPU, поэтому переносить их в продакшен стоит после проверки на своей нагрузке.

https://github.com/EgorBo/BlazingFastDotnet
Пост от 21.10.2026 13:45
462
0
6
🔐 «Не одобряй собственные расходы» — такое правило нужно проверять на сервере

Тайсир Джуде показывает, как защитить MCP-сервер на ASP.NET Core через Microsoft Entra ID.

На примере приложения для учёта расходов автор разбирает:

• Регистрацию сервера и клиента в Entra ID.
• Вход пользователя и проверку JWT-токенов.
• Разницу между scope - разрешением приложению действовать от имени пользователя — и ролью, позволяющей одобрять расходы.
• Ограничение доступа к отдельным MCP-инструментам и фильтрацию списка доступных tools.

Самый показательный момент: пользователь с ролью согласующего может одобрить чужой отчёт, но свой сервер отклонит. Личность определяется по токену, а бизнес-правило проверяется в коде.

Модель выбирает, какой инструмент вызвать. Сервер решает, разрешено ли выполнить действие.

📖 https://bitoftech.net/2026/10/13/securing-mcp-server-microsoft-entra-id/

#aspnetcore #dotnet #mcp
Пост от 21.10.2026 12:34
175
0
3
⌨️ Магические слова async/await

Приглашаем на открытый урок.

🗓 29 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C#-разработчик. Продвинутый уровень».

Разберем, как браузер общается с сервером, и создадим работающий HTTP-сервис без Spring и сторонних библиотек.

О чем поговорим:
✔️ Как связаны понятия асинхронности и многопоточности
✔️ Синтаксис async/await-конструкций
✔️ Во что компилируется конструкция async/await
✔️ Работа с исключениями при ожидании

🔗 Ссылка на регистрацию: https://otus.pw/DCX1/?erid=2W5zFJeppAM

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Пост от 19.10.2026 16:37
167
1
5
🧩 C# с подвохом: одна переменная — сколько запросов к БД?

В базе есть просроченные заказы. db.Orders — это DbSet<Order> в EF Core, а NotifyAsync к базе не обращается.


IEnumerable<Order> late = db.Orders
.Where(o => o.DueDate < today);

if (late.Any())
{
logger.LogWarning(
"{Count} late orders",
late.Count()
);

foreach (var order in late)
{
await notifier.NotifyAsync(order);
}
}


Сколько раз код обратится к базе и где будет выполняться подсчёт — в SQL или в памяти приложения?

Обратите внимание на тип late в первой строке. И изменится ли поведение, если заменить IEnumerable<Order> на var?

👇 Пишите ответ с объяснением.
Пост от 18.10.2026 14:00
525
0
25
⚡ Где тормозит .NET-приложение? SharpLsp покажет прямо в VS Code

В SharpLsp есть встроенный профилировщик CPU и памяти для C# и F#. Подключаешься к уже работающему процессу и смотришь, на что приложение тратит ресурсы. Перезапускать и пересобирать его не нужно.

После сбора CPU-профиля расширение подсвечивает горячие строки кода, строит flame graph и показывает функции, которые занимают больше всего процессорного времени.

Для памяти доступны отслеживание кучи, сравнение снимков и граф ссылок, помогающий понять, что удерживает объекты в памяти. Подозреваемые на утечки отображаются по мере работы приложения.

Отдельно устанавливать `dotnet-trace` не требуется. Движку профилировщика нужен runtime .NET 8 или новее, а у целевого процесса должна быть включена диагностика.

Проект открытый, под лицензией MIT, работает на Windows, macOS и Linux.

https://sharplsp.dev/blog/dotnet-profiler-vs-code-csharp-fsharp/
Пост от 18.10.2026 12:10
202
0
0
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.

AI: telemetr.me/ai_machinelearning_big_data
Python: telemetr.me/pythonl
Linux: telemetr.me/linuxacademiya
Хакинг: telemetr.me/linuxkalii
DevOps: telemetr.me/DevOPSitsec
Docker: telemetr.me/+90Z5TAyfuNU5YmRi
Golang: telemetr.me/Golang_google
Rust: telemetr.me/rust_code
C++: telemetr.me/cpluspluc
C#: telemetr.me/csharp_1001_notes
Java: telemetr.me/javatg
JavaScript: telemetr.me/javascriptv
React: telemetr.me/react_tg
Frontend: telemetr.me/front
PHP: telemetr.me/phpshka
Android: telemetr.me/android_its
Мобильная разработка: telemetr.me/mobdevelop
Базы данных: telemetr.me/sqlhub
Data Science: telemetr.me/data_analysis_ml
Big Data: telemetr.me/bigdatai
Математика: telemetr.me/data_math
Физика: telemetr.me/fizmat
Kubernetes: telemetr.me/kubernetc
GameDev: telemetr.me/gamedev
Haskell: telemetr.me/haskell_tg

Собеседования и карьера:

DS собеседования: telemetr.me/machinelearning_interview
Python собеседования: telemetr.me/python_job_interview

Папка с вакансиями: telemetr.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: telemetr.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: telemetr.me/addlist/eEPya-HF6mkxMGIy
Папка ML: telemetr.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: telemetr.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: telemetr.me/memes_prog
Английский для программистов: telemetr.me/english_forprogrammers
ИИ и технологии: telemetr.me/vistehno
954 ГБ open-source курсов: telemetr.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: telemetr.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
Смотреть все посты