🔍 NetSonar — инструмент для сетевой диагностики от sn4k3
NetSonar — это лёгкая и кроссплатформенная утилита, которая помогает диагностировать сеть, визуализировать данные и управлять сетевыми интерфейсами.
🧰 Возможности:
• Многопротокольные пинги: ICMP, TCP, UDP и HTTP — проверка доступности и измерение задержек
• Управление интерфейсами: просмотр IP‑конфигураций, статистики и управление адаптерами в реальном времени
• Сканирование сети: обнаружение устройств, подсетей и открытых портов
• Современный UI: интерфейс на Avalonia + SukiUI с тёмной темой и графиками
• Кроссплатформенность: работает на Windows, macOS и Linux (на базе .NET)
• Открытый код: лицензия AGPL‑3.0 — можно адаптировать и дорабатывать
🛠 Установка:
🔹 Windows:
🖥 Github
NetSonar — это лёгкая и кроссплатформенная утилита, которая помогает диагностировать сеть, визуализировать данные и управлять сетевыми интерфейсами.
🧰 Возможности:
• Многопротокольные пинги: ICMP, TCP, UDP и HTTP — проверка доступности и измерение задержек
• Управление интерфейсами: просмотр IP‑конфигураций, статистики и управление адаптерами в реальном времени
• Сканирование сети: обнаружение устройств, подсетей и открытых портов
• Современный UI: интерфейс на Avalonia + SukiUI с тёмной темой и графиками
• Кроссплатформенность: работает на Windows, macOS и Linux (на базе .NET)
• Открытый код: лицензия AGPL‑3.0 — можно адаптировать и дорабатывать
🛠 Установка:
🔹 Windows:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет на экран этот код?
Anonymous Quiz
21%
Bar Bar Bar
50%
Bar InterfaceA InterfaceB
8%
Bar Bar InterfaceB
9%
Bar InterfaceA Bar
12%
🔥 Одна из дучших фишек в ASP.NET Core 10 — Server-Sent Events (SSE)
Теперь можно реализовать real-time обновления без SignalR и WebSockets. SSE — это лёгкий способ стримить данные с сервера на клиент *в одну сторону*, идеально для простых задач.
📡 Зачем это нужно?
В .NET-приложениях часто нужно передавать обновления с backend на frontend. Есть несколько способов:
• Polling — клиент всё время спрашивает: «что нового?» (нагружает сервер)
• SignalR — bidirectional WebSockets, но избыточно для простых стримов
• SSE — простой и нативный способ отправлять обновления *односторонне*
Теперь SSE доступен прямо в .NET 10 (preview) и легко интегрируется с Minimal APIs.
🧠 Что сегодня показали:
— Как работает SSE и чем отличается от SignalR
— Как реализовать SSE endpoint с Minimal API
— Как тестировать SSE-поток из IDE (HTTP request file)
— Как собрать frontend для отображения стриминга
— И как создать *живой рынок акций* на SSE — от бэкенда до клиента
👨💻 Отличная альтернатива, если нужно real-time, но без всей сложности WebSockets.
#dotnet #aspnetcore #SSE #ServerSentEvents #SignalR #realtime #webdev
Теперь можно реализовать real-time обновления без SignalR и WebSockets. SSE — это лёгкий способ стримить данные с сервера на клиент *в одну сторону*, идеально для простых задач.
📡 Зачем это нужно?
В .NET-приложениях часто нужно передавать обновления с backend на frontend. Есть несколько способов:
• Polling — клиент всё время спрашивает: «что нового?» (нагружает сервер)
• SignalR — bidirectional WebSockets, но избыточно для простых стримов
• SSE — простой и нативный способ отправлять обновления *односторонне*
Теперь SSE доступен прямо в .NET 10 (preview) и легко интегрируется с Minimal APIs.
🧠 Что сегодня показали:
— Как работает SSE и чем отличается от SignalR
— Как реализовать SSE endpoint с Minimal API
— Как тестировать SSE-поток из IDE (HTTP request file)
— Как собрать frontend для отображения стриминга
— И как создать *живой рынок акций* на SSE — от бэкенда до клиента
👨💻 Отличная альтернатива, если нужно real-time, но без всей сложности WebSockets.
#dotnet #aspnetcore #SSE #ServerSentEvents #SignalR #realtime #webdev
🧩 Как собрать приложение Playground: React + .NET Aspire
Если вы хотите быстро создать SPA на React (через Vite) вместе с backend’ом на ASP.NET Core, .NET Aspire делает это очень просто.
➡️ Новый пример на GitHub показывает, как интегрировать React-приложение и ASP.NET Core API в единую .NET Aspire‑архитектуру.
Что внутри:
- AspireJavaScript.AppHost — проект‑оркестратор на .NET Aspire
- AspireJavaScript.MinimalApi — API на ASP.NET Core (возвращает тестовые данные)
- AspireJavaScript.React — фронтенд на React (Vite), потребляющий API
- Также есть варианты на Angular и Vue
⚙️ Преимущества:
- Авто‑конфигурация сервисов и портов через Aspire Dashboard
- Простое связывание frontend/backend без ручной настройки
- Visual Studio или CLI (dotnet run) запускают всю систему сразу
Для запуска понадобится:
- .NET 8 SDK (или новее), Node.js (≥ 20.x), Docker Desktop/Podman
- В каждом клиентском (React/Angular/Vue) каталоге выполнить
📦 Структура запуска:
🧠 Почему это круто:
- Работает из коробки: сервисы стартуют, обнаруживают друг друга и логируются в едином UI
- Полная изоляция: конфигурации, порты, переменные окружения управляются централизованно
- Пресеты шаблонов облегчают настройку и отладку
📌 Подробности
@react_tg
Если вы хотите быстро создать SPA на React (через Vite) вместе с backend’ом на ASP.NET Core, .NET Aspire делает это очень просто.
➡️ Новый пример на GitHub показывает, как интегрировать React-приложение и ASP.NET Core API в единую .NET Aspire‑архитектуру.
Что внутри:
- AspireJavaScript.AppHost — проект‑оркестратор на .NET Aspire
- AspireJavaScript.MinimalApi — API на ASP.NET Core (возвращает тестовые данные)
- AspireJavaScript.React — фронтенд на React (Vite), потребляющий API
- Также есть варианты на Angular и Vue
⚙️ Преимущества:
- Авто‑конфигурация сервисов и портов через Aspire Dashboard
- Простое связывание frontend/backend без ручной настройки
- Visual Studio или CLI (dotnet run) запускают всю систему сразу
Для запуска понадобится:
- .NET 8 SDK (или новее), Node.js (≥ 20.x), Docker Desktop/Podman
- В каждом клиентском (React/Angular/Vue) каталоге выполнить
npm install
, затем запустить через Aspire 📦 Структура запуска:
# из папки с AppHost
dotnet run
# откроется Aspire Dashboard
# через него можно перейти в React‑frontend, вызвав API
🧠 Почему это круто:
- Работает из коробки: сервисы стартуют, обнаруживают друг друга и логируются в едином UI
- Полная изоляция: конфигурации, порты, переменные окружения управляются централизованно
- Пресеты шаблонов облегчают настройку и отладку
📌 Подробности
@react_tg
Полезный инструмент, который поможет кастомизировать цвет и метку значка ваших папок в браузере проектов Unity.
Please open Telegram to view this post
VIEW IN TELEGRAM
Эта модели умеет генерировать виртуальные и интерактивные 3D-миры в реальном времени (25fps) и при этом работать пару минут без потери контекста.
Вы можете дать ему любое изображение в качестве отправной точки для создания мира: фото из старого альбома, картину, кадр из фильма.
Huggingface тут.
Репозиторий с примерами здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌀 Try .NET — интерактивная среда для работы с .NET прямо в браузере. Проект позволяет запускать и редактировать C#-код в интерактивных документах и учебных материалах, что особенно полезно для обучающих платформ вроде Microsoft Learn.
С помощью dotnet try можно превращать обычные Markdown-файлы в интерактивные руководства с исполняемыми примерами кода. Интеграция с Blazor дает возможность создавать подобный опыт прямо на веб-страницах без необходимости локальной установки SDK.
🤖 GitHub
@csharp_ci
С помощью dotnet try можно превращать обычные Markdown-файлы в интерактивные руководства с исполняемыми примерами кода. Интеграция с Blazor дает возможность создавать подобный опыт прямо на веб-страницах без необходимости локальной установки SDK.
🤖 GitHub
@csharp_ci
⚡ Не сравнивай строки через
Плохая практика:
❌ Медленно (каждый раз создаёт новые строки)
❌ Лишние аллокации памяти
Правильный способ:
✅ Без лишних аллокаций
✅ Намного быстрее
✅ Чёткий контроль над правилами сравнения
📊 Бенчмарки:
.ToLower()
Плохая практика:
bool equal = stringA.ToLower() == stringB.ToLower();
❌ Медленно (каждый раз создаёт новые строки)
❌ Лишние аллокации памяти
Правильный способ:
bool equal = string.Equals(stringA, stringB, StringComparison.OrdinalIgnoreCase);
✅ Без лишних аллокаций
✅ Намного быстрее
✅ Чёткий контроль над правилами сравнения
📊 Бенчмарки:
.ToLower() → ~38 ns
.ToUpper() → ~50 ns
string.Equals(..., OrdinalIgnoreCase) → ~0.003 ns 🚀
🧼 Как писать чистый и тестируемый middleware в ASP.NET Core
Самый простой способ — сделать его строго типизированным.
📦 Что нужно:
1. Создай класс, который реализует
2. Помести всю логику в
Но не забудь два важных шага:
✅ Зарегистрируй middleware в DI-контейнере:
✅ Добавь его в пайплайн:
🎯 Такой подход:
- делает middleware переиспользуемым
- учитывает область действия зависимостей (scoped)
- и позволяет легко покрыть тестами
Идеально, если хочешь поддерживаемый и чистый код.
Самый простой способ — сделать его строго типизированным.
📦 Что нужно:
1. Создай класс, который реализует
IMiddleware
2. Помести всю логику в
InvokeAsync(...)
Но не забудь два важных шага:
✅ Зарегистрируй middleware в DI-контейнере:
services.AddTransient<YourMiddleware>();
✅ Добавь его в пайплайн:
app.UseMiddleware<YourMiddleware>();
🎯 Такой подход:
- делает middleware переиспользуемым
- учитывает область действия зависимостей (scoped)
- и позволяет легко покрыть тестами
Идеально, если хочешь поддерживаемый и чистый код.
Что выведет на экран этот код?
Anonymous Quiz
12%
True, True
33%
True, False
21%
False, False
27%
False, True
7%
🛢️ ELSA 3 — библиотека для создания и выполнения рабочих процессов в .NET-приложениях с поддержкой C#, JSON и визуального дизайнера.
Проект позволяет разрабатывать как короткие, так и долгосрочные workflows. Включает сервер, студию для визуального проектирования и интеграцию с Docker. Поддерживает .NET 6+, параллельное выполнение задач и работу с внешними системами.
🤖 GitHub
@csharp_ci
Проект позволяет разрабатывать как короткие, так и долгосрочные workflows. Включает сервер, студию для визуального проектирования и интеграцию с Docker. Поддерживает .NET 6+, параллельное выполнение задач и работу с внешними системами.
🤖 GitHub
@csharp_ci
🧰 .NET Community Toolkit — полезная коллекция библиотек и API для .NET-разработчиков, созданная Microsoft и поддерживаемая сообществом. Этот набор инструментов не привязан к конкретному UI-фреймворку, а значит, его можно использовать в любых проектах — от десктопных приложений до веб-решений.
Среди ключевых компонентов — CommunityToolkit.Mvvm (облегченная MVVM-библиотека, наследник MvvmLight), CommunityToolkit.HighPerformance (оптимизации для работы с памятью и многопоточностью) и CommunityToolkit.Diagnostics (удобные методы валидации). При этом все инструменты уже применяются в реальных продуктах Microsoft, включая новый Microsoft Store.
Разработчики могут легко подключить NuGet-пакеты через Visual Studio, а документация доступна на Microsoft Docs. Планы по развитию публикуются в Roadmap, а для тестирования новых функций можно подключить пререлизные сборки.
🤖 GitHub
Среди ключевых компонентов — CommunityToolkit.Mvvm (облегченная MVVM-библиотека, наследник MvvmLight), CommunityToolkit.HighPerformance (оптимизации для работы с памятью и многопоточностью) и CommunityToolkit.Diagnostics (удобные методы валидации). При этом все инструменты уже применяются в реальных продуктах Microsoft, включая новый Microsoft Store.
Разработчики могут легко подключить NuGet-пакеты через Visual Studio, а документация доступна на Microsoft Docs. Планы по развитию публикуются в Roadmap, а для тестирования новых функций можно подключить пререлизные сборки.
🤖 GitHub
🌐 TouchSocket — .NET-фреймворк для тех, кто устал бороться с сетевыми протоколами
Если вы когда-нибудь сталкивались с проблемами TCP-пакетов, то этот проект может стать спасением. Он предлагает готовые решения для работы с TCP, UDP, SSL и даже Modbus, причём с неожиданно простым API.
Адаптеры пакетов в фрейморке позволяют на лету менять логику парсинга — от фиксированных заголовков до сложных HTTP-запросов. Встроенный механизм переподключения избавляет от вечного копипаста boilerplate-кода. При этом инструмент одинаково хорошо работает и в консольных приложениях, и в Unity, сохраняя при этом впечатляющую производительность.
🤖 GitHub
@csharp_ci
Если вы когда-нибудь сталкивались с проблемами TCP-пакетов, то этот проект может стать спасением. Он предлагает готовые решения для работы с TCP, UDP, SSL и даже Modbus, причём с неожиданно простым API.
Адаптеры пакетов в фрейморке позволяют на лету менять логику парсинга — от фиксированных заголовков до сложных HTTP-запросов. Встроенный механизм переподключения избавляет от вечного копипаста boilerplate-кода. При этом инструмент одинаково хорошо работает и в консольных приложениях, и в Unity, сохраняя при этом впечатляющую производительность.
🤖 GitHub
@csharp_ci
🎭 Dialogue Manager для Godot — интересный аддон для Godot 4.4+, который упрощает работу с диалогами в играх. Он позволяет писать ветвящиеся диалоги в сценарном стиле без сохранения состояния.
Проект предлагает удобный редактор диалогов и систему их интеграции в игру. Есть поддержка условий, мутаций, портретов персонажей и даже перевода текстов. Установка доступна через Godot Asset Library или напрямую с GitHub.
В документации можно найти примеры использования для разных жанров, от визуальных новелл до RPG с репликами в speech bubbles. Автор также делится видео-гайдами по настройке диалоговых сцен.
🤖 GitHub
@csharp_ci
Проект предлагает удобный редактор диалогов и систему их интеграции в игру. Есть поддержка условий, мутаций, портретов персонажей и даже перевода текстов. Установка доступна через Godot Asset Library или напрямую с GitHub.
В документации можно найти примеры использования для разных жанров, от визуальных новелл до RPG с репликами в speech bubbles. Автор также делится видео-гайдами по настройке диалоговых сцен.
🤖 GitHub
@csharp_ci