Как сделали пререндер в The Goddess's Will — обзор пайплайна
В статье разбирают подготовку моделей, рендер 16 ракурсов, упаковку в спрайтшиты, оптимизации VRAM, partial-render и импорт в Godot. Полезно для 3D‑художников и геймдизайнеров.
Читать подробнее: https://habr.com/ru/articles/956148/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье разбирают подготовку моделей, рендер 16 ракурсов, упаковку в спрайтшиты, оптимизации VRAM, partial-render и импорт в Godot. Полезно для 3D‑художников и геймдизайнеров.
Читать подробнее: https://habr.com/ru/articles/956148/
#ru
@dot_net_c_sharp | Другие наши каналы
Как организовать автоматизированные UI‑тесты: от сценариев до стабильности
Краткий обзор: AAA, читаемые имена, Fluent API, JSON‑фабрика для данных, параметризация, обработка ошибок, логирование и скриншоты, retry и явные ожидания — практики для стабильных и предсказуемых UI‑тестов.
Читать подробнее: https://habr.com/ru/articles/958146/
#ru
@dot_net_c_sharp | Другие наши каналы
Краткий обзор: AAA, читаемые имена, Fluent API, JSON‑фабрика для данных, параметризация, обработка ошибок, логирование и скриншоты, retry и явные ожидания — практики для стабильных и предсказуемых UI‑тестов.
Читать подробнее: https://habr.com/ru/articles/958146/
#ru
@dot_net_c_sharp | Другие наши каналы
Из голосовых роботов в финтех: опыт перехода
Автор рассказывает о переходе от микросервисных голосовых систем на Asterisk к финтех решениям: столкновение с нулевой толерантностью к потере данных, проект расчёта инвестпредложений с высокими требованиями по производительности и уроки устойчивости. Как избежать потери данных в проде: практические уроки
В статье автор делится опытом эксплуатации системы на Kubernetes+Postgres: важны дублирование и механизмы восстановления, сверки с внешними системами, адаптивность к нагрузке и диагностические поля. Автор предупреждает: ORM (EF Core) опасен в зрелых проектах. Тесты и стабильность микросервисов: что важно
В статье объясняют, почему нужны 3–4 набора тестов (функционал, пайплайны, уязвимости, нагрузка), зачем интеграционные Docker‑тесты и где полезны Unit‑тесты. Отладка и стабилизация системы часто требуют больше ресурсов, чем сам релиз.
Читать подробнее: https://habr.com/ru/articles/958360/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор рассказывает о переходе от микросервисных голосовых систем на Asterisk к финтех решениям: столкновение с нулевой толерантностью к потере данных, проект расчёта инвестпредложений с высокими требованиями по производительности и уроки устойчивости. Как избежать потери данных в проде: практические уроки
В статье автор делится опытом эксплуатации системы на Kubernetes+Postgres: важны дублирование и механизмы восстановления, сверки с внешними системами, адаптивность к нагрузке и диагностические поля. Автор предупреждает: ORM (EF Core) опасен в зрелых проектах. Тесты и стабильность микросервисов: что важно
В статье объясняют, почему нужны 3–4 набора тестов (функционал, пайплайны, уязвимости, нагрузка), зачем интеграционные Docker‑тесты и где полезны Unit‑тесты. Отладка и стабилизация системы часто требуют больше ресурсов, чем сам релиз.
Читать подробнее: https://habr.com/ru/articles/958360/
#ru
@dot_net_c_sharp | Другие наши каналы
Фреймворки vs простота: когда код становится неузнаваемым
В статье автор описывает, как фреймворки разрастаются лишними зависимостями и скрытыми бинами: меняются API, прошлые знания теряют ценность, разработчики вынуждены тратить время на отключение ненужного и поиск рабочих обходов. Больше простоты, меньше классов
В статье критикуют раздутые OOP и постоянные изменения фреймворков, предлагают унифицировать структуры данных, ввести универсальные функции (например count) и вернуться к функциональному стилю ради простоты и стабильности.
Читать подробнее: https://habr.com/ru/articles/958462/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье автор описывает, как фреймворки разрастаются лишними зависимостями и скрытыми бинами: меняются API, прошлые знания теряют ценность, разработчики вынуждены тратить время на отключение ненужного и поиск рабочих обходов. Больше простоты, меньше классов
В статье критикуют раздутые OOP и постоянные изменения фреймворков, предлагают унифицировать структуры данных, ввести универсальные функции (например count) и вернуться к функциональному стилю ради простоты и стабильности.
Читать подробнее: https://habr.com/ru/articles/958462/
#ru
@dot_net_c_sharp | Другие наши каналы
🤔1🌚1🤣1
Как голосовой робот выдержал 1000 звонков
В статье описывают разработку масштабного голосового робота: Asterisk + .NET не выдержали gRPC при тысячах одновременных звонков; переписанная на Go голосовая часть и микросервисы обеспечили стабильную двунаправленную передачу, расшифровки и нотификации. Миграция голосовых сервисов: .NET → Go — опыт и проблемы
В статье автор рассказывает, как семь критичных сервисов переехали с .NET на Go: задержка в разговоре упала до 1.5 с, но появились сложности с отладкой, тестированием, балансировкой TCP в k8s, управлением стейтами и ростом бюджета.
Читать подробнее: https://habr.com/ru/articles/958524/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье описывают разработку масштабного голосового робота: Asterisk + .NET не выдержали gRPC при тысячах одновременных звонков; переписанная на Go голосовая часть и микросервисы обеспечили стабильную двунаправленную передачу, расшифровки и нотификации. Миграция голосовых сервисов: .NET → Go — опыт и проблемы
В статье автор рассказывает, как семь критичных сервисов переехали с .NET на Go: задержка в разговоре упала до 1.5 с, но появились сложности с отладкой, тестированием, балансировкой TCP в k8s, управлением стейтами и ростом бюджета.
Читать подробнее: https://habr.com/ru/articles/958524/
#ru
@dot_net_c_sharp | Другие наши каналы
🤣5
C#: исчерпывающий switch — OneOf vs static-cs
В статье объясняется, как в C# моделировать алгебраические типы (DU) на примере банковских аккаунтов и получать исчерпывающий switch. Сравнивают OneOf (дженерики и Match) и static-cs (Closed‑атрибут, вложенные record и Roslyn‑анализатор).
Читать подробнее: https://habr.com/ru/articles/958876/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье объясняется, как в C# моделировать алгебраические типы (DU) на примере банковских аккаунтов и получать исчерпывающий switch. Сравнивают OneOf (дженерики и Match) и static-cs (Closed‑атрибут, вложенные record и Roslyn‑анализатор).
Читать подробнее: https://habr.com/ru/articles/958876/
#ru
@dot_net_c_sharp | Другие наши каналы
👎1
Новое в C# 13–14: главное
В статье обзор ключевых нововведений: ключевое слово field, модификаторы в лямбдах, перегрузки присваиваний, extension members (свойства расширений), неявные преобразования к Span и partial‑конструкторы. Читайте статью.
Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/959126/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обзор ключевых нововведений: ключевое слово field, модификаторы в лямбдах, перегрузки присваиваний, extension members (свойства расширений), неявные преобразования к Span и partial‑конструкторы. Читайте статью.
Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/959126/
#ru
@dot_net_c_sharp | Другие наши каналы
❤3
Eremex Controls 1.2 — обновление для Avalonia.
В релизе: многоуровневые бэнды в DataGrid/TreeList, фильтры в заголовках, экспорт XLSX/PDF с сохранением группировок и форматирования, улучшения DockManager, пакет на nuget.org. Подробности на Хабре и сайте компании.
Читать подробнее: https://habr.com/ru/companies/eremexru/articles/959034/
#ru
@dot_net_c_sharp | Другие наши каналы
В релизе: многоуровневые бэнды в DataGrid/TreeList, фильтры в заголовках, экспорт XLSX/PDF с сохранением группировок и форматирования, улучшения DockManager, пакет на nuget.org. Подробности на Хабре и сайте компании.
Читать подробнее: https://habr.com/ru/companies/eremexru/articles/959034/
#ru
@dot_net_c_sharp | Другие наши каналы
Дампы в T‑Телефонии: как находят и решают сбои
В статье показано, как собирать и анализировать дампы .NET (dotnet‑monitor, WinDBG, DotMemory), находить утечки памяти, дедлоки и проблемы в Oracle, Redis и ZooKeeper, и какие практические решения помогают в высоконагруженных сервисах.
Читать подробнее: https://habr.com/ru/companies/tbank/articles/955140/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье показано, как собирать и анализировать дампы .NET (dotnet‑monitor, WinDBG, DotMemory), находить утечки памяти, дедлоки и проблемы в Oracle, Redis и ZooKeeper, и какие практические решения помогают в высоконагруженных сервисах.
Читать подробнее: https://habr.com/ru/companies/tbank/articles/955140/
#ru
@dot_net_c_sharp | Другие наши каналы
This media is not supported in your browser
VIEW IN TELEGRAM
От чат‑бота к агентам: Microsoft Agent Framework в .NET
В статье показано как на базе .NET AI templates улучшить чат‑приложение: добавить Microsoft Agent Framework для рассуждений, использования инструментов и оркестрации. Описаны создание проекта, Program.cs, установка пакетов и вынос функций поиска. AI-агент в .NET: поиск, инструменты и телеметрия
Статья показывает, как зарегистрировать AI Agent через Agent Framework, применить SearchAsync как инструмент, настроить Azure OpenAI и векторное хранилище, включить OpenTelemetry и тестировать через .NET Aspire. Упомянуты расширения и мультиагенты. Microsoft Agent Framework для .NET: быстрое руководство
В статье показано, как создавать и координировать AI‑агентов, добавлять кастомное middleware, тестировать и оптимизировать вызовы инструментов, а также развёртывать решения в Azure с примерами кода.
Подробности: https://devblogs.microsoft.com/dotnet/upgrading-to-microsoft-agent-framework-in-your-dotnet-ai-chat-app/
#en
@dot_net_c_sharp | Другие наши каналы
В статье показано как на базе .NET AI templates улучшить чат‑приложение: добавить Microsoft Agent Framework для рассуждений, использования инструментов и оркестрации. Описаны создание проекта, Program.cs, установка пакетов и вынос функций поиска. AI-агент в .NET: поиск, инструменты и телеметрия
Статья показывает, как зарегистрировать AI Agent через Agent Framework, применить SearchAsync как инструмент, настроить Azure OpenAI и векторное хранилище, включить OpenTelemetry и тестировать через .NET Aspire. Упомянуты расширения и мультиагенты. Microsoft Agent Framework для .NET: быстрое руководство
В статье показано, как создавать и координировать AI‑агентов, добавлять кастомное middleware, тестировать и оптимизировать вызовы инструментов, а также развёртывать решения в Azure с примерами кода.
Подробности: https://devblogs.microsoft.com/dotnet/upgrading-to-microsoft-agent-framework-in-your-dotnet-ai-chat-app/
#en
@dot_net_c_sharp | Другие наши каналы
NuGet.org запускает Sponsorship
NuGet.org запустил функцию Sponsorship: авторы пакетов могут добавить ссылки на GitHub Sponsors, Patreon, Open Collective и другие. На странице пакета появится кнопка «Sponsor», с помощью которой пользователи могут перейти на сторонние сервисы и поддержать разработчиков.
Подробности: https://devblogs.microsoft.com/dotnet/announcing-sponsorship-on-nugetdotorg-for-maintainer-appreciation/
#en
@dot_net_c_sharp | Другие наши каналы
NuGet.org запустил функцию Sponsorship: авторы пакетов могут добавить ссылки на GitHub Sponsors, Patreon, Open Collective и другие. На странице пакета появится кнопка «Sponsor», с помощью которой пользователи могут перейти на сторонние сервисы и поддержать разработчиков.
Подробности: https://devblogs.microsoft.com/dotnet/announcing-sponsorship-on-nugetdotorg-for-maintainer-appreciation/
#en
@dot_net_c_sharp | Другие наши каналы
👍2
C# опережает спецификацию — что пошло не так?
В статье автор прослеживает эволюцию C#: рост фич и ключевых слов, ускоренное внедрение новых возможностей (records, nint/nuint, ref/primary constructors) опережает ECMA‑334 и порождает практические и дизайнерские проблемы.
Читать подробнее: https://habr.com/ru/articles/959980/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье автор прослеживает эволюцию C#: рост фич и ключевых слов, ускоренное внедрение новых возможностей (records, nint/nuint, ref/primary constructors) опережает ECMA‑334 и порождает практические и дизайнерские проблемы.
Читать подробнее: https://habr.com/ru/articles/959980/
#ru
@dot_net_c_sharp | Другие наши каналы
Langfuse + .NET через OpenTelemetry
В статье показан пример интеграции Langfuse с .NET через OpenTelemetry: локальный запуск в Docker, проект ASP.NET Core Minimal API, ключевые NuGet-пакеты и значение AddSource/ActivitySource для отправки трасс. Как добавить трассировку AI-запросов для Langfuse
В статье показан пример на C#: AiService оборачивает вызов ChatClient в Activity с тэгами Input/Output для привязки в Langfuse, возвращает Trace ID, есть пример curl, визуализация и ссылка на GitHub.
Читать подробнее: https://habr.com/ru/articles/960156/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье показан пример интеграции Langfuse с .NET через OpenTelemetry: локальный запуск в Docker, проект ASP.NET Core Minimal API, ключевые NuGet-пакеты и значение AddSource/ActivitySource для отправки трасс. Как добавить трассировку AI-запросов для Langfuse
В статье показан пример на C#: AiService оборачивает вызов ChatClient в Activity с тэгами Input/Output для привязки в Langfuse, возвращает Trace ID, есть пример curl, визуализация и ссылка на GitHub.
Читать подробнее: https://habr.com/ru/articles/960156/
#ru
@dot_net_c_sharp | Другие наши каналы
Context EXpressions — быстрый парсер математических выражений
Автор представил библиотеку для разбора строк и быстрого вычисления выражений с подставляемым контекстом (переменные в словаре). Поддерживаются + - * / ^, скобки и разделители ; , . Код на GitHub, обсуждение в Telegram-канале.
Читать подробнее: https://habr.com/ru/articles/960298/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор представил библиотеку для разбора строк и быстрого вычисления выражений с подставляемым контекстом (переменные в словаре). Поддерживаются + - * / ^, скобки и разделители ; , . Код на GitHub, обсуждение в Telegram-канале.
Читать подробнее: https://habr.com/ru/articles/960298/
#ru
@dot_net_c_sharp | Другие наши каналы
Какие приложения установить на Windows и macOS
Список разбит по категориям: от браузеров и гейминга до утилит безопасности и инструментов для продуктивности.
Читать: «Какие приложения установить на Windows и macOS»
#ru
@dot_net_c_sharp | Другие наши каналы
Список разбит по категориям: от браузеров и гейминга до утилит безопасности и инструментов для продуктивности.
Читать: «Какие приложения установить на 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 | Другие наши каналы
В статье показано, как с помощью лёгкой утилиты переназначить клавишу (например 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 | Другие наши каналы
Google обещает, что до конца 2025 года любой сможет вайб-кодить видеоигры с ИИ — создавать их словами без единой строчки кода
Читать: «Google пообещала, что до конца года все смогут вайб-кодить видеоигры с помощью ИИ»
#ru
@dot_net_c_sharp | Другие наши каналы
💊4❤3🤣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 | Другие наши каналы
В статье автор показывает, как добавить кнопки открытия/закрытия панели статистики, связать 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 | Другие наши каналы
В статье объясняют уязвимость (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 | Другие наши каналы
Выбираете первый язык программирования? Узнайте о низкоуровневых (C, C++), среднеуровневых (Java, C#) и высокоуровневых (Python, JavaScript) языках: плюсы, минусы и примеры применения. Чек-лист от экспертов поможет новичкам выбрать язык для веб, мобильной разработки или игр.
Читать: «Типы языков программирования: от низкоуровневых до высокоуровневых — как выбрать для новичка»
#ru
@dot_net_c_sharp | Другие наши каналы
Tproger
Типы языков программирования: от низкоуровневых до высокоуровневых — как выбрать для новичка
Выбираете первый язык программирования? Узнайте о низкоуровневых (C, C++), среднеуровневых (Java, C#) и высокоуровневых (Python, JavaScript) языках: плюсы, минусы и примеры применения. Чек-лист от экспертов поможет новичкам выбрать язык для веб, мобильной…
Новые 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 | Другие наши каналы
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 | Другие наши каналы