fa
Feedback
.NET / C#

.NET / C#

رفتن به کانال در Telegram

Лучшие материалы по разработке на платформе .NET и языке C# Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

نمایش بیشتر
3 872
مشترکین
+124 ساعت
-17 روز
+330 روز

در حال بارگیری داده...

جذب مشترکین
ژوئن '26
ژوئن '26
+10
در 0 کانال‌ها
مه '26
+54
در 0 کانال‌ها
Get PRO
آوریل '26
+59
در 0 کانال‌ها
Get PRO
مارس '26
+32
در 0 کانال‌ها
Get PRO
فوریه '26
+44
در 0 کانال‌ها
Get PRO
ژانویه '26
+60
در 0 کانال‌ها
Get PRO
دسامبر '25
+35
در 0 کانال‌ها
Get PRO
نوامبر '25
+58
در 0 کانال‌ها
Get PRO
اکتبر '25
+48
در 0 کانال‌ها
Get PRO
سپتامبر '25
+52
در 0 کانال‌ها
Get PRO
اوت '25
+64
در 0 کانال‌ها
Get PRO
ژوئیه '25
+50
در 0 کانال‌ها
Get PRO
ژوئن '25
+52
در 0 کانال‌ها
Get PRO
مه '25
+54
در 0 کانال‌ها
Get PRO
آوریل '25
+77
در 0 کانال‌ها
Get PRO
مارس '25
+91
در 0 کانال‌ها
Get PRO
فوریه '25
+82
در 0 کانال‌ها
Get PRO
ژانویه '25
+107
در 0 کانال‌ها
Get PRO
دسامبر '24
+107
در 0 کانال‌ها
Get PRO
نوامبر '24
+103
در 0 کانال‌ها
Get PRO
اکتبر '24
+120
در 0 کانال‌ها
Get PRO
سپتامبر '24
+119
در 0 کانال‌ها
Get PRO
اوت '24
+109
در 0 کانال‌ها
Get PRO
ژوئیه '24
+107
در 0 کانال‌ها
Get PRO
ژوئن '24
+110
در 0 کانال‌ها
Get PRO
مه '24
+102
در 0 کانال‌ها
Get PRO
آوریل '24
+98
در 0 کانال‌ها
Get PRO
مارس '24
+141
در 0 کانال‌ها
Get PRO
فوریه '24
+97
در 0 کانال‌ها
Get PRO
ژانویه '24
+65
در 0 کانال‌ها
Get PRO
دسامبر '23
+73
در 0 کانال‌ها
Get PRO
نوامبر '23
+55
در 0 کانال‌ها
Get PRO
اکتبر '23
+50
در 0 کانال‌ها
Get PRO
سپتامبر '23
+70
در 0 کانال‌ها
Get PRO
اوت '23
+48
در 0 کانال‌ها
Get PRO
ژوئیه '23
+56
در 0 کانال‌ها
Get PRO
ژوئن '23
+49
در 0 کانال‌ها
Get PRO
مه '23
+72
در 0 کانال‌ها
Get PRO
آوریل '23
+149
در 0 کانال‌ها
Get PRO
مارس '23
+92
در 0 کانال‌ها
Get PRO
فوریه '23
+256
در 0 کانال‌ها
Get PRO
ژانویه '23
+91
در 0 کانال‌ها
Get PRO
دسامبر '22
+263
در 0 کانال‌ها
Get PRO
نوامبر '22
+136
در 0 کانال‌ها
Get PRO
اکتبر '22
+140
در 0 کانال‌ها
Get PRO
سپتامبر '22
+166
در 0 کانال‌ها
Get PRO
اوت '22
+146
در 0 کانال‌ها
Get PRO
ژوئیه '22
+280
در 0 کانال‌ها
Get PRO
ژوئن '22
+188
در 0 کانال‌ها
Get PRO
مه '22
+170
در 0 کانال‌ها
Get PRO
آوریل '22
+261
در 0 کانال‌ها
Get PRO
مارس '22
+1 958
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
05 ژوئن+1
04 ژوئن+3
03 ژوئن+2
02 ژوئن+2
01 ژوئن+2
پست‌های کانال
Форма логина и JWT-токен — ещё не безопасность приложения. На практике ошибки в аутентификации и авторизации становятся причи
Форма логина и JWT-токен — ещё не безопасность приложения. На практике ошибки в аутентификации и авторизации становятся причиной утечек данных, проблем с доступом и уязвимостей, которые сложно обнаружить до выхода системы в production. 26 мая в 20:00 МСК присоединяйтесь к открытому уроку курса «C# ASP․NET Core-разработчик». На занятии разберётесь, как в ASP․NET Core устроены pipeline, middleware и схемы аутентификации. Увидите, как правильно использовать JWT, cookies, claims, роли и policy-based авторизацию для гибкого и безопасного контроля доступа. Отдельно рассмотрите типичные ошибки, которые встречаются в production: небезопасное хранение токенов, ошибки настройки схем и проблемы в логике авторизации. Урок будет полезен .NET-разработчикам, которые хотят систематизировать знания по безопасности веб-приложений и увереннее работать с ASP․NET Core в реальных проектах. После занятия вы сможете осознанно выбирать подходы к аутентификации и строить более надёжную архитектуру доступа в приложениях. Регистрация уже открыта: https://otus.ru/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

2
Введение в OpenTelemetry и основы наблюдаемости. Открытый урок курса «C# Developer. Professional» Когда приложение растёт, пе
Введение в OpenTelemetry и основы наблюдаемости. Открытый урок курса «C# Developer. Professional» Когда приложение растёт, перестаёт хватать интуиции и отдельных журналов событий. Уже недостаточно просто знать, что «где-то была ошибка». Нужно понимать, где именно возникла задержка, как запрос прошёл через систему, какой сервис стал узким местом и что происходит с приложением в реальном времени. ⚡️ На открытом уроке 19 мая в 20:00 разберём основы наблюдаемости и посмотрим, как с этим помогает OpenTelemetry. Поговорим о том, зачем вообще нужна наблюдаемость, чем отличаются журналы событий, метрики и трассировки, как отслеживается путь запроса между сервисами и как выглядит базовая инструментализация приложения на ASP․NET Core. Также покажем, как эти данные отправляются в системы мониторинга и с чего начать, если тема для вас новая. Урок не для тех, кто считает, что одного журнала событий достаточно для понимания системы, или хочет «подключить наблюдаемость» без понимания, какие данные и зачем вообще нужны. ➡️ Записаться Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
592
3
Качество C#-кода: от модульных тестов к системному подходу. Открытый урок курса «C#-разработчик. Продвинутый уровень» Во мног
Качество C#-кода: от модульных тестов к системному подходу. Открытый урок курса «C#-разработчик. Продвинутый уровень» Во многих командах качество кода до сих пор пытаются измерять количеством тестов. Но на практике «всё зелёное» не означает, что система действительно надёжна. Продакшен падает, сценарии не покрыты, а уверенности в коде всё равно нет. Значит, проблема не только в тестах, а в том, как вы вообще смотрите на качество. На открытом уроке 29 апреля в 20:00 вы узнаете: — как перейти от отдельных модульных тестов к более целостному подходу к качеству в проектах на C#; — чем качество можно измерять; — почему у модульных тестов есть слабые стороны; — как начать выстраивать тестовую архитектуру, которая действительно помогает команде. Отдельно обсудят, когда нужны интеграционные проверки, как подготовить для них окружение и как использовать testcontainers, чтобы проверять поведение системы в условиях, близких к рабочим. Спикер — разработчик с коммерческим опытом более 10 лет. Сейчас занимается системой видеонаблюдения и видеоаналитики. Работал с .NET: от десктопных WPF-приложений до микросервисов на ASP․NET. Урок не для тех, кто считает, что качество равно количеству тестов, или хочет «прикрыть проект тестами» без понимания архитектуры, рисков и реального поведения системы. Записаться на открытый урок Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
637
4
Перед вами галактика SourceCraft — современная платформа для разработчиков Внутри всё устроено как солнечная система: есть пл
Перед вами галактика SourceCraft — современная платформа для разработчиков Внутри всё устроено как солнечная система: есть планеты CI/CD, ИИ-ассистент, code review, безопасность и облачная среда. Проходите викторину, узнаёте про космос и разработку, а в конце — участие в розыгрыше призов.
1 049
5
Многопоточность работает, пока не появляется гонка данных. Код корректный, но периодически возникают ошибки, которые сложно в
Многопоточность работает, пока не появляется гонка данных. Код корректный, но периодически возникают ошибки, которые сложно воспроизвести и объяснить. Вы приглашены на открытый урок «Облегчённые (Slim) примитивы синхронизации» ⚡️16 апреля в 20:00 МСК ➡️На открытом уроке рассмотрят: — Проблему синхронизации доступа к общему ресурсу в многопоточном приложении в рамках внутрипроцессного взаимодействия; — Классическую задачу читателей–писателей и её реализацию с использованием примитивов синхронизации из пространства имён System.Threading; — В каких случаях облегчённые версии примитивов (например, SemaphoreSlim и ReaderWriterLockSlim) оказываются эффективнее стандартных решений, таких как Monitor, Mutex и конструкция lock. Для кого: Вебинар будет полезен разработчикам, которые уже знакомы с базовыми механизмами синхронизации в .NET и хотят углубить понимание инструментов, предоставляемых стандартной библиотекой для построения безопасных и производительных многопоточных приложений. 📎 Ссылка на регистрацию. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1 343
6
10 месяцев с Copilot Coding Agent в .NET: 878 PR и смена роли разработчика Команда .NET экспериментировала с CCA в репозитори
10 месяцев с Copilot Coding Agent в .NET: 878 PR и смена роли разработчика Команда .NET экспериментировала с CCA в репозитории dotnet/runtime — одном из самых сложных open-source проектов. Результат: 535 принятых PR (67,9% успеха против 87,1% у людей Microsoft), 95 тысяч строк добавлено, 31 тысяча удалена. CCA берёт на себя рутину: удаление кода (84,7%), написание тестов (75,6%), баг-фиксы (69,4%). Сложнее всего — нативный код (C++), платформозависимые части и задачи на производительность (54,5%). Главный урок: после добавления подробных инструкций по сборке, тестированию и архитектурным соглашениям успешность выросла с 38% до 69%. Ключевое изменение — роль разработчика. Когда человек подправляет код агента напрямую, успешность PR подскакивает до 86%. CCA теперь создаёт 77% PR одного из ведущих мейнтейнеров, а сам он тратит время на ревью, проектирование и сложные задачи. Генерация PR опережает возможности ревью — это новый вызов для команд. Детали с графиками и примерами — в статье: https://devblogs.microsoft.com/dotnet/ten-months-with-cca-in-dotnet-runtime/
1 484
7
Переход от Junior+ к Middle в C#/.NET: что обычно тормозит рост Вы уверенно пишете контроллеры, настраиваете DI, мапите модели в DTO и закрываете продуктовые таски. Синтаксис языка освоен, код работает. Но на мидловый грейд пока претендовать не можете. Разберем основные технические пробелы, которые мешают сделать следующий шаг. 1️⃣ Фокус на синтаксисе, а не на платформе Уверенный джун хорошо знает фичи C#. Мидл понимает, как работает CLR и память. Рост блокируется, если вы не можете объяснить процесс аллокации, сценарии возникновения boxing/unboxing, работу поколений Garbage Collector или детали передачи по ссылке и значению. 3️⃣ Слепая вера в EF Core На старте абстракции ORM прощают многое, но под нагрузкой начинаются проблемы. Типичные ошибки: проблема N+1, непонимание разницы между IQueryable и IEnumerable при фильтрации, отсутствие AsNoTracking в read-only сценариях и игнорирование индексов в БД. Мидлу надо понимать, какой SQL-код генерирует его LINQ-запрос, и уметь читать план выполнения. 3️⃣ Поверхностное использование async/await Написать await перед вызовом базы — базовая механика. Мидл понимает, во что разворачивается асинхронный метод под капотом, знает, как работает SynchronizationContext, как получить дедлок через вызов .Result или .Wait(). 4️⃣ Архитектурная слепота и механический SOLID Переход на новый уровень требует умения определять границы контекстов. Сюда же относится четкое понимание жизненного цикла зависимостей (Transient, Scoped, Singleton) в DI-контейнере. 5️⃣ Отсутствие production-мышления Мидлу важно, как код будет эксплуатироваться. Это означает осознанную обработку исключений, грамотное структурированное логирование (а не просто свалка текста в консоль) и написание кода, который можно покрыть юнит- и интеграционными тестами без танцев с бубном. Эти навыки нарабатываются на реальных проектах с код-ревью от более опытных разработчиков. Если хотите получить такой опыт и вырасти как специалист, приходите на курс «Продвинутая разработка на C# и .NET» от Яндекс Практикума PRO. Он нацелен на разработчиков, которые уже работают в этом стеке и хотят прокачаться до уровня middle+. Есть бесплатная вводная часть — можно сначала попробовать, а потом решать. Реклама. Рекламодатель: АНО ДПО «Образовательные технологии Яндекса» ИНН 7704282033, erid: 2W5zFJbKUCh
1 210