home.social

#aspnet_core — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #aspnet_core, aggregated by home.social.

fetched live
  1. Зачем всё так сложно: постановка и архитектура

    Итак, разбираем реальные сценарии, роли судей и организаторов, ночные нюансы и архитектуру SPA с оффлайн-синхронизацией.

    habr.com/ru/articles/1070910/

    #вебразработка #aspnet_core #c# #javascript #vuejs #postgresql #архитектура_приложений #эксперимент

  2. Зачем всё так сложно: постановка и архитектура

    Итак, разбираем реальные сценарии, роли судей и организаторов, ночные нюансы и архитектуру SPA с оффлайн-синхронизацией.

    habr.com/ru/articles/1070910/

    #вебразработка #aspnet_core #c# #javascript #vuejs #postgresql #архитектура_приложений #эксперимент

  3. Зачем всё так сложно: постановка и архитектура

    Итак, разбираем реальные сценарии, роли судей и организаторов, ночные нюансы и архитектуру SPA с оффлайн-синхронизацией.

    habr.com/ru/articles/1070910/

    #вебразработка #aspnet_core #c# #javascript #vuejs #postgresql #архитектура_приложений #эксперимент

  4. Зачем все так сложно

    У нас уже подходит к концу лето 2026 года. AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ. Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам. В одиночку можно быстро поднять работающий проект, подключить к нему ИИ и выложить для использования. Наконец-то закончилась волна «входа в IT» с бесконечными полусырыми курсами и инфоцыганскими каналами для вайтишников. Как-то поуспокоилось. Но есть ряд вопросов: Не тратит ли разработчик больше времени, сражаясь с настройками контейнеров для разработки или с тем же Webpack, чем на написание самого кода? Сколько нужно изучить, чтобы написать простое веб-приложение? Каково минимальное количество библиотек и фреймворков для этого? Всегда ли нужны микросервисы? Именно такие вопросы давно и регулярно всплывали в разговорах с коллегами и для ответа на них был сделан небольшой проект — чисто эксперимента ради. О нём я и хочу рассказать. Что-то будет разбираться очень подробно, а что-то пройдём мимо — это не обучение, это результат эксперимента.

    habr.com/ru/articles/1070908/

    #вебразработка #aspnet_core #c# #javascript #vuejs #архитектура_приложений #эксперимент

  5. Зачем все так сложно

    У нас уже подходит к концу лето 2026 года. AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ. Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам. В одиночку можно быстро поднять работающий проект, подключить к нему ИИ и выложить для использования. Наконец-то закончилась волна «входа в IT» с бесконечными полусырыми курсами и инфоцыганскими каналами для вайтишников. Как-то поуспокоилось. Но есть ряд вопросов: Не тратит ли разработчик больше времени, сражаясь с настройками контейнеров для разработки или с тем же Webpack, чем на написание самого кода? Сколько нужно изучить, чтобы написать простое веб-приложение? Каково минимальное количество библиотек и фреймворков для этого? Всегда ли нужны микросервисы? Именно такие вопросы давно и регулярно всплывали в разговорах с коллегами и для ответа на них был сделан небольшой проект — чисто эксперимента ради. О нём я и хочу рассказать. Что-то будет разбираться очень подробно, а что-то пройдём мимо — это не обучение, это результат эксперимента.

    habr.com/ru/articles/1070908/

    #вебразработка #aspnet_core #c# #javascript #vuejs #архитектура_приложений #эксперимент

  6. Зачем все так сложно

    У нас уже подходит к концу лето 2026 года. AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ. Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам. В одиночку можно быстро поднять работающий проект, подключить к нему ИИ и выложить для использования. Наконец-то закончилась волна «входа в IT» с бесконечными полусырыми курсами и инфоцыганскими каналами для вайтишников. Как-то поуспокоилось. Но есть ряд вопросов: Не тратит ли разработчик больше времени, сражаясь с настройками контейнеров для разработки или с тем же Webpack, чем на написание самого кода? Сколько нужно изучить, чтобы написать простое веб-приложение? Каково минимальное количество библиотек и фреймворков для этого? Всегда ли нужны микросервисы? Именно такие вопросы давно и регулярно всплывали в разговорах с коллегами и для ответа на них был сделан небольшой проект — чисто эксперимента ради. О нём я и хочу рассказать. Что-то будет разбираться очень подробно, а что-то пройдём мимо — это не обучение, это результат эксперимента.

    habr.com/ru/articles/1070908/

    #вебразработка #aspnet_core #c# #javascript #vuejs #архитектура_приложений #эксперимент

  7. Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

    Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка. Последние годы мы жили с NSwag: один api.ts на 13 000 строк, Docker-сборка бэкенда и ожидание по 15—17 минут каждый раз, когда менялся контракт. В рамках одной из задач мы решили перейти к модели, где OpenAPI-файлы лежат в репозитории, а клиент генерируется через ng-openapi-gen. Расскажу, какие проблемы мы пытались решить, что пробовали на стороне ASP.NET Core и какой workflow получился в итоге.

    habr.com/ru/companies/tbank/ar

    #openapi_generator #openapi #code_generation #api_contract #nswag #typescript #angular #aspnet_core

  8. Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

    Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка. Последние годы мы жили с NSwag: один api.ts на 13 000 строк, Docker-сборка бэкенда и ожидание по 15—17 минут каждый раз, когда менялся контракт. В рамках одной из задач мы решили перейти к модели, где OpenAPI-файлы лежат в репозитории, а клиент генерируется через ng-openapi-gen. Расскажу, какие проблемы мы пытались решить, что пробовали на стороне ASP.NET Core и какой workflow получился в итоге.

    habr.com/ru/companies/tbank/ar

    #openapi_generator #openapi #code_generation #api_contract #nswag #typescript #angular #aspnet_core

  9. Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

    Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка. Последние годы мы жили с NSwag: один api.ts на 13 000 строк, Docker-сборка бэкенда и ожидание по 15—17 минут каждый раз, когда менялся контракт. В рамках одной из задач мы решили перейти к модели, где OpenAPI-файлы лежат в репозитории, а клиент генерируется через ng-openapi-gen. Расскажу, какие проблемы мы пытались решить, что пробовали на стороне ASP.NET Core и какой workflow получился в итоге.

    habr.com/ru/companies/tbank/ar

    #openapi_generator #openapi #code_generation #api_contract #nswag #typescript #angular #aspnet_core

  10. Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

    Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса. В статье разберём, как строить конвейеры на System.Threading.Channels : настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core.

    habr.com/ru/companies/otus/art

    #SystemThreadingChannels #C# #NET #ASPNET_Core #асинхронное_программирование #каналы #конвейеры_обработки_данных #обратное_давление #фоновые_задачи #утечка_памяти

  11. Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

    Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса. В статье разберём, как строить конвейеры на System.Threading.Channels : настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core.

    habr.com/ru/companies/otus/art

    #SystemThreadingChannels #C# #NET #ASPNET_Core #асинхронное_программирование #каналы #конвейеры_обработки_данных #обратное_давление #фоновые_задачи #утечка_памяти

  12. Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

    Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса. В статье разберём, как строить конвейеры на System.Threading.Channels : настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core.

    habr.com/ru/companies/otus/art

    #SystemThreadingChannels #C# #NET #ASPNET_Core #асинхронное_программирование #каналы #конвейеры_обработки_данных #обратное_давление #фоновые_задачи #утечка_памяти

  13. AI‑тренер по CS2 на DeepSeek: где LLM выдумывает и почему семь недель стоили $1,45

    Всем привет. Я много лет играю в Counter-Strike и тренируюсь, как большинство: захожу в Deathmatch «размяться», играю три катки, тильтую, выхожу. Сервисы статистики при этом исправно сообщают, что у меня просела точность и выросло время реакции. Спасибо, а делать-то что? Весной я решил собрать себе тренера сам. Сразу пара слов для контекста: я самоучка, в команде никогда не работал, основной опыт — десктопные утилиты и автоматизация, из веба до этого были только админки под собственные инструменты. В CS тоже звёзд с неба не хватаю, Premier в районе трёх тысяч, на FACEIT вообще первый уровень. Так что история будет не про успешный успех, а про то, где я наступил на грабли и что из этого вынес. Сам сайт делает вот что: подтягивает историю матчей, отдаёт агрегированную статистику LLM, а та разбирает сильные и слабые места и составляет недельный план тренировок, с конкретными картами, режимами и минутами. Отметил выполненное, сыграл новые матчи — план подстроился. Проект мой, ссылка будет одна и в конце. Статья состоит из трёх частей: сколько это всё стоит в токенах, где модель выдумывает и как я это ловлю кодом, ну и подводные камни DeepSeek API и связки EF Core + SQLite.

    habr.com/ru/articles/1062718/

    #LLM #DeepSeek #галлюцинации #петпроект #ASPNET_Core #SQLite #Entity_Framework #CounterStrike_2

  14. AI‑тренер по CS2 на DeepSeek: где LLM выдумывает и почему семь недель стоили $1,45

    Всем привет. Я много лет играю в Counter-Strike и тренируюсь, как большинство: захожу в Deathmatch «размяться», играю три катки, тильтую, выхожу. Сервисы статистики при этом исправно сообщают, что у меня просела точность и выросло время реакции. Спасибо, а делать-то что? Весной я решил собрать себе тренера сам. Сразу пара слов для контекста: я самоучка, в команде никогда не работал, основной опыт — десктопные утилиты и автоматизация, из веба до этого были только админки под собственные инструменты. В CS тоже звёзд с неба не хватаю, Premier в районе трёх тысяч, на FACEIT вообще первый уровень. Так что история будет не про успешный успех, а про то, где я наступил на грабли и что из этого вынес. Сам сайт делает вот что: подтягивает историю матчей, отдаёт агрегированную статистику LLM, а та разбирает сильные и слабые места и составляет недельный план тренировок, с конкретными картами, режимами и минутами. Отметил выполненное, сыграл новые матчи — план подстроился. Проект мой, ссылка будет одна и в конце. Статья состоит из трёх частей: сколько это всё стоит в токенах, где модель выдумывает и как я это ловлю кодом, ну и подводные камни DeepSeek API и связки EF Core + SQLite.

    habr.com/ru/articles/1062718/

    #LLM #DeepSeek #галлюцинации #петпроект #ASPNET_Core #SQLite #Entity_Framework #CounterStrike_2

  15. AI‑тренер по CS2 на DeepSeek: где LLM выдумывает и почему семь недель стоили $1,45

    Всем привет. Я много лет играю в Counter-Strike и тренируюсь, как большинство: захожу в Deathmatch «размяться», играю три катки, тильтую, выхожу. Сервисы статистики при этом исправно сообщают, что у меня просела точность и выросло время реакции. Спасибо, а делать-то что? Весной я решил собрать себе тренера сам. Сразу пара слов для контекста: я самоучка, в команде никогда не работал, основной опыт — десктопные утилиты и автоматизация, из веба до этого были только админки под собственные инструменты. В CS тоже звёзд с неба не хватаю, Premier в районе трёх тысяч, на FACEIT вообще первый уровень. Так что история будет не про успешный успех, а про то, где я наступил на грабли и что из этого вынес. Сам сайт делает вот что: подтягивает историю матчей, отдаёт агрегированную статистику LLM, а та разбирает сильные и слабые места и составляет недельный план тренировок, с конкретными картами, режимами и минутами. Отметил выполненное, сыграл новые матчи — план подстроился. Проект мой, ссылка будет одна и в конце. Статья состоит из трёх частей: сколько это всё стоит в токенах, где модель выдумывает и как я это ловлю кодом, ну и подводные камни DeepSeek API и связки EF Core + SQLite.

    habr.com/ru/articles/1062718/

    #LLM #DeepSeek #галлюцинации #петпроект #ASPNET_Core #SQLite #Entity_Framework #CounterStrike_2

  16. Как стримить данные в ASP.NET и как их принять

    Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных . В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг. Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?

    habr.com/ru/articles/1052622/

    #IAsyncEnumerable #streaming #SSE #NDJSON #ASPNET_Core #EF_Core #Kestrel #производительность #net_10

  17. Как стримить данные в ASP.NET и как их принять

    Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных . В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг. Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?

    habr.com/ru/articles/1052622/

    #IAsyncEnumerable #streaming #SSE #NDJSON #ASPNET_Core #EF_Core #Kestrel #производительность #net_10

  18. Как стримить данные в ASP.NET и как их принять

    Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных . В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг. Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?

    habr.com/ru/articles/1052622/

    #IAsyncEnumerable #streaming #SSE #NDJSON #ASPNET_Core #EF_Core #Kestrel #производительность #net_10

  19. File-based apps в .NET 10

    Для небольших скриптов на C# долгое время приходилось создавать полноценный проект даже ради нескольких строк кода. В.NET 10 появилась поддержка file‑based apps — теперь приложение можно запускать и публиковать прямо из одного.cs‑файла. Разбираемся, как это работает и где новый подход действительно полезен.

    habr.com/ru/companies/otus/art

    #NET_10 #C# #filebased_apps #Native_AOT #ASPNET_Core #minimal_API #NuGet #CLI_утилиты #автоматизация #скрипты

  20. File-based apps в .NET 10

    Для небольших скриптов на C# долгое время приходилось создавать полноценный проект даже ради нескольких строк кода. В.NET 10 появилась поддержка file‑based apps — теперь приложение можно запускать и публиковать прямо из одного.cs‑файла. Разбираемся, как это работает и где новый подход действительно полезен.

    habr.com/ru/companies/otus/art

    #NET_10 #C# #filebased_apps #Native_AOT #ASPNET_Core #minimal_API #NuGet #CLI_утилиты #автоматизация #скрипты

  21. File-based apps в .NET 10

    Для небольших скриптов на C# долгое время приходилось создавать полноценный проект даже ради нескольких строк кода. В.NET 10 появилась поддержка file‑based apps — теперь приложение можно запускать и публиковать прямо из одного.cs‑файла. Разбираемся, как это работает и где новый подход действительно полезен.

    habr.com/ru/companies/otus/art

    #NET_10 #C# #filebased_apps #Native_AOT #ASPNET_Core #minimal_API #NuGet #CLI_утилиты #автоматизация #скрипты

  22. Source generators в.NET: как они вытеснили рефлексию из стандартной библиотеки

    Ещё несколько лет назад рефлексия считалась нормой для.NET‑приложений. Сегодня Microsoft последовательно выносит всё больше работы из runtime в этап компиляции: JSON‑сериализация, логирование, регулярные выражения, конфигурация и даже тестовые фреймворки всё чаще опираются на source generators. Разбираемся, почему рефлексия начала сдавать позиции, где кодогенерация уже стала стандартом и что это меняет для разработчиков.NET.

    habr.com/ru/companies/otus/art

    #source_generators #C# #NET #рефлексия #производительность #Native_AOT #LoggerMessage #кодогенерация #оптимизация_приложений #ASPNET_Core

  23. Source generators в.NET: как они вытеснили рефлексию из стандартной библиотеки

    Ещё несколько лет назад рефлексия считалась нормой для.NET‑приложений. Сегодня Microsoft последовательно выносит всё больше работы из runtime в этап компиляции: JSON‑сериализация, логирование, регулярные выражения, конфигурация и даже тестовые фреймворки всё чаще опираются на source generators. Разбираемся, почему рефлексия начала сдавать позиции, где кодогенерация уже стала стандартом и что это меняет для разработчиков.NET.

    habr.com/ru/companies/otus/art

    #source_generators #C# #NET #рефлексия #производительность #Native_AOT #LoggerMessage #кодогенерация #оптимизация_приложений #ASPNET_Core

  24. Source generators в.NET: как они вытеснили рефлексию из стандартной библиотеки

    Ещё несколько лет назад рефлексия считалась нормой для.NET‑приложений. Сегодня Microsoft последовательно выносит всё больше работы из runtime в этап компиляции: JSON‑сериализация, логирование, регулярные выражения, конфигурация и даже тестовые фреймворки всё чаще опираются на source generators. Разбираемся, почему рефлексия начала сдавать позиции, где кодогенерация уже стала стандартом и что это меняет для разработчиков.NET.

    habr.com/ru/companies/otus/art

    #source_generators #C# #NET #рефлексия #производительность #Native_AOT #LoggerMessage #кодогенерация #оптимизация_приложений #ASPNET_Core

  25. Как я устал вести ИТ‑активы в Excel и написал свой ITAM/CMDB

    Любой ИТ‑отдел рано или поздно приходит к таблице. Сначала она выглядит безобидно: инвентарный номер, пользователь, кабинет, модель компьютера, серийный номер. Потом туда добавляются мониторы, принтеры, картриджи, счета, договоры, лицензии, гарантия, комментарии, история ремонтов, перемещения между отделами, списание, выдача, возврат, кто кому что передал и почему у нас опять «где‑то был такой же блок питания». Через какое‑то время это уже не таблица, а маленькая самописная CMDB, только без связей, истории, прав доступа, нормального поиска и уверенности, что данным можно доверять. В какой‑то момент я понял, что мне нужна не просто «ещё одна база компьютеров», а единая система для повседневной работы ИТ‑службы: техника, пользователи, документы, счета, лицензии, картриджи, удалённая поддержка, история изменений и автоматическая инвентаризация. Так появился Admin Desk. Это не статья в стиле «я сделал идеальную систему». Скорее рассказ о том, почему простая задача учёта техники быстро превращается в продукт, где самое сложное — не CRUD, а связи между объектами, история, права, эксплуатация и удобство для реального администратора.

    habr.com/ru/articles/1049446/

    #ITAM #CMDB #учёт_активов #инвентаризация #системное_администрирование #ASPNET_Core #Razor_Pages #MariaDB #SNMP #LDAP

  26. Как я устал вести ИТ‑активы в Excel и написал свой ITAM/CMDB

    Любой ИТ‑отдел рано или поздно приходит к таблице. Сначала она выглядит безобидно: инвентарный номер, пользователь, кабинет, модель компьютера, серийный номер. Потом туда добавляются мониторы, принтеры, картриджи, счета, договоры, лицензии, гарантия, комментарии, история ремонтов, перемещения между отделами, списание, выдача, возврат, кто кому что передал и почему у нас опять «где‑то был такой же блок питания». Через какое‑то время это уже не таблица, а маленькая самописная CMDB, только без связей, истории, прав доступа, нормального поиска и уверенности, что данным можно доверять. В какой‑то момент я понял, что мне нужна не просто «ещё одна база компьютеров», а единая система для повседневной работы ИТ‑службы: техника, пользователи, документы, счета, лицензии, картриджи, удалённая поддержка, история изменений и автоматическая инвентаризация. Так появился Admin Desk. Это не статья в стиле «я сделал идеальную систему». Скорее рассказ о том, почему простая задача учёта техники быстро превращается в продукт, где самое сложное — не CRUD, а связи между объектами, история, права, эксплуатация и удобство для реального администратора.

    habr.com/ru/articles/1049446/

    #ITAM #CMDB #учёт_активов #инвентаризация #системное_администрирование #ASPNET_Core #Razor_Pages #MariaDB #SNMP #LDAP

  27. Как я устал вести ИТ‑активы в Excel и написал свой ITAM/CMDB

    Любой ИТ‑отдел рано или поздно приходит к таблице. Сначала она выглядит безобидно: инвентарный номер, пользователь, кабинет, модель компьютера, серийный номер. Потом туда добавляются мониторы, принтеры, картриджи, счета, договоры, лицензии, гарантия, комментарии, история ремонтов, перемещения между отделами, списание, выдача, возврат, кто кому что передал и почему у нас опять «где‑то был такой же блок питания». Через какое‑то время это уже не таблица, а маленькая самописная CMDB, только без связей, истории, прав доступа, нормального поиска и уверенности, что данным можно доверять. В какой‑то момент я понял, что мне нужна не просто «ещё одна база компьютеров», а единая система для повседневной работы ИТ‑службы: техника, пользователи, документы, счета, лицензии, картриджи, удалённая поддержка, история изменений и автоматическая инвентаризация. Так появился Admin Desk. Это не статья в стиле «я сделал идеальную систему». Скорее рассказ о том, почему простая задача учёта техники быстро превращается в продукт, где самое сложное — не CRUD, а связи между объектами, история, права, эксплуатация и удобство для реального администратора.

    habr.com/ru/articles/1049446/

    #ITAM #CMDB #учёт_активов #инвентаризация #системное_администрирование #ASPNET_Core #Razor_Pages #MariaDB #SNMP #LDAP

  28. Обычный или облачный гейминг в EvertyDesk

    Рассказываю как собрал self-hosted платформу стриминга игр с нуля: Android sender на Kotlin + C++ JNI, собственный UDP транспорт, NAT traversal с relay fallback и Control Plane на ASP.NET Core с биллингом. Особое внимание — фиче TouchLatencySprint, которая режет input lag без root-доступа.

    habr.com/ru/articles/1043420/

    #game_streaming #android #kotlin #H264 #UDP #NAT_traversal #screen_capture #low_latency #selfhosted #ASPNET_Core

  29. Обычный или облачный гейминг в EvertyDesk

    Рассказываю как собрал self-hosted платформу стриминга игр с нуля: Android sender на Kotlin + C++ JNI, собственный UDP транспорт, NAT traversal с relay fallback и Control Plane на ASP.NET Core с биллингом. Особое внимание — фиче TouchLatencySprint, которая режет input lag без root-доступа.

    habr.com/ru/articles/1043420/

    #game_streaming #android #kotlin #H264 #UDP #NAT_traversal #screen_capture #low_latency #selfhosted #ASPNET_Core

  30. Обычный или облачный гейминг в EvertyDesk

    Рассказываю как собрал self-hosted платформу стриминга игр с нуля: Android sender на Kotlin + C++ JNI, собственный UDP транспорт, NAT traversal с relay fallback и Control Plane на ASP.NET Core с биллингом. Особое внимание — фиче TouchLatencySprint, которая режет input lag без root-доступа.

    habr.com/ru/articles/1043420/

    #game_streaming #android #kotlin #H264 #UDP #NAT_traversal #screen_capture #low_latency #selfhosted #ASPNET_Core

  31. [Перевод] Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения

    В dev-среде аутентификация может годами выглядеть безобидно: логин прошёл, cookie выпущена, [Authorize] работает. А потом приложение переезжает в продакшен — и часть пользователей начинает вылетать из системы без понятной ошибки. Иногда всплывает 431 Request Header Fields Too Large, иногда сервер просто перестаёт принимать сессию, которая ещё минуту назад выглядела корректной. В статье разбираем, почему cookie аутентификации в ASP.NET Core разрастаются до опасных размеров, как это проявляется в реальных системах и какие решения помогают не лечить симптомы, а привести схему аутентификации в нормальное production-ready состояние. Разобрать проблему

    habr.com/ru/companies/otus/art

    #c# #ASPNET_Core #cookie #аутентификация #авторизация #серверные_сессии #токены

  32. [Перевод] Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения

    В dev-среде аутентификация может годами выглядеть безобидно: логин прошёл, cookie выпущена, [Authorize] работает. А потом приложение переезжает в продакшен — и часть пользователей начинает вылетать из системы без понятной ошибки. Иногда всплывает 431 Request Header Fields Too Large, иногда сервер просто перестаёт принимать сессию, которая ещё минуту назад выглядела корректной. В статье разбираем, почему cookie аутентификации в ASP.NET Core разрастаются до опасных размеров, как это проявляется в реальных системах и какие решения помогают не лечить симптомы, а привести схему аутентификации в нормальное production-ready состояние. Разобрать проблему

    habr.com/ru/companies/otus/art

    #c# #ASPNET_Core #cookie #аутентификация #авторизация #серверные_сессии #токены

  33. [Перевод] Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения

    В dev-среде аутентификация может годами выглядеть безобидно: логин прошёл, cookie выпущена, [Authorize] работает. А потом приложение переезжает в продакшен — и часть пользователей начинает вылетать из системы без понятной ошибки. Иногда всплывает 431 Request Header Fields Too Large, иногда сервер просто перестаёт принимать сессию, которая ещё минуту назад выглядела корректной. В статье разбираем, почему cookie аутентификации в ASP.NET Core разрастаются до опасных размеров, как это проявляется в реальных системах и какие решения помогают не лечить симптомы, а привести схему аутентификации в нормальное production-ready состояние. Разобрать проблему

    habr.com/ru/companies/otus/art

    #c# #ASPNET_Core #cookie #аутентификация #авторизация #серверные_сессии #токены

  34. Scalar вместо Swagger UI. Надо ли оно нам?

    С выходом .NET 9 пакет Swashbuckle.AspNetCore выпилили из шаблона Web API. Это означает, что при создании нового приложения ASP.NET Core Web API у нас больше нет привычного зеленого пользовательского интерфейса Swagger для тестирования endpoint-ов. В статье — краткий разбор, почему это произошло, и обзор альтернативы Scalar. Хочу разобраться

    habr.com/ru/articles/892508/

    #c# #net #net_9 #net_core #aspnet_core #aspnet_webapi #webapi_testing #swagger #scalar #openapi

  35. Scalar вместо Swagger UI. Надо ли оно нам?

    С выходом .NET 9 пакет Swashbuckle.AspNetCore выпилили из шаблона Web API. Это означает, что при создании нового приложения ASP.NET Core Web API у нас больше нет привычного зеленого пользовательского интерфейса Swagger для тестирования endpoint-ов. В статье — краткий разбор, почему это произошло, и обзор альтернативы Scalar. Хочу разобраться

    habr.com/ru/articles/892508/

    #c# #net #net_9 #net_core #aspnet_core #aspnet_webapi #webapi_testing #swagger #scalar #openapi

  36. Scalar вместо Swagger UI. Надо ли оно нам?

    С выходом .NET 9 пакет Swashbuckle.AspNetCore выпилили из шаблона Web API. Это означает, что при создании нового приложения ASP.NET Core Web API у нас больше нет привычного зеленого пользовательского интерфейса Swagger для тестирования endpoint-ов. В статье — краткий разбор, почему это произошло, и обзор альтернативы Scalar. Хочу разобраться

    habr.com/ru/articles/892508/

    #c# #net #net_9 #net_core #aspnet_core #aspnet_webapi #webapi_testing #swagger #scalar #openapi

  37. Scalar на замену Swashbuckle в .NET 9 и как это готовить с Design API First

    Рассказываю чем заменить Swashbuckle, который убрали из .Net 9, для создания страницы похожей на Swagger UI.

    habr.com/ru/articles/904738/

    #web_api #aspnet_core #swagger #open_api #net_9 #dotnet_core #dotnet #typespec #webapi #openapi

  38. Scalar на замену Swashbuckle в .NET 9 и как это готовить с Design API First

    Рассказываю чем заменить Swashbuckle, который убрали из .Net 9, для создания страницы похожей на Swagger UI.

    habr.com/ru/articles/904738/

    #web_api #aspnet_core #swagger #open_api #net_9 #dotnet_core #dotnet #typespec #webapi #openapi

  39. Scalar на замену Swashbuckle в .NET 9 и как это готовить с Design API First

    Рассказываю чем заменить Swashbuckle, который убрали из .Net 9, для создания страницы похожей на Swagger UI.

    habr.com/ru/articles/904738/

    #web_api #aspnet_core #swagger #open_api #net_9 #dotnet_core #dotnet #typespec #webapi #openapi

  40. Событийный диспетчер отложенных задач на C#: консолидация и дедупликация данных в текущей инстанции

    Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core. Хочу поделиться с сообществом своей разработкой, которая позволяет использовать несколько фоновых задач (или «раннеров») для отложенной обработки консолидированных данных. Раннеры построены на шаблоне PubSub для асинхронного ожидания новых задач, что делает этот подход более реактивным, но менее ресурсоемким.

    habr.com/ru/articles/896088/

    #C# #net #aspnet_core #очередь #асинхронность #многопоточность #таск #таскменеджер #фоновые_задачи

  41. Событийный диспетчер отложенных задач на C#: консолидация и дедупликация данных в текущей инстанции

    Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core. Хочу поделиться с сообществом своей разработкой, которая позволяет использовать несколько фоновых задач (или «раннеров») для отложенной обработки консолидированных данных. Раннеры построены на шаблоне PubSub для асинхронного ожидания новых задач, что делает этот подход более реактивным, но менее ресурсоемким.

    habr.com/ru/articles/896088/

    #C# #net #aspnet_core #очередь #асинхронность #многопоточность #таск #таскменеджер #фоновые_задачи

  42. Событийный диспетчер отложенных задач на C#: консолидация и дедупликация данных в текущей инстанции

    Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core. Хочу поделиться с сообществом своей разработкой, которая позволяет использовать несколько фоновых задач (или «раннеров») для отложенной обработки консолидированных данных. Раннеры построены на шаблоне PubSub для асинхронного ожидания новых задач, что делает этот подход более реактивным, но менее ресурсоемким.

    habr.com/ru/articles/896088/

    #C# #net #aspnet_core #очередь #асинхронность #многопоточность #таск #таскменеджер #фоновые_задачи

  43. Отключение http-метрик в ASP.NET Core

    Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом. Хочу разобраться

    habr.com/ru/articles/880738/

    #c# #net #net_9 #aspnet #aspnet_core #aspnet_webapi #webapi #метрики #metrics #prometheus

  44. Отключение http-метрик в ASP.NET Core

    Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом. Хочу разобраться

    habr.com/ru/articles/880738/

    #c# #net #net_9 #aspnet #aspnet_core #aspnet_webapi #webapi #метрики #metrics #prometheus

  45. Отключение http-метрик в ASP.NET Core

    Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом. Хочу разобраться

    habr.com/ru/articles/880738/

    #c# #net #net_9 #aspnet #aspnet_core #aspnet_webapi #webapi #метрики #metrics #prometheus

  46. Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API

    Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.

    habr.com/ru/articles/879424/

    #net #net_core #net_8 #net_9 #aspnet_core #authentication #authorization #jwt #api_key

  47. Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API

    Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.

    habr.com/ru/articles/879424/

    #net #net_core #net_8 #net_9 #aspnet_core #authentication #authorization #jwt #api_key

  48. Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API

    Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.

    habr.com/ru/articles/879424/

    #net #net_core #net_8 #net_9 #aspnet_core #authentication #authorization #jwt #api_key

  49. Гибридное кэширование в ASP.NET Core

    В .NET 9 появилась новая библиотека для кэширования — HybridCache . В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства. Хочу разобраться

    habr.com/ru/articles/871716/

    #c# #net #net_9_preview #net_9 #aspnet #aspnet_core #программирование #кэширование #кэширование_данных #гибридное_кэширование

  50. Гибридное кэширование в ASP.NET Core

    В .NET 9 появилась новая библиотека для кэширования — HybridCache . В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства. Хочу разобраться

    habr.com/ru/articles/871716/

    #c# #net #net_9_preview #net_9 #aspnet #aspnet_core #программирование #кэширование #кэширование_данных #гибридное_кэширование

  51. Гибридное кэширование в ASP.NET Core

    В .NET 9 появилась новая библиотека для кэширования — HybridCache . В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства. Хочу разобраться

    habr.com/ru/articles/871716/

    #c# #net #net_9_preview #net_9 #aspnet #aspnet_core #программирование #кэширование #кэширование_данных #гибридное_кэширование

  52. Лучшие backend-фреймворки для веб-разработки в 2024 году

    Фреймворки упрощают разработку, ликвидируют хаос и задают понятные рамки при создании приложения. При этом каждый фреймворк имеет определенный набор готовых инструментов — проверенных опытом технических решений, ускоряющих и облегчающих разработку. В этой статье мы рассмотрим 10 самых популярных фреймворков для backend-а в 2024 году, без которых сегодня не обходится практически ни одно приложение.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #rest_api #aspnet_core #microsoft #linux #windows #django #python #laravel #mvc

  53. Лучшие backend-фреймворки для веб-разработки в 2024 году

    Фреймворки упрощают разработку, ликвидируют хаос и задают понятные рамки при создании приложения. При этом каждый фреймворк имеет определенный набор готовых инструментов — проверенных опытом технических решений, ускоряющих и облегчающих разработку. В этой статье мы рассмотрим 10 самых популярных фреймворков для backend-а в 2024 году, без которых сегодня не обходится практически ни одно приложение.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #rest_api #aspnet_core #microsoft #linux #windows #django #python #laravel #mvc

  54. Лучшие backend-фреймворки для веб-разработки в 2024 году

    Фреймворки упрощают разработку, ликвидируют хаос и задают понятные рамки при создании приложения. При этом каждый фреймворк имеет определенный набор готовых инструментов — проверенных опытом технических решений, ускоряющих и облегчающих разработку. В этой статье мы рассмотрим 10 самых популярных фреймворков для backend-а в 2024 году, без которых сегодня не обходится практически ни одно приложение.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #rest_api #aspnet_core #microsoft #linux #windows #django #python #laravel #mvc

  55. Реализуем паттерн Unit of Work в ASP.NET Core

    Привет, Хабр! Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core . Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.

    habr.com/ru/companies/otus/art

    #c# #aspnet_core

  56. Реализуем паттерн Unit of Work в ASP.NET Core

    Привет, Хабр! Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core . Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.

    habr.com/ru/companies/otus/art

    #c# #aspnet_core

  57. Реализуем паттерн Unit of Work в ASP.NET Core

    Привет, Хабр! Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core . Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.

    habr.com/ru/companies/otus/art

    #c# #aspnet_core