.NET / C# – Telegram
.NET / C#
3.93K subscribers
2.13K photos
40 videos
1 file
3.66K links
Лучшие материалы по разработке на платформе .NET и языке C#

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Какие приложения установить на Windows и macOS

Список разбит по категориям: от браузеров и гейминга до утилит безопасности и инструментов для продуктивности.

Читать: «Какие приложения установить на Windows и macOS»

#ru

@dot_net_c_sharp | Другие наши каналы
Лупа Windows без дрожания в играх
В статье показано, как с помощью лёгкой утилиты переназначить клавишу (например F12) для вызова лупы в режиме «Закреплено». Решение даёт стабильность, удобство и безопасность с точки зрения античитов; инструкция и ссылка доступны в материале. Одна кнопка для Лупы Windows — центр курсора и масштаб

В статье показано, как привязать горячую клавишу: PowerShell центрирует курсор, затем эмулируется Ctrl+Alt+- для системной Лупы. Есть инструкция по настройке, советы для игр и примечания по работе в Windows. Минималистичный зум на уровне ОС — быстро и безопасно

Коротко о решении для настраиваемого масштабирования экрана: всего 2 системных вызова, прозрачная работа без скрытых функций, совместимость через PowerShell. Используются keyboard, pyautogui, rich. Подходит для гейминга и профессиональной работы.

Читать подробнее: https://habr.com/ru/articles/960418/

#ru

@dot_net_c_sharp | Другие наши каналы
Google пообещала, что до конца года все смогут вайб-кодить видеоигры с помощью ИИ

Google обещает, что до конца 2025 года любой сможет вайб-кодить видеоигры с ИИ — создавать их словами без единой строчки кода

Читать: «Google пообещала, что до конца года все смогут вайб-кодить видеоигры с помощью ИИ»

#ru

@dot_net_c_sharp | Другие наши каналы
💊43🤣2
MVC: управление панелью статистики в Unity

В статье автор показывает, как добавить кнопки открытия/закрытия панели статистики, связать View с Observer (UserAction), обработать события и прятать кнопку открытия. Показано разделение логики Statistics и Health без изменений модели. Зачем выносить логику UI: пример с Health и Statistics в Unity
Разбор выделяет StatisticsView и StatisticViewObserver, показывает передачу обновлений через события, отключение игрока через модель и устранение дублирования кода для упрощения связей и расширяемости UI. MVP: из Observer в Presenter — апгрейд Max HP

В статье показано, как заменить StatisticViewObserver на StatisticsViewPresenter, добавить MaxHealth в HealthModel и кнопку повышения HP в StatisticsView. Presenter обрабатывает ввод, обновляет модель и UI. Разбор вариантов MVP — в следующей статье.

Читать подробнее: https://habr.com/ru/articles/960848/

#ru

@dot_net_c_sharp | Другие наши каналы
CVE-2025-55315: request smuggling в ASP.NET Core

В статье объясняют уязвимость (CVSS 9.9): как скрытые HTTP‑запросы позволяют обходить проверки, получать доступ от имени других пользователей и похищать данные. Рекомендация — установить патчи и проверить код, работающий с HTTP‑потоками. Уязвимость CVE-2025-55315 в ASP.NET Core

Согласно статье, неверная обработка chunk extensions (одиночный \n вместо \r\n) в Kestrel даёт возможность request smuggling. Проблема уже исправлена — обновите ASP.NET Core/.NET до последних поддерживаемых версий. Важное: уязвимость в ASP.NET Core (CVE-2025-55315)

В статье описан request smuggling через chunk-extensions в HTTP/1.1, затрагивающий ASP.NET Core и старые версии .NET. Azure App Services уже закрыт, статус IIS неясен. Рекомендуется обновить .NET и проверить прокси/хостинг.

Подробности: https://andrewlock.net/understanding-the-worst-dotnet-vulnerability-request-smuggling-and-cve-2025-55315/

#en

@dot_net_c_sharp | Другие наши каналы
Типы языков программирования: от низкоуровневых до высокоуровневых — как выбрать для новичка

Выбираете первый язык программирования? Узнайте о низкоуровневых (C, C++), среднеуровневых (Java, C#) и высокоуровневых (Python, JavaScript) языках: плюсы, минусы и примеры применения. Чек-лист от экспертов поможет новичкам выбрать язык для веб, мобильной разработки или игр.

Читать: «Типы языков программирования: от низкоуровневых до высокоуровневых — как выбрать для новичка»

#ru

@dot_net_c_sharp | Другие наши каналы
Новые Copilot Custom Agents для .NET: C# Expert и WinForms Expert

GitHub представил экспериментальные агенты для .NET, которые анализируют код, предлагают лучшие практики, минимизируют лишние изменения и защищают .Designer.cs. Файлы доступны в @github/awesome-copilot — попробуйте и оставьте отзыв.

Подробности: https://devblogs.microsoft.com/dotnet/introducing-custom-agents-for-dotnet-developers-csharp-expert-winforms-expert/

#en

@dot_net_c_sharp | Другие наши каналы
Atomic v2: модульная архитектура для Unity

В статье описан фреймворк Atomic v2: сущности собираются из атомарных данных и поведений, ESB‑паттерн ускоряет прототипирование, тестирование в EditMode и переиспользование механик, приведены примеры кода и обсуждены риски подхода.

Читать подробнее: https://habr.com/ru/articles/959834/

#ru

@dot_net_c_sharp | Другие наши каналы
Новая MIT‑альтернатива MediatR — Requestum

В статье автор представляет Requestum как открытую бесплатную замену MediatR после новостей о коммерциализации: явные интерфейсы для команд/запросов/событий, отдельные Execute/Handle/Publish, синхронные обработчики и поддержка множества подписчиков. Новый быстрый .NET-медиатор: Requestum
В статье представлен Requestum — альтернатива MediatR с явной типизацией команд/запросов/событий, поддержкой sync/async middleware и простой интеграцией в DI. Бенчмарки показывают заметный выигрыш в скорости и экономию памяти. Requestum — быстрая и простая CQRS-альтернатива MediatR

Новая библиотека с реальной синхронностью, приростом производительности 20–50% и 30–60% меньшими аллокациями, понятным API и минимальной миграцией. Доступна на NuGet, код под MIT.

Читать подробнее: https://habr.com/ru/articles/961936/

#ru

@dot_net_c_sharp | Другие наши каналы
🔥4
Когда технологии предают: умный дом как вход для атак — В статье предупреждают: 98% IoT-трафика не шифруется, в квартире 10–15 уязвимых устройств. Камеры и холодильники могут майнить и сливать личные данные, становясь частью ботнета. Описаны векторы атак и базовые меры защиты. Защита умных устройств: простые шаги и реальные кейсы
В материале описаны уязвимости IoT, кейс взлома кофеварки как точка входа в сеть, правила фаервола, детектор на Raspberry Pi и практический чеклист: смена паролей, отдельная сеть для IoT и регулярные обновления прошивок.

Читать подробнее: https://habr.com/ru/articles/962210/

#ru

@dot_net_c_sharp | Другие наши каналы
Claw Engine 1.2.0 — открыт релиз

Bear Head Studio выпустила лёгкий генеративный движок для инди: хаб и кроссплатформенное ядро на MonoGame+LeoECS, модули террейна, погоды, LOD, импостинга и физики. В планах генеративные инструменты и технодемка.

Читать подробнее: https://habr.com/ru/articles/962580/

#ru

@dot_net_c_sharp | Другие наши каналы
👍2
Зачем нужны JetBrains.Annotations в .NET
Краткий обзор: атрибуты JetBrains дают метаданные для IDE и статического анализатора, улучшают подсказки и автокомплит, помогают нейросетям ориентироваться в проекте. Они не влияют на runtime; есть аналоги в System.Diagnostics.CodeAnalysis и нюансы для Unity. Аннотации и контракты в C#: обзор практических атрибутов
В статье объясняется набор атрибутов (NotNull, ItemNotNull, ContractAnnotation, Pure, MustUseReturnValue, StringFormatMethod, RegexPattern, PathReference, CollectionAccess, UsedImplicitly и др.), помогающих IDE и анализаторам управлять null, поведением методов и коллекциями.

Читать подробнее: https://habr.com/ru/articles/962718/

#ru

@dot_net_c_sharp | Другие наши каналы
Docker на Windows: версионирование окружения

В статье автор показывает, как добиться воспроизводимых сборок Windows‑контейнеров: совпадение ядра и образа, isolation=process, перенос data-root, правки daemon.json, офлайн‑репозитории, сборка Build Tools, установка WDK и решения ошибок hcsshim.

Читать подробнее: https://habr.com/ru/articles/962796/

#ru

@dot_net_c_sharp | Другие наши каналы
1
Куда делся DevExpress и чем его заменить?
В статье Леонида (DD Planet) рассказывается о проблемах после ухода DevExpress, рассматриваются платные и опенсорсные альтернативы для генерации Excel и PDF-отчетов и даются практические рекомендации по переходу. Как выбрать библиотеку для Excel и PDF-отчетов

Краткий обзор популярных инструментов для генерации отчетов: NPOI, DocumentFormat.OpenXml, ClosedXml, LibreOffice и коммерческий Aspose; а также PDF-решения (iText7, QuestPDF, DinkToPdf, PuppeteerSharp). В статье сравнение возможностей и пример создания PDF через PuppeteerSharp. Как генерировать отчёты: SSR + PuppeteerSharp

В статье показано, как рендерить HTML на сервере с помощью SSR (React + Node) и конвертировать его в PDF через PuppeteerSharp (C#). Вывод: заменить DevExpress можно, но без визуального дизайнера потребуется больше кода и вовлечённости разработчиков.

Читать подробнее: https://habr.com/ru/articles/962804/

#ru

@dot_net_c_sharp | Другие наши каналы
🤣1
«Friend» и контроль доступа в C#: IFriend, OnlyYou и Roslyn
Кратко: автор рассказывает о неизменяемых классах, эмуляции friend через вложенный IFriend, атрибуте [OnlyYou] с Roslyn Analyzer/Generator и FriendAnalyzer/FriendLib на GitHub и NuGet.

Читать подробнее: https://habr.com/ru/articles/961264/

#ru

@dot_net_c_sharp | Другие наши каналы
От геймдева к AI: как нейросети изменили карьеру программиста
В статье программист с 20+ лет опыта рассказывает, как после выгорания GPT‑3.5 и новых reasoning‑моделей он переложил рутинный код на нейросети, портировал ru-ticker на Angular, автоматизировал парсинг и взялся за анализ документации. Как LLM ускорил разработку и сэкономил миллионы

Автор рассказывает, как с GPT‑4 и Python‑скриптами автоматизировал конвертацию документов, закрыл шесть проектов, заработал ~1 млн руб., запустил ботов и сервисы и обсуждает влияние «вайбкодинга» на индустрию. Вайбкодинг, дистрибуция и новая бедность

В статье рассказывают, как удешевление разработки и массовый выпуск похожих проектов сделали дистрибуцию главным барьером: тесты рынка требуют больших вложений, вход для инди закрывается, а выгода уходит к крупным корпорациям.

Читать подробнее: https://habr.com/ru/articles/962966/

#ru

@dot_net_c_sharp | Другие наши каналы
Новое в .NET 10: UnsafeAccessorType упрощает доступ к приватным типам
Статья объясняет, как в .NET 10 атрибут UnsafeAccessorType в сочетании с UnsafeAccessor позволяет обращаться к приватным или не видимым на этапе компиляции типам (включая обобщения) без медленной рефлексии, с практическими примерами. UnsafeAccessor и UnsafeAccessorType в .NET: мощно и быстро, но не без ограничений

В статье описано, как эти атрибуты позволяют вызывать приватные конструкторы, методы и работать с закрытыми типами быстрее рефлексии, приведены примеры и указаны ограничения с дженериками, полями и ref-возвратами.

Подробности: https://andrewlock.net/exploring-dotnet-10-preview-features-9-easier-reflection-with-unsafeaccessortype/

#en

@dot_net_c_sharp | Другие наши каналы
👍4👎1
Bypass — как обойти клиентскую аутентификацию в .NET
В статье автор решает челендж Hack The Box: анализ .NET .exe, извлечение и AES-расшифровка ресурса, написание Python-скрипта и патч IL в dnSpy после неудачных попыток в IDA, что в итоге приводит к получению флага. Обход проверки в .NET: от IDA к dnSpy

Автор извлёк resource.bin, расшифровал AES и нашёл ключ в коде, затем в dnSpy поменял условный переход в IL (brfalse→pop), запустил патч и получил флаг HTB{…}. Подробный writeup в репозитории автора.

Читать подробнее: https://habr.com/ru/articles/963086/

#ru

@dot_net_c_sharp | Другие наши каналы
🔥3
Анонс: .NET Conf 2025 — релиз .NET 10 и Visual Studio 2026

Бесплатная виртуальная конференция 11–13 ноября: официальный запуск .NET 10, доклады про облачные решения, AI, Aspire, миграции и практические сессии. Student Zone — 14 ноября. Подробности на dotnetconf.net.

Подробности: https://devblogs.microsoft.com/dotnet/get-ready-for-dotnet-conf-2025/

#en

@dot_net_c_sharp | Другие наши каналы
2
Блокировки или триггер: как резервировать в Postgres

В статье сравнивают SELECT ... FOR NO KEY UPDATE и триггеры: по скорости почти без разницы, триггеры портативнее, явные блокировки сложны в EF Core. IsReserved и транзакции по строке удваивают WAL и замедляют — советуют фоновые отмены.

Читать подробнее: https://habr.com/ru/articles/963120/

#ru

@dot_net_c_sharp | Другие наши каналы
F# и Godot: как DSL решает проблему new и IDisposable

В статье объясняют конфликт new с пайпами и IDisposable у GodotObject, предлагают фабрики для создания узлов, удобные сеттеры/DSL для декларативного построения дерева нод, type-extensions и патчи к неудобному API.

Читать подробнее: https://habr.com/ru/companies/first/articles/962564/

#ru

@dot_net_c_sharp | Другие наши каналы