TGViewer
Channel Public Channel
Анонимный дотнетчик

Анонимный дотнетчик

@dotnetter

Просто сборник свежих статей о дотнете.

- Обратную связь
- Записи для публикации в канал
- Вопросы к сообществу для обсуждения
Пишите в Direct Messages
Subscribers
1.81K
Photos
1
Videos
0
Links
9.8K

Showing posts older than #9648 · Back to latest

Older Posts 20 shown
Post #9647 397
Как я делал свой первый прототип игры на Unity

Вводные: всегда хотел работать в геймдеве, поэтому решил начать с малого — попробовать сделать хоть какой‑то прототип игры с нуля. С C# знаком на среднем уровне, с блендером на нулевом), с Unity чуть‑чуть (делал тетрис, и пытался сделать мультиплеер для него поверх Steam через Spacewar).
Изначально идея была сделать что‑то на минут 10–15, как обычно в голове много идей и мелочей, реализация которых поможет создать более приятный геймплей, но когда доходит дело до реализации, то приходит понимание, что не все так легко, как кажется.
Выбор пал на создание какой‑нибудь простенькой хоррор игры, которую необходимо пройти, т.к. опыта в Blender у меня нет, я решил сделать что‑то максимально простое, поэтому я посмотрел пару гайдов на ютубе и начал «творить».
Решил сделать все в виде тайлов, из которых затем соберу комнаты и коридоры между ними, больше всего времени я потратил на создание модели врага, которая будет бегать за игроком.
Стена была сделана из нескольких плоскостей, на которые была натянута текстура кирпичной кладки, предварительно пикселизованная.
Читать далее

https://habr.com/ru/articles/919034/?utm_campaign=919034&utm_source=habrahabr&utm_medium=rss
Post #9646 494
Разрабатываем печать документов на .NET с помощью OpenXml. Часть 3

Всем привет! Я Александр Родов, ведущий разработчик в «БАРС Груп», автор и руководитель разработки сервиса генерации печатных форм Sprinter. Этой статьёй мы продолжаем рассказ о возможностях использования библиотек DocumentFormat.OpenXml для генерации печатных файлов «офисных» форматов.
В первой и второй частях речь шла о разработке печати сведений о заказе в интернет-магазине в формате docx. В третьей и заключительной части мы поговорим о печати xlsx, необходимость которой встречается в требованиях к реализации ПО не реже, а, быть может, даже чаще, чем docx. Электронные таблицы дают пользователю больше возможностей по просмотру и анализу данных, позволяют вычислять агрегационные значения и строить простые аналитические модели. В нашем примере мы рассмотрим заполнение ячеек таблицы, их стилизацию и настройку формул для вычислений.
Читать далее

https://habr.com/ru/companies/barsgroup/articles/918798/?utm_campaign=918798&utm_source=habrahabr&utm_medium=rss
Хабр Разрабатываем печать документов на .NET с помощью OpenXml. Часть 3 Всем привет! Я Александр Родов, ведущий разработчик в компании «БАРС Груп», автор и руководитель разработки сервиса генерации печатных форм Sprinter. Этой статьёй мы продолжаем рассказ о возможностях...
  • 👍 2
Post #9645 600
C#, Кодогенерация и DDD Часть 3.1 — Правим подключение пакетов Nuget. Убираем рефлексию. Генерируем конечные точки MVC

Это - третья публикация в серии DDD и кодогенерация. (первая часть). В этой статье мы сгенерируем код класса для хранения всех данных запроса, код MVC контроллера. И наконец-то уберем рефлексию (но оставим наши типизированные атрибуты).
Читать далее

https://habr.com/ru/articles/918236/?utm_campaign=918236&utm_source=habrahabr&utm_medium=rss
Хабр C#, Кодогенерация и DDD Часть 3.1 — Правим подключение пакетов Nuget. Убираем рефлексию. Генерируем конечные точки MVC Это - третья публикация в серии DDD и кодогенерация. ( первая часть, вторая часть, третья часть, четвертая часть). В этой статье мы сгенерируем код класса для...
Post #9644 561
SharedLogic. Общий игровой код для Unity-клиента и .NET-сервера, который экономит ваши силы

Я хочу поделиться практическим подходом, который позволяет переиспользовать ваш игровой код на C# из Unity на .NET-бэкенде — это даёт возможность верифицировать действия игрока, защищает от читерства и обеспечивает мгновенный отклик без лагов.
Я использую такую архитектуру в продакшене уже более 10 лет, и она отлично зарекомендовала себя как надёжное и эффективное решение. В этой системе один и тот же код выполняется и на клиенте (для мгновенной обратной связи), и на сервере (для авторитетной проверки).
Как это работает:
• Команды игрока мгновенно выполняются на клиенте.
• Та же команда вместе с хэшем состояния отправляется на сервер и повторно выполняется для верификации.
• Любые попытки изменить код или память клиента будут обнаружены и отклонены сервером.
• Игровая логика вынесена в .dll-плагин, который используется и в Unity-клиенте, и на .NET-бэкенде.
В статье есть полноценный пример на Unity («Connect Four»), открытый исходный код и подробное описание архитектуры.
Читать статью

https://habr.com/ru/articles/918220/?utm_campaign=918220&utm_source=habrahabr&utm_medium=rss
Хабр SharedLogic. Общий игровой код для Unity-клиента и .NET-сервера, который экономит ваши силы В индустрии мобильных игр на один проект часто выделяют несколько бэкенд‑разработчиков. Например, в студиях над PvP‑шутером с мета-игрой работают 5–8 серверных специалистов — и это считается нормой....
Post #9643 475
Автоматизация тестов в .NET: мой опыт со Storm Petrel

Автоматическое тестирование, включая модульное и интеграционное, хорошо документировано и поддерживается множеством библиотек и платформ. Однако с ростом сложности приложений и увеличением количества пользовательских сценариев возникают новые проблемы, требующие современных инструментов.
В этой статье мы рассмотрим Scand Storm Petrel — инструмент для .NET-разработчиков, который автоматизирует однотипную работу по формированию и обновлению ожидаемых значений в тестах. Это особенно актуально при большом количестве тестовых сценариев или сложной структуре тестируемых объектов, что является неотъемлемой частью разработки современных приложений.
Читать далее

https://habr.com/ru/articles/918160/?utm_campaign=918160&utm_source=habrahabr&utm_medium=rss
Хабр Автоматизация тестов в .NET: мой опыт со Storm Petrel Автоматическое тестирование, включая модульное и интеграционное, хорошо документировано и поддерживается множеством библиотек и платформ. Однако с ростом сложности приложений и увеличением количества...
Post #9642 399
DotNet&More #152: Сетевая модель в кубере и не только

Продолжаем наш курс по kubernetes. На очереди Network Model и все про сеть.Не волнуйтесь если пропустили прошлые выпуски: наш курс как ситком, можно начать смотреть с середины сезона :)


Спасибо всем, кто нас слушает. Ждем Ваши комментарии.


Музыка из выпуска: 
- https://artists.landr.com/056870627229
- https://t.me/angry_programmer_screams


Весь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7
Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


Shownotes: 
00:00:00 Вступление
00:07:45 Кто управляет сетью: CNI
00:16:30 Какие есть CNI
00:33:00 Зачем знать про CNI?
00:37:25 Service это не Load Balancer!


Ссылки:
- https://kubernetes.io/docs/concepts/services-networking/ : Services, Load Balancing, and Networking


Видео: https://youtube.com/live/RxULSh8LgPk

Слушайте все выпуски: https://dotnetmore.mave.digital
YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5
Twitch: https://www.twitch.tv/dotnetmore


Обсуждайте:
- Telegram: https://t.me/dotnetmore_chat


Следите за новостями:
– Twitter: https://twitter.com/dotnetmore
– Telegram channel: https://t.me/dotnetmore


Copyright: https://creativecommons.org/licenses/by-sa/4.0/


https://dotnetmore.mave.digital/ep-154
Landr Angry Programmer Screams - Hello, World! Listen to Hello, World! by Angry Programmer Screams.
Post #9641 418
Dev Proxy v0.28 Introduces Telemetry for LLM Usage and Cost Analysis

The .NET team has released Dev Proxy version 0.28, introducing new capabilities aimed at improving observability, plugin extensibility, and integration with AI models. A central feature of this release is the OpenAITelemetryPlugin, which, as reported, allows developers to track usage and estimated costs of OpenAI and Azure OpenAI language model requests within their applications.
By Almir Vuk

https://www.infoq.com/news/2025/06/microsoft-dev-proxy-v28/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=.NET
InfoQ Dev Proxy v0.28 Introduces Telemetry for LLM Usage and Cost Analysis The .NET team has released Dev Proxy version 0.28, introducing new capabilities aimed at improving observability, plugin extensibility, and integration with AI models. A central feature of this release is the OpenAITelemetryPlugin, which, as reported, allows…
Post #9640 487
Improve Your Productivity with New GitHub Copilot Features for .NET!

We recently introduced several new GitHub Copilot-powered .NET experiences designed to help you be more productive. Take a look!
The post Improve Your Productivity with New GitHub Copilot Features for .NET! appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/improve-productivity-with-github-copilot-dotnet/
Microsoft News Improve Your Productivity with New GitHub Copilot Features for .NET! We recently introduced several new GitHub Copilot-powered .NET experiences designed to help you be more productive. Take a look!
Post #9639 483
Multimodal Voice Intelligence with .NET MAUI

Learn how to enhance your .NET MAUI apps with multimodal AI capabilities, enabling users to interact through voice using plugins and Microsoft.Extensions.AI.
The post Multimodal Voice Intelligence with .NET MAUI appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/multimodal-voice-intelligence-with-dotnet-maui/
Microsoft News Multimodal Voice Intelligence with .NET MAUI Learn how to enhance your .NET MAUI apps with multimodal AI capabilities, enabling users to interact through voice using plugins and Microsoft.Extensions.AI.
Post #9638 563
Function splitting и чистый код

Сложная и тяжелая статья с непропорционально простым выводом. Вспомним фон Неймана, затронем процессорный кеш, поговорим про регистры и компиляторы. Тем, кому не хочется погружаться в детали, достаточно прочитать только Введение и Выводы.
Читать далее

https://habr.com/ru/companies/skbkontur/articles/914868/?utm_campaign=914868&utm_source=habrahabr&utm_medium=rss
Хабр Function splitting и чистый код Про метод оптимизации Function splitting сухо написано лишь в умных книжках (например, в таких и таких ). Я же попробую просто показать его на живых примерах. Для этого мне понадобится сгенерировать...
Post #9637 475
Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 6. Как добыть нечто

Концепция этого цикла начиналась с простого переноса тайловых миров на F#. Однако в процессе его описания я основательно растёкся по древу, за счёт чего у нас образовался большой подготовительный этап из пяти глав про языковые фичи и прочую «фундаменталочку». Думаю, что с подготовкой закончено, поэтому сегодня мы обратимся непосредственно к тайловым мирам.
Но начнём мы практически с конца — с адаптации поиска пути. Это несложная задачка, но в процессе её решения мы успеем закрепить пройденный материал и по инерции заскочить в новый.
Читать далее

https://habr.com/ru/companies/first/articles/917404/?utm_campaign=917404&utm_source=habrahabr&utm_medium=rss
Хабр Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 6. Как добыть нечто Концепция этого цикла начиналась с простого переноса тайловых миров на F#. Однако в процессе его описания я основательно растёкся по древу, за счёт чего у нас образовался большой подготовительный этап...
Post #9636 462
История о том как абсолютное оружие оказалось никому не нужным

Все началось с того что к нам в офис приехал директор иногороднего филиала.
Он подошел ко мне и сказал примерно следующее:
“Я переписываюсь с генеральным директором с помощью mail.ru.
В переписке мы обсуждаем весьма щекотливые вопросы, связанные, например, с …, ну тебе лучше не знать…. Я бы не хотел чтобы эта переписка была доступна третьим лицам.”
Я озаботился вопросом и достаточно быстро выяснил, что стандартом является шифрование с помощью шифра AES и аутентификация с помощью шифра RSA. Все мессенджеры предусматривают регистрацию, имеют свои сервера и хранят историю переписки.
Кроме того, я выяснил, что все существующие средства шифрования, которые доступны официально, должны иметь лицензию ФСБ (Постановление 313 https://base.garant.ru/70164728/). Одно из условий выдачи такой лицензии – предоставление ключей для доступа к переписке. (Вспоминаем историю с запретом Telegram в РФ).
То есть, использование любого, существующего легально, мессенджера не дает уверенности в тайне переписки.
Проанализировав ситуацию, я вывел рецепт идеального (защищенного) мессенджера.
Он должен состоять из следующих элементов:
1. Алгоритм шифрования с абсоютной криптостойкостью.
2. Надежный способ передачи ключей.
3. Надежный способ аутентификации (не RSA).
И не иметь своих серверов, не требовать регистрации, не хранить историю переписки.
Далее началась реализация.
Элемент  1. Шифр с абсолютной криптостойкостью.
Бытует мнение что взломать можно любой шифр. Хотя бы теоретически - брутфорсом.
И я почему-то уверен, что мало кто из читателей этого текста знает что такое алгоритм Вернама. (По крайней мере, я не знал).
Читать далее

https://habr.com/ru/articles/917428/?utm_campaign=917428&utm_source=habrahabr&utm_medium=rss
base.garant.ru Постановление Правительства РФ от 16.04.2012 № 313 "Об утверждении Положения о лицензировании деятельности по разработке, производству… Постановление Правительства РФ от 16 апреля 2012 г. № 313 "Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных…
Post #9635 485
.NET and .NET Framework June 2025 servicing releases updates

A recap of the latest servicing updates for .NET and .NET Framework for June 2025.
The post .NET and .NET Framework June 2025 servicing releases updates appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-june-2025-servicing-updates/
Microsoft News .NET and .NET Framework June 2025 servicing releases updates A recap of the latest servicing updates for .NET and .NET Framework for June 2025.
Post #9634 542
Minimal API: Избавляемся от устаревающих контроллеров в ASP.NET Core

Я, думаю, многие уже слышали о появившихся в .NET 6 Minimal API - легковесной замене контроллеров/MVC. Кто-то уже успел ознакомиться и задался вопросом: "Ваше API в 3 строчки, это, конечно, здорово, но как это будет работать в реальном проекте с сотнями эндпоинтов, кучей фильтров, аттрибутов, расширениями OpenAPI/Swagger и прочих радостях?"
В этой статье я хочу ответить на этот вопрос: пройдемся от основ, преимуществ, недостатков, и закончим нюансами работы и проблемами, которые обязательно возникнут при миграции с контроллеров на Minimal API в крупном проекте.
А забегая чуть вперед: если думаете, стоит ли переводить проект на Mini API, вот вам сразу полезная информация: они могут жить в проекте вместе, причем даже без дублирования инфраструктуры: не обязательно переводить все разом - подробнее под катом.
Бонусом, заменим SwaggerGen на реализацию OpenAPI от Microsoft.
Читать далее

https://habr.com/ru/articles/917378/?utm_campaign=917378&utm_source=habrahabr&utm_medium=rss
Post #9633 428
.NET 10 Preview 5 is now available!

Find out about the new features in .NET 10 Preview 5 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
The post .NET 10 Preview 5 is now available! appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/dotnet-10-preview-5/
Microsoft News .NET 10 Preview 5 is now available! Find out about the new features in .NET 10 Preview 5 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
Post #9632 474
Яркие моменты из истории проекта WebMarkupMin

За 13,5 лет я создал 12 опенсорс-проектов для платформы .NET и особое место среди них для меня занимает проект WebMarkupMin. Я не могу точно сказать, что мне больше всего нравится в нем: интересная исследовательская работа, лавры первопроходца на платформе .NET или не уходящая с годами актуальность.
В этой статье будет мало технических подробностей, потому что подобных статей о WebMarkupMin написано предостаточно. Здесь будет сделан акцент на разработке концепции опенсорс-проекта, его продвижении и взаимодействии с другими людьми.
Читать далее

https://habr.com/ru/articles/916970/?utm_campaign=916970&utm_source=habrahabr&utm_medium=rss
Хабр Яркие моменты из истории проекта WebMarkupMin Репозиторий проекта WebMarkupMin на сайте CodePlex в 2014 году За 13,5 лет я создал 12 опенсорс-проектов для платформы .NET и особое место среди них для меня занимает проект WebMarkupMin . Я не могу...
Post #9631 438
Converting a Microsoft XNA 3.1 game to MonoGame

In this post I describe how I took a Microsoft XNA 3.1 game from 15 years ago and converted it to use MonoGame on .NET 8 in just a few hours

https://andrewlock.net/converting-an-xna-game-to-monogame/
Andrew Lock | .NET Escapades Converting a Microsoft XNA 3.1 game to MonoGame In this post I describe how I took a Microsoft XNA 3.1 game from 15 years ago and converted it to use MonoGame on .NET 8 in just a few hours
Post #9630 475
Next edit suggestions available in Visual Studio GitHub Copilot

GitHub Copilot code completions, or gray text, are specialized in autocompleting unfinished code or providing helpful template code. In reality, coding activities are more diverse than writing new code. What if Copilot could better assist your coding not only with code generation, but your code editing activities as well? We are excited to announce next […]
The post Next edit suggestions available in Visual Studio GitHub Copilot appeared first on Visual Studio Blog.


https://devblogs.microsoft.com/visualstudio/next-edit-suggestions-available-in-visual-studio-github-copilot/
Microsoft News Next edit suggestions available in Visual Studio Next edit suggestions in Visual Studio 2022 help predict logical code edits, improving refactoring, syntax updates, and editing flow with GitHub Copilot.
Post #9629 525
Создание контрола Avalonia/WPF для двухцветных векторных Bootstrap Icons

В мире разработки приложений, будь то веб или десктоп, использование айконок является неотъемлемой частью пользовательского интерфейса. Векторные айконки предпочтительнее растровых, так как они масштабируются без потери качества. Одной из популярных коллекций векторных айконок является Bootstrap Icons, содержащая более 2000 готовых айконок. Хотя коллекция Bootstrap Icons доступна как npm-пакет bootstrap-icons и ориентирована на веб-разработку, её можно эффективно использовать в десктопных приложениях.
Создадим с нуля контрол BootstrapIcon для удобного использования двухцветных векторных айконок в приложениях на Avalonia/WPF. Сами изображения, в основном берем из SVG-файлов библиотеки bootstrap-icons, отсюда и название нашего контрола.
Туториал ориентирован на разработчиков, знакомых с Avalonia на базовом уровне. Основной упор в реализации контрола делается на Avalonia. Вариант для WPF, надеюсь, будет полезен для тех, кто переходит с WPF на Avalonia.
🔗 Полученные контролы BootstrapIcon для Avalonia и WPF с примерами использования размещены на GitHub.
👉 Продолжение следует... Планируется публикация ещё пары туториалов, в которых будет пошаговое руководство для создания главного меню приложения и аналога ToolBar с использованием BootstrapIcon.
Читать далее

https://habr.com/ru/articles/904886/?utm_campaign=904886&utm_source=habrahabr&utm_medium=rss
Хабр Создание контрола Avalonia/WPF для двухцветных векторных Bootstrap Icons Введение Пример использования цветных векторных Bootstrap Icons В мире разработки приложений, будь то веб или десктоп, использование иконок является неотъемлемой частью пользовательского интерфейса....
Post #9628 570
Vertical Slice Architecture на примере C# — простая и удобная архитектура для небольших (и не только) пректов

Простой вопрос: делая задачу, касающуюся API - вы чаще работаете с одним эндпоинтом, или пишите, условные, репозитории, которые используются сразу в нескольких эндпоинтах? Скорее всего, первое, тогда почему мы разбиваем проект по слоям, а не по фичам (эндпоинтам)?
Это видно в часто используемых нынче архитектурных подходах: Layered, Clean Architecture, Onion, и так далее. Не буду выделять что-то конкретное и объясню общую разницу в подходах: Vertical Slice Architecture (VSA) строится вокруг каждого отдельного feature-слайса (эндпоинта, как самый простой пример), а не на вокруг слоев.
То есть, если код относится к конкретному эндпоинту, мы не размазываем его по всему проекту в папках Commands/Services/Repositories/DTOs и т.п., а кладем в одно место, там где и будет находиться эндпоинт
Главный принцип - уменьшаем связанность между слайсами (фичами), увеличиваем связанность внутри слайса
Читать далее

https://habr.com/ru/articles/916704/?utm_campaign=916704&utm_source=habrahabr&utm_medium=rss
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →