Библиотека шарписта | 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
🤖 Знаете, чем настоящий AI отличается от чат-бота?

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

Современные компании для таких задач всё чаще используют Deep Learning — алгоритмы на основе нейросетей. Но чтобы попасть в эту лигу, нужен фундамент. И имя ему — Machine Learning.

Наш новый курс по ML — это не волшебная таблетка. Это честный и структурированный путь в мир Data Science. Мы дадим вам базу, с которой вы:

разберётесь, как мыслят машины (спойлер: матрицами!);

научитесь строить работающие модели, а не карточные домики;

получите трамплин для прыжка в Deep Learning.

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

Начните с фундамента на нашем курсе по Machine Learning!
😁6🥱31
🐶 Ваш секретный козырь для резюме

Фриланс и pet-проекты часто оказываются в тени при составлении резюме, но именно этот опыт может стать ключевым фактором, который выделит вас на фоне других кандидатов.

Умение грамотно презентовать такой опыт и показать его ценность для постоянной работы — важный навык, который стоит развивать.

➡️ Узнайте, как превратить pet-проекты в мощное преимущество

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51
🔥 Знакомьтесь, преподаватель нашего нового курса по ML — Мария Жарова.

В карточках рассказали, чем Мария занимается и какие советы даёт тем, кто хочет расти в IT и Data Science ☝️

А если вы уже поняли, что тянуть нечего, начните свой путь в ML правильно: с реальной практикой, поддержкой ментора и видимым результатом.

👉 Записывайтесь на курс
2👍1
🚦 Долгосрочное планирование: мираж или необходимость

IT — это уникальная отрасль, где скорость изменений настолько велика, что планировать дольше, чем на спринт кажется безумием.

Почему планирование — это опасная ловушка:

• Сложно предсказать технологические тренды.

• Чаще требуется гибкость и быстрота изменений, чем спланированный ком задач.

• Конкуренты не спят и могут испортить ваши планы.

Когда планирование полезно:

• Крупные проекты не могут плавать вечно, им нужен фундамент и горизонт запланированных действий.

• Долгосрочные планы показывают инвесторам, что компания думает о будущем и готова к масштабированию.

💬 Какой у вас горизонт планирования? Нужно ли долгосрочное планирование в IT? Делитесь мыслями в комментариях 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
📰 Новости семи прошлых дней

Прошла неделя и мы снова собрали для вас то, что могло уйти из вашего инфополя.

.NET 10 Preview 6

Microsoft представила шестую предварительную версию .NET 10, снова улучшения и фиксы.

MCP-сервер на .NET и публикация его на NuGet

С помощью новых шаблонов .NET 10 и SDK ModelContextProtocol разработчики могут создавать мощные серверы, расширяющие возможности AI, и делиться ими с сообществом через NuGet.

Как защитить поставки ПО

Рекомендации по защите цепочки поставок программного обеспечения. Разумно ли внедрение Software Bill of Materials (SBOM), практик DevSecOps и принципа Zero Trust.

Ваш секретный козырь для резюме

Как продвинуть резюме в ТОП на HeadHunter

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Вы ещё можете застать старый добрый Proglib — с вечным доступом к курсам.

С 1 августа всё меняется: навсегда — останутся только те, кто успел купить сейчас.

-40% на все курсы. Включая обновлённый Python (кроме курса по AI-агентам)

Это не просто распродажа. Это — последняя точка входа в Proglib Academy по старым правилам.

📚 Выбрать и забрать свой курс навсегда → https://clc.to/TBtqYA
1
Какой из методов интерфейса IEnumerator должен быть реализован для поддержки итерации в C#?

👾 — MoveNext()
👍 — MovePrevious()
🥰 — ResetCurrent()
⚡️ — Advance()

Библиотека задач по C#
👾138🤩2🌚2
🍺 Подборка вакансий для шарпистов

.NET Developer
— 100 000 ₽, Удалёнка.

Middle C# backend разработчик — до 2 000 $, Удалённо.

C# / .NET Core Backend Разработчик — от 140 000 до 180 000 ₽, Удалёнка.

Senior .NET Developer — от 225 000 до 365 000 ₽, Удалёнка.

.NET‑разработчик (стажер) — Гибрид (Москва).

Бустер — Удалённо (в любом городе мира).

➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍2🤩1
🛠 Кастомная обработка событий

NEsper — это библиотека для .NET, предназначенная для сложной обработки событий.

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

Основные возможности:

• Обрабатывайте события по мере их поступления, выявляйте аномалии или интересные паттерны без задержки.

• Язык для описания правил обработки событий, чем-то похож на SQL, что делает его удобным для разработчиков.

• Поддерживает распределённые системы и интегрируется с Кафкой и RabbitMQ.

Пример использования:
using EsperTech.NEsper;
using EsperTech.NEsper.Client;
using EsperTech.NEsper.Config;

var config = new Configuration();
config.AddEventType("MyEvent", typeof(MyEvent));

var epService = EPServiceProviderManager.GetDefaultProvider(config);
var epStatement = epService.EPAdministrator.CreateEPL("select * from MyEvent where value > 100");

epStatement.Events += (sender, e) =>
{
foreach (var ev in e.NewEvents)
{
Console.WriteLine($"Detected event: {ev.Get("value")}");
}
};


В этом примере создаётся обработчик событий, который срабатывает, когда значение события превышает 100.

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

➡️ Обработать все события

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
🤖 Как выбрать подходящий режим GitHub Copilot

GitHub Copilot Chat от Microsoft теперь предлагает два режима — Ask Mode и Agent Mode. Оба инструмента предназначены для улучшения работы разработчиков, но каждый из них ориентирован на разные типы задач.

Сами Microsoft помогают разобраться у себя в блоге какой режим выбрать вам.

В Ask Mode Copilot помогает вам, предоставляя четкие ответы и примеры, но при этом не взаимодействует с кодом, находящимся в вашем проекте. Например, запрос «Что такое LINQ?».

В Agent Mode Copilot не только предоставляет ответы, но и выполняет действия в вашем коде, что делает его незаменимым инструментом для более сложных задач. Как пример будет запрос «Отрефактори этот метод».

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

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👩‍💻 Управляем несколькими ветками одновременно

Git worktrees — это возможность использовать несколько рабочих деревьев (worktrees) для одного репозитория.

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

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

1. Вы создаете новый worktree для выбранной ветки. В результате появляется отдельный каталог, где будет находиться эта ветка:
git worktree add ../my-feature-branch my-feature-branch


2. После создания worktree вы можете работать с веткой, не вмешиваясь в другие ветки. Это удобно, когда нужно параллельно тестировать изменения или делать ревью PR, не мешая текущей работе.

Когда работа с веткой завершена, можно её удалить:
git worktree remove ../my-feature-branch


Практический пример

Если вам нужно протестировать PR, вы можете создать отдельный worktree для его ветки:
git worktree add ../pr-branch pr-branch
cd ../pr-branch


Применяйте и властвуйте над ветками гита.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔81
✏️ Промпт для создания абстракции

Мы подготовили для вас полезный промпт, который поможет создать абстракцию для любой задачи.

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

Промпт:
Опиши, как создать абстракцию для задачи "[вставьте краткое описание задачи]" с использованием методик объектно-ориентированного проектирования. В ответе подробно изложи основные этапы проектирования абстракции, включая выявление ключевых классов и их ответственности, применение принципов SOLID и паттернов проектирования. Добавь пример кода на С# или диаграмму классов UML, иллюстрирующую предложенную абстракцию.


Хороший способ улучшить архитектуру вашего кода и овладеть лучшими практиками ООП.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤩2🌚1👾1
🔄 Обновление MCP C# SDK

В свежем обновлении Microsoft выводит разработку AI‑приложений на новый уровень. Разберём самое вкусное в обновлении.

Диалоговый сбор данных

Механизм, позволяющий вашим приложениям заранее задавать пользователю структурированные вопросы — например, «Введите количество элементов» (число), «Укажите путь к файлу» (строка) или «Разрешить доступ?» (флаг).

Структурированный вывод инструментов

Позволяет инструментам явно описывать формат возвращаемых данных через JSON‑схему: какие поля будут, какого они типа и какие обязательны.

Улучшенные метаданные

Расширенный блок _meta, включающий человекочитаемые поля name и title для каждого инструмента и подсказки.

Как обновиться

Чтобы начать пользоваться всеми этими возможностями, достаточно ввести в консоли проекта команду:
dotnet add package ModelContextProtocol --prerelease


После этого пересоберите приложение и убедитесь, что используемая версия пакета соответствует 2025‑06‑18.

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
1