Telegram Web Link
🖥 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полезные материалы по .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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 QuestPDF — генерация PDF в .NET

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

🖥 GitHub

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Harmony — позвляет исправлять методы .NET прямо в рантайме

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

🖥 GitHub

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 SimplCommerce — простая, кроссплатформенная, модульная eCommerce система на .NET

Быстрый старт с помощью Docker:
docker run -p 5000:80 simplcommerce/ci-build

🖥 GitHub
🟡 Демо готового проекта с использованием SimplCommerce

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

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

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

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

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

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

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Mapperly — .NET-кодогенератор для создания отображений, вдохновлён MapStruct

dotnet add package Riok.Mapperly

Mapperly значительно упрощает реализацию отображений объектов на объекты. Необходимо только определить сигнатуру методов отображения.

🖥 GitHub
🟡 Доки

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/04 06:11:10
Back to Top
HTML Embed Code: