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


Гео и язык канала: Украина, Русский
Категория: Технологии


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

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

Гео и язык канала
Украина, Русский
Категория
Технологии
Статистика
Фильтр публикаций


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

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

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

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


🧑‍💻ТОП 2 канала для тех кто увлекатеся хакингом и кибербезопасностью:

Этичный Хакер — крупнейший в СНГ канал по информационной безопасности. OSINT, анонимность, пентест, социальная инженерия.

Лаборатория Хакера — авторский канал от специалиста по ИБ. Новости даркнета, сетевая разведка, обзоры инструментов с github, полезные подборки.


Пример 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 | #ресурсы


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татья


Коллекция вспомогательных методов и классов для .NET, 😏

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

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

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

dotnet add package TinyHelpers

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

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


Создание 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татья


В .NET 9 введен новый тип Base64Url.

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

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

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


Видео недоступно для предпросмотра
Смотреть в Telegram
Докеризация приложения .NET за 5 минут!

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

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

👉 @KodBlog | #видео


Видео недоступно для предпросмотра
Смотреть в Telegram
Генерируйте диаграммы отношений сущностей (ER-диаграммы) в формате Mermaid из модели EF Core прямо в .NET Interactive Notebook в VSCode, начиная всего лишь с базы данных

👉 @KodBlog | #tips


Подробное руководство для подготовки к собеседованию на позицию старшего инженера C#.

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

🟢Обработка транзакций
🟢Распределенные системы
🟢Оптимизация производительности
🟢Безопасность
🟢Проектирование систем

Статья будет полезна специалистам, стремящимся углубить свои знания и подготовиться к собеседованиям на позиции старшего инженера C#. 😮

⏩Читать:
https://dev.to/iamcymentho/mastering-the-senior-c-engineer-interview-3dc2

👉 @KodBlog | #cтатья


Highload буткэмп: Системный дизайн, Производительность и Масштабирование

🌐 Приглашаем на курсы для прокачки навыков архитектора и проектировщика на весеннем Highload-потоке от Devhands, в рамках которого вы:

🤩 Изучите ключевые хайлоад-паттерны и освоите проектирование систем с миллионной аудиторией: балансировка, масштабирование, шардинг, высокая доступность, CAP/PACELC, транзакционные очереди и многое другое.
🤩 Поупражняетесь в системном дизайне на реальных кейсах: маркетплейсы, соцсети, доставка, объявления и другие задачи, с получением обратной связи.
🤩 Погрузитесь в highload, работая с предоставленной вам инфраструктурой: “выжимайте” 100K RPS и изучите кластерные решения — Redis, SPQR, CockroachDB.
🤩 Научитесь планировать нагрузку и связывать бизнес-показатели с требованиями системы.
🤩 Попрактикуетесь в проведении и прохождении секций системного дизайна на интервью.

Только “живые” онлайн-сессии: лекции, брейнштормы, презентации домашних проектов.

🗓 Старт потока 24 февраля, изучайте программу и записывайтесь:

🤩 Буткэмп “Производительность и масштабируемость” для тех, кто хочет поработать с собственной инфрой.

🤩 Курс “Системный дизайн высоконагруженных проектов” для тех, кто хочет только практику проектирования “у доски”.

🥸 Кто мы: R&D-центр Devhands, основатель и автор курса Алексей Рыбак, ex-СТО Badoo и Yum! Brands, член программного комитета Highload.

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqufZZVF


Начало работы с BenchmarkDotNet

BenchmarkDotNet стал стандартом де-факто для измерения производительности в dotnet.😢

Начать очень просто:

🟢Установите BDN из NuGet
🟢Создайте класс, содержащий ваши методы
🟢Добавьте атрибут [Benchmark] к нужным методам
🟢Вызовите BenchmarkRunner.Run для вашего класса
🟢Запустите без отладки и в режиме релиза

Простой пример выше показывает, как сравнить два разных подхода к конкатенации строк, а также как задать базовую конфигурацию, например, установить эталон и выбрать версию .NET.

Код примера — вставьте его в консольное приложение и просто начните экспериментировать.

Я действительно обожаю этот инструмент.

А вы уже пробовали его?

👉 @KodBlog | #tips


Функциональное программирование сделает вас лучшим .NET-разработчиком

Пора добавить его в ваш арсенал инструментов.

Хотя C# является объектно-ориентированным языком программирования, в последних версиях были добавлены многие функциональные особенности.

Вот несколько из них:
🔸Сопоставление с образцом (Pattern matching)
🔸Выражения switch
🔸Records

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

Используете LINQ?

Если да, то вы уже работаете с функциональным программированием, потому что LINQ — это функциональная библиотека .NET.

Вот как можно рефакторить императивный код в функциональный в C#: How to apply functional programming in C#

👉 @KodBlog | #tips


Видео недоступно для предпросмотра
Смотреть в Telegram
C# Factory Method Фабричный Метод | Design Patterns

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

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

👉 @KodBlog | #видео


БРУТАЛЬНОЕ расширение для Visual Studio Code! 😳

➖Git Graph — предоставляет графическое представление вашего Git-репозитория, облегчая визуализацию и управление историей коммитов.

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

И оно бесплатное!
https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph

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


Как развернуть .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 | #ресурсы


Оркестратор платежей с открытым исходным кодом 😢

HyperSwitch — это открытый платежный оркестратор от компании Juspay. Он позволяет бизнесам подключать и управлять множеством платежных провайдеров через единую интеграцию.

🟢Единый API для работы с разными платежными шлюзами (Stripe, Adyen, PayPal и др.).
🟢Оптимизация платежей: выбирает лучший шлюз по стоимости, скорости или успешности платежей.
🟢Кеширование карт для ускорения транзакций.
🟢Поддержка разных валют и регионов.

⏩Ознакомиться:
https://github.com/juspay/hyperswitch

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


Какой тема лучше для VS Code? 😦

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

vscodethemes.com

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


Вы, вероятно, неправильно регистрируете внедрение зависимостей! 💀

Обычно при внедрении зависимостей (Dependency Injection, DI) программисты вручную регистрируют каждую зависимость в контейнере:

Это утомительно и может привести к ошибкам.

AutoRegister автоматизирует этот процесс, упрощая регистрацию всех сервисов.

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

Показано 20 последних публикаций.