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

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

@ai_machinelearning_big_data - Machine learning

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

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

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb
Download Telegram
🖥 В C# 12 представлены встроенные массивы InlineArray.

Это позволяет создать массив фиксированного размера в виде структуры.

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

Эта функция используется разработчиками выполнения для повышения производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Мне нравится использовать паттерн фабрика к определению middleware ASP .NET.

Нужно создать нтерфейс `IMiddleware`, который предоставляет единственный метод.

Пример на картинке.

Существует еще 2 способа создания middleware в .NET.

- Делегаты запросов
- Основанные на соглашениях


Вот как их можно использовать:
https://www.milanjovanovic.tech/blog/3-ways-to-create-middleware-in-asp-net-core

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 C# поддерживает блокировку с помощью оператора `lock`.

С его помощью можно определить блок кода, доступ к которому будет иметь только один поток.

Однако в асинхронном контексте он не работает.

Поэтому придется использовать какой-либо другой примитив параллелизма C#.

- Семафор
- SemaphoreSlim
- Монитор
- Мьютекс

Никогда не знаешь, когда понадобится использовать блокировку в C#.

Вот как инструкция с примерами: https://www.milanjovanovic.tech/blog/introduction-to-locking-and-concurrency-control-in-dotnet-6

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Впечатляющая монолитная архитектура Stack Overflow

Компания Stack Overflow, поддерживает тенденцию развития микросервисов их сервис обрабатывает 1,3 млрд. просмотров страниц в месяц на своих 200 сайтах, используя удивительно эффективную монолитную архитектуру с минимальной инфраструктурой.

Веб-серверы:

- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора

Серверы SQL:

- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU

Redis:

- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU

Stack Overflow эффективно масштабирует монолитное приложение.

📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow

@csharp_ci
🖥 Разработка веб-интерфейсов ASP .NET Core с использованием паттерна проектирования Observer

https://www.c-sharpcorner.com/article/asp-net-core-web-api-development-with-observer-design-pattern/


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

@csharp_ci
Что выведет на экран этот код?
Anonymous Quiz
32%
1 1 1 1
15%
1.0 1.0 1.0 1.0
9%
1.00 1.00 1.00 1.00
13%
1.000 1.000 1.000 1.000
31%
1 1.0 1.00 1.000
ml.png
3.8 MB
⚡️ Комплексная дорожная карта разработчиков .NET до уровня Сеньора.

Это пошаговое руководство по становлению инженера .NET со ссылками на соответствующие учебные ресурсы.

Github

@csharp_ci
🖥 Dapper - это легковесный объектно-реляционный связующий модуль в .NET.

Он популярен, поскольку прост в использовании и в то же время быстр.

Однако, еслм вы используете SQL, маппинг результата в объектную модель может оказаться непростой задачей.

Вот наиболее распространенные сценарии работы с маппингом sql:

https://www.milanjovanovic.tech/blog/mastering-dapper-relationship-mappings

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
Пятничный С# квиз
#ПятничныйКвиз
Что выведет на экран этот код?
Anonymous Quiz
7%
Base.Foo(int)
64%
Derived.Foo(int)
20%
Derived.Foo(object)
9%
Derived.Foo(int) Base.Foo(int)
Новая рубрика #КтоБыстрее
🔥 Дайджест полезных материалов из мира C# за неделю

Почитать:
Книга «Blazor в действии» в правильном переводе команды DotNetRu
Гуманитарий с 0 знаний в программировании. 3 часть. Первые шаги в C# (и слегка Unity)
Использование расширения VS Code «PVS-Studio» для эффективной борьбы с ошибками в C# коде
Оплата в Telegram | API Yoomoney С#
EF Core. Как 1 строчка может добавить x4 к быстродействию запросов к БД?
Дизайним абилки как в X-COM
.NET 7 против российской криптографии. Часть 2. Штампы времени
Как я писала программу на C#, которая шифрует текст по принципу «Квадрат Полибия»
Как провести курс для разработчиков (за 1.5 млн) в маленькой компании и не сойти с ума
Microsoft PowerToys: Король GitHub среди C# проектов с C++ ошибками
From MS-Access to EF Core (C#)
Explorando el Mundo de los Archivos de Recurso en C# con Visual Studio
C# - Reducing Lock Contention with ReaderWriterLockSlim
Game Dev Digest — Issue #212 - Parody, Performance, Modeling and more
Building a Data Warehouse with ETLBox: A .NET Developer's Guide
From Angular to Blazor: Unleashing the C# Magic!
C# - Caching Data with MemoryCache
Using the PVS-Studio extension for VS Code to effectively handle errors in C# code
Async/Await: Para que serve o CancellationToken?
C# - Asynchronous Initialization of Singleton Pattern

Посмотреть:
🌐 Using P/Invoke in C#: Windows API Integration Made Easy! ( 15:45)
🌐 Mastering Code with Rubber Duck Debugging 🦆 Unlock Your Programming Potential! ( 01:00)
🌐 "Your Code Has a SQL Injection!" | Code Cop #007 ( 12:11)
🌐 The Missing Piece of Your .NET Logs ( 08:13)
🌐 Every New Feature Added in C# 12 ( 14:19)
🌐 The Coolest Way To Await Multiple Tasks in .NET ( 09:24)

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

@csharp_ci
💻 Хотите писать более качественный код?

Узнайте о чистоте функций.

🧽 Чистые функции:

▪️ Всегда возвращают один и тот же результат для одних и тех же входных аргументов
▪️ Не имеют побочных эффектов

Чистые функции лежат в основе функционального программирования.

Вот как начать работу с ними в C#:

📌 Статья

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