Media is too big
VIEW IN TELEGRAM
«LINQ Expressions: искусство запрашивать данные»
Как с помощью LINQ можно эффективно работать с данными, применяя различные операторы для фильтрации, сортировки и манипулирования данными. Также рассматривается, как запросы могут изменяться в зависимости от логики и потребностей. Видео акцентирует внимание на том, что запросов на чтение данных значительно больше, чем на их изменение, что требует гибкости в подходах к запросам.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
Как с помощью LINQ можно эффективно работать с данными, применяя различные операторы для фильтрации, сортировки и манипулирования данными. Также рассматривается, как запросы могут изменяться в зависимости от логики и потребностей. Видео акцентирует внимание на том, что запросов на чтение данных значительно больше, чем на их изменение, что требует гибкости в подходах к запросам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
С этим расширением для Visual Studio Code ты сможешь понять любой проект
Оно создает интерактивную диаграмму архитектуры, технологий и самых важных файлов.
⏩ https://marketplace.visualstudio.com/items?itemName=peterjx.code-viz
👉 @KodBlog | #ресурсы
Оно создает интерактивную диаграмму архитектуры, технологий и самых важных файлов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥5❤4
Диаграмма жизненного цикла запросов Entity Framework
🍩 Контроллер или сервис отправляет запрос на получение данных.
🍩 Работа с DbContext:
-Проверка кэша запросов и отслеживания изменений.
-Трансляция LINQ-запроса в SQL.
-Компиляция запроса (если необходимо).
🍩 Обращение к базе данных:
- Выполнение SQL-запроса в базе данных.
- Возврат результатов запроса.
🍩 Обработка результатов:
- Преобразование данных из базы в сущности (Hydrate Results).
- Создание объектов сущностей (например, объектов игроков — Player).
- Привязка изменений для отслеживания (если применяется).
🍩 Возврат данных:
- Сервис или контроллер получает коллекцию данных (объекты сущностей).
- Обработка данных (если требуется).
- Завершение работы с контекстом (Dispose).
Диаграмма помогает понять, как данные проходят через слои приложения от контроллера до базы данных и обратно.
👉 @KodBlog | #ресурсы
-Проверка кэша запросов и отслеживания изменений.
-Трансляция LINQ-запроса в SQL.
-Компиляция запроса (если необходимо).
- Выполнение SQL-запроса в базе данных.
- Возврат результатов запроса.
- Преобразование данных из базы в сущности (Hydrate Results).
- Создание объектов сущностей (например, объектов игроков — Player).
- Привязка изменений для отслеживания (если применяется).
- Сервис или контроллер получает коллекцию данных (объекты сущностей).
- Обработка данных (если требуется).
- Завершение работы с контекстом (Dispose).
Диаграмма помогает понять, как данные проходят через слои приложения от контроллера до базы данных и обратно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥5👏2👍1
Как интегрировать CIBA в .NET-приложения для повышения безопасности и конфиденциальности. ❔
CIBA — это стандартный поток для раздельной аутентификации, определенный OpenID Foundation, который используется, когда пользователь не может напрямую взаимодействовать с приложением.
Примером может служить ситуация, когда оператор колл-центра отправляет запрос на аутентификацию на устройство клиента, чтобы подтвердить его личность перед выполнением запроса.
⏩ https://auth0.com/blog/use-ciba-authentication-with-auth0-dotnet/
👉 @KodBlog | #cтатья
CIBA — это стандартный поток для раздельной аутентификации, определенный OpenID Foundation, который используется, когда пользователь не может напрямую взаимодействовать с приложением.
Примером может служить ситуация, когда оператор колл-центра отправляет запрос на аутентификацию на устройство клиента, чтобы подтвердить его личность перед выполнением запроса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Пример неисправности страницы
🟢 Используется таблица страниц с 16 виртуальными страницами (VPN) и 8 физическими страницами (PPN).
🟢 Виртуальный адрес (VA) состоит из 12 бит (4 бита VPN и 8 бит смещения).
🟢 Физический адрес (PA) состоит из 11 бит (3 бита PPN и 8 бит смещения).
🟢 Произошло страничное прерывание при доступе к VPN 0x6, так как страница отсутствовала в памяти.
🟢 Используется политика LRU (Least Recently Used) для замены страниц, удаляется VPN 0xE.
🟢 Данные VPN 0xE записываются на диск, затем загружается VPN 0x6.
🟢 Обновляется таблица страниц: VPN 0x6 теперь соответствует PPN 0x5.
🟢 Происходит запись, поэтому бит "D" (Dirty) для VPN 0x6 устанавливается в 1.
Это учебный пример управления виртуальной памятью с механизмом подкачки страниц.
👉 @KodBlog | #ресурсы
Это учебный пример управления виртуальной памятью с механизмом подкачки страниц.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🙏1
Паттерны Kubernetes
📝 В книге рассматриваются фундаментальные, поведенческие, структурные, конфигурационные и защитные шаблоны, а также сложные темы, такие как операторы и автоскейлинг.
⏩ Получите свой экземпляр:
https://developers.redhat.com/e-books/kubernetes-patterns
👉 @KodBlog | #books
https://developers.redhat.com/e-books/kubernetes-patterns
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1😁1
Вы, вероятно, неправильно регистрируете внедрение зависимостей! 💀
Обычно при внедрении зависимостей (Dependency Injection, DI) программисты вручную регистрируют каждую зависимость в контейнере:
Это утомительно и может привести к ошибкам.
👉 @KodBlog | #ресурсы
Обычно при внедрении зависимостей (Dependency Injection, DI) программисты вручную регистрируют каждую зависимость в контейнере:
Это утомительно и может привести к ошибкам.
AutoRegister автоматизирует этот процесс, упрощая регистрацию всех сервисов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
Какой тема лучше для VS Code? 😦
Перестань искать. Здесь собраны все темы, которые можно отфильтровать по языку программирования, количеству установок или популярности, предварительно просмотреть и установить в редактор одним кликом.
→ vscodethemes.com
👉 @KodBlog | #ресурсы
Перестань искать. Здесь собраны все темы, которые можно отфильтровать по языку программирования, количеству установок или популярности, предварительно просмотреть и установить в редактор одним кликом.
→ vscodethemes.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤🔥2❤1
Оркестратор платежей с открытым исходным кодом 😢
HyperSwitch — это открытый платежный оркестратор от компании Juspay. Он позволяет бизнесам подключать и управлять множеством платежных провайдеров через единую интеграцию.
🟢 Единый API для работы с разными платежными шлюзами (Stripe, Adyen, PayPal и др.).
🟢 Оптимизация платежей: выбирает лучший шлюз по стоимости, скорости или успешности платежей.
🟢 Кеширование карт для ускорения транзакций.
🟢 Поддержка разных валют и регионов.
⏩ Ознакомиться:
https://github.com/juspay/hyperswitch
👉 @KodBlog | #ресурсы
HyperSwitch — это открытый платежный оркестратор от компании Juspay. Он позволяет бизнесам подключать и управлять множеством платежных провайдеров через единую интеграцию.
https://github.com/juspay/hyperswitch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3👌2
Как развернуть .NET-приложение в контейнере?
Без Dockerfile! Вот как:
➖ Шаг 1: Создаём Docker-образ
Это самый простой шаг благодаря встроенной поддержке контейнеров в .NET 8.
Просто запустите стандартную команду dotnet publish с аргументом PublishContainer и тегом образа.
Через несколько секунд ваш новый Docker-образ будет готов. Dockerfile не нужен.
➖ Шаг 2: Отправляем образ в Docker-реестр
Docker-реестр — это хранилище, где можно сохранять и делиться образами.
Если используете Azure Container Registry, просто войдите в систему и снова выполните команду dotnet publish, добавив аргумент ContainerRegistry.
На самом деле, шаги 1 и 2 можно выполнить одной строкой, и после этого ваш образ будет готов к развертыванию из ACR.
➖ Шаг 3: Загружаем образ на продакшен-сервер
Зайдите на свой продакшен-сервер, установите Docker и авторизуйтесь в ACR с помощью команды docker login.
Затем выполните docker pull, чтобы загрузить готовый образ на сервер за считаные секунды.
➖ Шаг 4: Запускаем приложение в продакшене как контейнер
Используйте команду docker run, чтобы запустить ваше .NET-приложение в контейнере.
📝 Результат
Ваше .NET-приложение запущено в продакшене, и вам не пришлось устанавливать ничего, кроме Docker. И никакого Dockerfile!
👉 @KodBlog | #ресурсы
Без Dockerfile! Вот как:
Это самый простой шаг благодаря встроенной поддержке контейнеров в .NET 8.
Просто запустите стандартную команду dotnet publish с аргументом PublishContainer и тегом образа.
Через несколько секунд ваш новый Docker-образ будет готов. Dockerfile не нужен.
Docker-реестр — это хранилище, где можно сохранять и делиться образами.
Если используете Azure Container Registry, просто войдите в систему и снова выполните команду dotnet publish, добавив аргумент ContainerRegistry.
На самом деле, шаги 1 и 2 можно выполнить одной строкой, и после этого ваш образ будет готов к развертыванию из ACR.
Зайдите на свой продакшен-сервер, установите Docker и авторизуйтесь в ACR с помощью команды docker login.
Затем выполните docker pull, чтобы загрузить готовый образ на сервер за считаные секунды.
Используйте команду docker run, чтобы запустить ваше .NET-приложение в контейнере.
Ваше .NET-приложение запущено в продакшене, и вам не пришлось устанавливать ничего, кроме Docker. И никакого Dockerfile!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤2👌1
This media is not supported in your browser
VIEW IN TELEGRAM
БРУТАЛЬНОЕ расширение для Visual Studio Code! 😳
➖ Git Graph — предоставляет графическое представление вашего Git-репозитория, облегчая визуализацию и управление историей коммитов.
С его помощью вы можете просматривать древовидную структуру коммитов, что особенно полезно при работе с ветвлениями и слияниями
И оно бесплатное!
https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph
👉 @KodBlog | #ресурсы
С его помощью вы можете просматривать древовидную структуру коммитов, что особенно полезно при работе с ветвлениями и слияниями
И оно бесплатное!
https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥3👍2
Media is too big
VIEW IN TELEGRAM
C# Factory Method Фабричный Метод | Design Patterns
В нем раскрываются основные концепции, такие как использование фабричного метода для создания объектов, без указания точного типа создаваемого класса. Обсуждаются как преимущества, так и недостатки этого подхода, включая усложнение кода и необходимость в дополнительных фабриках.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
В нем раскрываются основные концепции, такие как использование фабричного метода для создания объектов, без указания точного типа создаваемого класса. Обсуждаются как преимущества, так и недостатки этого подхода, включая усложнение кода и необходимость в дополнительных фабриках.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4
Функциональное программирование сделает вас лучшим .NET-разработчиком
Пора добавить его в ваш арсенал инструментов.
Хотя C# является объектно-ориентированным языком программирования, в последних версиях были добавлены многие функциональные особенности.
Вот несколько из них:
🔸 Сопоставление с образцом (Pattern matching)
🔸 Выражения switch
🔸 Records
Вероятно, вы уже используете функциональное программирование, даже не осознавая этого.
Используете LINQ?
Если да, то вы уже работаете с функциональным программированием, потому что LINQ — это функциональная библиотека .NET.
Вот как можно рефакторить императивный код в функциональный в C#: How to apply functional programming in C#
👉 @KodBlog | #tips
Пора добавить его в ваш арсенал инструментов.
Хотя C# является объектно-ориентированным языком программирования, в последних версиях были добавлены многие функциональные особенности.
Вот несколько из них:
Вероятно, вы уже используете функциональное программирование, даже не осознавая этого.
Используете LINQ?
Если да, то вы уже работаете с функциональным программированием, потому что LINQ — это функциональная библиотека .NET.
Вот как можно рефакторить императивный код в функциональный в C#: How to apply functional programming in C#
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤3🥴1
Начало работы с BenchmarkDotNet
BenchmarkDotNet стал стандартом де-факто для измерения производительности в dotnet.😢
Начать очень просто:
🟢 Установите BDN из NuGet
🟢 Создайте класс, содержащий ваши методы
🟢 Добавьте атрибут [Benchmark] к нужным методам
🟢 Вызовите BenchmarkRunner.Run для вашего класса
🟢 Запустите без отладки и в режиме релиза
Простой пример выше показывает, как сравнить два разных подхода к конкатенации строк, а также как задать базовую конфигурацию, например, установить эталон и выбрать версию .NET.
➖ Код примера — вставьте его в консольное приложение и просто начните экспериментировать.
Я действительно обожаю этот инструмент.
А вы уже пробовали его?
👉 @KodBlog | #tips
BenchmarkDotNet стал стандартом де-факто для измерения производительности в dotnet.
Начать очень просто:
Простой пример выше показывает, как сравнить два разных подхода к конкатенации строк, а также как задать базовую конфигурацию, например, установить эталон и выбрать версию .NET.
Я действительно обожаю этот инструмент.
А вы уже пробовали его?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🙏1
Подробное руководство для подготовки к собеседованию на позицию старшего инженера C#.
Она содержит более 30 углубленных вопросов с детальными объяснениями и ответами,
🟢 Обработка транзакций
🟢 Распределенные системы
🟢 Оптимизация производительности
🟢 Безопасность
🟢 Проектирование систем
Статья будет полезна специалистам, стремящимся углубить свои знания и подготовиться к собеседованиям на позиции старшего инженера C#.😮
⏩ Читать:
https://dev.to/iamcymentho/mastering-the-senior-c-engineer-interview-3dc2
👉 @KodBlog | #cтатья
Она содержит более 30 углубленных вопросов с детальными объяснениями и ответами,
Статья будет полезна специалистам, стремящимся углубить свои знания и подготовиться к собеседованиям на позиции старшего инженера C#.
https://dev.to/iamcymentho/mastering-the-senior-c-engineer-interview-3dc2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1👏1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3👏2