TGViewer
Channel Public Channel
C# 1001 notes

C# 1001 notes

@csharp_1001_notes

Регулярные короткие заметки по C# и .NET.

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

admin - @haarrp
Subscribers
6.65K
Photos
414
Videos
14
Links
363

Showing posts older than #472 · Back to latest

Older Posts 10 shown
Post #471 4.68K
🖥 AntDesign.Templates — набор компонентов UI корпоративного класса, основанный на Ant Design и Blazor WebAssembly

— dotnet new --install AntDesign.Templates

Фишки AntDesign:
— набор высококачественных компонентов Blazor из коробки.
— поддержка взаимодействия с событиями UI на основе WebAssembly на стороне клиента и SignalR на стороне сервера
— поддержка прогрессивных веб-приложений (PWA)
— упрощает локализацию за счёт поддержки десятков языков
— бесшовная интеграция с существующими проектами ASP.NET Core MVC и Razor Pages

🖥 GitHub
🟡 Доки

@csharp_ci
Post #467 5.55K
🖥 Репозиторий с примерами для ML.NET, кроссплатформенного фреймворка машинного обучения для .NET

В этом репозитории GitHub приведены примеры, которые помогут начать работу с ML.NET и узнать, как внедрить ML в существующие и новые приложения .NET.

В репозитории есть 2 типа примеров/приложений:

— Прототипы / MVP, обычно реализованные в виде простых консольных приложений

— Полноценные приложения: примеры веб- и нативных приложений с моделями машинного обучения на основе ML.NET

🖥 GitHub
🟡 Страничка ML.NET

@csharp_1001_notes
Post #463 4.77K
🖥 Harmony — позвляет исправлять методы .NET прямо в рантайме

Harmony — это библиотека для исправления, замены и декорирования методов .NET и Mono во время выполнения.
Harmony предоставляет высокоуровневый подход к изменению функциональности в C#-приложениях.

🖥 GitHub

@csharp_1001_notes
Post #462 5.98K
🖥 QuestPDF — генерация PDF в .NET

QuestPDF — это .NET open-source библиотека для создания PDF-документов. Предлагает комплексный механизм верстки на основе лаконичного и удобного C# Fluent API.
Позволяет легко генерировать PDF-отчеты и любые документы.

🖥 GitHub

@csharp_1001_notes
Post #459 4.58K
🖥 NSwag — Swagger/OpenAPI-инструментарий для .NET, ASP.NET Core

Это набор инструментов Swagger/OpenAPI 2.0 и 3.0 для .NET, .NET Core, Web API, ASP.NET Core, TypeScript и других платформ.
Предоставляет возможность генерации спецификаций OpenAPI из существующих контроллеров ASP.NET Web API и клиентского кода из этих спецификаций OpenAPI.

NSwag объединяет функциональность Swashbuckle (генерация OpenAPI/Swagger) и AutoRest (генерация клиента) в одном наборе инструментов.
Таким образом можно избежать многих несовместимостей и лучше поддерживать функции, которые не очень хорошо описаны в спецификации OpenAPI или JSON Schema (например, наследование, обработка перечислений и ссылок)

🖥 GitHub
🟡 Страничка NSwag

@csharp_1001_notes
Post #456 4.32K
🖥 Phi-3-mini в 30 строках на C# с ONNX Runtime GenAI

В рамках запуска Phi-3 Microsoft выпустила оптимизированные модели ONNX, как подробно описано в статье «ONNX Runtime supports Phi-3 mini models across platforms and devices».
Также модели Phi-3 mini опубликованы на HuggingFace 🤗

Используя всё это, можно легко запустить модель локально всего в нескольких строках C#, как показано в этом гайде.

▶️ Гайд

А вот те самые 30 строк:

using Microsoft.ML.OnnxRuntimeGenAI;
var modelDirectory = args.Length == 2 ? args[1] :
@"C:\git\oss\Phi-3-mini-4k-instruct-onnx\cuda\cuda-int4-rtn-block-32";
using var model = new Model(modelDirectory);
using var tokenizer = new Tokenizer(model);
while (true)
{
Console.Write("Prompt: ");
var line = Console.ReadLine();
if (line == null) { continue; }

using var tokens = tokenizer.Encode(line);

using var generatorParams = new GeneratorParams(model);
generatorParams.SetSearchOption("max_length", 2048);
generatorParams.SetInputSequences(tokens);

using var generator = new Generator(model, generatorParams);

while (!generator.IsDone())
{
generator.ComputeLogits();
generator.GenerateNextToken();
var outputTokens = generator.GetSequence(0);
var newToken = outputTokens.Slice(outputTokens.Length - 1, 1);
var output = tokenizer.Decode(newToken);
Console.Write(output);
}
Console.WriteLine();
}


@csharp_1001_notes
Post #452 3.61K
🖥 Полезные материалы по .NET и AWS

Держите полезный репозиторий с материалами о разворачивании и обслуживании .NET-приложений в AWS.

В частности, освещаются такие моменты:
— Настройка учетных данных AWS для приложений .NET
— Работа с AWS S3 в ASP.NET Core Web API
— Amazon API Gateway для разработчиков .NET
— Как защитить Amazon API Gateway с помощью Lambda Authorizer?

🖥 GitHub

@csharp_1001_notes
Post #451 4.4K
Post #448 4.95K
🖥 Zenject, внедрение зависимостей, Unity C#

Очень понятное объяснение, что же такое Zenject, Dependency Injection и всё такое
Рекомендую)

Что внутри?
• 00:36 - Другие годные источники по зенджекту
• 02:20 - Что такое Dependency Injection?
• 03:39 - Проблема DI — большое количество сервисов
• 04:02 - Проблема DI — вложенные зависимости
• 04:56 - Проблема DI — разное время жизни сервисов
• 05:45 - Что делает Zenject?
• 06:35 - Binding в Zenject
• 07:54 - Installer-s в Zenject
• 09:16 - Context в Zenject
• 10:54 - Как это всё работает
• 11:54 - Дополнительные инструменты Zenject-а
• 13:04 - ITickable, IInitializable и IDisposable

📎 YouTube
🖥 GitHub

@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 →