Telegram Web Link
Адаптированный паттерн Command с использованием Dependency Injection

Паттерн Command — широко известный и мощный инструмент построения гибких систем, позволяющий целиком вынести логику каждого метода в отдельный класс.
В статье показано как совмещение Command с Dependency Injection (DI) даёт дополнительные преимущества в архитектуре приложений.
Статья будет полезна разработчикам всех уровней, а также архитекторам приложений.
Читать далее

https://habr.com/ru/articles/953590/?utm_campaign=953590&utm_source=habrahabr&utm_medium=rss
Файловый менеджер Files: ошибки по папочкам

Files — это сторонний файловый менеджер для Windows. Он сделан для того, чтобы быть лучшим открытым файловым менеджером для ОС, который поддерживается сообществом. А в этой статье мы взглянем на ошибки в исходном коде Files и внесём свой вклад в open source сообщество.
Читать далее

https://habr.com/ru/companies/pvs-studio/articles/953912/?utm_campaign=953912&utm_source=habrahabr&utm_medium=rss
🔥2
Visual Studio Dev/Test Benefit Explained

Before joining Microsoft, I served as VP of Application Development at one of the largest temporary staffing companies in the United States. I’ll never forget the look on our CFO’s face when I told him we needed two to three additional cloud environments to support a large-scale modernization project. His expression went from curious to […]
The post Visual Studio Dev/Test Benefit Explained appeared first on Visual Studio Blog.


https://devblogs.microsoft.com/visualstudio/visual-studio-dev-test-benefit-explained/
Вышел NWinfo 1.4.4: открытый инструмент для быстрого просмотра характеристик ПК на Windows

Вышел релиз NWinfo 1.4.4 — портативного open source инструмента для просмотра характеристик ПК на Windows. Новая версия получила поддержку Ctrl+C, отчёты в JSON/YAML/LUA и обновлённые драйверы.
— Читать дальше «Вышел NWinfo 1.4.4: открытый инструмент для быстрого просмотра характеристик ПК на Windows»


https://tproger.ru/news/vywel-nwinfo-1-4-4--otkrytyj-instrument-dlya-bystrogo-prosmotra-harakteristik-pk-na-windows
Принтер этикеток, или Как бэкендеры писали десктоп-приложение

Представьте команду бэкенд-разработчиков, которые привыкли писать бэкенды на .NET и немного фронтенд на Typescript + React. Это мы, ага. А теперь представьте, что этой команде прилетает задача: написать рабочее десктоп-приложение для печати этикеток.Сложно даже подумать о таком? А с нами всё так и случилось! Сегодня расскажу, как бэкендеры писали приложение для Windows, опираясь на привычную для себя строгую структуру кода, тесты и CI/CD, и о том, что из этого получилось.
Читать далее

https://habr.com/ru/companies/dododev/articles/952852/?utm_campaign=952852&utm_source=habrahabr&utm_medium=rss
Developer and AI Code Reviewer: Reviewing AI-Generated Code in .NET

Learn how to effectively review AI-generated .NET code with practical strategies for maintaining quality, enforcing standards, and boosting team productivity through thoughtful code review practices.
The post Developer and AI Code Reviewer: Reviewing AI-Generated Code in .NET appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/developer-and-ai-code-reviewer-reviewing-ai-generated-code-in-dotnet/
Плагины на C# без рантайма: NativeAOT-экспорт и вызов из Rust/Python

Привет, Хабр!
Наткнулись на задачу: нужен плагин на C#, который можно грузить как обычную C-библиотеку без CLR и JIT, а вызывать из Rust и Python. Без обвязок, без CoreCLR-хостинга и прочего. Чистый C ABI, нормальные строки, предсказуемые структуры, обработка ошибок и нулевой JIT-прогрев. Это как раз случай для NativeAOT: компилируем библиотеку в нативный .dll/.so/.dylib, экспортируем функции через [UnmanagedCallersOnly], а дальше живём как с любой C-библиотекой. Нюансов хватает: что экспортируется и как назвать символ, как договориться по ABI, что делать со строками UTF-8, как возвращать ошибку, как освобождать память снаружи, почему исключения нельзя проталкивать за границу, и в каком месте «cdecl» реально что-то значит.
Ознакомиться с примером NativeAOT

https://habr.com/ru/companies/otus/articles/950462/?utm_campaign=950462&utm_source=habrahabr&utm_medium=rss
Function Object — как основа бизнес логики приложения

В предыдущей статье "Адаптированный паттерн Command с использованием Dependency Injection", я описывал как инкапсуляция логики приложений в отдельные объекты-функции позволяет получить преимущества в архитектуре приложений.
В качестве основы для концепции объекта-функции мной был выбран известный паттерн Command, но обсуждение статьи показало, что читателям тяжело отказатся от слишком узкой специфики паттерна Command и это мешяет восприятию материала.
Эта статья пытается исправиль допущенную автором ошибку.
Статья является дополнением к предыдущей.
Читать далее

https://habr.com/ru/articles/954516/?utm_campaign=954516&utm_source=habrahabr&utm_medium=rss
🤡1
Preparing for the .NET 10 GC (DATAS)

Learn how DATAS in .NET 10 adapts heap size, what changes to expect versus previous Server Garbage Collection (GC) behavior, and how to decide whether to tune or disable it.
The post Preparing for the .NET 10 GC (DATAS) appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/preparing-for-dotnet-10-gc/
AI-ассистент для 15 000 файлов: быстрее, чем спросить у коллег

Привет! Я Алексей из команды Fiji, которая занимается внутренним продуктом для хранения и редактирования геоданных. Мы уже немного рассказывали о нем на Хабре: раз, два, три, четыре.
Наш проект активно развивается уже 10 лет, недавно ещё и команда выросла вдвое. Соответственно, почти вдвое увеличилось количество задач, а вместе с ним — и сложность интеграций с другими командами. Требования часто дополняются и меняются по ходу реализации, статьи в Confluence не всегда актуализируются, а часть информации оседает в чатах и на созвонах. Только код в мастере стабильно отражает то, что реально работает на продакшне.
Не так давно у нас случился триггер на одном из созвонов — технолог задал вопрос про задачу, которую делали пару месяцев назад, а мы все сидим и глазами хлопаем, ничего не помним. Ни заказчики, ни аналитики, ни разработчики. Кого-то из тех, кто мог бы ответить, на встрече не было. Тут и подумалось: в коде-то эта вся логика есть, нужно её только достать и переварить обратно в текст.
Так и появилась идея сделать помощника как для новых ребят, так и для старичков, так как весь контекст держать в головах уже проблематично: основной солюшн — это почти 15 тысяч файлов на C# и около 1.5 млн строк кода, плюс утилиты и пара сервисов на Java.  В статье — история о пройденном пути создания командного ассистента, который помогает отвечать на любые вопросы о проекте.
Читать далее

https://habr.com/ru/companies/2gis/articles/949704/?utm_campaign=949704&utm_source=habrahabr&utm_medium=rss
Scaled Rank Fusion — объединяет значения из нескольких списков с учётом масштаба

Семейство методов Rank Fusion включает различные алгоритмы объединения нескольких ранжированных списков результатов в один улучшенный ранжированный список с целью повышения качества и надежности итогового ранжирования.
Основная идея — агрегировать информацию из разных систем или моделей, которые могут по-разному оценивать релевантность документов.
Rank Fusion широко применяется в информационном поиске, мультимедийном поиске, гибридных системах поиска, системах на основе модели Retrieval Augmented Generation (RAG), а также в задачах ансамблевого обучения.
В статье описан новый алгоритм семейства Rank Fusion, а может и не новый, дайте знать.
Читать далее

https://habr.com/ru/articles/955050/?utm_campaign=955050&utm_source=habrahabr&utm_medium=rss
🤡1
DotNet&More #161: Чем отличается джун от миддла от сеньора и не только

Технологии меняются каждые 5 лет, алгоритмы учатся за пол года литкода, любой хипстер может навайбкодить SAAS за 3 промпта.Так может все, в современном мире нет места сеньорам?


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


Музыка из выпуска: 
- https://artists.landr.com/056870627229
- https://www.tg-me.com/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:05:30 Разные подходы к коду
00:14:00 Senior как знатоки технологий
00:26:00 Грейд как степень независимости
00:36:20 Проблема закрытых вопросов на собесах
00:52:00 Грейды и выслуга лет


Ссылки:
- https://ecode.ozon.tech/talks/f22529885e974f188e5c97c18eca2603/?referer=%2Fpersons%2Ff5fb0cca75ab472b8b6c1eccce3b77d6%2F&__rr=1 : Доклад нашего гостя


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

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


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


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


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


https://dotnetmore.mave.digital/ep-165
🤡2👍1
Data API Builder 1.6 Adds HTTP Header Controls and Flexible Logging

Microsoft has released Data API Builder (DAB) 1.6, expanding the open-source runtime’s capabilities for REST and GraphQL endpoints over Azure SQL, PostgreSQL, MySQL, and Cosmos DB. The new version introduces advanced HTTP header behaviours for better client-side control and a revamped logging subsystem designed to improve diagnostics and observability in both cloud and on-premise deployments.
By Edin Kapić

https://www.infoq.com/news/2025/10/data-api-builder-16/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=.NET
Формирование RPM пакета для OC Linux с использованием GitLab CI/CD (часть 2)

В предыдущей статье рассмотрены основы сборки RPM пакета и автоматизации процесса.
Данная публикация завершает цикл. Продемонстрировав практическую реализацию готового решения, включая:
Разработку Web сервиса.
Регистрацию сервиса в качестве системной службы с автозагрузкой (systemd) при установке пакета.
Внедрение централизованного логирования через journald.
В результате создана полнофункциональная заготовка для быстрого развертывания сервисов с последующей публикацией их в RPM пакет.
Читать далее

https://habr.com/ru/articles/955642/?utm_campaign=955642&utm_source=habrahabr&utm_medium=rss
Минималистский графический интерфейс, на C++ / WTL, для консольного загрузчика

Введение
Всё началось с комментирования статьи: «[Как я написал современный GUI для yt-dlp на Python]( https://habr.com/ru/articles/930260/)».
Программа автора мне понравилась, и я обещал ему попробовать сделать аналогичный проект на C++ / WTL.
Так вот, не прошло и полгода, как первая версия аналогичной программы уже готова. Её рабочее название – MiniDL, а исходники доступны на сайтах:
http://polezp.narod.ru/Prg/MiniDL100.zip
и
http://lecole.free.nf/Prg/MiniDL100.zip
или
https://disk.yandex.ru/d/yGQDXbkpk6LPqw
Архив содержит также скомпилированные бинарники для 32-х и 64-х разрядных, релизных версий, под Windows («MiniDL32r.exe» и «MiniDL64r.exe»).
Естественно, создать конкурентный интерфейс профессиональной библиотеке CustomTkinter, для Питона, на сверхлегком движке WTL, за обозримое время, практически невозможно. Но такая задача и не ставилась. Хотелось просто реализовать идею автора – работать с удобной графической оболочкой для консольной программы, в данном случае – внешнем загрузчике медиа-контента из Ютуба и других, поддерживаемых им сайтов.
Ради простоты, пришлось отказаться от попытки реализовать все интерфейсные плюшки автора и ограничиться минималистским вариантом. Тем более что, лично меня он вполне устраивает. Более того, поскольку я привык работать в Total Commander, то там вполне удобно использовать и консольные программы, особенно в паре с командным файлом их запуска, что позволяет перенести туда все параметры командной строки. А, в случае с загрузчиком yt-dlp.exe ситуация оказалась еще лучше, так как, он поддерживает конфигурационный файл, с мощными настройками. Если их хорошо освоить, то, в принципе, ничего больше и не надо. Ведь, эти настройки позволяют легко скачивать не только аудио и видео файлы, но и субтитры к ним и тому подобное. Также, легко и просто указать каталог загрузки, но уже в нашей программе, и не мучиться, как автор, с сохранением их на рабочий стол.
Читать далее

https://habr.com/ru/articles/955838/?utm_campaign=955838&utm_source=habrahabr&utm_medium=rss
Система резервации на 600 заказов в секунду без буферизации и другой дичи

Я прочитал статью https://habr.com/ru/companies/ozontech/articles/950044/, и меня поразило, сколько сомнительных решений можно использовать для одной простой задачи.
В этой статье я расскажу, как правильно создать сервис для конкурентных обновлений остатков данных в базе данных. Буду использовать .NET, C#, Entity Framework и PostgreSql.
Читать далее

https://habr.com/ru/articles/955714/?utm_campaign=955714&utm_source=habrahabr&utm_medium=rss
🤡1
Выбор языка программирования для создание более трудных проектов: как сделать правильный выбор новичку?

Мир программирования разнообразен, и новичкам сложно выбрать первый язык. Важно понять свои цели и предпочтения, чтобы сделать правильный выбор и уверенно начать.
Сложность языка зависит не только от его особенностей, но и от вашего опыта и готовности разбираться в материалах. Объективного критерия нет.
Часто сложность связывают с уровнем языка: низкоуровневые ближе к машинному коду и требуют работы с памятью и процессором, что сложнее, но даёт больше контроля. Высокоуровневые проще в использовании благодаря большим стандартным библиотекам и готовым решениям. Однако эта классификация не всегда однозначна и вызывает споры.
Читать далее

https://habr.com/ru/articles/956302/?utm_campaign=956302&utm_source=habrahabr&utm_medium=rss
Announcing the .NET Security Group

Learn how to join the .NET Security Group for early access to CVE information and help deliver security patches to your .NET distribution simultaneously with Microsoft.
The post Announcing the .NET Security Group appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/announcing-dotnet-security-group/
Announcing .NET 10 Release Candidate 2

.NET 10 Release Candidate 2 focuses on final quality, reliability, and stabilization across the runtime, SDK, libraries, ASP.NET Core, Blazor, .NET MAUI, and more.
The post Announcing .NET 10 Release Candidate 2 appeared first on .NET Blog.


https://devblogs.microsoft.com/dotnet/dotnet-10-rc-2/
.NET and .NET Framework October 2025 servicing releases updates

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


https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-october-2025-servicing-updates/
2025/10/20 02:44:56
Back to Top
HTML Embed Code: