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

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

Open in Telegram

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

Show more

📈 Analytical overview of Telegram channel Библиотека шарписта | C#, F#, .NET, ASP.NET

Channel Библиотека шарписта | C#, F#, .NET, ASP.NET (@csharpproglib) in the Russian language segment is an active participant. Currently, the community unites 21 698 subscribers, ranking 5 943 in the Technologies & Applications category and 30 265 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 21 698 subscribers.

According to the latest data from 30 August, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -46 over the last 30 days and by -4 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 17.05%. Within the first 24 hours after publication, content typically collects 7.93% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 3 700 views. Within the first day, a publication typically gains 1 720 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 23.
  • Thematic interests: Content is focused on key topics such as .net, шарписта, навигация, await, string.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Все самое полезное для C#-разработчика в одном канале. Наши курсы: https://clc.to/y3LDtw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead

Thanks to the high frequency of updates (latest data received on 31 August, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

21 698
Subscribers
-424 hours
-67 days
-4630 days
Posts Archive
🧑‍💻 Почему SOAP — это прошлое Когда мы говорим о веб-сервисах, старые технологии вроде SOAP уже не так популярны. Но почему
🧑‍💻 Почему SOAP — это прошлое Когда мы говорим о веб-сервисах, старые технологии вроде SOAP уже не так популярны. Но почему? Такой вопрос, который нам недавно задал подписчик:
Почему SOAP считается устаревшим, а REST стал стандартом?
Сейчас объясним почему REST стал стандартом. SOAP использует XML, который довольно тяжёлый и сложный в обработке. В REST для обмена данными чаще используется JSON — лёгкий формат, который легче читается и быстрее обрабатывается. SOAP требует строгого соблюдения протоколов, что делает его менее гибким. REST, наоборот, позволяет работать с разными форматами данных и требует меньше настроек. REST проще интегрируется с мобильными приложениями, веб-сервисами и современными технологиями. SOAP лучше подходит для сложных корпоративных систем, но для большинства проектов REST подходит гораздо лучше. SOAP был хорош, но сегодня REST предоставляет всё, что нужно для современных приложений. 💬 А вы когда-нибудь использовали SOAP? Поделитесь своим опытом в комментариях 👇 🐸Библиотека шарписта #междусобойчик

💡 Как подготовиться к изменению схемы базы данных Если вы планируете изменить схему базы данных, то важно тщательно подготов
💡 Как подготовиться к изменению схемы базы данных Если вы планируете изменить схему базы данных, то важно тщательно подготовиться к этому процессу. В этом посте мы собрали ключевые шаги, которые помогут вам сделать миграцию безопасной и безболезненной. 1. Определите цель изменения и ожидаемый эффект. 2. Классифицируйте тип изменений • backward-compatible: добавления, nullable-колонки, индексы • breaking: переименования, удаления, типовые изменения. 3. Выберите стратегию • Expand/Contract (двухэтапно: добавляем новое → адаптируем код → удаляем старое) • Online миграция (pg_repack, gh-ost, pt-online-schema-change) • Blue-Green или shadow-write/read если критична безостановочность. 4. Спланируйте идемпотентные скрипты миграций и версионирование. 5. Решите, как обрабатывать большие таблицы • батчи • lock timeout • throttling, disable/enable triggers. 6. Найдите все места использования затрагиваемых таблиц/полей: сервисы, джобы, ETL, BI, отчёты, внешние интеграции, функции/триггеры/вьюхи. 7. Проверьте совместимость контрактов API и сериализаций (Protobuf/JSON схемы). 8. Подготовьте репрезентативные объёмы данных в том числе «длинные хвосты», edge-кейсы. 9. Зафиксируйте базовые метрики производительности до изменений: latency, throughput, locks, bloat. 10. Убедитесь в валидном бэкапе: полный + журналы. Сделайте тестовое восстановление. 11. Зафиксируйте точку восстановления: restore point, snapshot, LSN. 12. Для облачных БД — проверьте снапшоты и политику retention. 13. Реализуйте обратную совместимость: код должен работать со старой и новой схемой в переходный период. 14. Обновите ORM-модели/миграции, DTO, валидаторы, GraphQL/REST схемы. 15. Нагрузочное тестирование критичных запросов и миграций: проверка блокировок, регрессий. 16. Обновите диаграммы, спецификации, Confluence/README, схемы событий. 17. Задокументируйте проблемы и фактические времена выполнения, обновите шаблон миграций. Что бы вы добавили в этот список? 🐸Библиотека шарписта #буст

🔥 Успей поднять квалификацию по выгодной цене! Только до 17 августа у вас есть последняя возможность купить наши курсы по ст
🔥 Успей поднять квалификацию по выгодной цене! Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам. 🔹 Математика для Data Science: — Базовый: (сейчас) 26 399₽(будет) 33 900₽ — Ультра: 35 199₽44 900₽ — VIP: 59 829₽75 900₽ (выгода больше 16 000₽!) 🔹 Программирование на Python: 24 990₽32 900₽ 🔹 Алгоритмы и структуры данных: 31 669₽39 900₽ 🔹 Архитектуры и шаблоны проектирования: 24 890₽32 900₽ 🔹 AI-агенты для DS специалистов: 54 000₽59 000₽ 🔹 Основы IT для непрограммистов: 14 994₽19 900₽ 🔹 Базовые модели ML: 6 990₽9 900₽Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести. Успей купить до повышения — осталось 4 дня! 👉 Зафиксировать цену и начать учиться

🛠 Как оживить протухшую ветку без merge-хаоса Бывает: вы увлеклись разработкой, прошло пару недель (или месяцев), а основная ветка уже ушла далеко вперёд. В итоге — боль, конфликты и бесконечные merge-коммиты. В таких случаях может спасати ребейз на свежую ветку:
git pull --rebase origin release/1.2.0
Она подтянет последние изменения из релизной ветки и наложит ваши коммиты поверх, сохранив линейную историю. Да, конфликты всё равно придётся разруливать, но по одному — в контексте конкретного коммита, а не в гигантской свалке. После успешного ребейза пушим с --force-with-lease, чтобы аккуратно обновить удалённую ветку, и продолжаем работать так, как будто отставания и не было. 🐸Библиотека шарписта #буст

📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голов
📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas. Знания без системы — это просто «шум». Они не превращаются в навыки и проекты. Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио. И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок 👉 Превратите «шум» в навык А вы сталкивались с «информационной кашей»? Как выбирались? 👇

🧑‍💻 Сёрфить .NET без Blazor Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативн
🧑‍💻 Сёрфить .NET без Blazor Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативных методов, которые могут подойти для различных проектов. Один из таких методов — это WebAssembly. Эта технология позволяет компилировать .NET-код в байткод, который выполняется в браузере. Однако WebAssembly не поддерживает все возможности .NET, а настройка может быть сложной. Если нужна большая гибкость, можно использовать JavaScript Interop. Этот подход позволяет обмениваться данными между JavaScript и .NET, что дает возможность интегрировать их в одно приложение. Это решение для тех, кто хочет сохранить существующий JavaScript-код, но при этом использовать возможности .NET в клиентской части. Также можно использовать инструменты вроде Mono и CoreRT для компиляции .NET-приложений в WebAssembly, или платформы, такие как Ooui и Uno Platform, которые упрощают перенос .NET-кода в браузер. ➡️ Подробнее про запуск с WebAssembly можно почитать в статье 🐸Библиотека шарписта #буст

📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голов
📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas. Знания без системы — это просто «шум». Они не превращаются в навыки и проекты. Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио. И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок 👉 Превратите «шум» в навык А вы сталкивались с «информационной кашей»? Как выбирались? 👇

Ваши коллеги уже изучают .NET 10 → а вы готовы остаться на старых версиях? Каждый релиз .NET приносит десятки нововведений, к
Ваши коллеги уже изучают .NET 10 → а вы готовы остаться на старых версиях? Каждый релиз .NET приносит десятки нововведений, которые меняют подходы к разработке. Пока одни программисты осваивают новый синтаксис C# 14 и возможности runtime, другие продолжают писать код «по-старому» и удивляются, почему их решения выглядят устаревшими. .NET 10 — это не просто очередное обновление. Это LTS-версия, которая задаст стандарты разработки на ближайшие годы. Новый синтаксический сахар, field и extension в C# 14, обновления в MAUI и EF Core — всё это уже меняет то, как пишут современные приложения. Вебинар «Что нового в .NET 10 для разработчиков» в рамках курса «C# углубленный»18 августа, 20:00 → Антон Герасименко Программа: → Обзор ключевых нововведений .NET 10 и их практическое применение → Синтаксические конструкции C# 14: сахар, field, extension → Изменения в runtime и их влияние на производительность приложений → Новые возможности MAUI и EF Core для современной разработки После вебинара вы поймёте, как адаптировать свой код под новые стандарты, сможете читать и писать современный C# код и не будете отставать от коллег, которые уже перешли на актуальные версии. Бесплатная регистрация — займите место в числе первых: https://clc.to/Vrx7jA Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

📀 Как настроить SQLite в .NET SQLite — это легковесная база данных, которая идеально подходит для локальных приложений, тестирования или небольших проектов. Давайте разберём, как настроить SQLite в проекте на .NET и начать работать с данными. • Прежде всего, нужно добавить SQLite в ваш проект. Для этого пишем команду:
Install-Package Microsoft.Data.Sqlite
• Создание базы данных После установки пакета можно приступать к созданию базы данных. Пример простого кода для создания базы данных и таблицы:
using Microsoft.Data.Sqlite;

public class SQLiteExample
{
    public void CreateDatabase()
    {
        var connectionString = "Data Source=example.db";  // Путь к базе данных
        using (var connection = new SqliteConnection(connectionString))
        {
            connection.Open();
            var command = connection.CreateCommand();
            command.CommandText =
            @"
                CREATE TABLE IF NOT EXISTS users (
                    id INTEGER PRIMARY KEY AUTOINCREMENT,
                    name TEXT NOT NULL,
                    email TEXT NOT NULL
                );
            ";
            command.ExecuteNonQuery();
        }
    }
}
Здесь мы создаем базу данных, если её ещё нет, и таблицу пользователей. Добавляем данные: вставка записей
public void InsertData()
{
    var connectionString = "Data Source=example.db";
    using (var connection = new SqliteConnection(connectionString))
    {
        connection.Open();
        var command = connection.CreateCommand();
        command.CommandText =
        @"
            INSERT INTO users (name, email)
            VALUES ('John Doe', 'johndoe@example.com');
        ";
        command.ExecuteNonQuery();
    }
}
Чтобы извлечь данные, используем SQL-запрос и ExecuteReader:
public void ReadData()
{
    var connectionString = "Data Source=example.db";
    using (var connection = new SqliteConnection(connectionString))
    {
        connection.Open();
        var command = connection.CreateCommand();
        command.CommandText =
        "SELECT id, name, email FROM users;";

        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                Console.WriteLine($"ID: {reader.GetInt32(0)}, Name: {reader.GetString(1)}, Email: {reader.GetString(2)}");
            }
        }
    }
}
Параметризированные запросы Для защиты от своих же SQL-инъекций важно использовать параметризированные запросы:
public void InsertDataWithParameters(string name, string email)
{
    var connectionString = "Data Source=example.db";
    using (var connection = new SqliteConnection(connectionString))
    {
        connection.Open();
        var command = connection.CreateCommand();
        command.CommandText =
        @"
            INSERT INTO users (name, email)
            VALUES (@name, @email);
        ";

        command.Parameters.AddWithValue("@name", name);
        command.Parameters.AddWithValue("@email", email);

        command.ExecuteNonQuery();
    }
}
Теперь вы знаете, как легко настроить SQLite в вашем проекте на .NET. 🐸Библиотека шарписта #буст

Подборка вакансий для шарпистов C# Unity Developer — удалёнка. Разработчик C# (Middle+) — от 230 000 ₽, гибрид (Москва). Senior C# developer — от 4 500 до 5 500 €, удалёнка. Senior C#-разработчик — удалёнка. C# разработчик — от 240 000 до 300 000 . Бустер — Удалённо (в любом городе мира). ➡️ Еще больше топовых вакансий — в нашем канале С# Jobs

Какое утверждение корректно описывает поведение struct с полями-ссылками (ref fields) и использованием ref struct в C#? 👾 — ref struct можно хранить в куче, если он вложен в класс, но доступ к нему осуществляется только по ссылке 👍 — ref struct запрещает захват в замыканиях, хранение в полях классов и boxing, чтобы гарантировать расположение в стеке 🥰 — Обычный struct с полями-ссылками (ref T) компилятор не ограничивает, и их можно хранить в куче без последствий 🥱 — ref struct может быть полем обычного struct, если оба находятся в куче Библиотека задач по C#

🆕 Новостной дайджест Уделите пару минут этой подборке и будете в теме прошедших дней. — Visual Studio 2015: завершение подде
🆕 Новостной дайджест Уделите пару минут этой подборке и будете в теме прошедших дней. — Visual Studio 2015: завершение поддержки 14 октября 2025 г. Microsoft прекращает поддержку всех редакций VS 2015 и связанных компонентов. Обновлений безопасности больше не будет. — Dependabot для NuGet стал быстрее и умнее Новый движок на нативном .NET ускорил обновления на 65 %, повысил успешность с 82 % до 94 % и научился корректно работать с транзитивными зависимостями. — Оценка качества AI-агентов в .NET В библиотеке Microsoft.Extensions.AI.Evaluation появились новые инструменты: метрики для проверки понимания намерений, фокуса на задаче и корректности вызова инструментов — Обновления .NET 8.0 и .NET 9.0 Обновлён рантайм, SDK, контейнерные образы и пакеты для Linux. Изменений в безопасности .NET нет. — Промпты от Microsoft Microsoft собрала пять готовых промптов к Copilot, которые помогут быстрее разбираться в чужом коде, писать модульные тесты, переводить синхронный код на async/await, находить уязвимости и генерировать тестовые данные. 🐸Библиотека шарписта #свежак

🧐 Зоопарк моделей в ML: с чего начать? Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинг
🧐 Зоопарк моделей в ML: с чего начать? Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии. Кажется, придётся учить всё это, иначе в ML не пустят. Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут. Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное. 👉 Успей попасть на курс «ML для старта в Data Science»

❓ Какое кодовое имя носила Visual Studio 2005
Anonymous voting

💰 Сколько ты стоишь как разработчик Многие годами работают за «среднюю» зарплату, даже не проверяя, сколько на самом деле стоят их навыки. Рынок меняется, технологии обновляются, а ваша цена на него — нет. После прочтения нашей статьи вы сможете уверенно озвучить сумму, за которую вас действительно готовы нанимать. ➡️ Читать статью 🐸Библиотека шарписта

🧑‍💻 Локальные рефакторинги без мыши Обычно, чтобы обернуть код в try/catch или using, многие тянутся к мыши: выделить → ПКМ → Refactor → Surround With… и только потом выбрать нужный шаблон. Есть быстрый путь: 1. Выделите фрагмент кода 2. Нажмите Ctrl+K, затем Ctrl+S 3. Выберите сниппет для обёртки 4. Готово — без единого клика Пример:
// Было:
DoSomething();

// Стало:
try
{
    DoSomething();
}
catch (Exception ex)
{
    // log or handle
}
За неделю таких мелочей набегает целый час, который лучше потратить на решение задач, а не на кликание в меню. 🐸Библиотека шарписта #буст

Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы
Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы — более уверенным специалистом. Выберите курс, который поможет сделать следующий шаг ⬇️ 🚀 Для тех, кто начинает путь в IT:Основы IT для непрограммистовПрограммирование на Python (обновлённый) — Frontend-разработчик с нуля: HTML, CSS, JavaScript 🧠 Для будущих и настоящих Data Scientist'ов:ML для старта в Data Science (начинается в сентябре) — Базовые модели ML и приложенияМатематика для Data ScienceAI-агенты для DS-специалистов (скоро второй поток) 🛠️ Для опытных разработчиков, готовых к росту:Алгоритмы и структуры данныхАрхитектуры и шаблоны проектирования Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!

🤨 Разработчики бывают разные В команде всегда важен баланс: навыков, взаимодействия, доверия. Но что делать, если приходится
🤨 Разработчики бывают разные В команде всегда важен баланс: навыков, взаимодействия, доверия. Но что делать, если приходится выбирать? Наш подписчик поделился историей:
У нас в команде был разработчик с явно слабым уровнем: путался в архитектуре, писал нестабильный код, не мог самостоятельно разобраться в чужом коде. Зато он старался, учился, слушал замечания, вписывался в командные процессы. Потом пришёл другой — опытный, уверенный, местами даже впечатляющий. Быстро понимал задачу, показывал нестандартные решения, но при этом он постоянно спорил с тем, как устроена архитектура, игнорировал договорённости команды, воспринимал ревью как придирки, предлагал «как надо» на каждом шагу. В итоге один тянул вниз, а второй — разрывал команду изнутри. Какой тип разработчика на самом деле опаснее?
Админ думает, что токсику не место в командной разработке. Большие проекты это зачастую стресс, а если в этом стрессе кто-то будет подливать масла, то взорвутся все. 💬 А теперь вопрос: кого бы вы оставили, если нужно выбрать одного? 🐸Библиотека шарписта #междусобойчик