C# 1001 notes
Open in Telegram
Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp
Show more6 538
Subscribers
-224 hours
-57 days
-330 days
Posts Archive
6 538
Готовитесь к поступлению в универ? Олимпиады помогут попасть в вуз мечты!
Чтобы оказаться в топовом универе и учиться на интересной программе, надо заранее подготовиться к поступлению. Например, посмотреть, в каких олимпиадах можно принять участие.
Многие ведущие вузы проводят свои олимпиады. Если вы хотите учиться на IT-специальности, можно обратить внимание на профиль «Промышленное программирование» в «Высшей пробе». Задания составляла команда Яндекса, а потому они максимально приближены к тому, что делают реальные программисты. Чем поможет эта олимпиада? Если вы станете призёром или победителем, то получите преимущество при поступлении в лучшие университеты страны! 🎓🚀
Принять участие может любой учащийся 9–11-х классов! Базовых знаний информатики будет достаточно. Отборочный этап пройдёт онлайн, а тех, кто успешно справится с первой частью, пригласят на очный заключительный этап.
Регистрируйтесь на «Высшую пробу» до 14:00 мск 5 ноября — повысьте свои шансы на поступление в вуз мечты!
6 538
🖥 Малоизвестная функция 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_notes6 538
ХОЧЕШЬ ПОВЫСИТЬ ГРЕЙД В 2024 ГОДУ? 🚀
Чтобы стать Senior C# разработчиком сегодня, нужно не только знать язык программирования и фреймворки. Нужно уметь строить гибкую архитектуру приложения, которую легко тестировать и менять под задачи бизнеса. Стань экспертом в построении гибкой архитектуры приложения!
👉 Стартуем 7 октября.
Курс ведет действующий архитектор и Principal Engineer Кирилл Ветчинкин.
Ты научишься:
✅ Разбивать приложение на слои в соответствии с Clean Architecture
✅ Формировать Domain Model и применять тактические паттерны DDD
✅ Реализовывать Use Case как Command/Query
✅ Делать синхронные и асинхронные интеграции, не загрязняя ядро приложения
✅ Писать 3 вида тестов для разных слоев приложения
Полная программа ТУТ 👉 https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqw9UVi9&utm_campaign=4
А главное — ты с нуля разработаешь и запустишь микросервис, который максимально приближен к реальности "Диспетчеризация заказов на курьеров". Это будет крутым проектом в портфолио или основой для рабочих задач.
А еще:
✅ Проверим все домашки
✅ Поддержим в чате
✅ Проведем живые разборы
✅ Ответим на все вопросы
📕 Сертификат об участии по итогам прохождения курса.
🔥 Не откладывай свой рост на потом: https://microarch.ru/courses/ddd?utm_source=posev&utm_medium=erid:2Vtzqw9UVi9&utm_campaign=4
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2Vtzqw9UVi9
6 538
Обновление в .NET Smart Components
.NET Smart Components теперь доступны на GitHub! Эти AI-ориентированные компоненты облегчают интеграцию умных функций в ваши приложения. Ознакомьтесь с кодом, документацией и примерами, чтобы начать использовать AI в своих проектах, и делитесь своими идеями на GitHub.
Подробности: https://devblogs.microsoft.com/dotnet/join-the-dotnet-smart-components-ecosystem/
#en
6 538
🕘 Последние дни регистрации на хакатон «Код Согласия» — масштабное соревнование для опытных и начинающих ИТ-специалистов. Реши
реальную бизнес-задачу и поборись за призовой фонд в 1 000 000 рублей!
❗️ Регистрация открыта до 27 сентября: https://cnrlink.com/soglasiecodecsharpnotes
Приглашаем frontend и backend-разработчиков, аналитиков, менеджеров по продукту, дизайнеров, тестировщиков, студентов и выпускников технических вузов.
🚀 На выбор участников хакатона — одна из задач, основанных на реальных бизнес-кейсах СК «Согласие»:
1️⃣ Web-сервис для проверки гипотез: разработайте инструмент для быстрого создания и тестирования новых страховых продуктов. Стек технологий — не ограничен.
2️⃣Сервис для ведения проектов: разработайте систему для централизованного хранения, удобного отображения и мониторинга крупных проектов внутри компании. Допустимые стеки в данной задаче: Vue JS, PHP, C#.
Ключевые этапы хакатона «Код Согласия»:
🔹 до 27 сентября — окончание регистрации
🔹 28 сентября — старт хакатона
🔹 30 сентября, 3 октября, 5 октября — чек-поинты с экспертами
🔹 6 октября — оглашение победителей
Успей зарегистрироваться на хакатон «Код Согласия»: https://cnrlink.com/soglasiecodecsharpnotes
Реклама. ООО "СК "СОГЛАСИЕ". ИНН 7706196090.erid: LjN8KMV3b
6 538
⚡️ Сможет ли Blazor превзойти React/Angular?
Очень интересное обсуждение на Reddit от новичка в .NET-разработке. Комментаторы считают, что Blazor учить легче, но в то же время он не развивается так быстро как популярные JavaScript-фреймворки.
Делитесь своими мыслями в комментариях
@csharp_1001_notes
6 538
Вот что ждет в Т-Банке .NET-разработчиков, кроме ДМС, крутых офисов и других плюшек:
— Актуальный стек. Здесь следят за трендами и быстро внедряют новое.
— Общение на «ты». Так проще.
— Прозрачная система роста. Вы всегда будете знать, какие навыки нужно подтянуть и как получить повышение.
— Вы окажетесь среди профессионалов, у которых можно многому научиться. А если захотите — можете стать ментором для младших коллег.
Больше о вакансиях .NET-разработчиков — здесь
Erid: 2VtzqviCguE
6 538
+3
✔ Awesome-Avalonia PRs Welcome
Коллекция полезных библиотек и инструментов для проекта Avalonia включает в себя множество полезных ресурсов.
Если вы работаете с кроссплатформенным XAML-фреймворком для экосистемы .NET, то репозиторий awesome-avalonia заслуживает вашего внимания. Он содержит множество полезной информации и будет отличным дополнением к вашим закладкам.
▪ GitHub
6 538
⚡Как стать гуру в разработке корпоративных приложений, вебсистем и игр в экосистеме microsoft и сэкономить на обучении?
✅Выберите комбинацию из трех курсов.
✅Для этой цели идеально подойдут: C# + NET + JavaScript
✅Подключайтесь к изучению, используя подписку от OTUS
Такой формат позволяет сэкономить и использовать при этом все преимущества образовательной платформы.
👌Давайте сравним:
При покупке этих 3 курсов отдельно стоимость составит 329000 руб.
При покупке этих же 3 курсов по подписке OTUS, стоимость составит всего 160000 руб!
Подписка действует 6 месяцев. За полгода вы успеете полностью пройти 3 курса и начать новые
👉Узнайте больше/ https://otus.pw/05ND/?erid=LjN8K5fHD
6 538
💁💁 LXC vs. Docker: что использовать?
В современных условиях разработки программного обеспечения технология контейнеризации стала ключевым инструментом для разработчиков, стремящихся повысить эффективность и обеспечить согласованность в различных средах. Среди различных контейнерных технологий, доступных сегодня, контейнеры Linux (LXC) и Docker являются двумя наиболее популярными вариантами.
В статье рассматриваются виртуальные среды LXC и Docker и их функциональные возможности.
Продолжение тут
#почитать
6 538
Вебинар «Обработка исключений в C#»: Спотыкайтесь, но оставайтесь на ногах!
👀На вебинаре вы:
- Разберётесь с основами класса System.Exception и его производными
- Научитесь применять ключевые конструкции для перехвата исключений- Откроете для себя лучшие практики обработки ошибок, которые используют профи
😎Что вас ждёт:
- Узнаете, какие типы исключений существуют в C# и научитесь создавать свои
- Поймёте, когда и почему возникают ошибки, и как их избежать
- И самое важное – узнаете, каких ошибок стоит бояться, а какие можно спокойно игнорировать
💯Открытый урок просто идеально подходит для новичков на C#!Регистрируйтесь сейчас: https://clck.ru/3DH4cY?erid=LjN8KAhML
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
6 538
🏬 Разработка масштабируемого веб-API для приложения e-commerce с использованием .NET и MongoDB: пошаговый гайд
Гайд проведет вас через ключевые компоненты и принципы проектирования чистой архитектуры .NET, интеграцию MongoDB и различные функции и возможности приложения электронной коммерции.
👉 Читать
6 538
IT-команда ведущего e-com страны, Ozon Tech, приглашает на свою первую конференцию.
E-CODE: 28 – 29 сентября в Loft Hall (Москва) и онлайн⏰
📌 Регистрация открыта
В программе:
- 50+ часов контента для IT-специалистов уровня middle и выше
- Неформальное общение и консультации 1х1, интерактивы и подарки, караоке и концерты
Успейте занять свое место там, где everything as code.
6 538
⚡️ Создаём реальное чат-приложение на 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 538
🖥 RethinkDB — база данных, ориентированная на работу в реальном времени. Она поддерживает хранение данных в формате JSON любой структуры (NoSQL) и позволяет "слушать" стримы данных.
Упрощает создание:
▪приложений для совместного редактирования документов (например, Google Docs, Trello),
мультиплеерных игр (например, для мгновенного ▪оповещения игроков о действиях других),
маркетплейсов (биржи, ставки),
▪дешбордов с данными в реальном времени,
▪систем для общения между IoT-устройствами: обмен сообщениями, сигнализация, запуск действий через прослушивание одного источника.
https://github.com/rethinkdb/rethinkdb
@csharp_1001_notes
6 538
⚡️ Новый SDK Pinecone для .NET: Расширяйте свои возможности в AI!
Экосистема AI в .NET постоянно растет, и команда платформы не собирается останавливаться.
Этот новый инструмент представляет собой векторную базу данных, разработанную для эффективной обработки и запроса больших векторных данных. Под катом — краткий обзор его возможностей.
📍 Читать
@csharp_1001_notes
6 538
Вы разработчик на 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 538
🖥 Почему стоит избегать 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 538
🔥 Выпуск .NET Aspire 8.2!
Команда .NET Aspire выпустила новую версию 8.2, которая улучшает процесс внедрения и тестирования.
Главное изменение — Components теперь называются Integrations, что упрощает работу с облачными сервисами.
Подробности: https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-8-2/
@csharp_1001_notes
6 538
🖥Наглядный пример использования оператора explicit в C#
В .NET у нас есть множество способов сопоставлять объекты друг с другом. Выше — пример использования оператора
explicit для этих целей.
⚡️ Подробнее
@csharp_1001_notes
Available now! Telegram Research 2025 — the year's key insights 
