C# 1001 notes
6.53K subscribers
313 photos
10 videos
2 files
301 links
Регулярные короткие заметки по C# и .NET.

Просто о сложном для каждого.

admin - @haarrp
Download Telegram
Краткий совет по C# за 5 секунд 🚀

Существует простой способ инициализации словаря!

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

Однако в C# 12 используется более лаконичный синтаксис инициализации.

Вместо использования нового оператора вы можете использовать только скобки [].

Я привык к новой практике. Что насчет вас?

@csharp_1001_notes
⚡️Лучший способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

C++ t.iss.one/cpluspluc
Devops: t.iss.one/devOPSitsec
Машинное обучение: t.iss.one/ai_machinelearning_big_data
АНАЛИЗ Данных: t.iss.one/data_analysis_ml
Хакинг: t.iss.one/linuxkalii
Linux: t.iss.one/linuxacademiya
Базы данных: t.iss.one/sqlhub
C#: t.iss.one/csharp_ci
Golang: t.iss.one/Golang_google
Java: t.iss.one/javatg
React: t.iss.one/react_tg
Javascript: t.iss.one/javascriptv
Мобильная разработка: t.iss.one/mobdevelop
Docker: t.iss.one/+0WdB4uvOwCY0Mjdi
Python: t.iss.one/pythonl
Rust: t.iss.one/rust_code
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Big Data: t.iss.one/bigdatai
Собеседования МЛ: t.iss.one/machinelearning_interview
Python подготовка с собесу: t.iss.one/python_job_interview
МАТЕМАТИКА: t.iss.one/data_math

💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
C++ папка: https://t.iss.one/addlist/CdBs5DLepLJmZjY6
C# папка: https://t.iss.one/addlist/u15AMycxRMowZmRi
Java папка: https://t.iss.one/addlist/ZM3J6oFNAnRlNWU6
FRONTEND папка: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy
Linux папка: https://t.iss.one/addlist/w4Doot-XBG4xNzYy

😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno

📕Ит-книги бесплатно: https://t.iss.one/addlist/BkskQciUW_FhNjEy
🖥 FluentMigrator — фреймворк для миграции БД, написанный на C#

dotnet add package FluentMigrator --version 5.2.0

FluentMigrator позволяет создавать миграции как классы, производные от базового класса Migration и имеющие атрибут Migration с уникальным номером версии.

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

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

🖥 GitHub

@csharp_ci
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 DynamicData — фреймворк C#, позволяющий работать с изменяющимися коллекциями в реактивном стиле

dotnet add package DynamicData --version 8.4.1

DynamicData — это фреймворк, который позволяет использовать всю мощь реактивных расширений при работе с коллекциями. Реактивные расширения из коробки не предоставляют оптимальных способов для работы с изменяющимися наборами данных, и задача DynamicData — исправить это.

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

DynamicData активно развивается и дорабатывается, и уже сейчас поддерживается более 60 операторов для работы с коллекциями.

🖥 GitHub
🟡 Доки

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 xUnit — фреймворк и CLI для юнит-тестирования .NET-приложений

dotnet add package xunit --version 2.9.0

Если кто вдруг не использовал xUnit для тестирования своих приложений, то самое время это сделать — это неплохой и проверенный временем инструмент.

Особенности xUnit:
— проверка исключений делается ассертами, а не атрибутами, что больше соответствует стилю AAA (Assert.Throws, Record.Exception). Внутри исключения ловятся try-catch блоком.

— вместо специальных атрибутов xUnit использует естественные возможности C# (IDisposable, IClassFixture, ICollectionFixture)

🖥 GitHub
🟡 Быстрый старт

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 FluentMigrator — фреймворк для миграции БД, написанный на C#

dotnet add package FluentMigrator --version 5.2.0

FluentMigrator позволяет создавать миграции как классы, производные от базового класса Migration и имеющие атрибут Migration с уникальным номером версии.

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

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

🖥 GitHub

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 OpenCvSharp — .NET-пакет для работы с OpenCV

dotnet add package OpenCvSharp4 --version 4.10.0.20240616

OpenCvSharp — это известная обертка для .NET, которая предоставляет доступ ко всем модулям OpenCV для:
— хранения математических функций и вычислений, алгебры и структур данных;
— хранения моделей для машинного обучения;
— ввода и вывода картинок или видео, чтения и записи в файл;
— обработки изображения;
— детектирования объектов — лиц, предметов и других;
— отслеживания и анализа движений на видео;
— и для многого другого

🖥 GitHub

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Coravel — библиотека .NET, которая позволяет легко реализовать планирование задач, кэширование, постановку в очередь и много всего другого

dotnet add package coravel

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

🖥 GitHub
🟡 Доки

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from C#/.Net на практике
Forwarded from C#/.Net на практике
🚀 Чистый код в ASP.NET Core: практическое введение в программирование

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

📌 Читать
🖥 RavenDB — ACID NoSQL документоориентированная БД


dotnet new console
dotnet add package RavenDB.Client --version 6.0.0-*

# изменить Program.cs

dotnet restore && dotnet build && dotnet run


Вообще, RavenDB — довольно известная NoSQL БД;
если кто не пробовал — возможно именно RavenDB поможет в вашем кейсе.

Особенности RavenDB:
— Простота развертывания. Можно использовать как встроенное в проект решение, так Windows service и консольное приложение.

— Простота перехода на новую версию. Просто нужно остановить Raven и закинуть новый билд в рабочую папку сервера. В проекте все обходится обновлением NuGet пакета.

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

GitHub
Доки

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полная шпаргалка по C# и краткий справочник по языку с простыми примерами.

📌 Шпаргалка

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 PowerShell Pro Tools

Полезные инструменты, которые упростят написание скриптов, автоматизацию и разработку для тех, кто работает с PowerShell. Установите с помощью следующей команды или как расширение в VS/VS Code.


Install-Module -Name PowerShellProTools


📌GitHub

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