C# 1001 notes @csharp_1001_notes Channel on Telegram

C# 1001 notes

@csharp_1001_notes


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

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

admin - @notxxx1

C# 1001 notes (Russian)

Добро пожаловать в Telegram-канал "C# 1001 notes"! Этот канал предлагает регулярные короткие заметки по языку программирования C# и платформе .NET. Если вам интересны темы разработки на C# и вы хотите узнавать что-то новое каждый день, то этот канал - именно то, что вам нужно.

Администратор канала - @notxxx1, готов делиться своими знаниями и опытом с каждым подписчиком. Здесь вы найдете информацию как для новичков, так и для опытных разработчиков. Мы объясняем сложные темы простым языком, чтобы каждый мог понять и улучшить свои навыки в программировании.

Присоединяйтесь к нам, чтобы быть в курсе всех новостей и обновлений в мире C#! Подписывайтесь на наш канал и получайте дозу полезной информации каждый день. До встречи в "C# 1001 notes"!

C# 1001 notes

10 Jan, 07:20


🖥 Пример шаблона IOptions в ASP .NET!

🌟 IOptions<T> обеспечивает безопасность во время компиляции и устраняет "магические" строки.

@csharp_ci

C# 1001 notes

10 Jan, 06:13


Бесплатный вебинар: Логирование и мониторинг приложений на C# 13.01 в 20:00

Хотите научиться отслеживать ошибки в приложении, как настоящий профессионал? Узнайте, как настраивать мониторинг и логирование в вашем коде, чтобы держать всё под контролем!

На этом вебинаре вы: 
1️⃣ Разберете лучшие практики логирования и мониторинга приложений на C#. 
2️⃣ Освоите работу с популярной библиотекой NLog: от настройки до грамотного использования уровней логирования. 
3️⃣ Узнаете, как Sentry помогает находить и устранять проблемы быстрее, чем пользователи успеют заметить их. 

Это для вас, если вы: 
- Начинающий разработчик на C#, который хочет прокачаться в профессиональной разработке.
- Стремитесь писать код, который легко поддерживать и отлаживать. 

😏 Регистрируйтесь сейчас и сделайте первый шаг к созданию действительно качественного кода! https://clck.ru/3FeK3v?erid=2W5zFGhgQDN 

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C# 1001 notes

04 Jan, 16:29


🖥 Пример использования метода шаблона!

🌟 Он определяет скелет алгоритма, позволяя подклассам переопределять определенные шаги без изменения общей структуры алгоритма. Он способствует повторному использованию кода путем централизации общей функциональности, одновременно позволяя настраивать посредством подклассификации.

💡 В примере на изображении класс HotelBookingTemplate определяет общий поток для бронирования номера в отеле, в то время как подклассы настраивают определенные шаги, такие как ProcessPayment и опционально применяют скидки, переопределяя ApplyDiscount. Это гарантирует, что процесс бронирования остается последовательным, а изменения обрабатываются подклассами.

@csharp_1001_notes

C# 1001 notes

28 Dec, 15:43


🌐 SharpRedirect — это инструмент на основе .NET Framework, разработанный для перенаправления сетевого трафика!

🌟 Он принимает входящие TCP-подключения на локальный порт и пересылает их на указанный удалённый хост и порт. Приложение поддерживает двустороннюю передачу данных в полном дуплексе, обеспечивая стабильную и асинхронную работу для повышения производительности.

🖥 Github

@linuxkalii

C# 1001 notes

22 Dec, 13:01


🖥 Эта статья посвящена использованию библиотек .NET для интеграции с сервисами искусственного интеллекта!

🌟 В ней рассказывается о библиотеке Microsoft.Extensions.AI, которая предоставляет унифицированный интерфейс для работы с различными сервисами ИИ, включая OpenAI, Azure OpenAI и другие. Приведены инструкции по установке пакета через NuGet, настройке клиента и реализации интерфейса IChatClient для взаимодействия с ИИ.

🔗 Ссылка: *клик*

@data_analysis_ml

C# 1001 notes

22 Dec, 12:01


Новый онлайн вебинар: Ускорение приложений за счёт индексирования баз данных!

1️⃣Мы создадим приложение, которое будет эффективно взаимодействовать с базой данных.
2️⃣Освоим создание индексов для реляционных баз данных, чтобы ваши запросы летали.
3️⃣Узнаем, как значительно ускорить выполнение запросов с помощью индексов.

❗️Кому будет полезно:
Начинающим разработчикам: Если вы хотите научиться работать с базами данных, как напрямую, так и с помощью ORM, а еще и узнать лайфхаки, то этот вебинар для вас!

Все зарегистрированные получают бонусную скидку на полноценный курс C# Developer, после которого вы освоите серверную разработку на C# до уровня Middle в Scrum-команде! А зарплаты спецов такого уровня уже от 160 000 рублей по данным hh ✌️

😏Записаться на урок, получить скидку и понять стоит ли оно того тут: https://clck.ru/3FJauw?erid=LjN8KHXTc 
 
P.S. Это, кстати, классная возможность задать эксперту вопросы и получить сразу на них ответы!

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C# 1001 notes

20 Dec, 12:51


🖥 Эта статья рассказывает о том, как писать более чистый и поддерживаемый код в .NET!

🌟 Автор делится лучшими практиками, такими как использование принципов SOLID, правильная структура проектов, улучшение читаемости кода через именование, обработку исключений и создание тестируемых компонентов. Также внимание уделяется инструментам и подходам для рефакторинга, что помогает разработчикам создавать код, который легче поддерживать и расширять.

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

20 Dec, 11:51


Работа с NoSQL на С#: разбираем нереляционные базы данных от первого бита и до последнего!

Всего за 90 минут мы:
1️⃣Подробно разберем, что такое NoSQL, их виды и почему это важно для современных разработчиков, рассмотрим уникальные особенности баз данных.
2️⃣Главное! Закрепим полученные знания на практике, работая с NoSQL базами.
3️⃣И даже если Вы уже работали с NoSQL, этот вебинар будет полезен для вас!

Ваши результаты после живого веба:
Понимание особенностей реляционных и нереляционных баз данных.
Уверенность в выборе оптимального типа базы данных для конкретных задач!

А продвинутый курс C# Developer. Professional поможет вам претендовать на зарплату Senior специалиста, которая, как правило, от 280 000 рублей/мес. Помимо знаний, опыта и ценных навыков, после выпускной работы Вы получите сертификат, который действительно ценится работодателями, потому что все наши курсы регулярно обновляются под текущие требования рынка: https://clck.ru/3FJXy6?erid=LjN8KSFpz

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C# 1001 notes

19 Dec, 17:35


🖥 BlazorToolkit — набор инструментов для улучшения разработки приложений на Blazor!

🌟 Он включает утилиты для упрощения сетевых операций, такие как работа с REST API, сервисы для реализации middleware-логики и механизмы проверки форм. Это помогает организовать модульный код, улучшает взаимодействие с пользователем и упрощает выполнение распространённых задач.

🔐 Лицензия: MIT

🖥 Github

@csharp_1001_notes

C# 1001 notes

19 Dec, 15:34


Курсы Route 256 от Ozon для C#-разработчиков уровня middle — возможность сильно прокачать навыки на задачах бигтеха🔥

1. Два месяца обучения в команде, которая создаёт ведущий e-com страны.
2. В программе многопоточность, асинхронное и параллельное программирование, шардирование, трейсинг и другие сложные темы.
3. Практика на задачах, влияющих на бизнес.

Лучшие студенты после Route 256 могут получить оффер в Ozon Tech

Если у вас есть минимум 3 года коммерческого опыта, регистрируйтесь на отборочный контест. Он пройдёт 26 января.

Курс бесплатный, но попасть на него смогут только лучшие участники контеста.

C# 1001 notes

18 Dec, 15:58


🖥 Наследование, полиморфизм и интерфейсы в C#!

🌟 Наследование, полиморфизм и интерфейсы являются основополагающими концепциями объектно-ориентированного программирования (ООП), которые позволяют создавать масштабируемый, модульный и повторно используемый код. Понимание и эффективное применение этих принципов имеет важное значение для создания надежных программных систем. В этом руководстве эти концепции подробно рассматриваются с практическими примерами и сценариями, где они особенно полезны.

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

13 Dec, 14:15


✔️ OpenAI расширяет возможности голосового режима ChatGPT.

OpenAI представила обновленный голосовой режим ChatGPT, который теперь поддерживает функции демонстрации экрана и распознавания изображений. Благодаря этому ChatGPT может анализировать контекст происходящего на экране смартфона или компьютера и давать более точные инструкции. Русский язык - поддерживается.

Обновленный голосовой режим уже доступен в мобильных приложениях для пользователей Team, а также для большинства подписчиков Pro и Plus. В ближайшее время функция станет доступна для европейских пользователей Pro и Plus, а в начале следующего года - для пользователей Enterprise и Edu.
openai.com

✔️ Midjourney представила Patchwork, инструмент для создания миров.

Patchwork – это бесконечное полотно, поддерживаемое искусственным интеллектом, которое позволяет создавать миры как персонально, так и совместно. С помощью этого инструмента можно развить расплывчатые идеи в полноценные истории, а также создавать необычные визуальные новеллы из изображений и текста.

В будущем Midjourney планирует сделать персонажей, миры и другие материалы, созданные в Patchwork, совместимыми с другими приложениями для сторителлинга. Это позволит, например, оживить персонажей в интерактивных сеттингах и редактировать текст истории с помощью новых интерфейсов для творческого письма.
updates.midjourney.com

✔️ Fujitsu представила 144-ядерный процессор Monaka для центров обработки данных.

Fujitsu представила прототип своего нового процессора Monaka, разработанного на архитектуре Armv9 и предназначенного для использования в центрах обработки данных. Процессор включает 144 ядра, распределенных по четырем 36-ядерным чиплетам, изготовленным по 2-нм техпроцессу TSMC.

Чиплеты расположены поверх SRAM-плиток, произведенных по 5-нм техпроцессу, и соединены с ними с помощью гибридной медной связи. Monaka также оснащен контроллером памяти DDR5, интерфейсом PCIe 6.0 с CXL 3.0 для подключения ускорителей. Ожидается, что Monaka будет доступен в 2027 финансовом году.
tomshardware.com

✔️ Ученые предлагают создать виртуальные клетки тканей человека с помощью ИИ.

Группа исследователей из Стэнфордского университета, Genentech и Chan-Zuckerberg Initiative считают, что современные достижения в области ИИ и большие массивы экспериментальных данных о биологии человека открывают беспрецедентные возможности для моделирования живых клеток.

Виртуальная клетка сможет воспроизводить поведение молекул, клеток, а в будущем - тканей и органов человека. Такая модель позволит глубже понять принципы работы здоровых клеток и выявить причины заболеваний. По мнению авторов, успешная виртуальная клетка должна обладать универсальностью, предсказывать функции и поведение клеток, а также позволять проводить эксперименты "in silico" для проверки гипотез.
news.stanford.edu

✔️ Phi-4 - новая блестящая работа Microsoft

✔️ Гарвардский университет и Google выпустят базу данных из 1 млн. книг для обучения ИИ.

База данных включает различные жанры, языки и авторов, включая Диккенса, Данте и Шекспира, которые больше не защищены авторским правом в силу своего возраста. Набор книг создан на основе многолетнего проекта сканирования книг Google Books, и Google будет участвовать в ее распространении.

База данных предназначена для того, чтобы "создать равные условия" доступа к массиву данных всем - от исследовательских лабораторий до стартапов в области ИИ, - кто хочет обучать свои LLM. В настоящее время база данных находится на стадии доработки и в скором времени будет доступна для широкого использования.
institutionaldatainitiative.org

@ai_machinelearning_big_data

#news #ai #ml

C# 1001 notes

13 Dec, 12:14


Ищем опытных .NET-разработчиков в ИТ-команду Т-Банка

Вот что ждет .NET-разработчиков в Т-Банке кроме ДМС и крутых офисов в 23 городах России.

— Актуальный стек. Следим за трендами и быстро внедряем новое.
— Используем принцип test & learn. Проверяем гипотезы и доверяем числам, чтобы запускать продукты лучше и быстрее.
— Гибридный формат работы.
— Прозрачная система роста. Вы всегда будете знать, что подтянуть для повышения.
— Команда профессионалов, у которых можно многому научиться.

Посмотрите вакансии тут

C# 1001 notes

12 Dec, 16:53


⚡️ Курс Unity с нуля Урок 10 Циклы в unity

Видео
Полный курс

@csharp_1001_notes

C# 1001 notes

09 Dec, 08:35


🖥 Эта статья описывает улучшения в поддержке OpenAPI в .NET 9.0!

🌟 В частности, статья объясняет, как улучшена интеграция OpenAPI с веб-приложениями на ASP.NET, что упрощает создание, документирование и тестирование RESTful API. В .NET 9 были добавлены новые возможности для генерации и настройки спецификаций OpenAPI, что делает процесс разработки API более гибким и удобным.

🌟 Статья также затрагивает новые функции, такие как улучшенная поддержка аннотаций и метаданных для автогенерации документации API, а также улучшения производительности и безопасности при работе с OpenAPI.

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

08 Dec, 17:20


🖥 30+ команд Docker, которые вы Должны Знать!

⚡️ Видео

@csharp_1001_notes

C# 1001 notes

04 Dec, 09:40


🖥 Этот фрагмент кода содержит некоторые проблемы, связанные с производительностью. Сможете ли вы понять, в чем дело?

@csharp_1001_notes

C# 1001 notes

04 Dec, 08:37


Подготовили для вас новый полезный вебинар на тему: «Мониторинг работоспособности  ASP.NET Core приложений.»

Что будет?
- Обсудим различные подходы, позволяющие эффективно отслеживать состояние приложения, выявлять проблемы и улучшать производительность.
- Рассмотрим сценарии использования инструментов мониторинга.
- Разберем практические примеры обеспечения надежности и доступности веб-сервисов.

Все это + очень приличная скидка на курс C# ASP.NET Core разработчик при регистрации по ссылке: https://clck.ru/3Ezf9L?erid=LjN8KYa26 

Скидка может быть и не пригодится прямо сейчас, но лучше же чтобы она была, да? 🤔 

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C# 1001 notes

02 Dec, 13:01


🖥 Полезная статья, в которой автор рассказывает, как он смог ускорить работу своего приложения с помощью нескольких методов, таких как кэширование и избежание избыточных вычислений, использование структур вместо классов для небольших типов данных и многое другое!

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

26 Nov, 13:01


🖥 Как сделать Unit-тестирование в .NET проще и интереснее?

🌟 Писать тесты не всегда самое интересное занятие. Если вы не работаете по TDD, то такие проблемы как отсутствие тестов, их малое количество и их устаревшая версия вам знакомы. Но почему так происходит? Давайте разбираться.

🔗 Ссылка на статью: *клик*

C# 1001 notes

23 Nov, 13:00


🖥 introduction-to-sql — введение в SQL бесплатная книга, которая поможет вам освоить основы SQL и начать использовать реляционные базы данных в ваших проектах SysOps, DevOps и другой разработке.

Независимо от того, работаете ли вы инженером DevOps/SysOps, разработчиком или просто увлекаетесь Linux, SQL, скорее всего, понадобится вам на каком-то этапе карьеры.

Это руководство подходит для всех, кто работает разработчиком, системным администратором или инженером DevOps и хочет изучить основы SQL.

GitHub

@sqlhub

C# 1001 notes

22 Nov, 10:10


🖥 Курс: Основы программирования на C#!

🌟 Курс посвящен базовым понятиям программирования: типы данных, операторы, переменные, условия, циклы, массивы и функции. Он является вводным и подойдет слушателям с небольшим опытом или вообще без опыта программирования.

🔗 Ссылка: *клик*

#курс #csharp

@csharp_1001_notes

C# 1001 notes

22 Nov, 09:08


⚡️Всероссийский Хакатон ФИЦ 2024

🚀Попробуйте себя в одном из предложенных кейсов:
1. Семантический делитель текстов: Разработать алгоритм, который сможет обеспечить точное разделение текста на блоки.

2. Контекстный перевод названий научных работ: Разработать переводчик, который будет переводить названия научных работ.

3. Прогнозирование бизнес драйверов: Разработать решение для задачи прогнозирования временных рядов бизнес-драйверов.

4. Система контроля и управления доступом: Разработка системы контроля и управления доступом.

И др. 16 кейсов смотрите на сайте: https://фиц2024.рф/hackathon 

Хакатон пройдет в 2 этапа: Отборочный этап в Онлайн, Финал в Офлайн.

🏆Призовой фонд: 6 000 000 руб.
🔥Дедлайн регистрации: 26 ноября, 23:59
📅Даты отборочного этапа: 29 ноября - 2 декабря
🦾Даты финала: 3 - 4 декабря

Зарегистрируйтесь для участия в хакатоне: https://фиц2024.рф/hackathon

#реклама
О рекламодателе

C# 1001 notes

20 Nov, 10:33


🖥 Понимание Memory<T> в C#!

💡 Современные приложения часто требуют эффективной обработки больших наборов данных без ненужного копирования данных. В C# представлен Memory<T>, как универсальный инструмент для оптимизации управления памятью. В этой статье мы рассмотрим, как Memory<T> решает распространенные проблемы, его преимущества перед традиционными подходами и как он сравнивается с Span<T>!

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

19 Nov, 13:01


🖥 raylib — это легковесная библиотека C для разработки видеоигр, ориентированная на простоту и легкость освоения! Основная цель raylib — предоставить разработчикам удобный инструмент для создания графических игр и приложений без необходимости углубленного изучения OpenGL. Библиотека особенно подходит для обучения графическому программированию и созданию прототипов.

Особенности:

🌟 Написана на чистом C.

🌟 Все зависимости изначально встроены в библиотеку.

🌟 Содержит готовые модули для работы с графикой, аудио, текстом и вводом.

🌟 Подходит как для новичков, так и для профессионалов, благодаря минималистичному API и качественной документации.

🔐 Лицензия: Zlib

🖥 Github

@csharp_1001_notes

C# 1001 notes

16 Nov, 12:01


⚡️ NetEscapades.AspNetCore.SecurityHeaders — полезный пакет, позволяющий добавлять заголовки безопасности для веб-приложений на ASP.NET Core.

👉 Устанавливаем:


👉 Используем:
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp5.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="NetEscapades.AspNetCore.SecurityHeaders" Version="1.0.0-preview.1" />
</ItemGroup>

</Project>


👉 GitHub

@csharp_1001_notes

C# 1001 notes

16 Nov, 10:20


⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
АНАЛИЗ Данных: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

C# 1001 notes

15 Nov, 09:55


🔥 Вышел .NET 9!

Основные улучшения:

⭐️ Оптимизация для облачных приложений: Платформа .NET 9 представила Aspire — новый стек для создания облачных решений. Aspire облегчает разработку распределенных приложений, предлагая улучшенные инструменты и шаблоны для эффективной разработки и мониторинга производительности, в том числе инструменты для работы с логами, метриками и трейсингом.

⭐️ Уменьшение использования памяти: В .NET 9 добавлен новый режим сборщика мусора для серверов (Server GC), который снижает потребление памяти в облачных приложениях, позволяя эффективно обрабатывать нагрузки в контейнерных средах, таких как Kubernetes.

⭐️ Производительность: Добавлены оптимизации, такие как ускоренная обработка исключений (2-4 раза быстрее), улучшения в циклах и сокращение стоимости проверки типов, что также снижает нагрузку и увеличивает производительность.

⭐️ Обновления для ASP.NET Core и Blazor: Расширена поддержка server-sent events, улучшена трассировка SignalR и добавлены улучшения в поддержку OpenAPI, что делает интеграцию API проще и надежнее.

⭐️ Контейнеризация и кросс-платформенная работа: Улучшены контейнерные образы для Linux, позволяющие значительно уменьшить размер образов, что ускоряет развертывание. Поддержка ARM64 также была расширена.

🔗 Подробнее: *клик*

@csharp_1001_notes

C# 1001 notes

09 Nov, 12:15


🌎 Unity с нуля Урок 6 Создаем земную поверхность terrain

Видео
Полный курс

@csharp_1001_notes

C# 1001 notes

09 Nov, 11:13


Начинай писать код как профессионал уже! Приходи на открытый урок по поведенческим паттернам проектирования в C#! 🔥
 
Ты узнаешь фишки для создания гибкого, поддерживаемого и эффективного кода!
 
В чем ценность этого урока:
1️⃣Самые актуальные поведенческие паттерны в C# за 60 минут. 
2️⃣ Научишься эффективной их реализации, используя особенности языка. 
3️⃣ Сможешь  применять полученные знания на практике, улучшая архитектуру своих проектов на изи. 

Будет очень полезно, чтобы: Освоить  ключевые принципы проектирования программного обеспечения.  Повысить свой уровень владения C#.  Получить ответы на все интересующие вопросы от эксперта. 

Места теперь ограничены! 😱 Регистрируйся прямо сейчас! ➡️ https://clck.ru/3ET5Y5?erid=LjN8KA5Mt 

P.S.  Зарегистрируйся до 11.12.2024 и получи бонус - Нестандартные возможности LINQ, которые используют профессионалы!

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

C# 1001 notes

08 Nov, 08:54


🖥 Эта статья описывает методы повышения продуктивности при создании CRUD API в .NET!

🌟 Автор делится практическими советами, такими как использование шаблонов кода и автоматизация рутинных задач, чтобы ускорить разработку и упростить поддержку кода. Применение этих подходов позволяет сократить объем ручного кода и повысить читаемость.

🔗 Ссылка: *клик*

@csharp_ci

C# 1001 notes

06 Nov, 10:01


🖥 Изучение кортежей в C# как альтернативы анонимным типам!

🌟 Узнайте, как использовать кортежи в C# для группировки элементов, возврата нескольких значений и улучшения читаемости кода. Изучите примеры, ключевые отличия от анонимных типов и практические задания на легком, среднем и сложном уровнях!

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

06 Nov, 08:01


ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀

Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!

👉 Стартуем 11 ноября.

Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.

Ты научишься:
Разбивать приложение на слои в соответствии с Clean Architecture
Формировать Domain Model и применять тактические паттерны DDD
Реализовывать Use Case как Command/Query
Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
Писать 3 вида тестов для разных слоев приложения

Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqvdy4F7&utm_campaign=2

А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.

А еще:
Проверим все домашки
Поддержим в чате
Проведем живые разборы
Ответим на все вопросы

📕 Сертификат об участии по итогам прохождения курса.

🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqvdy4F7&utm_campaign=2

Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqvdy4F7

C# 1001 notes

05 Nov, 12:00


🖥 Эта статья рассматривает использование паттерна Result для обработки ошибок в .NET!

💡 Автор объясняет недостатки традиционного подхода с использованием исключений, отмечая его сложность и неявность. Паттерн Result позволяет более функционально и явно управлять ошибками, что улучшает читаемость кода и тестируемость. В статье приводится пример кода, а также создаются классы Result и Error для документирования ошибок, что делает возможные ошибки явными для разработчиков.

🔗 Ссылка: *клик*

@csharp_ci

C# 1001 notes

29 Oct, 18:41


🖥 Эта статья рассказывает о продвинутых методах присваивания значений в кортежах в языке C#. В частности, рассматриваются паттерны распаковки кортежей с использованием деконструкции для более удобного доступа к элементам, а также способы работы с кортежами для создания удобочитаемого и безопасного кода

🔗 Ссылка: *клик*

@csharp_1001_notes

C# 1001 notes

27 Oct, 10:05


⚡️ Уроки Unity с нуля.Урок 3: Работа с инструментами unity

Видео
Урок 2
Урок 1
Полный курс C# 2024

@csharp_1001_notes

C# 1001 notes

24 Oct, 13:54


⚡️ Уроки Unity с нуля. Урок 2 Знакомство с интерфейсом

▪️Урок2
▪️Урок1
▪️Полный курс

@csharp_1001_notes

C# 1001 notes

23 Oct, 09:33


🖥 Wexflow — это мощная платформа для автоматизации рабочих процессов с открытым исходным кодом. Она позволяет автоматизировать задачи, такие как обработка файлов, отправка уведомлений, резервное копирование, интеграция с различными API и многое другое

🌟 Wexflow обладает рядом функций, включая интеграцию с базами данных и облачными сервисами, поддержку различных форматов данных и протоколов, а также собственным приложением для Android!

🔐 Лицензия: MIT

🖥 Github

@csharp_1001_notes

C# 1001 notes

22 Oct, 17:06


🖥 Проверка пагинации в .NET: с Entity Framework и без него

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

🔗 Читать: *клик*

@csharp_1001_notes

C# 1001 notes

18 Oct, 12:34


🖥 Новый способ создания блокировок в .NET 9: Lock(). Это упрощает код и избавляет от необходимости вручную управлять блокировками в finally

@csharp_1001_notes

C# 1001 notes

18 Oct, 09:42


Всем привет!
Наша международная продуктовая компания в сфере IoT ищет опытного C# разработчика для работы над проектом по созданию 3D digital twins для промышленных компаний. Мы разрабатываем передовые платформы для управления и мониторинга сетей, интегрирующие сбор данных в реальном времени, автоматизацию и аналитику. Работа полностью удалённая (не из РФ и РБ).

🛠 Стек: C#, .NET Core, REST API, WebSockets, MongoDB, SNMP
💼 Зарплата: $7000-9000
👥 Команда: небольшая и плоская, опытные разработчики со стажем 10+ лет.

Требуется опыт глубокой работы с протоколом SNMP и кроссплатформенной разработкой (Windows, Linux).

Пока на практике, нам встречаются либо опытные C# разработчики без опыта SNMP, либо сильные специалисты со знанием SNMP, но с другим стэком технологий (обычно С++, Java).
Если вы имеете глубокие знания и обширный опыт с C# и SNMP - будем очень рады познакомиться и пообщаться. Если вы знаете таких специалистов - будем признательны за рекомендацию, готовы обсудить бонус в случае найма такого специалиста к нам в команду

Если интересно — пишите в личные сообщения @dariapeopleverywhere!

C# 1001 notes

17 Oct, 09:25


🖥 Создание GraphQL-клиента на .NET с использованием Rider и StrawberryShake может оказаться сложной задачей без хорошего руководства.

Этот материал будет полезен тем, кто испытывает трудности с определением схем, написанием запросов и интеграцией GraphQL в приложения на .NET.

Далее мы рассмотрим поэтапный процесс настройки среды разработки, определения схем, генерации клиентского кода и интеграции всех компонентов в проект.

Для начала следует ознакомиться с плагином GraphQL в Rider и фреймворком StrawberryShake.

атем следуйте шагам по настройке, описанным ниже.

📌 Подробнее

@csharp_1001_notes

C# 1001 notes

14 Oct, 08:50


openai-dotnet — библиотека, которая предоставляет .NET SDK для работы с OpenAI API. Она позволяет разработчикам легко интегрировать модели OpenAI в приложения, написанные на языке C# и других языках платформы .NET

🌟 Библиотека поддерживает взаимодействие с различными возможностями OpenAI, такими как GPT и другие инструменты, предлагаемые через их API

🔐 Лицензия: MIT

▪️Github

@csharp_1001_notes

C# 1001 notes

12 Oct, 09:42


🖥 Включение функций без повторного развёртывания приложения

❗️ Используйте Feature Flags!

💡 Флаги функций в .NET позволяют динамически включать или отключать определённые функциональные возможности приложения во время выполнения, что упрощает управление поведением системы без необходимости развёртывания новой версии.

🔍 Основные концепции:

🌟 Флаги функций: Переключатели, управляющие включением или отключением определённых функций

🌟 Управление флагами: В .NET 8 появился встроенный API для управления флагами

🌟 Постепенный запуск: Позволяет запускать новые функции для ограниченного числа пользователей, а затем включать для всех

🌟 Источники конфигурации: Флаги можно настраивать через appsettings.json, Azure App Configuration или внешние сервисы

🌟 Фильтры функций: Условия для активации флагов (например, на основе ролей пользователей или окружения)


💡 Пример: Вы можете включить новую функцию только для 10% пользователей и анализировать, как они реагируют на изменения, прежде чем развернуть её глобально

@csharp_1001_notes

C# 1001 notes

10 Oct, 15:32


🖥 UUID (Guid в C#) широко используются в качестве уникальных идентификаторов в базах данных. UUID являются случайными, что делает их популярными в распределенных системах

❗️ Однако у UUID есть некоторые недостатки:

🌟 UUID замедляют вставки в базу данных. Каждая вставка должна обновлять кластеризованный индекс, дерево B+. Поскольку UUID являются случайными, это дорогостоящая операция, так как она требует повторной балансировки дерева. Фрагментация индекса также высока (это плохо)

🌟 Более высокие затраты на хранение. Длина UUID составляет 128 бит, а если хранить его в виде строки в удобном для чтения формате, то он становится еще больше

💡 Эти недостатки можно исправить с ULID. Он также 128-битный, поэтому совместим с UUID. Однако, в отличие от UUID, ULID можно сортировать. Первые 40 бит ULID представляют собой временную метку, что делает ULID монотонно увеличивающимися.

🌟 Существует пакет .NET, реализующий спецификацию ULID, поэтому вы можете начать использовать его немедленно!

@csharp_ci

C# 1001 notes

09 Oct, 10:11


🖥 А вы знали, что INumber<T> — это встроенный способ ограничить дженерики только числовыми типами?

🌟 Этот способ появился довольно давно, начиная с dotnet 7!

@csharp_1001_notes

C# 1001 notes

04 Oct, 10:10


🖥 Serilog — Это библиотека для структурированного логирования, которая позволяет гибко настраивать вывод логов в разных форматах (текст, JSON и др.). Serilog поддерживает множество синков (каналов для записи логов), таких как консоль, файлы, базы данных и различные облачные сервисы. Библиотека упрощает мониторинг и отладку приложений, позволяя анализировать лог-файлы для выявления ошибок и потенциальных проблем

🌟 Если вам нужно легкое и настраиваемое логирование в .NET проектах, Serilog будет отличным выбором

🔐 Лицензия: Apache 2.0

▪️Github

@csharp_1001_notes

C# 1001 notes

03 Oct, 11:02


🖥 Малоизвестная функция C#: Caller Information

❗️ Функциональность Caller Information позволяет передавать в метод информацию о вызывающем его коде, например:

- Имя файла
- Номер строки в файле
- Имя вызывающего метода

🌟 Эта особенность может быть крайне полезной для логирования, отладки и тестирования кода. Хотя она существует с версии C# 5.0, о ней часто забывают.

Как это работает?

💡 Для получения информации о вызывающем методе используются специальные атрибуты:

🌟 [CallerFilePath] — возвращает полный путь к исходному файлу, в котором был вызван метод.
🌟 [CallerLineNumber] — возвращает номер строки в файле, где был вызван метод.
🌟 [CallerMemberName] — возвращает имя метода или свойства, из которого был вызван метод.

🔍 Пример использования

Предположим, у нас есть метод Log, который записывает сообщение в консоль вместе с информацией о вызове:


using System;
using System.Runtime.CompilerServices;

class Program
{
static void Main()
{
TestMethod();
}

static void TestMethod()
{
Log("Это тестовое сообщение");
}

static void Log(string message,
[CallerFilePath] string filePath = "",
[CallerLineNumber] int lineNumber = 0,
[CallerMemberName] string memberName = "")
{
Console.WriteLine($"Сообщение: {message}");
Console.WriteLine($"Файл: {filePath}");
Console.WriteLine($"Метод: {memberName}");
Console.WriteLine($"Строка: {lineNumber}");
}
}


🔍 Вывод:


Файл: C:\Users\...\Program.cs
Метод: TestMethod
Строка: 11


💡 Применение:

🌟 Логирование — автоматическое добавление контекста при записи логов.
🌟 Отладка — упрощение поиска ошибок, так как можно сразу определить файл, метод и строку.
🌟 Анализ производительности — отслеживание производительности конкретных методов.
🌟 Асинхронные вызовы — идентификация методов в асинхронных цепочках вызовов.

@csharp_1001_notes

C# 1001 notes

26 Sep, 13:22


Обновление в .NET Smart Components

.NET Smart Components теперь доступны на GitHub! Эти AI-ориентированные компоненты облегчают интеграцию умных функций в ваши приложения. Ознакомьтесь с кодом, документацией и примерами, чтобы начать использовать AI в своих проектах, и делитесь своими идеями на GitHub.

Подробности: https://devblogs.microsoft.com/dotnet/join-the-dotnet-smart-components-ecosystem/

#en

C# 1001 notes

25 Sep, 12:05


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

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

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

@csharp_1001_notes

C# 1001 notes

20 Sep, 09:50


Awesome-Avalonia PRs Welcome

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

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

GitHub

C# 1001 notes

19 Sep, 09:38


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

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

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

#почитать

C# 1001 notes

17 Sep, 14:04


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

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

👉 Читать