Анонимный дотнетчик
Open in Telegram
Просто сборник свежих статей о дотнете. - Обратную связь - Записи для публикации в канал - Вопросы к сообществу для обсуждения Пишите в Direct Messages
Show more1 848
Subscribers
No data24 hours
-27 days
-1430 days
Posts Archive
1 848
Возвращаем интерес к Википедии в эру ИИ
В эпоху стремительного развития ИИ, привычка заглядывать в Википедию постепенно уходит — зачем читать целую статью, когда любой ответ можно получить за доли секунды от чат-бота?
Я решил переосмыслить этот тренд и вдохнуть новую жизнь в классический формат рубрик «Что было в этот день». Внутри описание, как мы с помощью игрового телеграм бота, Wikipedia API, GPT-моделей и Flux мотивируем читать людей википедию.
Читать далее
https://habr.com/ru/articles/920618/?utm_campaign=920618&utm_source=habrahabr&utm_medium=rss
1 848
DevOps-настройка проекта через фрилансера: мой опыт
Когда наш стартап на базе платформы FreelanceSpace перерос первоначальный этап, перед нами встал вопрос об автоматизации процессов разработки и деплоя. Раньше мы вручную собирали и выкатывали обновления, но с ростом нагрузки это становилось узким местом. При этом внутри команды не было DevOps-специалиста, и я понял, что самостоятельно не справлюсь — нужен сторонний эксперт. Решение пришло само собой: найму фрилансера с нужными навыками. В качестве площадки для поиска я использовал собственный сайт FreelanceSpace – IT-фриланс-платформу, «№1 для быстрого подбора разработчиков, дизайнеров и копирайтеров»
. Здесь можно было быстро разместить задание и собрать отклики.
Поиск и выбор исполнителя
Я начал с составления краткого описания задачи (в DevOps-терминах это была настройка CI/CD-процессов: сборка, тестирование и деплой). Затем проанализировал несколько вариантов поиска специалиста:
Биржи фриланса. На крупных площадках (например, Upwork или аналогах) легко найти DevOps-инженеров. Как советует опытный специалист, при подборе лучше ориентироваться на рейтинг: «чем он выше, тем лучше»
. Я изучил профили нескольких фрилансеров, особенно смотрел отзывы и выполненные проекты.
Тематика и опыт. Обращал внимание на конкретные технологии в портфолио (Docker, Kubernetes, Jenkins/GitHub Actions и пр.) – мне был важен опыт именно в CI/CD.
Коммуникация. Пообщался с несколькими кандидатами, чтобы оценить, как они понимают задачу. При первой же беседе заметил, кто задаёт уточняющие вопросы и предлагает идеи – такие специалисты внушали больше доверия.
Читать далее
https://habr.com/ru/articles/920594/?utm_campaign=920594&utm_source=habrahabr&utm_medium=rss
1 848
InterpolatedStringHandler: избавляемся от лишних аллокаций в логах
Классический ILogger.LogInformation($"User {userId}") выглядит безобидно, но на деле компилятор: формирует итоговую строку через string.Format‑like логику, боксит userId, DateTime, struct‑ы и прочее добро, а так же линкует все в object[] ради структурированных логов.
Аллокационная цена вопроса — порядка 80 Б на сообщение (плюс трансферы в LOH, если вы особо многословны).
В.NET 8 Microsoft даже вынесла отдельный раздел «high‑performance logging» и честно сказала: «Да, обычные extension‑методы логов боксят и аллоцируют»
С выходом C# 10 компилятор научился разбирать $"строка" не напрямую в string, а в handler: структуру, которая получает куски литералов и плейсхолдеры. Базовый — DefaultInterpolatedStringHandler.
Читать далее
https://habr.com/ru/companies/otus/articles/920288/?utm_campaign=920288&utm_source=habrahabr&utm_medium=rss
1 848
Красно-чёрное дерево: полная реализация на C#
Что может заставить обратить внимание на красно-чёрные деревья, и как их реализовать? Статья ответит на оба эти вопроса. Бонусом будет показано, как на основе красно-чёрного сконструировать дерево интервалов.
Читать далее
https://habr.com/ru/articles/920390/?utm_campaign=920390&utm_source=habrahabr&utm_medium=rss
1 848
AR-технологии в Unity: Твой первый шаг в дополненную реальность с AR Foundation
Первые шаги в дополненную реальность. Простой туториал по AR Foundation в Unity для начинающих. Создай свое первое AR-приложение. Всё проще, чем кажется!
Читать далее
https://habr.com/ru/articles/920266/?utm_campaign=920266&utm_source=habrahabr&utm_medium=rss
1 848
DotNet&More #153: Проектирование REST API, API First и не только
API First - это просто! Просто садимся и делаем крутой API: универсальный, изящный, дико сложный в реализации и абсолютно бесполезный для использования! А как бы так, чтобы без последних двух пунктов?
Спасибо всем, кто нас слушает. Ждем Ваши комментарии.
Музыка из выпуска:
- 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:05:00 Кто должен разрабатывать спеку API?
00:18:30 Spec First vs Code First vs ...
00:22:30 Когда спеки не сходятся
00:24:30 Ревью спеки
00:30:50 Красивая API, которая никому не нужна
00:33:30 Backend 4 Frontend
00:45:00 Баланс согласования
00:49:25 API as a product
00:57:50 Регрессия
01:03:20 GraphQL, OData
01:19:30 Тестирование моками
01:21:05 Версионирование API
01:31:30 Как рекламировать спеки, витрина API
01:34:00 Open Close Principle для API
01:36:00 Безопасность
01:39:15 API экономика
Ссылки:
- https://swagger.io/resources/articles/adopting-an-api-first-approach/ : Неплохая статья
- https://github.com/OpenAPITools/openapi-generator : То что заставит всех использовать спеку!
Видео: https://youtube.com/live/p_KIy8rTWRs
Слушайте все выпуски: 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-155
1 848
Зажигаем миллиард цветов миллионом строк
Надругательство над C#, C++ и HLSL, игрища с булками и буферами, тройная полиглотность, SIMD, пепекторы, DirectX, экономия 800 Тб ОЗУ, быстрая степень и многое другое.
В этой части я расскажу и покажу, как делал софт на собственном фреймворке, который управляет ядерной подсветкой и механической видеостеной.
Осторожно, трафик!
https://habr.com/ru/articles/902040/?utm_campaign=902040&utm_source=habrahabr&utm_medium=rss
1 848
[Перевод] WaveManager: Реализуем систему управления волнами врагов в Unity
Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса.
Читать далее
https://habr.com/ru/companies/otus/articles/919928/?utm_campaign=919928&utm_source=habrahabr&utm_medium=rss
1 848
Zenject (Extenject) в Unity: Исчерпывающее руководство по внедрению зависимостей
Представьте: Вы добавляете новую механику, а игра ломается в пяти местах. Вы тратите часы на поиск того самого скрипта, который неожиданно зависит от ваших изменений. Знакомо?
Zenject (Extenject) решает это раз и навсегда.
Эта статья о том, что такое zenject и как им пользоваться.
Читать далее
https://habr.com/ru/articles/919846/?utm_campaign=919846&utm_source=habrahabr&utm_medium=rss
1 848
Type Driven Development на практике
Разработка через типы (Type-Driven Development, TDD) — это методология программирования, при которой вы начинаете с написания определений типов, которые служат точной спецификацией вашей программы. Вместо того чтобы сначала писать код, а потом добавлять тесты или типы, вы используете компилятор как интерактивного ассистента, который направляет вас к созданию программы, удовлетворяющей заданным типам.
Idris — это чистый функциональный язык программирования, созданный Эдвином Брэди, который идеально подходит для этого подхода благодаря поддержке зависимых типов.
Но попробуем использовать его идеи на практике вне Idris. Попробуем сравнить такие метрики как1. Время проектирования (момент, после которого разработчик может больше не соприкасаться с предметной областью, а руководствоваться только ТЗ)2. Время до выкатки на прод3. Частота ошибок на проде (и как следствие, ущерб бизнесу и затраты на сопровождение)
Читать далее
https://habr.com/ru/articles/919268/?utm_campaign=919268&utm_source=habrahabr&utm_medium=rss
1 848
Teams Toolkit Rebranded to Microsoft 365 Agents Toolkit
Microsoft has introduced the Microsoft 365 Agents Toolkit, a developer framework designed to streamline the creation of AI-powered agents that automate tasks across Microsoft 365 applications. The toolkit provides tools and APIs to build, test, and deploy intelligent agents capable of handling workflows in Outlook, Teams, Word, and other M365 apps.
By Edin Kapić
https://www.infoq.com/news/2025/06/teams-toolkit-agents-copilot/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=.NET
1 848
Оптимизируйте свой код с Unity Job System
В этой статье мы разберем неявное использование многопоточности с Unity Job System: узнаем про преимущества использования такого подхода перед явным созданием потоков, поговорим про неуправляемую память, про преимущества неуправляемой памяти перед управляемой и многое другое...
Читать далее
https://habr.com/ru/articles/910460/?utm_campaign=910460&utm_source=habrahabr&utm_medium=rss
1 848
Подходы к фильтрации данных на платформе .NET
Всем привет! Меня зовут Александр Кулик, я .NET-разработчик из проекта шопинга в Т-Банке. Занимаюсь бэкенд-разработкой по интеграции и адаптации данных от наших партнеров и внешних сервисов, а также созданием собственных разработок в области платежных операций для B2B-сферы.
Довольно долго я решал разнообразные проблемы во время реализации систем для бизнеса или пользователей. Со временем стал замечать, что каждый раз, приступая к проектированию или разработке, я выбираю между тремя вариантами.
Уверен, многие разработчики сталкивались с таким выбором, а потом с выявленными проблемами — и сожалели о своем решении. Как показала моя практика, нет серебряной пули и всегда, несмотря на выбранный вариант, приходится мириться с недостатками того или иного подхода. В статье на примере одной задачи покажу недостатки и преимущества использования нескольких библиотек.
Читать далее
https://habr.com/ru/companies/tbank/articles/919482/?utm_campaign=919482&utm_source=habrahabr&utm_medium=rss
1 848
Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 7. Как удержать нечто
В прошлой главе мы перенесли A* на F#, после чего в образовательных целях занялись выдёргиванием его «кишок» наружу. Тогда процесс «потрошения» не был завершён до конца, но сегодня мы его добьём. Что касается метагейма, то мы продолжим путь от функции к конструктору и даже успеем слегка залезть на «ту сторону».
Читать далее
https://habr.com/ru/companies/first/articles/919448/?utm_campaign=919448&utm_source=habrahabr&utm_medium=rss
1 848
Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)
ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором.
Читать далее
https://habr.com/ru/companies/pvs-studio/articles/919456/?utm_campaign=919456&utm_source=habrahabr&utm_medium=rss
1 848
Garbage Collector в .NET: как работает и зачем нужен?
Garbage Collector (GC) — одного из самых важных «невидимых помощников» в.NET.Он избавляет нас от ручного управления памятью, но как именно?
Читать далее
https://habr.com/ru/articles/919438/?utm_campaign=919438&utm_source=habrahabr&utm_medium=rss
1 848
Multimodal Vision Intelligence with .NET MAUI
Enhance your .NET MAUI app with photo-based AI by capturing images and extracting structured information using Microsoft.Extensions.AI.
The post Multimodal Vision Intelligence with .NET MAUI appeared first on .NET Blog.
https://devblogs.microsoft.com/dotnet/multimodal-vision-intelligence-with-dotnet-maui/
1 848
Agent mode is now generally available with MCP support
Copilot agent mode is the next evolution in AI-assisted development—and it’s now generally available in the Visual Studio June update. Agent mode turns GitHub Copilot into an autonomous pair programmer capable of handling multi-step development tasks from end to end. It builds a plan, executes it, adapts along the way, and loops through tasks until […]
The post Agent mode is now generally available with MCP support appeared first on Visual Studio Blog.
https://devblogs.microsoft.com/visualstudio/agent-mode-is-now-generally-available-with-mcp-support/
1 848
Working with stacked branches in git (Part 1)
In this post I describe why I like to use stacked branches and stacked PRs for larger features, and how I handle making changes to commits in the stack
https://andrewlock.net/working-with-stacked-branches-in-git-part-1/
1 848
[Перевод] Используйте Camunda как удобный REST-движок для оркестрации и workflow — без необходимости работать с Java
Я много общаюсь о микросервисных архитектурах с «не-Java-людьми» — будь то разработчики на C#, энтузиасты Node.JS/JavaScript или GoLang. Все они сталкиваются с необходимостью оркестрации в микросервисной архитектуре — или просто хотят использовать workflow, упорядочивание действий, обработку таймаутов, Saga и компенсации, а также другие полезные возможности.
Open Source BPM-платформа Camunda отлично подходит для этих задач. Ориентированность на разработчиков — один из ключевых принципов продукта, но при изучении документации может показаться, что она рассчитана в основном на Java-разработчиков. Платформа предоставляет множество точек расширения и интеграции, но всё это реализуется на Java. Значит ли это, что другим разработчикам путь закрыт?
Нет! На самом деле, запустить Camunda и работать с ней без знания Java очень просто — архитектуру можно выстроить так, чтобы писать код на любом удобном языке. В этом посте:
Читать далее
https://habr.com/ru/articles/915858/?utm_campaign=915858&utm_source=habrahabr&utm_medium=rss
