C# 1001 notes
رفتن به کانال در Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
نمایش بیشتر6 615
مشترکین
+924 ساعت
+667 روز
+5630 روز
آرشیو پست ها
6 615
IT-команда ведущего e-com страны, Ozon Tech, приглашает на свою первую конференцию.
E-CODE: 28 – 29 сентября в Loft Hall (Москва) и онлайн⏰
📌 Регистрация открыта
В программе:
- 50+ часов контента для IT-специалистов уровня middle и выше
- Неформальное общение и консультации 1х1, интерактивы и подарки, караоке и концерты
Успейте занять свое место там, где everything as code.
6 615
⚡️ Создаём реальное чат-приложение на SignalR в .NET и React
Статья подробно описывает процесс создания реального чат-приложения с использованием SignalR в .NET и React. Разбираются этапы настройки бэкенда с помощью ASP.NET Core и фронтенда с использованием React, а также взаимодействие между ними для обеспечения реального времени в чате.
https://blog.ghanshyamdigital.com/building-a-real-time-chat-app-with-signalr-in-net-and-react
@csharp_1001_notes
6 615
🖥 RethinkDB — база данных, ориентированная на работу в реальном времени. Она поддерживает хранение данных в формате JSON любой структуры (NoSQL) и позволяет "слушать" стримы данных.
Упрощает создание:
▪приложений для совместного редактирования документов (например, Google Docs, Trello),
мультиплеерных игр (например, для мгновенного ▪оповещения игроков о действиях других),
маркетплейсов (биржи, ставки),
▪дешбордов с данными в реальном времени,
▪систем для общения между IoT-устройствами: обмен сообщениями, сигнализация, запуск действий через прослушивание одного источника.
https://github.com/rethinkdb/rethinkdb
@csharp_1001_notes
6 615
⚡️ Новый SDK Pinecone для .NET: Расширяйте свои возможности в AI!
Экосистема AI в .NET постоянно растет, и команда платформы не собирается останавливаться.
Этот новый инструмент представляет собой векторную базу данных, разработанную для эффективной обработки и запроса больших векторных данных. Под катом — краткий обзор его возможностей.
📍 Читать
@csharp_1001_notes
6 615
Вы разработчик на C#? Приходите на вебинар: Основы асинхронности в C#.
Рассмотрим:
1️⃣ ключевые концепции и принципы асинхронного программирования;
2️⃣ Async и Await подробно: их использование и влияние на код;
3️⃣ советы и рекомендации по оптимизации и улучшению асинхронного кода.
Узнайте как эффективно использовать асинхронность в C# для улучшения производительности приложений.
А что даст вам этот курс «C# Developer. Professional»?
✅ Навыки, которые вы освоите, позволят претендовать на позиции уровня начинающего Senior / крепкого Middle.
✅ Вы сможете разрабатывать на C# сложные клиент-серверные приложения
✅ Поработаете с SQL и NoSQL базами данных, кэшированием, Unit-тестами, CI/CD и другими сложными и полезными инструментами. И многое другое - читайте на странице курса!
Регистрируйтесь и познакомьтесь с преподавателем: https://otus.pw/z4Ng/?erid=LjN8KZC5m
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 615
🖥 Почему стоит избегать throw ex в C#/.NET
Исключения играют важную роль в C#/.NET приложениях, помогая поддерживать их стабильность. Важно использовать
throw; вместо throw ex; в блоках catch, чтобы сохранить исходный стек вызовов и упростить отладку. Использование throw ex; сбрасывает стек, усложняя устранение ошибок.
Подробности: https://nilebits.hashnode.dev/c-net-exception-handling-why-you-should-avoid-using-throw-ex-in-catch-blocks
#en6 615
🔥 Выпуск .NET Aspire 8.2!
Команда .NET Aspire выпустила новую версию 8.2, которая улучшает процесс внедрения и тестирования.
Главное изменение — Components теперь называются Integrations, что упрощает работу с облачными сервисами.
Подробности: https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-8-2/
@csharp_1001_notes
6 615
🖥Наглядный пример использования оператора explicit в C#
В .NET у нас есть множество способов сопоставлять объекты друг с другом. Выше — пример использования оператора
explicit для этих целей.
⚡️ Подробнее
@csharp_1001_notes6 615
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 2 сентября.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Ты научишься:
✅ Разбивать приложение на слои в соответствии с Clean Architecture
✅ Формировать Domain Model и применять тактические паттерны DDD
✅ Реализовывать Use Case как Command/Query
✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
✅ Писать 3 вида тестов для разных слоев приложения
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqvTdZyf&utm_campaign=2
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
✅ Проверим все домашки
✅ Поддержим в чате
✅ Проведем живые разборы
✅ Ответим на все вопросы
📕 Сертификат об участии по итогам прохождения курса.
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2VtzqvTdZyf&utm_campaign=2
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqvTdZyf
6 615
⚡️ .NES ("dot" NES)
Интересная библиотека предназначенная для разработки под NES (Nintendo Entertainment System).
Инструмент позволяет разработчикам создавать игры для NES с использованием C# и других технологий #NET, предоставляя инструменты и ресурсы для упрощения процесса разработки игр для этой классической игровой платформы.
dotnet new install dotnes.templates
▪ Github
@csharp_1001_notes6 615
🔥 UUID v7 в .NET 9
.NET изначально поддерживает UUID v4 через
Guid.NewGuid().
При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.
📌 UUID v7
Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:
var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);
Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.
Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.
📌 Контроль метки времени
Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:
var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());
timeProvider может быть получен через DI контейнер и подделан в тестовых сценариях.
#csharp #dotnet #code
Источник
@csharp_1001_notes6 615
🎯 Получи всестороннее представление о типах данных в C#, их назначении, видах типизации и влиянии на работу кода!
21 августа в 20:00 присоединяйся к открытому уроку на эту тему. Обсудим концепцию типов данных, рассмотрим различные виды типизации и выявим, какие эффекты они могут оказать на твою работу.
✅ Откроем еще 23 (!) урока на странице курса C# Developer – оставляй заявку сейчас: https://clck.ru/3CVXxw?erid=LjN8KKRBg
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 615
⚡️ .NET Backend Developer Roadmap: 12 главных разделов
Роадмэпы по .NET/C#/ASP.NET/Game Dev вы найдете с помощью хештега #roadmap
📌 Источник
@csharp_1001_notes
6 615
Готовы прокачаться в С#? Делегаты и их применение в .NET — тема, которую вряд ли можно освоить самостоятельно.😬
Делегаты в C# обеспечивают гибкость и мощь функционального программирования, позволяя эффективно работать с событиями, коллекциями и асинхронными операциями.
✅Рассмотрим:
- делегаты — их синтаксис, арифметику и возможности использования;
- обобщенные делегаты Predicate, Action, Func;
- тип event, являющийся частным видом делегата и описывающий события.
Спикер Павел Нилов — опытный Fullstack-разработчик на стеке C#(.NET) и Javascript (React).
Встречаемся 28 августа в 20:00 мск в преддверии старта курса «C# Developer. Professional». Запишем на урок после тестирования, а еще откроем 54 видео урока! https://clck.ru/3CUSuY?erid=LjN8K99Yu
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 615
🖥Пример использования оператора explicit в C#
В .NET есть множество способов сопоставлять объекты друг с другом.
На картинке — пример использования оператора
explicit для этих целей.
📌 Подробнее
@csharp_1001_notes6 615
+1
🖥 PowerShell Pro Tools
Полезные инструменты, которые упростят написание скриптов, автоматизацию и разработку для тех, кто работает с PowerShell. Установите с помощью следующей команды или как расширение в VS/VS Code.
Install-Module -Name PowerShellProTools
📌GitHub
@csharp_1001_notes6 615
Готовы узнать, как настроить мониторинг RabbitMQ с помощью Telegraf, InfluxDB и Grafana?
🚀Ждем вас на открытом вебинаре 13 августа в 20:00 мск, где вы разберете:
- как настроить Telegraf для сбора метрик RabbitMQ;
- конфигурацию InfluxDB для хранения и обработки метрик;
- создание и настройку дашбордов в Grafana для мониторинга RabbitMQ;
- персонализацию дашбордов для отображения нужной информации;
- практическое руководство по работе с Grafana для визуализации данных.
👨💻 Урок будет полезен backend- и fullstack-разработчикам, DevOps-инженерам, архитекторам ПО и специалистам по мониторингу и анализу данных.
Спикер — эксперт по тестированию, работает в компании-разработчике инструмента нагрузочного тестирования, один из администраторов крупнейшего канала нагрузочных тестировщиков.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/ZiOQ/?erid=LjN8KLo67
6 615
🖥 Полная шпаргалка по C# и краткий справочник по языку с простыми примерами.
📌 Шпаргалка
@csharp_1001_notes
6 615
Хочешь улучшить навыки решения проблем и писать эффективный код? 7 августа в 20:00 мск ждем тебя на открытом вебинаре по анализу сложности алгоритмов и сортировке!
💯Знание сложности алгоритмов и сортировки позволяет писать эффективный код и улучшает навыки решения проблем. Мы рассмотрим ключевые концепции, такие как нотация Big O, сложность времени и использованной памяти, а также их влияние на производительность.
Кроме того, мы рассмотрим различные алгоритмы сортировки, включая сортировку пузырьком, сортировку слиянием и быструю сортировку, подчеркнув их сильные и слабые стороны.
😎После урока ты будешь уверенно анализировать и оптимизировать алгоритмы, делая свой код более эффективным. Запишись сейчас: https://clck.ru/3CEFRn
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 615
🖥 RavenDB — ACID NoSQL документоориентированная БД
dotnet new console
dotnet add package RavenDB.Client --version 6.0.0-*
# изменить Program.cs
dotnet restore && dotnet build && dotnet run
Вообще, RavenDB — довольно известная NoSQL БД;
если кто не пробовал — возможно именно RavenDB поможет в вашем кейсе.
Особенности RavenDB:
— Простота развертывания. Можно использовать как встроенное в проект решение, так Windows service и консольное приложение.
— Простота перехода на новую версию. Просто нужно остановить Raven и закинуть новый билд в рабочую папку сервера. В проекте все обходится обновлением NuGet пакета.
— Расширяемость. Есть множество возможностей по встраиванию своего функционала на стороне сервера. Можно кастомизировать всё, начиная от триггеров на изменение данных и индексов до создания своих расширений, позволяющих обогатить API сервера.
🖥 GitHub
🟡 Доки
@csharp_1001_notes