Простая миграция данных с 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
Forwarded from Типичный программист
LLM4Decompile: языковая модель для декомпиляции бинарников
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел🔥
#инструменты
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел
#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
🔐 Безопасность плагинов: новый взгляд
В статье обсуждают создание системы безопасности для менеджера плагинов. Автор делится опытом внедрения защиты динамической загрузки .dll, используя паттерн "Наблюдатель" и контроллер разрешений. Эти решения увеличивают гибкость и устойчивость системы, предотвращая угрозы.
Читать подробнее: https://habr.com/ru/articles/905232/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсуждают создание системы безопасности для менеджера плагинов. Автор делится опытом внедрения защиты динамической загрузки .dll, используя паттерн "Наблюдатель" и контроллер разрешений. Эти решения увеличивают гибкость и устойчивость системы, предотвращая угрозы.
Читать подробнее: https://habr.com/ru/articles/905232/
#ru
@dot_net_c_sharp | Другие наши каналы
Реализация пула зависимостей в ASP.NET Core
Пост: В продолжение предыдущей статьи, автор делится примером реализации "пулового" времени жизни в ASP.NET Core. Эта концепция позволяет снизить издержки ресурсноёмких операций, улучшая производительность, благодаря повторному использованию сервисов в пределах пула. Узнайте больше о требованиях и нюансах внедрения в новой статье. 🔍 Нужен ли пул сервисов в .NET?
В статье обсуждается реализация "пулового" времени жизни для сервисов в .NET и тестируется её работа. При этом выясняется, что преимущества от пулов могут нивелироваться сложностью их реализации и особенностями сборки мусора. Конечный вывод: использовать или нет, зависит от конкретного сценария.
Подробности: https://andrewlock.net/creating-a-pooled-dependency-injection-lifetime/
#en
@dot_net_c_sharp | Другие наши каналы
Пост: В продолжение предыдущей статьи, автор делится примером реализации "пулового" времени жизни в ASP.NET Core. Эта концепция позволяет снизить издержки ресурсноёмких операций, улучшая производительность, благодаря повторному использованию сервисов в пределах пула. Узнайте больше о требованиях и нюансах внедрения в новой статье. 🔍 Нужен ли пул сервисов в .NET?
В статье обсуждается реализация "пулового" времени жизни для сервисов в .NET и тестируется её работа. При этом выясняется, что преимущества от пулов могут нивелироваться сложностью их реализации и особенностями сборки мусора. Конечный вывод: использовать или нет, зависит от конкретного сценария.
Подробности: https://andrewlock.net/creating-a-pooled-dependency-injection-lifetime/
#en
@dot_net_c_sharp | Другие наши каналы
Погружение в акторную модель с Алексеем Деевым
Ознакомьтесь с акторной моделью, которая помогает решать проблемы потоковых архитектур и улучшать управляемость сложных систем. Алексей Деев рассказывает об использовании акторам и фреймворке Orleans для .NET, а также о различиях между Proto.Actor и Akka.NET.
Читать подробнее: https://habr.com/ru/companies/avanpost/articles/905428/
#ru
@dot_net_c_sharp | Другие наши каналы
Ознакомьтесь с акторной моделью, которая помогает решать проблемы потоковых архитектур и улучшать управляемость сложных систем. Алексей Деев рассказывает об использовании акторам и фреймворке Orleans для .NET, а также о различиях между Proto.Actor и Akka.NET.
Читать подробнее: https://habr.com/ru/companies/avanpost/articles/905428/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Игнорируя null: почему старый подход работает в F#
В статье обсуждается, как последние изменения в F# влияют на работу с null и почему команда автора продолжает использовать традиционные методы. Это помогает новым разработчикам легче ориентироваться в коде. Узнайте, какие компромиссы приходится делать, взаимодействуя с C#-фреймворками.
Читать подробнее: https://habr.com/ru/companies/first/articles/904772/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье обсуждается, как последние изменения в F# влияют на работу с null и почему команда автора продолжает использовать традиционные методы. Это помогает новым разработчикам легче ориентироваться в коде. Узнайте, какие компромиссы приходится делать, взаимодействуя с C#-фреймворками.
Читать подробнее: https://habr.com/ru/companies/first/articles/904772/
#ru
@dot_net_c_sharp | Другие наши каналы
🔧 Автоматизация публикации .NET MAUI библиотеки с помощью GitHub Actions
В статье рассказывается, как настроить GitHub Actions для автоматизации сборки, упаковки и публикации .NET MAUI библиотеки в виде NuGet пакета. Используется динамическое версионирование и подпись пакета для защиты содержимого. Публикация возможна как на NuGet.org, так и на Azure DevOps.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-maui-libraries-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
В статье рассказывается, как настроить GitHub Actions для автоматизации сборки, упаковки и публикации .NET MAUI библиотеки в виде NuGet пакета. Используется динамическое версионирование и подпись пакета для защиты содержимого. Публикация возможна как на NuGet.org, так и на Azure DevOps.
Подробности: https://devblogs.microsoft.com/dotnet/dotnet-maui-libraries-github-actions/
#en
@dot_net_c_sharp | Другие наши каналы
Переосмысление паттерна Visitor в C#
В статье исследуется реализация паттерна Visitor на C#, решающая проблемы с типобезопасностью и динамическим приведением типов. Рассматриваются классические и современные подходы, улучшения структуры кода и снижение циклических зависимостей для более поддерживаемых проектов.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/896752/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье исследуется реализация паттерна Visitor на C#, решающая проблемы с типобезопасностью и динамическим приведением типов. Рассматриваются классические и современные подходы, улучшения структуры кода и снижение циклических зависимостей для более поддерживаемых проектов.
Читать подробнее: https://habr.com/ru/companies/ruvds/articles/896752/
#ru
@dot_net_c_sharp | Другие наши каналы