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

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

Открыть в Telegram

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

Больше
2025 год в цифрахsnowflakes fon
card fon
22 346
Подписчики
-624 часа
-377 дней
-14330 день
Архив постов
Фото недоступноПоказать в Telegram
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета! Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»! На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai. 📆 Старт потока — 15 сентября. 💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже. 👉 Занять место
Показать все...
🥱 9
Фото недоступноПоказать в Telegram
🤖 C# для машинного обучения Когда речь идет о машинном обучении, обычно на ум приходит Python. Но C# с его мощной экосистемой и возможностями тоже может быть использован для решения задач машинного обучения. Давайте разберемся, подходит ли C# для машинного обучения или всё-таки стоит обратить внимание на более традиционные инструменты. Плюсы использования C# для машинного обучения: • C# является частью экосистемы .NET, что даёт разработчикам доступ к множеству библиотек для работы с большими данными, многозадачностью и асинхронными операциями. • Microsoft предлагает ML.NET — библиотеку, которая позволяет работать с алгоритмами машинного обучения в C#. • C# известен своей высокой производительностью, благодаря чему можно эффективно обрабатывать большие объемы данных. Минусы использования C# для машинного обучения: • Хотя ML.NET предоставляет некоторые возможности, C# не имеет такого богатого выбора фреймворков и моделей, как Python. • В интернете гораздо меньше примеров и документации по машинному обучению на C# по сравнению с Python 💬 Используете ли вы C# для машинного обучения или предпочли бы выбрать Python? Поделитесь своим мнением в комментариях 👇 🐸Библиотека шарписта #междусобойчик
Показать все...
9👍 2
Фото недоступноПоказать в Telegram
🐸Библиотека шарписта #развлекалово
Показать все...
😁 30🔥 6
💰 Сколько вы реально стоите как разработчик Переговоры о зарплате — это всегда искусство не продешевить. Но как точно определить свою стоимость? Мы подготовили 3 эффективных способа, которые помогут вам без догадок понять, сколько вы действительно стоите, и уверенно озвучить свою цену работодателю. Листайте карточки и торгуйтесь уже на следующем собесе ➡️ Читать статью 🐸Библиотека шарписта
Показать все...
3👍 2🔥 1
Фото недоступноПоказать в Telegram
💡 Простое решение для маппинга Facet — библиотека для маппинга объектов в C#. Она позволяет легко маппить объекты и работает с проекциями для EF Core. Facet не самая быстрая по производительности, но для большинства задач её возможностей хватает. ➡️ Обзор библиотеки 🐸Библиотека шарписта #буст
Показать все...
😁 4👾 1
Фото недоступноПоказать в Telegram
🧑‍💻 Почему SOAP — это прошлое Когда мы говорим о веб-сервисах, старые технологии вроде SOAP уже не так популярны. Но почему? Такой вопрос, который нам недавно задал подписчик:
Почему SOAP считается устаревшим, а REST стал стандартом?
Сейчас объясним почему REST стал стандартом. SOAP использует XML, который довольно тяжёлый и сложный в обработке. В REST для обмена данными чаще используется JSON — лёгкий формат, который легче читается и быстрее обрабатывается. SOAP требует строгого соблюдения протоколов, что делает его менее гибким. REST, наоборот, позволяет работать с разными форматами данных и требует меньше настроек. REST проще интегрируется с мобильными приложениями, веб-сервисами и современными технологиями. SOAP лучше подходит для сложных корпоративных систем, но для большинства проектов REST подходит гораздо лучше. SOAP был хорош, но сегодня REST предоставляет всё, что нужно для современных приложений. 💬 А вы когда-нибудь использовали SOAP? Поделитесь своим опытом в комментариях 👇 🐸Библиотека шарписта #междусобойчик
Показать все...
👍 12😁 3🤔 3🌚 2
Фото недоступноПоказать в Telegram
💡 Как подготовиться к изменению схемы базы данных Если вы планируете изменить схему базы данных, то важно тщательно подготовиться к этому процессу. В этом посте мы собрали ключевые шаги, которые помогут вам сделать миграцию безопасной и безболезненной. 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. Задокументируйте проблемы и фактические времена выполнения, обновите шаблон миграций. Что бы вы добавили в этот список? 🐸Библиотека шарписта #буст
Показать все...
🔥 8 2
Фото недоступноПоказать в Telegram
🐸Библиотека шарписта #развлекалово
Показать все...
😁 21 1
Фото недоступноПоказать в Telegram
🔥 Успей поднять квалификацию по выгодной цене! Только до 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 дня! 👉 Зафиксировать цену и начать учиться
Показать все...
1
🛠 Как оживить протухшую ветку без merge-хаоса Бывает: вы увлеклись разработкой, прошло пару недель (или месяцев), а основная ветка уже ушла далеко вперёд. В итоге — боль, конфликты и бесконечные merge-коммиты. В таких случаях может спасати ребейз на свежую ветку:
git pull --rebase origin release/1.2.0
Она подтянет последние изменения из релизной ветки и наложит ваши коммиты поверх, сохранив линейную историю. Да, конфликты всё равно придётся разруливать, но по одному — в контексте конкретного коммита, а не в гигантской свалке. После успешного ребейза пушим с --force-with-lease, чтобы аккуратно обновить удалённую ветку, и продолжаем работать так, как будто отставания и не было. 🐸Библиотека шарписта #буст
Показать все...
👍 13🌚 2
Фото недоступноПоказать в Telegram
📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas. Знания без системы — это просто «шум». Они не превращаются в навыки и проекты. Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио. И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок 👉 Превратите «шум» в навык А вы сталкивались с «информационной кашей»? Как выбирались? 👇
Показать все...
🥱 5 4
Фото недоступноПоказать в Telegram
🧑‍💻 Сёрфить .NET без Blazor Можно ли запустить .NET-приложение в браузере без Blazor? Да, существуют несколько альтернативных методов, которые могут подойти для различных проектов. Один из таких методов — это WebAssembly. Эта технология позволяет компилировать .NET-код в байткод, который выполняется в браузере. Однако WebAssembly не поддерживает все возможности .NET, а настройка может быть сложной. Если нужна большая гибкость, можно использовать JavaScript Interop. Этот подход позволяет обмениваться данными между JavaScript и .NET, что дает возможность интегрировать их в одно приложение. Это решение для тех, кто хочет сохранить существующий JavaScript-код, но при этом использовать возможности .NET в клиентской части. Также можно использовать инструменты вроде Mono и CoreRT для компиляции .NET-приложений в WebAssembly, или платформы, такие как Ooui и Uno Platform, которые упрощают перенос .NET-кода в браузер. ➡️ Подробнее про запуск с WebAssembly можно почитать в статье 🐸Библиотека шарписта #буст
Показать все...
7👍 4
Фото недоступноПоказать в Telegram
📺 Хватит коллекционировать туториалы! Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas. Знания без системы — это просто «шум». Они не превращаются в навыки и проекты. Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио. И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок 👉 Превратите «шум» в навык А вы сталкивались с «информационной кашей»? Как выбирались? 👇
Показать все...
🥱 1
Фото недоступноПоказать в Telegram
Ваши коллеги уже изучают .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
Показать все...
3😁 2👍 1
00:15
Видео недоступноПоказать в Telegram
📀 Как настроить 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. 🐸Библиотека шарписта #буст
Показать все...
#буст(7).mp41.44 MB
👍 12🥱 7
Подборка вакансий для шарпистов C# Unity Developer — удалёнка. Разработчик C# (Middle+) — от 230 000 ₽, гибрид (Москва). Senior C# developer — от 4 500 до 5 500 €, удалёнка. Senior C#-разработчик — удалёнка. C# разработчик — от 240 000 до 300 000 . Бустер — Удалённо (в любом городе мира). ➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Показать все...
2
Repost from TgId: 2055368043
Какое утверждение корректно описывает поведение struct с полями-ссылками (ref fields) и использованием ref struct в C#? 👾 — ref struct можно хранить в куче, если он вложен в класс, но доступ к нему осуществляется только по ссылке 👍 — ref struct запрещает захват в замыканиях, хранение в полях классов и boxing, чтобы гарантировать расположение в стеке 🥰 — Обычный struct с полями-ссылками (ref T) компилятор не ограничивает, и их можно хранить в куче без последствий 🥱 — ref struct может быть полем обычного struct, если оба находятся в куче Библиотека задач по C#
Показать все...
👍 37 2🤔 1👾 1
Фото недоступноПоказать в Telegram
🆕 Новостной дайджест Уделите пару минут этой подборке и будете в теме прошедших дней. — 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, находить уязвимости и генерировать тестовые данные. 🐸Библиотека шарписта #свежак
Показать все...
👍 3
Фото недоступноПоказать в Telegram
🧐 Зоопарк моделей в ML: с чего начать? Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии. Кажется, придётся учить всё это, иначе в ML не пустят. Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут. Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное. 👉 Успей попасть на курс «ML для старта в Data Science»
Показать все...
2😁 1
❓ Какое кодовое имя носила Visual Studio 2005Anonymous voting
  • Whidbey — остров у побережья штата Вашингтон
  • Vienna — столица Австрии
  • Redmond — город, где находится штаб-квартира Microsoft
  • Orcas — остров в архипелаге Сан-Хуан
0 votes