C# Portal | Программирование – Telegram
C# Portal | Программирование
14.9K subscribers
973 photos
118 videos
24 files
814 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для C#-разработчика

Связь: @devmangx

РКН: https://clck.ru/3FocB6
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Генерируйте диаграммы отношений сущностей (ER-диаграммы) в формате Mermaid из модели EF Core прямо в .NET Interactive Notebook в VSCode, начиная всего лишь с базы данных

👉 @KodBlog | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3👏2
Media is too big
VIEW IN TELEGRAM
Докеризация приложения .NET за 5 минут!

В сегодняшнем видео мы увидим, насколько просто контейнеризировать .NET-приложение с помощью Docker.
Мы создадим Dockerfile с тремя этапами: сборка, публикация и запуск веб-приложения всего за несколько минут.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🤔1
В .NET 9 введен новый тип Base64Url.

Существующий метод Convert.ToBase64String может генерировать строку с символами '/', '+', или '=', которые не безопасны для использования в URL, поскольку они имеют особое значение в URL.

Вместо этого, помощник Base64Url генерирует строку без этих символов.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥63🎉2
Создание CRUD API с использованием ASP.NET Core Web API и базы данных PostgreSQL

📝Автор подробно описывает процесс разработки, начиная с настройки проекта и конфигурации подключения к базе данных, и заканчивая реализацией операций создания, чтения, обновления и удаления (CRUD) через Entity Framework Core.

Особое внимание уделяется структурированию кода с использованием репозиториев и сервисных слоев

Читать:
https://dev.to/olymahmud/building-a-crud-api-with-aspnet-core-web-api-and-postgresql-p5f

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😐31🤔1🌚1
Коллекция вспомогательных методов и классов для .NET, 😏

TinyHelpers — это библиотека, созданная Марко Минервой, содержащая набор вспомогательных методов и классов для .NET, которые он использует ежедневно.

Цель этой библиотеки — избежать дублирования кода, объединив часто используемые функции в одном месте.

Библиотека доступна на NuGet и может быть установлена с помощью команды: 👇

dotnet add package TinyHelpers


Ознакомиться:
https://github.com/marcominerva/TinyHelpers

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥41
Docker для развертывания .NET приложений! 🙂

Шаг 1: Создание Docker-образа


Объедините код вашего .NET приложения, базовый образ Linux и среду выполнения ASP.NET Core, используя инструкции Docker, такие как FROM и COPY. Затем выполните команду docker build, и у вас будет готовый переносимый Docker-образ, готовый к использованию.

Шаг 2: Публикация образа

Используйте команду docker push, чтобы загрузить ваш образ в репозиторий, например, DockerHub или Amazon ECR. Теперь он доступен отовсюду и готов к работе. 😎

Шаг 3: Извлечение и запуск образа

Наконец, давайте оживим ваше приложение. Ваш образ запускается как контейнер с помощью команд docker pull и docker run, обеспечивая единообразие среды на всех платформах. 😕

Звучит интересно? Тогда можешь прочитать статью о Docker для разработчиков .NET,

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
Как выполнить код для каждого нового запроса? 😏

В ASP.NET Core для этого используется ключевая функция: middleware (Промежуточное ПО)

Middleware — это программные компоненты, которые собираются в конвейер обработки запросов и ответов.

В ASP.NET Core middleware используется повсеместно для таких задач, как:

🟢Аутентификация
🟢Маршрутизация (Routing)
🟢CORS
🟢Проверка состояния (Health checks)
🟢Ограничение частоты запросов (Rate limiting)
И многое другое...

Но вы также можете создать собственные middleware-компоненты, чтобы централизовать логику, которая должна выполняться для каждого запроса, но не связана напрямую с бизнес-логикой.

Вы можете реализовать middleware с помощью простого делегата или создать класс, который следует установленному шаблону.

Вот пошаговое руководство с примерами кода: клик

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤣2🔥1
Пример LeftJoin до/после в .NET 10

В .NET 10 в LINQ появится LeftJoin, который будет поддерживаться в Entity Framework. Вот пример до и после, показывающий, как это может немного упростить наш код. 🥳

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
Рефакторинг. То самое занятие, когда ты ломаешь свой код, чтобы будущий ты мог разгадывать веселые головоломки.👍

Функция Next Edit Suggestions в GitHub Copilot делает рефакторинг менее болезненным. Все, что нужно — нажать Tab.

🔜 Подробнее: клик

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👏2
Что такое Webhook?

Вот пример, который поможет тебе понять.👇

Допустим, у тебя есть приложение, и ты хочешь, чтобы оно автоматически выполняло определённые действия без необходимости запускать их вручную.

Здесь и приходят на помощь вебхуки! 😏

Webhooks – это как посыльные, которые позволяют одной системе отправлять сообщение другой системе при наступлении определённого события. Это похоже на уведомления на телефоне, когда кто-то комментирует твой пост в соцсетях или когда приходит новое письмо на email.

Вебхуки работают аналогично, но для систем и приложений.
Основной процесс работы вебхуков:

🟢Сервис A предоставляет вебхук
🟢Сервис B подписывается на вебхук от Сервиса A
🟢Сервис A сохраняет подписку
🟢В Сервисе A происходит событие
🟢Сервис A отправляет вебхук-запрос в Сервис B

Как можно использовать вебхуки?

🟢Автоматическое обновление базы данных
🟢Запуск определённых действий при отправке формы на сайте
🟢Отправка уведомлений и оповещений (например, при регистрации нового пользователя или возникновении ошибки в системе)

📝Главное преимущество вебхуков — асинхронная обработка данных.

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21🙏1
Чейл! 😱

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26🔥2🥰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татья
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
Дорожная карта .NET разработчика

🟢AI & ML (TensorFlow, OpenAI, ML.NET)
🟢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 | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3😁32
15 правил вайб-кодинга 🍿

Это все, что вам нужно знать о том, как разрабатывать и создавать приложения с помощью искусственного интеллекта

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. Наслаждайся процессом — просто вибрируй: Ощущай творческий процесс кодинга, экспериментируй, учись и просто получай удовольствие.


👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍4🔥3🤔31
Разработка на AWS с помощью C# 🔥

- 256 страниц
- 2022 издание
- Бесплатное издание от AWS

Книга предназначена для разработчиков, желающих научиться эффективно использовать AWS для создания облачных приложений на языке C#.

📝В книге рассматриваются различные аспекты разработки, включая взаимодействие с сервисами AWS, такие как AWS Textract для извлечения данных из PDF-файлов, и интеграцию с профилями GitHub. Кроме того, приводятся примеры кода и практические рекомендации по созданию и развертыванию приложений в облаке AWS.

Получите свой экземпляр: клик

👉 @KodBlog | #books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
💡 Совет по C#

Выражение nameof в C# полезно для получения имени переменных, свойств, методов и классов в виде строки во время компиляции.

Это помогает избежать использования захардкоженных строковых литералов, улучшая поддерживаемость и безопасность при рефакторинге.

Зачем использовать nameof? 🤔

Безопасность на этапе компиляции – Нет риска опечаток в строковых литералах.
Поддержка рефакторинга – При переименовании символа nameof обновляется автоматически.
Лучшая поддерживаемость – Снижает количество магических строк в коде.

👉 @KodBlog | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍208🔥3
Просто общее настроение после ситуации с .NET eventing, FluentAssertions и теперь IdentityServer4.

🟣FluentAssertions – раньше был полностью бесплатным (Apache 2.0), но с версии 8.0 требует платную лицензию ($129.95 в год за пользователя) для коммерческого использования.
🟣IdentityServer4 – прекратил поддержку, а его преемник Duende IdentityServer теперь требует коммерческую лицензию.
🟣.NET Eventing (System.Diagnostics) – Microsoft изменила подход к управлению event-системой

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍4🔥3