TGViewer
Channel Public Channel
C# (C Sharp) programming

C# (C Sharp) programming

@csharp_ci

По всем вопросам- @notxxx1

Реестр РКН: https://clck.ru/3Fk3kb

#VRHSZ
Subscribers
18.1K
Photos
982
Videos
52
Links
784

Showing posts older than #1152 · Back to latest

Older Posts 19 shown
Post #1150 7.22K
🖥 В этой полезной статье автор рассказывает 8 способов, как сделать ваш C# код чище и читабельнее!

🌟 Автор берет за пример кусок "грязного" кода и демонстрирует способы его улучшения шаг за шагом.

🔗 Ссылка: *клик*

@csharp_ci
Post #1148 7.81K
🖥 Создание RESTful API с .NET и Clean Architecture: полное руководство!

🌟 Статья начинается с теоретического объяснения Clean Architecture, описывая ключевые принципы и выделяя слои архитектуры. Далее автор углубляется в каждый слой, показывая, как использовать .NET Core, Entity Framework Core и другие технологии для их реализации. В частности, он рассматривает инфраструктуру CQRS (Command Query Responsibility Segregation) и реализует конкретные компоненты с поддержкой для MediatR.

🔗 Ссылка: *клик*

@csharp_ci
Post #1146 7.12K
🖥Эта статья описывает, как использовать библиотеку Testcontainers для интеграционного тестирования в .NET с помощью Docker!

💡 Testcontainers позволяет автоматически запускать контейнеры для различных сервисов, таких как базы данных, и использовать их в тестах, что обеспечивает более реалистичное окружение по сравнению с моками или in-memory решениями. Автор также делится примером настройки и применения Testcontainers в ASP.NET Core и описывает, как интеграционные тесты можно запускать в CI/CD.

🔗 Ссылка: *клик*

@csharp_ci
Post #1143 7.76K
#ПятничныйКвиз
Post #1142 8.02K
🖥 Обеспечьте контейнерам доступ к пользовательским локальным доменам на хост-машине с помощью .NET Aspire!

⭐️ Пользовательские домены полезны для локальной разработки, но контейнеры не могут разрешать их по умолчанию. Узнайте, как заставить контейнеры распознавать пользовательские хосты хост-машины с помощью .NET AspireAspire!

🔗 Ссылка: *клик*

@csharp_ci
Post #1141 11.1K
⚡️ Слеза ностальгии для программистов: возрождение классического Visual Basic 6, полностью написанного на C#.

В проект входят Visual Designer и поддержка открытия/сохранения проектов в формате, совместимом с VB6.

dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/
dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/standalone/


🖥 GitHub
⭐️ Веб-версия

#csharp #programming

@csharp_ci
Post #1139 7.29K
🖥 MessagePack-CSharp — реализация MessagePack для .NET, предназначенная для быстрой и компактной сериализации данных!

💡 MessagePack — это бинарный формат, похожий на JSON, но более эффективный, что делает его полезным для приложений с высокими требованиями к производительности. Библиотека поддерживает .NET и Unity, обеспечивая гибкость и совместимость в проектах, где требуется быстрое взаимодействие между системами.

🔐 Лицензия: BSD 2-Clause

🖥 Github

@csharp_ci
Post #1138 8.38K
🖥 Разработка бизнес-приложения для управления инвестициями с использованием .NET 8, Azure и ИИ!

🌟 Эта статья показывает, как создать систему, которая позволяет инвесторам принимать решения на основе различных данных. Автор описывает архитектуру, выбор стека технологий, а также интеграцию AI для обработки данных, принятия решений и автоматизации процессов!

🔗 Ссылка: *клик*

@csharp_ci
Post #1136 8.46K
🖥 Эта статья развенчивает распространённые мифы о производительности в C#.

🌟 Автор обсуждает ошибочные подходы к оптимизации, которые могут на самом деле ухудшить код или не дать значительного прироста. Например: использование struct вместо class, избегание LINQ и чрезмерное внимание к мелким оптимизациям. Основное внимание уделяется пониманию того, когда и как оптимизировать с учетом реальных требований к производительности.

🔗 Ссылка: *клик*

@csharp_ci
Post #1132 8.56K
⚡️ Вышел .NET Aspire Community Toolkit!

.NET Aspire Community Toolkit теперь доступен на NuGet и поддерживает .NET Aspire 9!

Этот набор интеграций и расширений позволяет улучшить работу с .NET Aspire.

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

Установка:
dotnet add package CommunityToolkit.Aspire.Hosting.Ollama

📌 Подробности

@csharp_ci
Post #1130 7.87K
🖥 Эта статья объясняет паттерн проектирования State, который позволяет объекту изменять свое поведение при смене состояния.

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

🔗 Ссылка: *клик*

@csharp_ci
Post #1127 8.67K
🖥 Эта статья посвящена повышению производительности запросов на чтение в Entity Framework (EF) Core для .NET.

💡 Автор предлагает ряд практических советов, таких как использование индексов, оптимизация выборки данных, применение AsNoTracking для операций без отслеживания изменений, использование ленивой и жадной загрузки, пагинация для больших наборов данных, использование скомпилированных запросов и кэширования. Также рекомендуется анализировать производительность с помощью инструмента BenchmarkDotNet и отслеживать фрагментацию индексов.

🔗 Ссылка: *клик*

@csharp_ci
Post #1125 9.44K
🖥 Избегайте IHostedService до .NET 8, если можете, потому что у него есть проблема!

💡 В версиях .NET до 8 методы StartAsync реализаций IHostedService вызывались один за другим во время запуска приложения. Каждый метод StartAsync должен был быть завершен до того, как мог начаться следующий, что могло задержать запуск, если какая-либо служба долго инициализировалась. Представьте, что у вас есть задача, которая выполняется в течение пары минут. Это означает, что приложение не запустится, пока эта задача не будет завершена.

🌟 .NET 8 представляет решение с помощью свойства ServicesStartConcurrently в классе HostOptions. Теперь, когда службы запускаются одновременно, время запуска хоста сводится к длительности метода StartAsync самой медленной службы, а не к совокупному времени всех служб. Примечание: каждая служба запускается только после того, как предыдущая освобождает управление, достигнув своего первого оператора await в методе StartAsync.

🌟 Чтобы позволить следующей службе запускаться как можно быстрее, убедитесь, что StartAsync действительно асинхронный, и избегайте любых дорогостоящих операций до первого await!

@csharp_ci
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →