C# (C Sharp) programming
18.7K subscribers
755 photos
38 videos
8 files
673 links
По всем вопросам- @haarrp

C# - обучающий канал Senior C# разработчика.

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci - C# академия

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb
Download Telegram
Предварительная версия 2 .NET Aspire уже доступна! 🎉

Вы прочитать об этом на https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-preview-2/.

Полный список изменений в примечаниях к выпуску на https://github.com/dotnet/aspire/releases/tag/v8.0.0-preview.2.23619.3.

@csharp_ci
Что выведет на экран этот код, с параметрами компиляции по умолчанию?
Anonymous Quiz
27%
Возникнет исключение OverflowException
21%
System.Byte System.Byte
38%
System.Byte System.Int32
14%
System.Int32 System.Int32
🖥 Рефа́кторинг (англ. refactoring), или перепроекти́рование кода, перерабо́тка кода, равноси́льное преобразова́ние алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её .

В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости.

Одно изменение (рефакторинг) мало что дает. Но последовательное применение различных техник рефакторинга приводит к значительным изменениям в коде.

Нет лучшего способа научиться рефакторингу, чем практика.

Представляем вам упражнения по рефакторингу и 5 потрясающих техник рефакторинга кода с примерами.

📌 Читать

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет на экран этот код?
Anonymous Quiz
32%
0 0
31%
0 1
15%
1 0
22%
1 1
🖥 Хотите улучшить свои навыки работы с .NET и архитектурой программного обеспечения?

Вот 10 лучших статей еженедельника The .NET за этот год.

1. Архитектура вертикального среза - https://www.milanjovanovic.tech/blog/vertical-slice-architecture.

2. Использование нескольких EF Core DbContexts в одном приложении - https://www.milanjovanovic.tech/blog/using-multiple-ef-core-dbcontext-in-single-application

3. Правильный способ использования HttpClient в .NET - https://www.milanjovanovic.tech/blog/the-right-way-to-use-httpclient-in-dotnet

4. Как подойти к созданию чистой структуры папок в архитектуре - https://www.milanjovanovic.tech/blog/clean-architecture-folder-structure

5. От монолита к микросервисам -https://www.milanjovanovic.tech/blog/monolith-to-microservices-how-a-modular-monolith-helps

6. Реализация API-шлюза для микросервисов с помощью YARP - https://www.milanjovanovic.tech/blog/implementing-an-api-gateway-for-microservices-with-yarp

7. Health Checks In ASP .NET Core For Monitoring Your Applications - https://www.milanjovanovic.tech/blog/health-checks-in-asp-net-core

8. Запуск фоновых задач в ASP .NET Core - https://www.milanjovanovic.tech/blog/running-background-tasks-in-asp-net-core

9. Функциональная обработка ошибок в .NET с помощью шаблона результатов - https://www.milanjovanovic.tech/blog/functional-error-handling-in-dotnet-with-the-result-pattern

10. Паттерн CQRS с помощью MediatR - https://www.milanjovanovic.tech/blog/cqrs-pattern-with-mediatr

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Serilog - баблиотека для реализации структурированного логирования в приложениях для .NET..

Вот примеры лучших практик при разработке приложений :

- Логирования запросов в Serilog
- Использование системы конфигов
- Добавление CorrelationId в логи
- Регистрация всех важных событий
- Использование Seq при разработки

🖥 Github

Если вы хотите узнать, как получить максимальную отдачу от Serilog, ознакомьтесь с этой статьей.

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ В модульном монолите можно построить взаимодействие модулей двумя способами:

1) Вызовы методов (синхронные)
2) Обмен сообщениями (асинхронный)

Но какой из них выбрать?

📌 Читать статью

@csharp_ci
🖥 Документация по .NET Aspire: Что нового.

В этой статье перечислены некоторые из основных актуальных изменений в документации.

📌 Читать

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Как быстрее всего реализовать паттерн Декоратор?

Декоратор (англ. Decorator) — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту.

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

Для его реализации вы можете использовать инъекции зависимостей ASP .NET Core.

📌 Вот полная реализация

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Не стоит начинать новый проект с микросервисов, даже если вы уверены, что ваше приложение будет достаточно большим, чтобы это было целесообразно.

Основная причина этого - сложность систем на основе микросервисов.

За микросервисы приходится платить:

- Сложность координации работы команды
- Потосянная борьба с отказами
- Автоматизация развертывания
- Управление множеством сервисов


Но я хочу обратить ваше внимание на кое-что еще.

Есть способ объединить:

- физическую архитектуру монолитов
- логическую архитектуру микросервисов.

И получить преимущества обоих.

Это называется модульный монолит.

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

📌 Почитать про модульные монолиты

📌Дорожная карта разработчиков .NET/C# в 2024 году для начинающих

У вас когда-нибудь была возможность построить такую архитектуру ?

@csharp_ci
🖥 One Billion Row Challenge (1BRC) - это забавное исследование того, насколько далеко можно зайти на C# для агрегирования миллиарда строк из текстового файла.

Задействуйте все свои навыки создайте самую быструю реализацию для решения этой задачи!

📌 Реализация известного Java челенджа на .NET

🔎 Github
🔎Пример решения

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
#ПятничныйКвиз

В скобках операторы приведения. опретаоры +- унарные.
т.е. получается,
берем -2 кастуем к long
к -2 применяем унарный оператор + и кастуем к int получаем -2
к -2 применяем унарный оператор - получаем 2 и кастуем к char
к 2 применяем унарный оператор + получаем 2 и кастуем к byte


@csharp_ci
Что выведет этот код?
Anonymous Quiz
51%
Ошибка
33%
2
16%
-2
🔥 Дайджест полезных материалов из мира C# за неделю

Почитать:
Изучаем C# в 2024 году
Университет MIT: бесплатные онлайн-курсы для программистов и студентов.
Включаем Nullable reference type в Unity за несколько минут
Как Uber вычисляет расчетное время прибытия при полумиллионе запросов в секунду
Метод быстрого марша (Fast Marching Method)
Как на самом деле Async/Await работают в C#. Часть 2 Артефакты от EAP шаблона, SynchronizationContext
Сто паттернов для разработки корпоративных программ. Часть первая
GigaChat API для .NET Core
Собираем автономную игру на C# в 2 килобайтах
Чистая архитектура на примере
Chain Of Responsibility Pattern In C# – Simplified How-To Guide
Concurrent Collections in C#
Game Dev Digest — Issue #218 - Patterns, Abstractions, Complete Tutorials and more
How I Built a NuGet Package
How to Edit and Convert PDF, PNG, JPEG, and TIFF Files in Blazor Apps
Understanding the Fundamentals of Database Programming Languages
Exploring Function Behavior in C#
Demystifying OOP in C#: Your Guide to Building Robust and Flexible Applications
Beginner's guide to Unit Testing with NUnit.
Solid Principle : Liskov Substitution Principle

Посмотреть:
🌐 Introduction to Machine Learning in C#. Classification using ML.NET ( 31:03)
🌐 Await Async Might Change Completely in .NET 9 ( 09:55)
🌐 "Stop Using Singletons in .NET!" | Code Cop #009 ( 13:52)

Хорошего дня!

@csharp_ci
🖥 LLamaSharp

Проект предоставляет API высокого уровня для вывода моделей LLaMA и развертывания их на локальном устройстве с помощью C#/.NET.

Проект работает под Windows, Linux и Mac без необходимости компилировать llama.cpp самостоятельно.

Отличный инструмент, чтобы развернуть ваш собственный ИИ на C#, подобный ChatGpt.

Даже если у вас нет мало памяти GPU, вы все равно можете использовать модели LLaMA! 🤗

Github

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 6 бесплатных курсов по SQL

1- SQL для анализа данных от Udacity
Продолжительность: Примерно 4 недели
Уровень навыков: Начинающий

Ссылка - https://shiksha.com/online-courses/sql-for-data-analysis-course-udacl3

2- Введение в SQL от Kaggle
Продолжительность: Приблизительно 3 часа
Уровень мастерства: Начинающий

Ссылка - https://kaggle.com/learn/intro-to-sql

3- Продвинутый SQL от Kaggle
Продолжительность: Приблизительно 4 часа
Уровень мастерства: Промежуточный

Ссылка - https://kaggle.com/learn/advanced-sql

4- Введение в базы данных и SQL-запросы от Udemy
Продолжительность: Приблизительно 2 часа 17 минут
Уровень мастерства: Начинающий

Ссылка - https://udemy.com/course/introduction-to-databases-and-sql-querying/

5- Intro to Relational Databases byUdacity
Продолжительность : 4 недели
Уровень квалификации: Средний ученик

Ссылка - https://udacity.com/course/intro-to-relational-databases-ud197

6- Введение в SQL (DataCamp)
Продолжительность: 4,5 часа
Уровень квалификации: Начинающий

Ссылка -
https://datacamp.com/courses/introduction-to-sql

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM