C# Portal | Программирование


Kanal geosi va tili: Ukraina, Ruscha


Присоединяйтесь к нашему каналу и погрузитесь в мир для C#-разработчика
Связь: @devmangx
РКН: https://clck.ru/3FocB6

Зарегистрирован в РКН
Связанные каналы  |  Похожие каналы

Kanal geosi va tili
Ukraina, Ruscha
Statistika
Postlar filtri


Нашёл список активных проектов, находящихся под эгидой .NET Foundation 🔥

.NET Foundation — независимая некоммерческая организация, поддерживающая развитие и сотрудничество в области open-source проектов на платформе .NET.

Среди этих проектов можно найти различные инструменты, библиотеки и фреймворки, способствующие развитию экосистемы .NET.

⏩Ознакомиться: клик

👉 @KodBlog | #ресурсы


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Процесс создания приложения на платформе .NET MAUI для Windows, способного сканировать штрихкоды с помощью камеры. 🔥

📝Автор демонстрирует, как использовать Windows Media API для захвата видеопотока с USB-камеры и интеграции с Dynamsoft Barcode Reader для распознавания штрихкодов. Проект включает две страницы: одну для загрузки изображений и другую для работы с живым видеопотоком с камеры, отображая результаты сканирования над изображением или видео.

⏩Читать:
https://dev.to/yushulx/developing-a-camera-based-barcode-scanner-in-net-maui-for-windows-desktop-1aei

👉 @KodBlog | #cтатья


Нет, вы не проводите "интеграционное" тестирование с использованием базы данных в памяти. 🧠

Я видел много примеров, использующих in-memory провайдер EF Core.

Это не интеграционный тест, потому что базы данных нет.

Более того, это не позволит обнаружить ошибки в LINQ или SQL.

Вот лучший подход:

🟣Используйте реальную базу данных или контейнер Docker
🟣Подключитесь к этой базе данных из ваших тестов
🟣Пишите полноценные интеграционные тесты, которые имеют ценность

Если вы хотите использовать Docker, я настоятельно рекомендую Testcontainers.

Он позволяет вам определять временные контейнеры в ваших тестах.

🔜 Читать подробнее: клик

👉 @KodBlog | #ресурсы


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Gmail API с использованием .NET C# с исходным кодом (чтение писем и вложений)

📝В нем показано, как настроить и использовать API для чтения электронных писем из Gmail. Автор предоставляет ссылку на исходный код проекта, доступный по адресу: клик

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

👉 @KodBlog | #видео


всё ясно 🤠

👉 @KodBlog

2k 0 19 7 34

Классический экшен "Захват флага"!

Игровой режим для open.mp (Open Multiplayer), многопользовательского мода для GTA San Andreas, созданный с использованием фреймворка SampSharp и языка программирования C#. ⚫️⚫️

В этом режиме две команды, Alpha и Beta, соревнуются, пытаясь захватить флаг противника и принести его на свою базу.

➖Проект является открытым и распространяется под лицензией AGPL-3.0.

⏩Ознакомиться: клик

👉 @KodBlog | #ресурсы


Управление электронной почтой с помощью .NET 9 и C# с использованием MailKit

SmtpClient устарел и лучше использовать MailKit и MimeKit для эффективной и безопасной работы с электронной почтой.

📝В статье представлены шаги по установке MailKit, безопасному хранению SMTP-учетных данных с использованием переменных окружения, а также примеры кода для отправки простых писем, писем с вложениями и HTML-содержимым.

➖Особое внимание уделяется настройке параметров безопасности соединения с SMTP-сервером.

⏩Читать:
https://dev.to/adrianbailador/email-management-with-net-9-and-c-using-mailkit-cjf

👉 @KodBlog | #cтатья


Просто общее настроение после ситуации с .NET eventing, FluentAssertions и теперь IdentityServer4.

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

👉 @KodBlog


💡 Совет по C#

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

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

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

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

👉 @KodBlog | #tips


Разработка на AWS с помощью C# 🔥

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

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

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

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

👉 @KodBlog | #books


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


Дорожная карта .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 | #ресурсы



3.2k 0 144 1 24

Шаблон объекта параметров (Parameter Object Pattern) – до и после

Если метод принимает много связанных параметров, рассмотрите возможность их группировки в объект

Это упростит модификацию и сделает сигнатуру метода более читаемой.🧠

Когда использовать шаблон объекта параметров?

Произвольное количество параметров:
❌ ВСЕГДА применять POP после 3, 4, 5 и более параметров – не лучший подход.
Всё зависит от контекста.

Связанность параметров:
☑Если параметры тесно связаны, стоит использовать POP.

Количество мест использования:
☑Если одна и та же группа параметров используется в нескольких местах, их имеет смысл объединить в объект.
➖НО, если параметры нигде больше не переиспользуются, разве не перемещает POP «проблему» просто в конструктор нового объекта?

Читаемость и поддерживаемость кода:
☑Если большое количество параметров делает код сложным для понимания и поддержки, рассмотрите POP.

Что думаете? 🤔

👉 @KodBlog | #ресурсы


Масштабируй .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татья


Чейл! 😱

👉 @KodBlog


Что такое Webhook?

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

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

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

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

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

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

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

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

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

👉 @KodBlog | #ресурсы


Рефакторинг. То самое занятие, когда ты ломаешь свой код, чтобы будущий ты мог разгадывать веселые головоломки.👍

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

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

👉 @KodBlog | #ресурсы


Пример LeftJoin до/после в .NET 10

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

👉 @KodBlog | #ресурсы


Как выполнить код для каждого нового запроса? 😏

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

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

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

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

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

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

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

👉 @KodBlog | #ресурсы

20 ta oxirgi post ko‘rsatilgan.