es
Feedback
C# 1001 notes

C# 1001 notes

Ir al canal en Telegram

Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp

Mostrar más
6 612
Suscriptores
+924 horas
+667 días
+5630 días
Archivo de publicaciones
🖥 Репозиторий с примерами для ML.NET, кроссплатформенного фреймворка машинного обучения для .NET В этом репозитории GitHub п
+2
🖥 Репозиторий с примерами для ML.NET, кроссплатформенного фреймворка машинного обучения для .NET В этом репозитории GitHub приведены примеры, которые помогут начать работу с ML.NET и узнать, как внедрить ML в существующие и новые приложения .NET. В репозитории есть 2 типа примеров/приложений: — Прототипы / MVP, обычно реализованные в виде простых консольных приложений — Полноценные приложения: примеры веб- и нативных приложений с моделями машинного обучения на основе ML.NET 🖥 GitHub 🟡 Страничка ML.NET @csharp_1001_notes

💥Программист, поработай руками! 👉Узнайте больше об электронике на бесплатном уроке онлайн-курса «Электроника и электротехни
💥Программист, поработай руками! 👉Узнайте больше об электронике на бесплатном уроке онлайн-курса «Электроника и электротехника» - «Разработка и программирование усилителя класса D на Arduino»: регистрация На бесплатном уроке вы: - получите знания о том, как с помощью платформы Arduino создать усилитель класса D - узнаете теоретические основы предметной области, пошаговый процесс выбора компонентов и написания кода для управления усилениями. Урок подходит: - Техническим специалистам, желающим реализовать проекты с использованием аудиотехнологий - Студентам технических специальностей, ищущим практического опыта в связке программирования и электроники 🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку! erid: LjN8K5gLV

🖥 SimplCommerce — простая, кроссплатформенная, модульная eCommerce система на .NET Быстрый старт с помощью Docker: docker ru
+1
🖥 SimplCommerce — простая, кроссплатформенная, модульная eCommerce система на .NET Быстрый старт с помощью Docker: docker run -p 5000:80 simplcommerce/ci-build 🖥 GitHub 🟡 Демо готового проекта с использованием SimplCommerce @csharp_ci

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

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

🖥 NSwag — Swagger/OpenAPI-инструментарий для .NET, ASP.NET Core Это набор инструментов Swagger/OpenAPI 2.0 и 3.0 для .NET, .
+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

🚀 Готовься к переменам в мире IT с нашим практическим курсом по Domain Driven Design! 😰 Устал от запутанной инфраструктуры,
🚀 Готовься к переменам в мире 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

🖥 Phi-3-mini в 30 строках на C# с ONNX Runtime GenAI В рамках запуска Phi-3 Microsoft выпустила оптимизированные модели ONNX
+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

Кто такой архитектор ПО и как им стать? Архитектор ПО — одна из самых востребованных позиций на современном рынке IT. Узнайте
Кто такой архитектор ПО и как им стать? Архитектор ПО — одна из самых востребованных позиций на современном рынке IT. Узнайте, что нужно, чтобы претендовать на эту должность, на бесплатном практическом уроке от OTUS. 💯 На вебинаре разберём:  - какую роль выполняет архитектор и зачем он нужен; - какие бывают архитекторы; - чем отличается архитектура от проектирования. 📅 Встречаемся 20 мая в 19:00 мск в рамках курса «Software Architect». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS. Ссылка для регистрации: https://vk.cc/cwwNcD?erid=LjN8KYfrz

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

🖥 Вот пример отличного исследования и дискуссии опытных программистов https://github.com/dotnet/runtime/issues/101437 #dotNET @csharp_ci

🖥 Zenject, внедрение зависимостей, Unity C# Очень понятное объяснение, что же такое Zenject, Dependency Injection и всё тако
+2
🖥 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

👋 Хотите узнать больше о библиотеке LINQ и расширить свои знания в программировании на С#? 🏃‍♂️ Приходите на открытый практ
👋 Хотите узнать больше о библиотеке LINQ и расширить свои знания в программировании на С#? 🏃‍♂️ Приходите на открытый практический урок от OTUS. Спикер — опытный инженер и преподаватель. ✅ На вебинаре вы изучите, как использовать LINQ для построения запросов, как создавать запросы, аналогичные SQL и другие области его применения. Вы изучите функции и синтаксис LINQ для эффективного взаимодействия с данными в коллекциях. Улучшите производительность кода и сможете стать более эффективным программистом. 🚀 Урок пройдет 26 апреля в 20:00 мск и будет приурочен к старту большого курса «C# Developer. Professional». После вебинара вы получите специальную цену на обучение и персональную консультацию от наших менеджеров! 🎯 Короткий тест и вы получите доступ ко всем открытым урока курса и запись на вебинар: https://clck.ru/3A7abo Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🖥 Реализация словаря на двух статических методах и делегате в C# ⏩Речь пойдет о структуре данных "словарь" (отображение или
+1
🖥 Реализация словаря на двух статических методах и делегате в C# ⏩Речь пойдет о структуре данных "словарь" (отображение или ассоциативный массив). В программировании мы чаще всего пользуемся шаблоном мышления, который предполагает, что есть данные и функции, которые над этими данными выполняют различные операции. При этом данные могут быть представлены как некоторые одиночные элементы – объекты простых типов (числа, bool’ы, символы и т.п.) и объекты сложных типов, которые мы проектируем сами (Student, Employer, Car, Factory и т.п.), так и коллекции, состоящие из этих одиночных элементов: множества, словари, списки, массивы, стеки и т.п. Коллекции могу существовать в виде обобщенных вариантов, в этом случае предполагается, что тип объектов, которые будут храниться в ней, задается (заранее известен) до компиляции (для статически типизированных языков), это способствует большей производительности и лучшей безопасности. ⏩Если немного поразмышлять над лямбда-исчислением Черча, то в какой-то момент становится понятно, что описанное выше восприятие данных — это всего лишь удобная абстракция, которую мы перетащили из нашего "физического" мира. Например, у нас есть яблоко (это объект данных), и мы над ним с помощью определенной функции (соковыжималка) производим работу, преобразуя его в сок (объект другого типа). А вот само яблоко, мы, как правило, в качестве функции не рассматриваем. В лямба-исчислении всё есть функция – то, над чем выполняются операции и то, что эти операции выполняет. Фон-неймановская архитектура, по дизайну которой построены почти все современные вычислительные системы, также нас толкает к тому, что функции и данные — это одно и тоже: байты в памяти мы можем интерпретировать как данные и как операции для работы над данными, тут другая идея: всё есть данные (биты), а уж как мы их интерпретируем — это наша ответственность. 📎 Реализация @csharp_ci

👩‍💻 Лекции по .NET Крутой плейлист, который постоянно пополняется свежими видосамипо C# от инженера из Microsoft Amichai Ma
👩‍💻 Лекции по .NET Крутой плейлист, который постоянно пополняется свежими видосамипо C# от инженера из Microsoft Amichai Mantinband. 🔗 плейлист @csharp_1001_notes

🔥Подборка лучших обучающих каналов для программистов. ➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять ⚡Машинное обучение Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду Ml ru - актуальные статьи, новости, код и обучающие материалы Ml Jobs - вакансии ML ML Книги - актуальные бесплатные книги МО ML чат 🏆 Golang Golang - изучи один из самых перспективных языков на ит-рынке Golang собеседование - разбор задач и вопросов с собесов Golang вакансии -работа для Go разработчика Golang книги библиотека книг Golang задачи и тесты Golang чат Golang news - новости из мира go Golang дайджест 💥 Linux /Этичный хакинг Linux Academy - гайды, секреты и лучшие материалы по Linux Kali linux - погрузись в мир этичного хакинга и кибербезопасности linux_kal - kali чат Информационная безопасность 🚀 Data Science Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста Data Jobs - ds вакансии Аналитик данных Data Science книги - актуальные бесплатные книги Big data 🛢Базы данных Sql базы данных - научим работе с базами данных профессионально Библиотека баз данных SQL чат Вакансии Sql аналитик данных #️⃣C# С# академия - лучший канал по c# С# заметки — код, лучшие практики, заметки программиста c# С# задачи и тесты С# библиотека - актуальные бесплатные книги C# вакансии - работа 🐍 Python Python/django - самый крупный обучающий канал по Python Python Собеседование - подготовка к собеседовению python и разбор алгоритмов Pro python - статьи, новости, код и обучающие материалы Python Jobs - вакансии Python Python чат Python книги ☕ Java Java академия - java от Senior разработчика Java вакансии Java чат Java вопросы с собеседований Java книги 💻 C++ C++ академия С++ книги C++ задачи - подготовка к собеседовению мл, алгоритмам C++ вакансии ⚡️ Frontend Javascript академия - крупнейший js канал React - лучшие гайды и советы по работе с react Frontend - тутрориалы, уроки, гайды, код PHP Книги frontend Задачи frontend 🦀 Rust Rust программирование Rust чат Rust книги для программистов 📲 Мобильная разработка Android разработка Мобильный разработчик гайды и уроки 🇬🇧 Английский для программистов 🧠 Искусственный интеллект ИИ и технологии Neural - нейросети для работы и жизни Книги ИИ Artificial Intelligence 🔥 DevOPs Devops для программистов Книги Devops 🌟 Docker/Kubernets Docker Kubernets 📓 Книги Библиотеки Книг для программситов 💼 Папка с вакансиями: Папка Go разработчика: Папка Python разработчика: Папка Data Science Папка Java разработчика Папка C# Папка Frontend

🎉 Анонс выпускы .NET 9 Preview 3. 🙌 Узнайте, что нового появилось в библиотеках #dotNET, среде выполнения и SDK, включая: ➖
🎉 Анонс выпускы .NET 9 Preview 3. 🙌 Узнайте, что нового появилось в библиотеках #dotNET, среде выполнения и SDK, включая: ➖ Библиотеку токенизаторов ➖ Временной интервал.Защита от перегрузок ➖ Более быстрая обработка исключений ... и многое другое. Получить подробную информацию и ссылки на ресурсы можно здесь ➡️ https://github.com/dotnet/core/discussions/9271

Бесплатный курс для middle C#-разработчиков от Ozon На курсе Route 256 инженеры Ozon расскажут про самые современные технологии, а также поделятся своим опытом разработки микросервисов. Будут лекции, воркшопы, код-ревью домашних заданий и профессиональное комьюнити. Курс рассчитан на разработчиков с опытом от 3 лет, в конце Ozon предлагает офферы лучшим выпускникам. Чтобы попасть на курс, нужно пройти отборочный контест 5 мая. Узнать подробности и подать заявку

🖥 Подписать PDF-документы на C# и VB.NET Цифровые подписи позволяют доказать, что документ PDF: • Не изменялся с момента под
🖥 Подписать PDF-документы на C# и VB.NET Цифровые подписи позволяют доказать, что документ PDF: • Не изменялся с момента подписания. • Был подписан цифровой подписью конкретного человека. ⏩Используйте библиотеку Docotic.Pdf для подписи PDF-документов в приложениях для .NET Framework и .NET Core. Вы можете скачать бинарные файлы библиотеки или использовать ее пакет NuGet. ⏩Как же наконец добавить цифровую подпись в PDF? Вам необходим цифровой сертификат PKCS#12 (файл .pfx или .p12), выданный действительным центром сертификации, чтобы подписать PDF-документ. Вот базовый пример, показывающий, как подписать PDF-документ на C#:
using BitMiracle.Docotic.Pdf;

using (var pdf = new PdfDocument("document_to_sign.pdf"))
{
    var options = new PdfSigningOptions("your_cert.p12", "your_cert_password")
    {
        DigestAlgorithm = PdfDigestAlgorithm.Sha256,
        Format = PdfSignatureFormat.Pkcs7Detached,
        Reason = "Testing digital signatures",
        Location = "My workplace",
        ContactInfo = "support@example.com"
    };

    pdf.SignAndSave(options, "signed.pdf");
}
Замените "your_cert.p12" собственным файлом сертификата .p12 или .pfx и "your_cert_password" собственным паролем. На GitHub вы можете загрузить и попробовать полную версию примера (подписать PDF-документ https://github.com/BitMiracle/Docotic.Pdf.Samples/tree/master/Samples/Digital%20signatures/SignDocument) на C# и VB.NET. ⏩Бывают случаи, когда необходимо подписать уже подписанный документ. Или несколько человек должны подписать одну форму друг за другом. Это также возможно. Шаги, в основном, те же. Просто убедитесь, что после подписывания вы сохраняете документ инкрементально. Инкрементальные обновления не нарушают цифровые подписи при условии, что вы делаете только разрешенные изменения. 📎 Подробнее @csharp_ci

🖥 Необходимо определить делегат и реализовать метод ⏩Итак, вот задание: определить делегат bool CounterHashSetDelegate(int a
🖥 Необходимо определить делегат и реализовать метод ⏩Итак, вот задание: определить делегат bool CounterHashSetDelegate(int a) и реализовать метод int Function12(HashSet<int> intSet, CounterHashSetDelegate filter), который возвращает количество элементов из intSet, которые удовлетворяют условию filter.
public static  class 
{
public delegate bool CounterHashSetDelegate(int a);
public static int Function12(HashSet<int> intSet, CounterHashSetDelegate filter)
{
 
    int count = 0;
    foreach (int i in intSet)
    {
        if(filter(i))
                    count++;
}
return count;
}
}
⏩Давайте сразу к сути, решение может выглядеть так:
public delegate bool CounterHashSetDelegate(int a);

class Program
{
   static void Main(string[] args)
   {
       CounterHashSetDelegate d = IsEvenNum;

       Console.WriteLine($"Количество четных элементов:{Function12(new HashSet<int> { 1, 2, 3, 4, 5 }, d)}");

       d = IsGreaterThen;

       Console.WriteLine($"Количество  элементов > 2:{Function12(new HashSet<int> { 1, 2, 3, 4, 5 }, d)}");

       Console.ReadKey();
   }

   public static bool IsEvenNum(int a)
   {
       return a % 2 == 0;// четное ли число например
   }

   public static bool IsGreaterThen(int a)
   {
       return a > 2;//больше  ли  например
   }


   public static int Function12(HashSet<int> intSet, CounterHashSetDelegate filter)
   {

       int count = 0;
       foreach (int i in intSet)
       {
           if (filter(i))
           {
               count++;
           }
       }
       return count;
   }

}
Вот и все дела @csharp_ci