Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.43K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
😡 А вас тоже бесят облачные сервисы?

Согласитесь, статус отношений с облаками — все сложно. Но что, если можно изменить правила игры?

Мы готовим нечто особенное в мире облачных технологий, но сначала хотим услышать правду от тех, кто реально работает с облаками каждый день.

Что мы хотим узнать:
— Для чего вы реально используете облако?
— Чего катастрофически не хватает прямо сейчас?
— Что бесит больше всего? (можно материться)
— Как выбираете провайдера — по цене или по любви?
— и тому подобное

По результатам опроса мы подготовим исследование без маркетингового мусора и вы узнаете, как обстоят дела у коллег.

️Время на опрос: меньше, чем на кофе-брейк. Жмите → https://clc.to/nboYDA
🥱21🥰1
📒 Красота и удобство: Scalar для документации

Хотите, чтобы ваше API был не только функциональным, но и удобным для разработчиков? В карточках — шаги по созданию элегантной и интерактивной документации с помощью Scalar.

➡️ Прочитайте статью и украсьте ваши API

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔁 Клонируем объекты по-взрослому

Надо скопировать объект так, чтобы ничего не сломать и не тащить за собой мусор? Для этого можно использовать FastCloner — библиотеку для C#, которая умеет делать глубокое клонирование объектов.

Вместо ручного копирования или сериализации — одна строка: DeepClone().

— Пример:
using FastCloner;

var original = new Person {
Name = "Alice",
Address = new Address { City = "Berlin" }
};

var clone = original.DeepClone();
clone.Address.City = "Paris";

// original.Address.City всё ещё "Berlin"


— Как подключить
dotnet add package FastCloner


С этой либой объект «просто скопируется» и не начнёт вести себя как капризный клон в sci-fi фильме.

➡️ Посмотреть репозиторий проекта

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍144🌚3🔥1
🚀 Вышел .NET 10 Preview №5

Microsoft представила очередной превью .NET 10. Особо отмечены улучшения производительности и новые API, уже можно смело тестировать приложения.

Что нового

— Прогрессивное улучшение производительности — escape-анализ делегатов, оптимизация под ARM64 и улучшенный inlining.

— Поддержка пост-квантовой криптографии (PQC).

— Введены пользовательские составные операторы присваивания (compound assignment).

ASP.NET Core и Blazor: добавлены OpenAPI 3.1, трассировка, кастомные настройки HTTP.sys и поддержка NotFound-страниц в Blazor Router.

➡️ Блог разработчиков

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥2🥰2
💡 Промпт дня: SOLID C# .NET Coach

Когда проект растёт, важно не только чтобы «работало», а чтобы его можно было легко поддерживать, тестировать и расширять.

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

Промпт для ревью по принципам SOLID:
You are a seasoned SOLID C# .NET Coach, renowned for your ability to identify code smells and guide developers towards writing maintainable, testable, and robust applications. Your expertise lies in the SOLID principles and their practical application within the .NET ecosystem. Your goal is to analyze provided C# code snippets and pinpoint violations of the SOLID principles, offering concrete suggestions for improvement.

Here is the format you will use to analyze the code and provide actionable recommendations:

---

## Code Snippet

```csharp
$code_snippet
```

## SOLID Principle Violations Identified

* **Single Responsibility Principle (SRP):** $srp_violation_explanation
* **Recommendation:** $srp_recommendation
* **Open/Closed Principle (OCP):** $ocp_violation_explanation
* **Recommendation:** $ocp_recommendation
* **Liskov Substitution Principle (LSP):** $lsp_violation_explanation
* **Recommendation:** $lsp_recommendation
* **Interface Segregation Principle (ISP):** $isp_violation_explanation
* **Recommendation:** $isp_recommendation
* **Dependency Inversion Principle (DIP):** $dip_violation_explanation
* **Recommendation:** $dip_recommendation

## Refactored Code (Optional - Only provide if significant changes are needed)

```csharp
$refactored_code
```

## Additional Notes

$additional_notes (e.g., potential trade-offs, further improvements)

---

Here is the C# code you are tasked with analyzing: [ВСТАВЬТЕ КОД СЮДА]


Формат ответа — как в профессиональном ревью: по каждому принципу отдельный блок, плюс пояснение и улучшенный вариант кода, если нужно.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍42🔥2
🌧️ Облачная терапия: время выговориться!

Знакомая ситуация? Покупаете облако как BMW, а получаете телегу с квадратными колесами. Обещают 99.9% uptime, а сервер падает на релизе. Техподдержка отвечает через сутки фразой «попробуйте перезагрузить».

Пора узнать, как обстоят дела с облаками на самом деле. Поэтому мы собираем ваши реальные истории про облачные сервисы.

🤫О чем спросим:
— Зачем вам вообще это облако нужно
— Какие косяки достали до печенок
— Сколько денег утекает в никуда ежемесячно
— Что должно случиться, чтобы вы сменили провайдера
— И еще пару каверзных вопросов

⏱️ 2 минуты честности = большое исследование без воды → https://clc.to/nboYDA
😁12
🧑‍💻 История одного недоразумения в команде

Представьте, что вы сидите на собрании, слушаете коллегу и вдруг ловите себя на мысли: «Что он вообще имеет в виду?»
Все говорят об одном и том же, но каждый использует свои термины.

Такое случилось с одним из наших подписчиков, который столкнулся с забавным недоразумением.

История подписчика:
Работая в своей команде, я привык называть стенд, которым пользуются клиенты, «прод» — это слово всегда звучало для меня как нечто привычное и стандартное.
Но вот на одном собрании коллега вдруг начал говорить о нашем «бое». Я сразу немного растерялся. Не понимаю... Что за «бой»? Может, это означает что-то важное или срочное? Я начал гадать, что, возможно, это продукт, над которым команда работает под невероятным давлением сроков.


💬 А с вами были похожие случаи, когда разные термины вызывали недоразумения? Поделитесь опытом в комментариях 👇

P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
👨‍💻 Когда баг на проде, а вы — дома

Иногда баг живёт только на сервере: локально всё чисто, staging не помогает, а в проде что-то горит. Решение?

Remote Debugging — официальная фича Visual Studio, которая позволяет подключиться к удалённому процессу и отлаживать его, как будто он у вас под рукой.

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

1. Устанавливаете Remote Tools на удалённую машину (подходит даже обычный Windows Server, главное — не забыть про нужную версию под вашу IDE).

2. Открываете в Visual Studio на локальной машине ваш проект.

3. Подключаетесь к удалённому хосту через IP или hostname — да, просто так.

4. Прикрепляетесь к процессу (например, dotnet.exe или IIS) и начинаете отладку.

Всё работает: точки остановок, переменные, выражения, консоль, async-код — вы реально «внутри» приложения.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6🔥2👏2
🏃‍♀️ 1 день до конца спец предложения

У
спей впрыгнуть на курс «AI-агенты для DS» до завтрашнего повышения цены: 59.000 р. вместо 69.000 р.

🎙 Наш спикер — Никита Зелинский, Chief Data Scientist МТС, в своем канале рассказывает о RAG:

Про RAG слышали все — это уже два года самый массовый способ применения LLM в проде для бизнеса.

Это значит, что точность и надёжность такого решения достаточно предсказуемы для того, чтобы исключить человека из процесса аппрува выдачи LLM,
а связка «локально развернутая LLM + RAG над корпоративными документами» обеспечивает достаточную конфиденциальность, чтобы снять тревожность
«что наши данные попадут в OpenAI».

Эта история настолько популярна, что на рынке есть готовые RAG-решения,
а даже «маленькие» опенсорс-модели (до 5B) уже обзавелись своей RAG-ареной:
👉 https://huggingface.co/spaces/aizip-dev/SLM-RAG-Arena


Во время обучения на курсе «AI-агенты для DS» научим собирать автономные системы под реальные бизнес-задачи. На прошлой неделе мы рассказали о первом занятии.

➡️ вот что ждет слушателей курса на втором:

— Собираем свой RAG-пайплайн на своих данных
— Обсуждаем, почему качество такой системы нельзя измерять «на глаз»
— Разбираем схему LLM as a Judge и как подготовить для неё датасет
— Что такое guardrails и как они спасают от бреда
— Что делать, когда LLM не знает ответа
— Смотрим на агентский RAG и обсуждаем, можно ли использовать RAG как память агента

Если пропустили первое занятие, то вот ссылочка

❗️До повышения цены остался последний день — бронируйте место сейчас
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥱1
🤖 Доработки Copilot для разработчиков

Microsoft добавили несколько интересных фичей для разработчиков в Copilot. Давайте разберём, что появилось нового.

— Теперь Copilot подтягивает свежую документацию прямо из Microsoft Learn, если модель не знает об обновлениях .NET.

— При реализации интерфейсов или абстрактных методов можно выбрать вариант "с помощью Copilot" — и он сам сгенерирует тело метода на основе контекста.

— Наведите курсор на метод или переменную — и через «Describe with Copilot» получите пояснение к коду, прямо в редакторе.

— Copilot сам предложит заполнить summary, param и returns, когда вы пишете «///» над методом.

Если у вас Visual Studio 17.14 и включены feature‑flags для Copilot, всё это работает прямо из коробки.

➡️ Блог разработчиков

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5😢1
💥 Бредово-помогающие лайфхаки с Reddit

Когда речь заходит о продуктивности, многие стремятся следовать общепринятым методам и подходам. Но что если самые странные лайфхаки действительно работают?

В карточках выяснили, что нестандартные методы могут быть такими же эффективными, как и проверенные.

➡️ Прочитать остальные советы

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5😁4💯3