ch
Feedback
Библиотека шарписта | C#, F#, .NET, ASP.NET

Библиотека шарписта | C#, F#, .NET, ASP.NET

前往频道在 Telegram

Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

显示更多

📈 Telegram 频道 Библиотека шарписта | C#, F#, .NET, ASP.NET 的分析概览

频道 Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 21 861 名订阅者,在 技术与应用 类别中位列第 6 194,并在 俄罗斯 地区排名第 30 800

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 21 861 名订阅者。

根据 13 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -49,过去 24 小时变化为 -3,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 12.71%。内容发布后 24 小时内通常能获得 7.49% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 778 次浏览,首日通常累积 1 638 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 9
  • 主题关注点: 内容集中在 .net, шарписта, навигация, await, string 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Все самое полезное для C#-разработчика в одном канале. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

凭借高频更新(最新数据采集于 14 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

21 861
订阅者
-324 小时
-257
-4930
帖子存档
Шарписты! Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый шарпист. ➡️Поддержать канал: https://t.me/boost/csharpproglib

💡 Заставляем C# говорить OpenAI запустили универсальную аудио-модель, и теперь можно делать магию. Semantic Kernel уже умеет
💡 Заставляем C# говорить OpenAI запустили универсальную аудио-модель, и теперь можно делать магию. Semantic Kernel уже умеет с ней работать, осталось только подключить и собрать что-то своё. ➖ Что для этого нужно: • SemanticKernel • HttpClient • OpenAIAudioChatCompletionService (входит в SemanticKernel) Пример на C#:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Connectors.OpenAI;
using Microsoft.SemanticKernel.Audio;

// Конфиг
string apiKey = "sk-...";
string model = "gpt-4o";

// Создаем Kernel
var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion(model, apiKey);

// Подключаем аудио-модель
builder.Services.AddOpenAIAudioChatCompletion(model, apiKey);
var kernel = builder.Build();

// Аудиофайл на вход (WAV или MP3)
var audioPath = "audio_input.wav";
var audioFile = new FileInfo(audioPath);

// Запускаем аудио-комплит
var audioChatService = kernel.GetRequiredService<IAudioChatCompletionService>();

var response = await audioChatService.GetAudioChatMessageContentAsync(
    new OpenAIAudioChatRequestSettings { ResponseFormat = AudioResponseFormat.MP3 },
    new AudioChatMessageContent(AuthorRole.User, audioFile)
);

// Сохраняем ответ в файл
await File.WriteAllBytesAsync("response.mp3", response.Audio);
Что происходит под капотом? 1. Модель GPT-4o получает аудиофайл 2. Распознаёт текст (ASR) 3. Генерирует ответ 4. Конвертирует его в речь 5. Возвращает MP3-ответ 💬 Уже придумали где применить? Админ бы заставил приложение ругаться на пользователя🧑‍💻 Делитесь своими идеями в комментариях 👇 ➡️ Подробнее в блоге Microsoft 🐸Библиотека шарписта #буст

💵💻🌍 Как не налететь на грабли: оформление и выплаты при валютной удалёнке из России Если вы следили за нашим мини-сериалом
💵💻🌍 Как не налететь на грабли: оформление и выплаты при валютной удалёнке из России Если вы следили за нашим мини-сериалом о валютной удаленке, то уже знаете: 🔜 Как найти зарубежную удалёнку и зарабатывать больше 🔜 Как пройти путь от резюме до оффера И вот финальная часть — потому что оффер это только начало. Что в статье: 📍 Все легальные способы получения валютных выплат, от ИП в Грузии до пейролл-сервисов. 📍 Реальные риски: блокировки, штрафы, политическая турбулентность. 📍 Юридические тонкости и что писать в контракте, чтобы не остаться без денег. 📍 Как не влететь на налоги и почему «авось» — плохой бизнес-план. Читать гайд по выживанию айтишника в валютных джунглях 🔗

Что выведет код? 👾 — Мусорное значение 👍 — Compile time error 🥰 — Программа распечатает значение по адресу 65535 ⚡️ — 6553
Что выведет код? 👾 — Мусорное значение 👍 — Compile time error 🥰 — Программа распечатает значение по адресу 65535 ⚡️ — 65535 Библиотека задач по C#

✍🏻 Чем отличаются интерфейсы от абстрактных классов в C#? Интерфейсы и абстрактные классы в C# являются механизмами для реализации полиморфизма и обеспечения повторного использования кода. Вот основные отличия между ними: 1. Отношение к классам-наследникам: Абстрактный класс может иметь как абстрактные, так и конкретные (реализованные) методы. Интерфейс же предоставляет только определения методов. Класс может наследоваться только от одного абстрактного класса, но может реализовывать несколько интерфейсов. 2. Реализация: Абстрактным классам разрешено иметь переменные экземпляра и иметь реализацию методов. Интерфейсы могут иметь только методы (и свойства) без реализации, только сигнатуры. Класс, реализующий интерфейс, должен предоставить реализацию всех методов и свойств интерфейса. 3. Использование: Абстрактные классы применяются, когда некоторые базовые методы и свойства должны быть доступны и переопределены в классах-наследниках. Интерфейсы используются для создания контракта, который должны выполнить классы, обеспечивая использование полиморфизма. Оба механизма полезны в разных сценариях разработки. Выбор между использованием абстрактных классов и интерфейсов зависит от конкретных требований проекта. Библиотека собеса по С#

📰 Самое важное за неделю Ключевые события и тренды недели, которые могут повлиять на ваши решения, стратегию или просто расш
📰 Самое важное за неделю Ключевые события и тренды недели, которые могут повлиять на ваши решения, стратегию или просто расширить картину мира. ​AutoMapper и MediatR переходят на коммерческую модель. MediatR v12.5.0 Вышла новая версия MediatR, в которой добавили поддержку тайм-аутов для обработчиков запросов, улучшили регистрацию открытых поведений, реализовали полную передачу CancellationToken по цепочке вызовов и обновили инфраструктуру проекта. Windows Community Toolkit v8.2 Microsoft выпустила новую версию Windows Community Toolkit , предлагая разработчикам WinUI улучшенную поддержку Native AOT, совместимость с UWP для .NET 9 и новый SwitchConverter. Поучаствуйте в нашей подборке ноутов 🐸Библиотека шарписта #свежак

🎲 Разминка для мозгов Шесть слов, связанных с ключевыми понятиями платформы. Справитесь без подсказок? 1 — Тип, предназначен
🎲 Разминка для мозгов Шесть слов, связанных с ключевыми понятиями платформы. Справитесь без подсказок? 1 — Тип, предназначенный для создания неизменяемых объектов с авто-генерацией Equals и ToString. 2 — Современный компилятор C# с открытым API для анализа и генерации кода. 3 — Язык запросов, встроенный в C# для работы с коллекциями и источниками данных. 4 — Класс, который представляет таблицу в базе данных 5 — Структура, объединяющая фиксированное количество элементов разных типов. 6 — Базовая единица параллельного исполнения в многопоточном программировании .NET. 💬 Пишите ответы под спойлер в комментарии 👇 🐸Библиотека шарписта #междусобойчик

💬 Сколько у вас решено задач на литкоде 🐸Библиотека шарписта #развлекалово
💬 Сколько у вас решено задач на литкоде 🐸Библиотека шарписта #развлекалово

😺🐙🧼 Сам себе GitHub: как работать с чистым Git-репозиторием Git — мощная система контроля версий, которую обычно использую
😺🐙🧼 Сам себе GitHub: как работать с чистым Git-репозиторием Git — мощная система контроля версий, которую обычно используют через платформы вроде GitHub и GitLab. Однако Git сам по себе не требует веб-интерфейсов и облачных сервисов. Многие разработчики предпочитают работать с чистым Git-репозиторием, размещенным на собственном сервере. ➡️ В этой статье мы рассмотрим, почему это удобно, и как эффективно отправлять патчи в проекты, использующие этот подход. 🐸 Библиотека программиста

Как сохранить профессию в 2025 году, если ИИ съедает всё? Пока половина мира боится, что нейросети отнимут работу, другие уча
Как сохранить профессию в 2025 году, если ИИ съедает всё? Пока половина мира боится, что нейросети отнимут работу, другие учатся создавать то, что автоматизировать невозможно. Backend-разработка на C# - профессия, которую не заменит никакой GPT. Это не громкие слова, а факты ✅ C# -язык, на котором работают банковские системы, госуслуги, крупные сервисы ✅ Backend-разработчики входят в ТОП-5 самых востребованных специалистов по данным HeadHunter ✅ Зарплаты от 80 - 100 000 ₽ уже через 6–12 месяцев ✅ И никаких творческих «мук» - только стабильность, логика и чёткие задачи 5 апреля в 19:00 (мск) пройдёт бесплатный вебинар:«Как стать backend-разработчиком на C# и не жить в страхе ИИ и увольнений» Вы узнаете: - Почему C# это “язык выживших” - Сколько можно зарабатывать уже через 6- 12 месяцев - Как пройти путь в IT с нуля, даже если вы из другой сферы - Почему Python это только «вход», а C# - это «взлёт» Регистрация здесь (пока есть места):👉 ЖМИ СЮДА Будущее не подождёт. А вы? Реклама. Дзеранов И.В. ИНН 151604093011.

🛠 LINQPad — инструмент для быстрых экспериментов LINQPad — это интерактивная среда для запуска C#-кода без создания проектов, солюшенов и прочей бюрократии. Почему это мастхэв: Быстрая проверка идей — пиши и запускай на лету Dump() — метод, которого не хватало Даёт мгновенный вывод структуры объекта, с деревьями, списками, полями и цветами. Идеален для отладки. Поддержка EF Core, SQL и даже NoSQL Поддержка NuGet прямо в редакторе Пример:
var numbers = Enumerable.Range(1, 20);
var evens = numbers.Where(x => x % 2 == 0);

evens.Dump("Чётные числа");
Набросали код и проверили с помощью Dump() что получилось. 🐸Библиотека шарписта #буст

👨‍💻 LINQ — магия C# или чёрная дыра производительности Когда впервые видишь LINQ — это как будто дали волшебную палочку: va
👨‍💻 LINQ — магия C# или чёрная дыра производительности Когда впервые видишь LINQ — это как будто дали волшебную палочку:
var result = users.Where(u => u.IsActive).OrderBy(u => u.Name).ToList();
Но через месяц в проде: «А почему этот запрос делает 9 подзапросов, 3 джойна, и тянет всю таблицу в память, чтобы потом отфильтровать в приложении?..» 💬 А как вы считаете? LINQ это спасение от рутины или проблема? Пишите в комментарии 👇 🐸Библиотека шарписта #междусобойчик

Уютное сообщество C# разработчиков - обучающий канал для шарпистов. Контент канала: 🤸 Трюки языка ‍💻 Вакансии ❓ Тесты на зн
Уютное сообщество C# разработчиков - обучающий канал для шарпистов. Контент канала: 🤸 Трюки языка ‍💻 Вакансии ❓ Тесты на знание языка 📚 Книги 😛 Юмор Так же у нас есть отдельная ветка для вакансий для C# разработчиков. Подписывайтесь, изучайте, качайте. @csharp Реклама. Киренкина Марина Дмитриевна, ИНН 345702417736. Erid 2VtzqwPB8hF

⚙️ Как использовать 2FA в .NET приложении Сейчас покажем, как настроить двухфакторную аутентификацию (2FA) в вашем .NET прило
⚙️ Как использовать 2FA в .NET приложении Сейчас покажем, как настроить двухфакторную аутентификацию (2FA) в вашем .NET приложении с использованием библиотеки .NET Identity. 1️⃣ Установка и настройка .NET Identity • Добавьте необходимые пакеты NuGet:
Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
• Настройте контекст данных и Identity:
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders();

    services.AddControllersWithViews();
}
2️⃣ Включение 2FA для пользователя Теперь, когда Identity настроен, мы можем включить двухфакторную аутентификацию:
var user = await _userManager.GetUserAsync(User);
var tokenProvider = _userManager.GetTwoFactorAuthenticationTokenProvider(user);
var token = await _userManager.GenerateTwoFactorTokenAsync(user, tokenProvider);

// Отправить токен пользователю через email или SMS
3️⃣ Проверка введённого токена После того как пользователь получит код на своем устройстве (например, через Google Authenticator), он должен ввести его на сайте. Проверка кода выглядит следующим образом:
var result = await _signInManager.TwoFactorSignInAsync("Authenticator", tokenInput, rememberMe, false);
if (result.Succeeded)
{
    // Успешный вход
}
else
{
    // Ошибка
}
💬 Пишите, где сталкивались с 2FA👇 Админ, к примеру, каждый раз тянется к телефону, когда логинится в GitHub 🐸Библиотека шарписта #буст

🔥 Программисты, нужен ваш совет! Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, к
🔥 Программисты, нужен ваш совет! Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме! Какой ноут спасает вас в кодинге и почему? Расскажите все: • Что за зверь (модель, начинка) • Где жмет и где радует в ежедневной работе • На какие фишки смотреть при выборе • Как вам с ним живется Топовые советы попадут в нашу статью! 💬 Делитесь в комментах 👇 Сделаем годный гайд, который реально поможет коллегам! 🐸Библиотека шарписта

🤖 Промт дня: техническое интервью по C# Представьте, что у вас есть безлимитное время опытного C# разработчика. Проявите себя в условиях «реального» собеседования и получите ценную обратную связь, чтобы понять, какие аспекты вашего опыта стоит прокачать. Для этого используем вот такой промт:
"You are a seasoned C# developer and interviewer with 15+ years of experience. Your task is to conduct a mock technical interview for a candidate applying for a mid-level C# developer position. The interview will focus on core C# concepts, object-oriented programming principles, and common .NET framework features. Your approach will be to ask one question at a time, wait for the candidate's response, provide constructive feedback on their answer (highlighting strengths and areas for improvement), and then proceed to the next question. The goal is to simulate a real-world interview experience and help the candidate identify areas where they need to improve their knowledge. Here's the format you will follow for each question: --- Question: $interview_question [Pause for Candidate's Response] Feedback: * Strengths: $positive_feedback_on_answer * Areas for Improvement: $constructive_criticism_and_suggestions Next Question: $next_interview_question --- Begin the mock interview"
🐸Библиотека шарписта #буст

💻🧩 Когда HR требует LeetCode Hard: почему компании стреляют себе в ногу Когда твоя компания не Google, но хочет отбирать ка
💻🧩 Когда HR требует LeetCode Hard: почему компании стреляют себе в ногу Когда твоя компания не Google, но хочет отбирать кандидатов как Google — получается дорогой фейл и текучка талантов. Разбираемся в трендах IT-рекрутинга, которые выглядят как выстрел в ногу. ➡️ Читать статью 🐸 Библиотека программиста

🛠 Инструмент недели: MoreLINQ MoreLINQ — это расширение LINQ для .NET, которое добавляет десятки полезных методов, отсутству
🛠 Инструмент недели: MoreLINQ MoreLINQ — это расширение LINQ для .NET, которое добавляет десятки полезных методов, отсутствующих в стандартной библиотеке. Что внутри: • DistinctBy, MaxBy, MinBy — упрощают выборку уникальных и экстремальных значений • Batch, Buffer — удобно работать с кусками коллекций • Scan — похоже на Aggregate, но возвращает все промежуточные состояния • Lag, Lead — доступ к предыдущим и последующим элементам последовательности • Shuffle, Permutations, Subsets — алгоритмы для сложных операций с наборами ➡️ Репозиторий инструмента 💬 Делитесь в комментариях каких методов не хватает в LINQ👇 🐸Библиотека шарписта #буст

🎭 Dev Memes: 1 апреля, а баги всё те же Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали
+5
🎭 Dev Memes: 1 апреля, а баги всё те же Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для Шарпистов, которые вызывают лёгкое желание уволиться. 👉 Всё это — из нашего мемного канала «Библиотека IT-мемов» 🐸Библиотека шарписта