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

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

admin - @haarrp
Download 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
🖥Пример использования оператора explicit в C#

В .NET есть множество способов сопоставлять объекты друг с другом.

На картинке — пример использования оператора explicit для этих целей.

📌 Подробнее

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
dotnet-backend-developer-roadmap.pdf
67.7 KB
⚡️ .NET Backend Developer Roadmap: 12 главных разделов

Роадмэпы по .NET/C#/ASP.NET/Game Dev вы найдете с помощью хештега #roadmap

📌 Источник

@csharp_1001_notes
🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ .NES ("dot" NES)

Интересная библиотека предназначенная для разработки под NES (Nintendo Entertainment System).

Инструмент позволяет разработчикам создавать игры для NES с использованием C# и других технологий #NET, предоставляя инструменты и ресурсы для упрощения процесса разработки игр для этой классической игровой платформы.

dotnet new install dotnes.templates

Github

@csharp_1001_notes
🖥Наглядный пример использования оператора explicit в C#

В .NET у нас есть множество способов сопоставлять объекты друг с другом. Выше — пример использования оператора explicit для этих целей.

⚡️ Подробнее

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Выпуск .NET Aspire 8.2!

Команда .NET Aspire выпустила новую версию 8.2, которая улучшает процесс внедрения и тестирования.

Главное изменение — Components теперь называются Integrations, что упрощает работу с облачными сервисами.

Подробности: https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-8-2/

@csharp_1001_notes
🖥 Почему стоит избегать throw ex в C#/.NET

Исключения играют важную роль в C#/.NET приложениях, помогая поддерживать их стабильность. Важно использовать throw; вместо throw ex; в блоках catch, чтобы сохранить исходный стек вызовов и упростить отладку. Использование throw ex; сбрасывает стек, усложняя устранение ошибок.

Подробности: https://nilebits.hashnode.dev/c-net-exception-handling-why-you-should-avoid-using-throw-ex-in-catch-blocks

#en
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Новый SDK Pinecone для .NET: Расширяйте свои возможности в AI!

Экосистема AI в .NET постоянно растет, и команда платформы не собирается останавливаться.

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

📍 Читать

@csharp_1001_notes
🖥 RethinkDB — база данных, ориентированная на работу в реальном времени. Она поддерживает хранение данных в формате JSON любой структуры (NoSQL) и позволяет "слушать" стримы данных.

Упрощает создание:
приложений для совместного редактирования документов (например, Google Docs, Trello),
мультиплеерных игр (например, для мгновенного оповещения игроков о действиях других),
маркетплейсов (биржи, ставки),
дешбордов с данными в реальном времени,
систем для общения между IoT-устройствами: обмен сообщениями, сигнализация, запуск действий через прослушивание одного источника.

https://github.com/rethinkdb/rethinkdb

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Создаём реальное чат-приложение на SignalR в .NET и React

Статья подробно описывает процесс создания реального чат-приложения с использованием SignalR в .NET и React. Разбираются этапы настройки бэкенда с помощью ASP.NET Core и фронтенда с использованием React, а также взаимодействие между ними для обеспечения реального времени в чате.

https://blog.ghanshyamdigital.com/building-a-real-time-chat-app-with-signalr-in-net-and-react

@csharp_1001_notes
🏬 Разработка масштабируемого веб-API для приложения e-commerce с использованием .NET и MongoDB: пошаговый гайд

Гайд проведет вас через ключевые компоненты и принципы проектирования чистой архитектуры .NET, интеграцию MongoDB и различные функции и возможности приложения электронной коммерции.

👉 Читать
💁💁 LXC vs. Docker: что использовать?

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

Продолжение тут

#почитать
Awesome-Avalonia PRs Welcome

Коллекция полезных библиотек и инструментов для проекта Avalonia включает в себя множество полезных ресурсов.

Если вы работаете с кроссплатформенным XAML-фреймворком для экосистемы .NET, то репозиторий awesome-avalonia заслуживает вашего внимания. Он содержит множество полезной информации и будет отличным дополнением к вашим закладкам.

GitHub
⚡️ Сможет ли Blazor превзойти React/Angular?

Очень интересное обсуждение на Reddit от новичка в .NET-разработке. Комментаторы считают, что Blazor учить легче, но в то же время он не развивается так быстро как популярные JavaScript-фреймворки.

Делитесь своими мыслями в комментариях

@csharp_1001_notes