Преодоление кризисов на пути к C#
Погружение в C#.NET стало для начинающего разработчика не только обучением новым технологиям, но и личным вызовом. Он делится, как онлайн-курсы и книги помогли ему освоить сложные концепции и избежать ошибок в первых проектах, превращая трудности в стимул для обучения.
Читать подробнее: https://habr.com/ru/articles/901376/
#ru
@dot_net_c_sharp | Другие наши каналы
Погружение в C#.NET стало для начинающего разработчика не только обучением новым технологиям, но и личным вызовом. Он делится, как онлайн-курсы и книги помогли ему освоить сложные концепции и избежать ошибок в первых проектах, превращая трудности в стимул для обучения.
Читать подробнее: https://habr.com/ru/articles/901376/
#ru
@dot_net_c_sharp | Другие наши каналы
Azure Functions и протокол модели контекста (MCP): упрощённый подход!
Azure Functions представила новую экспериментальную функцию, позволяющую легко создавать удалённые серверы MCP для взаимодействия AI с инструментами, такими как API для Azure Blob Storage. Узнайте, как упрощается создание MCP серверов благодаря интеграции с Azure и событийному серверлес-подходу. Простой способ интеграции инструментов в приложения на базе LLM
Теперь добавление инструментов в приложения с LLM стало проще благодаря Model Context Protocol (MCP). Использование MCP позволяет легко настроить Copilot для выполнения различных задач, от сохранения фрагментов кода до их вставки в нужное место. Узнайте больше в статье!
Подробности: https://devblogs.microsoft.com/dotnet/build-mcp-remote-servers-with-azure-functions/
#en
@dot_net_c_sharp | Другие наши каналы
Azure Functions представила новую экспериментальную функцию, позволяющую легко создавать удалённые серверы MCP для взаимодействия AI с инструментами, такими как API для Azure Blob Storage. Узнайте, как упрощается создание MCP серверов благодаря интеграции с Azure и событийному серверлес-подходу. Простой способ интеграции инструментов в приложения на базе LLM
Теперь добавление инструментов в приложения с LLM стало проще благодаря Model Context Protocol (MCP). Использование MCP позволяет легко настроить Copilot для выполнения различных задач, от сохранения фрагментов кода до их вставки в нужное место. Узнайте больше в статье!
Подробности: https://devblogs.microsoft.com/dotnet/build-mcp-remote-servers-with-azure-functions/
#en
@dot_net_c_sharp | Другие наши каналы
🔥3
Автоматизация юнит-тестов для .NET разработчиков
Узнайте, как ускорить и упростить процесс написания юнит-тестов с помощью подходов AAA и Roy Osherove. Используйте AutoFixture и AutoData для сокращения рутины и улучшения тестирования в C# 11. Этот подход уже применяют компании вроде МТС.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/894522/
#ru
@dot_net_c_sharp | Другие наши каналы
Узнайте, как ускорить и упростить процесс написания юнит-тестов с помощью подходов AAA и Roy Osherove. Используйте AutoFixture и AutoData для сокращения рутины и улучшения тестирования в C# 11. Этот подход уже применяют компании вроде МТС.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/894522/
#ru
@dot_net_c_sharp | Другие наши каналы
🌐 Новые горизонты с .NET AI Chat
Вышла вторая версия шаблона .NET AI Chat Web App! Теперь с поддержкой .NET Aspire и интеграцией с векторной базой Qdrant. Это упрощает создание облачных AI-чатов. Установите шаблон и начните разработку с помощью Visual Studio или VS Code. Ваши отзывы очень важны для нас!
Подробности: https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview2/
#en
@dot_net_c_sharp | Другие наши каналы
Вышла вторая версия шаблона .NET AI Chat Web App! Теперь с поддержкой .NET Aspire и интеграцией с векторной базой Qdrant. Это упрощает создание облачных AI-чатов. Установите шаблон и начните разработку с помощью Visual Studio или VS Code. Ваши отзывы очень важны для нас!
Подробности: https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview2/
#en
@dot_net_c_sharp | Другие наши каналы
❤2
Опыт модернизации светодиодной системы
Пост: В статье описан опыт модернизации системы освещения с использованием мощных блоков питания и контроллеров. Автор делится, как обновление изоляции и правильный подбор компонентов улучшили стабильность подсветки и защитили её от перегрузок. Узнайте больше в оригинале.
Читать подробнее: https://habr.com/ru/articles/899556/
#ru
@dot_net_c_sharp | Другие наши каналы
Пост: В статье описан опыт модернизации системы освещения с использованием мощных блоков питания и контроллеров. Автор делится, как обновление изоляции и правильный подбор компонентов улучшили стабильность подсветки и защитили её от перегрузок. Узнайте больше в оригинале.
Читать подробнее: https://habr.com/ru/articles/899556/
#ru
@dot_net_c_sharp | Другие наши каналы
🔧 Как организовать фоновую обработку в SaaS
В статье рассматривается, как разрабатывать SaaS продукт с поддержкой фоновой обработки задач, разделением клиентских данных и внедрением приоритетов. Примером служит решение для 3PL операторов, где ключевыми инструментами становятся брокеры сообщений и Hangfire для управления очередями. 🔧 Управление задачами в Hangfire: как распределять бизнес-процессы
Статья рассказывает о применении Hangfire для управления задачами с разной приоритетностью. В виртуальных серверах распределяются бизнес-процессы, такие как создание отгрузок и рассылка уведомлений. Решение масштабируется с использованием нескольких физических серверов. Нагрузочное тестирование Redis на Windows
Разработчик протестировал производительность Redis, запущенного на Windows через WSL, используя i7-8700k и 32 Гб ОЗУ. Этот setup справляется с 800 клиентами, каждый из которых запускает по 10 потоков. Узнайте больше о настройках и тестах в статье.
Читать подробнее: https://habr.com/ru/articles/902246/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье рассматривается, как разрабатывать SaaS продукт с поддержкой фоновой обработки задач, разделением клиентских данных и внедрением приоритетов. Примером служит решение для 3PL операторов, где ключевыми инструментами становятся брокеры сообщений и Hangfire для управления очередями. 🔧 Управление задачами в Hangfire: как распределять бизнес-процессы
Статья рассказывает о применении Hangfire для управления задачами с разной приоритетностью. В виртуальных серверах распределяются бизнес-процессы, такие как создание отгрузок и рассылка уведомлений. Решение масштабируется с использованием нескольких физических серверов. Нагрузочное тестирование Redis на Windows
Разработчик протестировал производительность Redis, запущенного на Windows через WSL, используя i7-8700k и 32 Гб ОЗУ. Этот setup справляется с 800 клиентами, каждый из которых запускает по 10 потоков. Узнайте больше о настройках и тестах в статье.
Читать подробнее: https://habr.com/ru/articles/902246/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
От Turbo Pascal до .NET: История технологий и людей
Изучите путь от легендарного Turbo Pascal к влиятельной платформе .NET. Узнайте, как революция Delphi привела к созданию языка C# и как Microsoft вытолкнула на рынок свой ответ — .NET. История о людях, решениях и технологиях, которые сформировали современную разработку. История .NET: от Delphi к современности
.NET — это не просто платформа, а наследие многих технологий, начиная с Delphi. Несмотря на попытки обновления с помощью .NET Core и новой кроссплатформенности, старые технологии остаются актуальными. .NET живёт, сохраняя опыт прошлого и открывая путь будущим разработкам.
Читать подробнее: https://habr.com/ru/articles/902476/
#ru
@dot_net_c_sharp | Другие наши каналы
Изучите путь от легендарного Turbo Pascal к влиятельной платформе .NET. Узнайте, как революция Delphi привела к созданию языка C# и как Microsoft вытолкнула на рынок свой ответ — .NET. История о людях, решениях и технологиях, которые сформировали современную разработку. История .NET: от Delphi к современности
.NET — это не просто платформа, а наследие многих технологий, начиная с Delphi. Несмотря на попытки обновления с помощью .NET Core и новой кроссплатформенности, старые технологии остаются актуальными. .NET живёт, сохраняя опыт прошлого и открывая путь будущим разработкам.
Читать подробнее: https://habr.com/ru/articles/902476/
#ru
@dot_net_c_sharp | Другие наши каналы
Простая миграция данных с Newtonsoft.Json
Как избежать лишнего кода при обновлении версий данных? Об этом рассказано в статье, посвященной миграции с использованием Newtonsoft.Json и кастомных JsonConverter'ов. Простое решение для разработчиков, которое позволяет обойтись без сложных иерархий кода.
Читать подробнее: https://habr.com/ru/articles/902624/
#ru
@dot_net_c_sharp | Другие наши каналы
Как избежать лишнего кода при обновлении версий данных? Об этом рассказано в статье, посвященной миграции с использованием Newtonsoft.Json и кастомных JsonConverter'ов. Простое решение для разработчиков, которое позволяет обойтись без сложных иерархий кода.
Читать подробнее: https://habr.com/ru/articles/902624/
#ru
@dot_net_c_sharp | Другие наши каналы
Статья о Dependency Injection расширяет стандартные возможности
В статье обсуждаются существующие временные периоды сервисов в .NET DI-контейнере и воображаемые "гипотетические" временные периоды, представленные в подкасте The Breakpoint Show. Описанные варианты включают tenant-scoped, pooled и drifter типы сервисов, предлагающие новые подходы к управлению зависимостями. 🔧 Управление зависимостями в ASP.NET Core: подходы и ограничения
В статье обсуждаются разные подходы к созданию временных зависимостей в ASP.NET Core: с использованием Lazy<t и lock(). Основное внимание уделяется созданию потокобезопасных зависимостей. Однако есть проблемы с IDisposable сервисами — они могут быть удалены в процессе использования.
Подробности: https://andrewlock.net/going-beyond-singleton-scoped-and-transient-lifetimes/
#en @dot_net_c_sharp | Другие наши каналы
В статье обсуждаются существующие временные периоды сервисов в .NET DI-контейнере и воображаемые "гипотетические" временные периоды, представленные в подкасте The Breakpoint Show. Описанные варианты включают tenant-scoped, pooled и drifter типы сервисов, предлагающие новые подходы к управлению зависимостями. 🔧 Управление зависимостями в ASP.NET Core: подходы и ограничения
В статье обсуждаются разные подходы к созданию временных зависимостей в ASP.NET Core: с использованием Lazy<t и lock(). Основное внимание уделяется созданию потокобезопасных зависимостей. Однако есть проблемы с IDisposable сервисами — они могут быть удалены в процессе использования.
Подробности: https://andrewlock.net/going-beyond-singleton-scoped-and-transient-lifetimes/
#en @dot_net_c_sharp | Другие наши каналы
Andrew Lock | .NET Escapades
Going beyond singleton, scoped, and transient lifetimes—tenant, pooled, and drifter
In this post I investigate some 'experimental' dependency injection scopes that provide additional features over Singleton, Scoped, and Transient
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Прорыв в AI для .NET разработчиков
Встречайте AI Dev Gallery — приложение для Windows, упрощающее разработку AI с помощью .NET. Оно предлагает интерактивные образцы, легкий доступ к моделям и экспортируемый исходный код. Начните свой путь в AI без подключения к облачным сервисам и дополнительных затрат. Узнайте больше!
Подробности: https://devblogs.microsoft.com/dotnet/introducing-ai-dev-gallery-gateway-to-local-ai-development/
#en
@dot_net_c_sharp | Другие наши каналы
Встречайте AI Dev Gallery — приложение для Windows, упрощающее разработку AI с помощью .NET. Оно предлагает интерактивные образцы, легкий доступ к моделям и экспортируемый исходный код. Начните свой путь в AI без подключения к облачным сервисам и дополнительных затрат. Узнайте больше!
Подробности: https://devblogs.microsoft.com/dotnet/introducing-ai-dev-gallery-gateway-to-local-ai-development/
#en
@dot_net_c_sharp | Другие наши каналы
🔥5💊1
🔔Официальный клиент SignalR для Swift доступен!
iOS-разработчики, у нас отличные новости: теперь вы можете добавить в ваши приложения на SwiftUI и UIKit поддержку реального времени с помощью официального SignalR клиента. Откройте для себя новые возможности чата, уведомлений и потоковой передачи данных без лишних забот о совместимости и поддержке.
Подробности: https://devblogs.microsoft.com/dotnet/building-real‑time-ios-apps-with-signalr-introducing-the-official-swift-client-public-preview/
#en
@dot_net_c_sharp | Другие наши каналы
iOS-разработчики, у нас отличные новости: теперь вы можете добавить в ваши приложения на SwiftUI и UIKit поддержку реального времени с помощью официального SignalR клиента. Откройте для себя новые возможности чата, уведомлений и потоковой передачи данных без лишних забот о совместимости и поддержке.
Подробности: https://devblogs.microsoft.com/dotnet/building-real‑time-ios-apps-with-signalr-introducing-the-official-swift-client-public-preview/
#en
@dot_net_c_sharp | Другие наши каналы
👍3
Искусственный интеллект: новые горизонты общения
В эпоху повсеместного распространения ИИ один случай выделяется: девушка начала взаимодействовать с виртуальной анкетой в Telegram-боте знакомств и настолько привязалась к ней, что попросила не удалять "виртуального человека". Это показало, как ИИ может заменять реальное человеческое общение.
Читать подробнее: https://habr.com/ru/articles/903380/
#ru
@dot_net_c_sharp | Другие наши каналы
В эпоху повсеместного распространения ИИ один случай выделяется: девушка начала взаимодействовать с виртуальной анкетой в Telegram-боте знакомств и настолько привязалась к ней, что попросила не удалять "виртуального человека". Это показало, как ИИ может заменять реальное человеческое общение.
Читать подробнее: https://habr.com/ru/articles/903380/
#ru
@dot_net_c_sharp | Другие наши каналы
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем учебник из любого GitHub-репозитория
Вышла прикольная тулза — Tutorial-Codebase-Knowledge. Она превращает любой репозиторий в пошаговый гайд: LLM анализирует код, находит ключевые компоненты и связи, а потом объясняет, как всё устроено и зачем.
Подходит, если разбираетесь в новой технологии, лезете в чужой проект — или просто страдаете от того, что не узнаёте собственный код через месяц.
#инструменты
Вышла прикольная тулза — Tutorial-Codebase-Knowledge. Она превращает любой репозиторий в пошаговый гайд: LLM анализирует код, находит ключевые компоненты и связи, а потом объясняет, как всё устроено и зачем.
Подходит, если разбираетесь в новой технологии, лезете в чужой проект — или просто страдаете от того, что не узнаёте собственный код через месяц.
#инструменты
👍6🔥3
🌐 Вся мощь асинхронности в программировании
Асинхронность в C# позволяет выполнять задачи, не блокируя поток программы. Это особенно полезно при работе с серверными запросами или файлами. В статье описаны ключевые приемы использования async/await и объясняется, как они делают код более эффективным и гибким. Узнайте подробнее!
Читать подробнее: https://habr.com/ru/articles/903566/
#ru
@dot_net_c_sharp | Другие наши каналы
Асинхронность в C# позволяет выполнять задачи, не блокируя поток программы. Это особенно полезно при работе с серверными запросами или файлами. В статье описаны ключевые приемы использования async/await и объясняется, как они делают код более эффективным и гибким. Узнайте подробнее!
Читать подробнее: https://habr.com/ru/articles/903566/
#ru
@dot_net_c_sharp | Другие наши каналы
❤3
Одна библиотека для всех JSON задач в .NET
Столкнулись с множеством спецификаций JSON? JSON Everything в .NET предлагает единое решение. Поддержка JSON Schema, Path и Patch, продуманная модульная архитектура и активное сообщество — всё это делает её незаменимой для разработчиков. Узнайте больше на GitHub!
Подробности: https://dotnetfoundation.org/news-events/detail/spotlight-on-json-everything-a-unified-toolkit-for-json-standards-in-.net
#en
@dot_net_c_sharp | Другие наши каналы
Столкнулись с множеством спецификаций JSON? JSON Everything в .NET предлагает единое решение. Поддержка JSON Schema, Path и Patch, продуманная модульная архитектура и активное сообщество — всё это делает её незаменимой для разработчиков. Узнайте больше на GitHub!
Подробности: https://dotnetfoundation.org/news-events/detail/spotlight-on-json-everything-a-unified-toolkit-for-json-standards-in-.net
#en
@dot_net_c_sharp | Другие наши каналы
❤2
🔧 Упрощение регистрации в контейнерах
Создана утилита, упрощающая регистрацию реализаций в контейнерах для крупных проектов. Благодаря TypeRegistrationAttribute и DerivedTypeRegistrationAttribute можно легко управлять LifetimeManagement без ручного добавления. Утилита значительно ускоряет процесс и упрощает поддержку.
Читать подробнее: https://habr.com/ru/articles/903858/
#ru
@dot_net_c_sharp | Другие наши каналы
Создана утилита, упрощающая регистрацию реализаций в контейнерах для крупных проектов. Благодаря TypeRegistrationAttribute и DerivedTypeRegistrationAttribute можно легко управлять LifetimeManagement без ручного добавления. Утилита значительно ускоряет процесс и упрощает поддержку.
Читать подробнее: https://habr.com/ru/articles/903858/
#ru
@dot_net_c_sharp | Другие наши каналы
🎓 Успей подать заявку на стажировку в PIX Robotics!
PIX Robotics завершила первую успешную стажировку по C# и открывает набор на новые позиции. Вас ждут реальные задачи, усиленный код ревью и возможность расти в динамичной команде. Узнайте, как мы превращаем новичков в профессионалов!
Читать подробнее: https://habr.com/ru/companies/pix_robotics/articles/903324/
#ru
@dot_net_c_sharp | Другие наши каналы
PIX Robotics завершила первую успешную стажировку по C# и открывает набор на новые позиции. Вас ждут реальные задачи, усиленный код ревью и возможность расти в динамичной команде. Узнайте, как мы превращаем новичков в профессионалов!
Читать подробнее: https://habr.com/ru/companies/pix_robotics/articles/903324/
#ru
@dot_net_c_sharp | Другие наши каналы
Обновления в алгоритме развёртывания
Автор статьи поделился доработками в алгоритме развёртывания, который он описывал год назад. Тогда, пытаясь сократить материал, он пропустил важные сценарии, ставшие техдолгом. Теперь он исправляет этот недочет перед продолжением работы.
Читать подробнее: https://habr.com/ru/articles/904306/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор статьи поделился доработками в алгоритме развёртывания, который он описывал год назад. Тогда, пытаясь сократить материал, он пропустил важные сценарии, ставшие техдолгом. Теперь он исправляет этот недочет перед продолжением работы.
Читать подробнее: https://habr.com/ru/articles/904306/
#ru
@dot_net_c_sharp | Другие наши каналы
Scalar вместо Swashbuckle: что нового в .Net
С .Net исчез Swashbuckle, и теперь для работы с API Microsoft предлагает использовать собственный пакет OpenApi. Вместо Swagger UI активно развивается Scalar, который легко интегрируется с .Net и поддерживает Code First подход. Простой переход с Swashbuckle!
Читать подробнее: https://habr.com/ru/articles/904738/
#ru
@dot_net_c_sharp | Другие наши каналы
С .Net исчез Swashbuckle, и теперь для работы с API Microsoft предлагает использовать собственный пакет OpenApi. Вместо Swagger UI активно развивается Scalar, который легко интегрируется с .Net и поддерживает Code First подход. Простой переход с Swashbuckle!
Читать подробнее: https://habr.com/ru/articles/904738/
#ru
@dot_net_c_sharp | Другие наши каналы
🆒3👍2
Паттерн Strangler Fig: плавная миграция к микросервисам
Преобразуйте свой монолит в современную систему с помощью паттерна Strangler Fig. Это поэтапный переход к микросервисам, позволяющий тестировать каждую составляющую и минимизировать риски. Узнайте, как компании модернизируют легаси-системы и повышают их надежность.
Читать подробнее: https://habr.com/ru/articles/904954/
#ru
@dot_net_c_sharp | Другие наши каналы
Преобразуйте свой монолит в современную систему с помощью паттерна Strangler Fig. Это поэтапный переход к микросервисам, позволяющий тестировать каждую составляющую и минимизировать риски. Узнайте, как компании модернизируют легаси-системы и повышают их надежность.
Читать подробнее: https://habr.com/ru/articles/904954/
#ru
@dot_net_c_sharp | Другие наши каналы
👍1
Оптимизация кода: взгляд изнутри
Программисты часто сталкиваются с дилеммами оптимизации. Наш автор, будучи «джуниором», делится опытом рефакторинга кода. Как выбрать правильные алгоритмы и ускорить операции, например, через бинарный поиск? Когда объёмы данных растут, это становится ключевым аспектом. Обучение с LeetCode: личный опыт
Платформа LeetCode — это отличный выбор для изучения алгоритмов. Она не только предлагает разнообразные учебные планы, но и позволяет видеть разные решения задач благодаря большому сообществу. Используя визуализацию заметок в Obsidian, я углубил знания и отслеживал прогресс. Как эффективно использовать Obsidian для обучения
В статье обсудили важность практического подхода к обучению. Обзор показывает, что Obsidian отлично подходит для структурирования и пересмотра изученного материала. Это мощный инструмент для управления задачами и ведения личных записей.
Читать подробнее: https://habr.com/ru/companies/icl_group/articles/905020/
#ru
@dot_net_c_sharp | Другие наши каналы
Программисты часто сталкиваются с дилеммами оптимизации. Наш автор, будучи «джуниором», делится опытом рефакторинга кода. Как выбрать правильные алгоритмы и ускорить операции, например, через бинарный поиск? Когда объёмы данных растут, это становится ключевым аспектом. Обучение с LeetCode: личный опыт
Платформа LeetCode — это отличный выбор для изучения алгоритмов. Она не только предлагает разнообразные учебные планы, но и позволяет видеть разные решения задач благодаря большому сообществу. Используя визуализацию заметок в Obsidian, я углубил знания и отслеживал прогресс. Как эффективно использовать Obsidian для обучения
В статье обсудили важность практического подхода к обучению. Обзор показывает, что Obsidian отлично подходит для структурирования и пересмотра изученного материала. Это мощный инструмент для управления задачами и ведения личных записей.
Читать подробнее: https://habr.com/ru/companies/icl_group/articles/905020/
#ru
@dot_net_c_sharp | Другие наши каналы
🤣3💊1