Начало работы с 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
В .NET 9 введен новый тип Base64Url.
Существующий метод
Вместо этого, помощник Base64Url генерирует строку без этих символов.
👉 @KodBlog | #ресурсы
Существующий метод
Convert.ToBase64String может генерировать строку с символами '/', '+', или '=', которые не безопасны для использования в URL, поскольку они имеют особое значение в URL.Вместо этого, помощник Base64Url генерирует строку без этих символов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤3🎉2
Создание CRUD API с использованием
📝 Автор подробно описывает процесс разработки, начиная с настройки проекта и конфигурации подключения к базе данных, и заканчивая реализацией операций создания, чтения, обновления и удаления (CRUD) через Entity Framework Core.
Особое внимание уделяется структурированию кода с использованием репозиториев и сервисных слоев
⏩ Читать:
https://dev.to/olymahmud/building-a-crud-api-with-aspnet-core-web-api-and-postgresql-p5f
👉 @KodBlog | #cтатья
ASP.NET Core Web API и базы данных PostgreSQLОсобое внимание уделяется структурированию кода с использованием репозиториев и сервисных слоев
https://dev.to/olymahmud/building-a-crud-api-with-aspnet-core-web-api-and-postgresql-p5f
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😐3❤1🤔1🌚1
Коллекция вспомогательных методов и классов для .NET, 😏
TinyHelpers — это библиотека, созданная Марко Минервой, содержащая набор вспомогательных методов и классов для .NET, которые он использует ежедневно.
➖ Цель этой библиотеки — избежать дублирования кода, объединив часто используемые функции в одном месте.
Библиотека доступна на NuGet и может быть установлена с помощью команды:👇
⏩ Ознакомиться:
https://github.com/marcominerva/TinyHelpers
👉 @KodBlog | #ресурсы
TinyHelpers — это библиотека, созданная Марко Минервой, содержащая набор вспомогательных методов и классов для .NET, которые он использует ежедневно.
Библиотека доступна на NuGet и может быть установлена с помощью команды:
dotnet add package TinyHelpers
https://github.com/marcominerva/TinyHelpers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤1
Docker для развертывания .NET приложений! 🙂
Шаг 1: Создание Docker-образа
Объедините код вашего .NET приложения, базовый образ Linux и среду выполнения
Шаг 2: Публикация образа
Используйте команду docker push, чтобы загрузить ваш образ в репозиторий, например, DockerHub или Amazon ECR. Теперь он доступен отовсюду и готов к работе.😎
Шаг 3: Извлечение и запуск образа
Наконец, давайте оживим ваше приложение. Ваш образ запускается как контейнер с помощью команд docker pull и docker run, обеспечивая единообразие среды на всех платформах.😕
⁉ Звучит интересно? Тогда можешь прочитать статью о Docker для разработчиков .NET,
👉 @KodBlog | #cтатья
Шаг 1: Создание Docker-образа
Объедините код вашего .NET приложения, базовый образ Linux и среду выполнения
ASP.NET Core, используя инструкции Docker, такие как FROM и COPY. Затем выполните команду docker build, и у вас будет готовый переносимый Docker-образ, готовый к использованию. Шаг 2: Публикация образа
Используйте команду docker push, чтобы загрузить ваш образ в репозиторий, например, DockerHub или Amazon ECR. Теперь он доступен отовсюду и готов к работе.
Шаг 3: Извлечение и запуск образа
Наконец, давайте оживим ваше приложение. Ваш образ запускается как контейнер с помощью команд docker pull и docker run, обеспечивая единообразие среды на всех платформах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Как выполнить код для каждого нового запроса? 😏
В
➖ Middleware — это программные компоненты, которые собираются в конвейер обработки запросов и ответов.
В
🟢 Аутентификация
🟢 Маршрутизация (Routing)
🟢 CORS
🟢 Проверка состояния (Health checks)
🟢 Ограничение частоты запросов (Rate limiting)
И многое другое...
Но вы также можете создать собственные middleware-компоненты, чтобы централизовать логику, которая должна выполняться для каждого запроса, но не связана напрямую с бизнес-логикой.
Вы можете реализовать
⏩ Вот пошаговое руководство с примерами кода: клик
👉 @KodBlog | #ресурсы
В
ASP.NET Core для этого используется ключевая функция: middleware (Промежуточное ПО)В
ASP.NET Core middleware используется повсеместно для таких задач, как:И многое другое...
Но вы также можете создать собственные middleware-компоненты, чтобы централизовать логику, которая должна выполняться для каждого запроса, но не связана напрямую с бизнес-логикой.
Вы можете реализовать
middleware с помощью простого делегата или создать класс, который следует установленному шаблону.Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤣2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👏2
Что такое Webhook?
Вот пример, который поможет тебе понять.👇
Допустим, у тебя есть приложение, и ты хочешь, чтобы оно автоматически выполняло определённые действия без необходимости запускать их вручную.
Здесь и приходят на помощь вебхуки!😏
Webhooks – это как посыльные, которые позволяют одной системе отправлять сообщение другой системе при наступлении определённого события. Это похоже на уведомления на телефоне, когда кто-то комментирует твой пост в соцсетях или когда приходит новое письмо на email.
Вебхуки работают аналогично, но для систем и приложений.
Основной процесс работы вебхуков:
🟢 Сервис A предоставляет вебхук
🟢 Сервис B подписывается на вебхук от Сервиса A
🟢 Сервис A сохраняет подписку
🟢 В Сервисе A происходит событие
🟢 Сервис A отправляет вебхук-запрос в Сервис B
Как можно использовать вебхуки?
🟢 Автоматическое обновление базы данных
🟢 Запуск определённых действий при отправке формы на сайте
🟢 Отправка уведомлений и оповещений (например, при регистрации нового пользователя или возникновении ошибки в системе)
📝 Главное преимущество вебхуков — асинхронная обработка данных.
👉 @KodBlog | #ресурсы
Вот пример, который поможет тебе понять.
Допустим, у тебя есть приложение, и ты хочешь, чтобы оно автоматически выполняло определённые действия без необходимости запускать их вручную.
Здесь и приходят на помощь вебхуки!
Webhooks – это как посыльные, которые позволяют одной системе отправлять сообщение другой системе при наступлении определённого события. Это похоже на уведомления на телефоне, когда кто-то комментирует твой пост в соцсетях или когда приходит новое письмо на email.
Вебхуки работают аналогично, но для систем и приложений.
Основной процесс работы вебхуков:
Как можно использовать вебхуки?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1🙏1
Масштабируй .NET-приложения с проверенными практиками. Стратегии обработки миллионов запросов.
📝 Статья рассказывает о масштабировании .NET-приложений для обработки миллионов запросов, включая микросервисы, кэширование (Redis), асинхронное программирование (async/await), оптимизацию запросов, использование облачных сервисов (Azure, AWS), контейнеризацию (Docker, Kubernetes) и мониторинг (Application Insights, Prometheus). 🥳
⏩ Читать:
https://dev.to/leandroveiga/mastering-net-scalability-proven-strategies-to-handle-millions-of-requests-per-second-2f45
👉 @KodBlog | #cтатья
https://dev.to/leandroveiga/mastering-net-scalability-proven-strategies-to-handle-millions-of-requests-per-second-2f45
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3🌚2
Шаблон объекта параметров (Parameter Object Pattern) – до и после
Если метод принимает много связанных параметров, рассмотрите возможность их группировки в объект
Это упростит модификацию и сделает сигнатуру метода более читаемой.🧠
Когда использовать шаблон объекта параметров?
Произвольное количество параметров:
❌ ВСЕГДА применять POP после 3, 4, 5 и более параметров – не лучший подход.
Всё зависит от контекста.
Связанность параметров:
☑ Если параметры тесно связаны, стоит использовать POP.
Количество мест использования:
☑ Если одна и та же группа параметров используется в нескольких местах, их имеет смысл объединить в объект.
➖ НО, если параметры нигде больше не переиспользуются, разве не перемещает POP «проблему» просто в конструктор нового объекта?
Читаемость и поддерживаемость кода:
☑ Если большое количество параметров делает код сложным для понимания и поддержки, рассмотрите POP.
Что думаете?🤔
👉 @KodBlog | #ресурсы
Если метод принимает много связанных параметров, рассмотрите возможность их группировки в объект
Это упростит модификацию и сделает сигнатуру метода более читаемой.
Когда использовать шаблон объекта параметров?
Произвольное количество параметров:
Всё зависит от контекста.
Связанность параметров:
Количество мест использования:
Читаемость и поддерживаемость кода:
Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4🌚2
Лучшая подборка курсов по C# 🔥
❯ C#
https://youtube.com/playlist?list=PLdo4fOcmZ0oULFjxrOagaERVAMbmG20Xe
❯ .NET
https://youtube.com/playlist?list=PLdo4fOcmZ0oUwBEC2bnwPtHqbU8Vmh_tj
❯ .NET MAUI
https://youtube.com/playlist?list=PL6n9fhu94yhVxaf291y3jF5rCaPYG8RSl
❯ Blazor
https://youtube.com/playlist?list=PLdo4fOcmZ0oXNZX1Q8rB-5xgTSKR8qA5k
❯ Бэкэнд с .NET
https://youtube.com/playlist?list=PLdo4fOcmZ0oWunQnm3WnZxJrseIw2zSAk
👉 @KodBlog | #видео
❯ C#
https://youtube.com/playlist?list=PLdo4fOcmZ0oULFjxrOagaERVAMbmG20Xe
❯ .NET
https://youtube.com/playlist?list=PLdo4fOcmZ0oUwBEC2bnwPtHqbU8Vmh_tj
❯ .NET MAUI
https://youtube.com/playlist?list=PL6n9fhu94yhVxaf291y3jF5rCaPYG8RSl
❯ Blazor
https://youtube.com/playlist?list=PLdo4fOcmZ0oXNZX1Q8rB-5xgTSKR8qA5k
❯ Бэкэнд с .NET
https://youtube.com/playlist?list=PLdo4fOcmZ0oWunQnm3WnZxJrseIw2zSAk
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤4👍4👏3🤨3
Дорожная карта .NET разработчика
🟢 AI & ML (TensorFlow, OpenAI,
🟢 Cloud (Google Cloud, AWS, Azure)
🟢 Databases (PostgreSQL, SQL Server, MongoDB)
🟢 Authentication & Security (OAuth, OpenID Connect, JWT)
🟢 Microservices, Monoliths, Event-Driven архитектуры
🟢 CI/CD, Containers (Jenkins, Docker, Helm, Azure DevOps)
🟢 Frontend (React, Angular, Blazor)
🟢 Performance & Optimization (Caching, Async Programming, Profiling)
🟢 Source Control (GitHub, GitLab)
👉 @KodBlog | #ресурсы
ML.NET)Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3😁3❤2
15 правил вайб-кодинга 🍿
Это все, что вам нужно знать о том, как разрабатывать и создавать приложения с помощью искусственного интеллекта
👉 @KodBlog
Это все, что вам нужно знать о том, как разрабатывать и создавать приложения с помощью искусственного интеллекта
1.Начни с шаблона: Запусти проект, клонировав шаблон с GitHub или другого источника, чтобы получить прочную основу. (В Cursor: выбери "Start from Repo" и вставь эту ссылку, чтобы создать Next.js-приложение с ИИ-функциями, базой данных и авторизацией: ссылка).
2. Включи агентский режим в Cursor (а не обычный), чтобы создавать, редактировать и управлять файлами с помощью команд на естественном языке.
3. Применяй Perplexity для поиска новых дизайнов и API в интернете. Например, скажи, что ты создаешь Next.js-проект и хочешь сделать функцию x, чтобы получить инструкции и примеры кода.
4. Для каждой задачи открывай новый чат в Composer. Держи диалоги короткими.
5. Используй встроенные серверы для локального запуска и регулярного тестирования, чтобы находить ошибки на ранних стадиях.
5. Прими процесс быстрой итерации — не беспокойся о совершенном дизайне сразу, улучшай его постепенно.
6. Применяй инструменты вроде Whispr Flow для быстрого ввода текста — просто работай и получай удовольствие.
7. Используй репозитории GitHub как стартовые шаблоны для ускорения разработки или поиска вдохновения, затем адаптируй их под свои задачи.
8. Если произошла ошибка, скопируй сообщение из консоли и вставь в агента Composer. Чаще всего он сразу исправит проблему. Если нет, объясни ошибку подробнее.
9. Не забывай, что можно восстановить предыдущие чаты Composer: Часто сохраняй свою работу, чтобы при необходимости можно было вернуться к более раннему состоянию.
10. API-ключи и конфиденциальную информацию сохраняй в файлах окружения, а не прописывай их в коде напрямую.
11. Регулярно отправляй изменения в GitHub, чтобы отслеживать прогресс и защищать свой код. Cursor может делать это за тебя, просто попроси агента.
12. Используй платформы вроде Vercel для раннего развертывания приложения, чтобы убедиться в отсутствии ошибок при деплое.
13. Документируй самые эффективные запросы, чтобы ускорить разработку и упростить отладку в будущем.
15. Наслаждайся процессом — просто вибрируй: Ощущай творческий процесс кодинга, экспериментируй, учись и просто получай удовольствие.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍4🔥3🤔3❤1
Разработка на AWS с помощью C# 🔥
- 256 страниц
- 2022 издание
- Бесплатное издание от AWS
Книга предназначена для разработчиков, желающих научиться эффективно использовать AWS для создания облачных приложений на языке C#.
📝 В книге рассматриваются различные аспекты разработки, включая взаимодействие с сервисами AWS, такие как AWS Textract для извлечения данных из PDF-файлов, и интеграцию с профилями GitHub. Кроме того, приводятся примеры кода и практические рекомендации по созданию и развертыванию приложений в облаке AWS.
⏩ Получите свой экземпляр: клик
👉 @KodBlog | #books
- 256 страниц
- 2022 издание
- Бесплатное издание от AWS
Книга предназначена для разработчиков, желающих научиться эффективно использовать AWS для создания облачных приложений на языке C#.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3