C# 1001 notes
前往频道在 Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
显示更多6 539
订阅者
-324 小时
-17 天
-230 天
帖子存档
6 538
😎На Си можно всё!
👉Узнайте больше о возможностях языка на бесплатном вебинаре онлайн-курса «Программист С» — «Написание расширения PostgreSQL на языке С»: регистрация
На бесплатном вебинаре мы:
- познакомимся с возможностью написания функций на языке С для работы с данными
- создадим и подключим собственное расширение для СУБД PostgreSQL, написанное на языке С
- рассмотрим плюсы и минусы создания таких расширений
🤝Понравится вебинар — продолжите обучение на курсе по специальной цене и даже в рассрочку!
erid: LjN8K6mjH
6 538
🖥 Terminal.Gui — кроссплатформенные консольные UI на .NET
dotnet new --install Terminal.Gui.templates
dotnet new tui -n myproj
cd myproj
dotnet run
Terminal.Gui — инструментарий для создания выразительных консольных UI на .NET, .NET Core и Mono, работающий под Windows, Mac и Linux/Unix.
🖥 GitHub
🟡 Доки
@csharp_ci6 538
#cheatsheet #beginners
Большая шпаркалка по типам данных, операторам и встроенным функциям языка С#.
https://github.com/LeCoupa/awesome-cheatsheets/blob/master/languages/C%23.txt
6 538
🖥 Использование Phi-3 и C# с ONNX для генерации текста и изображений
Вот все необходимые действия, просто качаем модель Phi-3-mini 4k и модель для работы с изображениями Phi-3-mini 128k:
cd c:\phi3\models
git lfs install
git clone https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx
git clone https://huggingface.co/microsoft/Phi-3-vision-128k-instruct-onnx-cpu
и просто запускаем, используя dotnet:
cd .\src\LabsPhi301\
dotnet run
🟡 Подробный гайд
@csharp_1001_notes6 538
Что нужно C#-разработчику для счастья?
Удаленка, выстроенные CI/CD, сильное комьюнити... Все это есть в Контуре, не хватает только вас 🫶
Приглашаем в команду C#-разработчиков с опытом работы с highload-сервисами от 3 лет, чтобы вместе автоматизировать рутину бизнеса. Мы развиваем 70+ продуктов: от стартапов вроде Толка до гигантов, таких как Диадок или Экстерн.
Наш стек:
— Бэкенд: C# (.NET Core, .NET 5 и выше, ASP.NET MVC / Web API)
— Хранилища: MS SQL, PostgreSQL, Cassandra, MongoDB.
Почему у нас хорошо:
👉С#-разработчики — представители самого массового стека в компании. Всегда есть, с кем поделиться и чему научиться.
👉Можем стажироваться в других командах и менять продукт, наращивая свой инженерный опыт.
👉Становимся наставниками, преподаем в вузах. На это выделяется рабочее время.
👉Получаем приятные бонусы крупной аккредитованной IT-компании: ДМС, частичную оплату питания и компенсацию спорта.
Больше о работе и процессе найма в Контур по ссылке, откликайтесь!
Реклама. АО «ПФ «СКБ Контур» ИНН 6663003127. Erid:2SDnjejnpCZ
6 538
🖥 StableSwarmUI — модульный веб-интерфейс на C# для Stable Diffusion
brew install dotnet
git clone https://github.com/Stability-AI/StableSwarmUI
cd StableSwarmUI
./launch-macos.sh
StableSwarmUI обеспечивает удобный доступ к возможностям Stable Diffusion;
в настоящий момент проект активно развивается
🖥 GitHub
🟡 Доки
@csharp_ci6 538
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳
Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.
Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.
Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow
Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KVxBj
6 538
🖥 CSharpier — форматтер C# кода
—
dotnet tool install csharpier -g
CSharpier разбирает код при помощи Roslyn и потом собирает его заново, используя свои собственные правила. Процесс сборки был вдохновлён Prettier, но со временем довольно сильно поменялся.
Особенности CSharpier:
— это реально быстрый форматтер
— интегрируется с основными IDE С#
— работает с C# <= 12
— поддерживает валидацию вносимых изменений
🖥 GitHub
🟡 Доки
@csharp_1001_notes6 538
Что нужно C#-разработчику для счастья?
Удаленка, выстроенные CI/CD, сильное комьюнити... Все это есть в Контуре, не хватает только вас 🫶
Приглашаем в команду C#-разработчиков с опытом работы с highload-сервисами от 3 лет, чтобы вместе автоматизировать рутину бизнеса. Мы развиваем 70+ продуктов: от стартапов вроде Толка до гигантов, таких как Диадок или Экстерн.
Наш стек:
— Бэкенд: C# (.NET Core, .NET 5 и выше, ASP.NET MVC / Web API)
— Хранилища: MS SQL, PostgreSQL, Cassandra, MongoDB.
Почему у нас хорошо:
👉С#-разработчики — представители самого массового стека в компании. Всегда есть, с кем поделиться и чему научиться.
👉Можем стажироваться в других командах и менять продукт, наращивая свой инженерный опыт.
👉Становимся наставниками, преподаем в вузах. На это выделяется рабочее время.
👉Получаем приятные бонусы крупной аккредитованной IT-компании: ДМС, частичную оплату питания и компенсацию спорта.
Больше о работе и процессе найма в Контур по ссылке, откликайтесь!
Реклама. АО «ПФ «СКБ Контур» ИНН 6663003127. Erid:2SDnjejnpCZ
6 538
+1
🖥 Mapperly — .NET-кодогенератор для создания отображений, вдохновлён MapStruct
—
dotnet add package Riok.Mapperly
Mapperly значительно упрощает реализацию отображений объектов на объекты. Необходимо только определить сигнатуру методов отображения.
🖥 GitHub
🟡 Доки
@csharp_ci6 538
🖥 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_ci6 538
Блокчейн TON ищет талантливых разработчиков!
Стартует масштабный хакатон “The Open League Hackathon” с призовым пулом $2,000,000 от команды блокчейна TON.
В поддержку хакатона все Web3-энтузиасты приглашаются на трёхдневные оффлайн встречи для нетворкинга в 13 городах мира:
📍Прага, Берлин, Киев, Варшава, Тбилиси, Белград, Сеул, Тайбэй (Тайвань), Гуруграм (Индия), Гонг-Конг, Минск, Москва и Санкт-Петербург.
Первые встречи начнутся уже 24 мая. Ищи свой город и регистрируйся здесь 👈 тык
Что вас ждет:
— 3 дня нетворка, лекций, конкурсов и работы над собственными проектами с поддержкой представителей TON Foundation и команд экосистемы TON
— Призовые $5.000 для трех лучших проектов на каждом оффлайн ивенте + много мерча и других бонусов
Не упусти возможность представить свое приложение 900 миллионам активных пользователей Telegram вместе с TON.
Регистрируйся — https://society.ton.org/activities/open-league
6 538
+2
🖥 Репозиторий с примерами для ML.NET, кроссплатформенного фреймворка машинного обучения для .NET
В этом репозитории GitHub приведены примеры, которые помогут начать работу с ML.NET и узнать, как внедрить ML в существующие и новые приложения .NET.
В репозитории есть 2 типа примеров/приложений:
— Прототипы / MVP, обычно реализованные в виде простых консольных приложений
— Полноценные приложения: примеры веб- и нативных приложений с моделями машинного обучения на основе ML.NET
🖥 GitHub
🟡 Страничка ML.NET
@csharp_1001_notes
6 538
💥Программист, поработай руками!
👉Узнайте больше об электронике на бесплатном уроке онлайн-курса «Электроника и электротехника» - «Разработка и программирование усилителя класса D на Arduino»: регистрация
На бесплатном уроке вы:
- получите знания о том, как с помощью платформы Arduino создать усилитель класса D
- узнаете теоретические основы предметной области, пошаговый процесс выбора компонентов и написания кода для управления усилениями.
Урок подходит:
- Техническим специалистам, желающим реализовать проекты с использованием аудиотехнологий
- Студентам технических специальностей, ищущим практического опыта в связке программирования и электроники
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
erid: LjN8K5gLV
6 538
+1
🖥 SimplCommerce — простая, кроссплатформенная, модульная eCommerce система на .NET
Быстрый старт с помощью Docker:
docker run -p 5000:80 simplcommerce/ci-build
🖥 GitHub
🟡 Демо готового проекта с использованием SimplCommerce
@csharp_ci6 538
🖥 Harmony — позвляет исправлять методы .NET прямо в рантайме
Harmony — это библиотека для исправления, замены и декорирования методов .NET и Mono во время выполнения.
Harmony предоставляет высокоуровневый подход к изменению функциональности в C#-приложениях.
🖥 GitHub
@csharp_ci
6 538
🖥 QuestPDF — генерация PDF в .NET
QuestPDF — это .NET open-source библиотека для создания PDF-документов. Предлагает комплексный механизм верстки на основе лаконичного и удобного C# Fluent API.
Позволяет легко генерировать PDF-отчеты и любые документы.
🖥 GitHub
@csharp_ci
6 538
+2
🖥 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_ci
6 538
🚀 Готовься к переменам в мире IT с нашим практическим курсом по Domain Driven Design!
😰 Устал от запутанной инфраструктуры, вперемешку с бизнес логикой? Мы знаем, как это тяжело. Писать тесты становится неприятно и больно, много приходится мокать, тесты получаются огромными, хрупкими.. Но есть решение! Присоединяйся к нашему курсу, где мы разложим все по полочкам за 10 вебинаров, начиная с 13 мая.
🔝 Прими вызов и стань частью передовой волны технологического прогресса. Успей зарегистрироваться уже сейчас https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqvmkXyj&utm_campaign=1
🎓 На нашем курсе ты изучишь:
✅ Основы Domain-Driven Design и его важность для разработчиков.
✅ Создание эффективных и масштабируемых сервисов с использованием DDD.
✅ Применение шаблонов проектирования и принципов DDD для оптимизации кода и повышения производительности.
💡 Зачем тебе этот курс?
🌟 Плюс, ты получишь:
— Новые подходы к разработке, в том числе и использование подходов ядра и слоев в онион-архитектуре.
— Шанс быть первым внедрившим новые методы в отделе.
— Стань Senior Developer или Team Lead.
— Пиши код как профессионал, а не как в учебниках.
— Получи признание в компании и увеличь свою заработную плату.
🌟 Присоединяйся к нам прямо сейчас и стань экспертом в разработке успешных проектов: https://microarch.ru/courses/hexagonal-architecture?utm_source=posev&utm_medium=erid:2VtzqvmkXyj&utm_campaign=1
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqvmkXyj
6 538
+1
🖥 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_ci
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
