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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🤔 Какую IDE выбрать

Сколько разработчиков – столько мнений. Одни держатся за Visual Studio, несмотря на её «вес» в 100 ГБ. Другие фанатеют от Rider, но не хотят платить. А кто-то вообще пишет C# в VS Code и не парится.

👉 Может, пора менять дефолтную IDE? Или старый добрый VS всё ещё впереди? Давайте разберёмся в комментариях


🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤔1
💬 Шаблон для своего чата с ИИ

Microsoft в новом превью представили шаблон для разработки чат-приложений c ИИ.

Шаблон позволяет создать интерфейс чата, который может взаимодействовать с образцами PDF-файлов или вашими собственными данными, используя паттерн Retrieval Augmented Generation (RAG).

Сгенерированный код включает UI-компоненты для взаимодействия в чате, отслеживания цитат и предложений для дальнейших действий.

🚀 Как начать

Достаточно установить шаблон командой:
dotnet new install Microsoft.Extensions.AI.Templates


🤔 Уже появились идеи как это использовать?

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👾6👍3🌚21
#️⃣🔄 Асинхронность в Unity: лучше или хуже, чем корутины?

Unity развивается, и старые добрые корутины постепенно уступают место асинхронным методам.

Мы привыкли к StartCoroutine(), но стоит ли переходить на Task? Разбираем плюсы и минусы каждого подхода.

📎 Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁412👍2🥱1
🎉 Поздравляем с 8 марта

Сегодня отмечаем вклад девушек-разработчиков, аналитиков, тестировщиков, тимлидов и всех, кто влюблён в код. Без вас IT не было бы таким, каким мы его знаем. С праздником, коллеги 💐

Женщины оставили огромный след в истории IT. Если вам кажется, что программирование — это исключительно «мужская территория», взгляните, вот лишь несколько легендарных женщин:

🔹 Ада Лавлейс — автор первой компьютерной программы ещё в 19 веке.
🔹 Грейс Хоппер — создала первый компилятор и популяризировала термин «баг».
🔹 Барбара Лисков — её принцип Liskov Substitution является основой ООП, в том числе в Java.
🔹 Эдит Кларк — первая женщина-инженер, внесшая вклад в вычислительные методы в энергетике.
🔹 Маргарет Гамильтон — разработала софт для посадки «Аполлона-11» на Луну.

А это только малая часть. В статье собраны ещё больше вдохновляющих историй.

🔗 Подробнее в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰16👍8👏1🥱1
👶 Объясни как пятилетке: кэш

Задача: объясните простыми словами что такое кэширование так, чтобы понял даже пятилетний ребенок.

Например:
Представь, что ты любишь есть печенье, и оно хранится на кухне в большой банке. Каждый раз, когда тебе хочется печенье, ты бегаешь на кухню, открываешь банку, берёшь одно и возвращаешься. Но это долго и утомительно!

А теперь представь, что ты положил тарелочку с печеньем рядом с собой. Теперь, когда ты хочешь ещё одно печенье, тебе не нужно бежать на кухню – оно уже рядом!


В понедельник выберем самое креативное объяснение. Ждём ваши варианты в комментариях 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🥱9😁61
😧 58% IT-специалистов страдают: психология успеха и борьба с синдромом самозванца

Синдром самозванца — не просто модный термин, а реальная проблема, с которой сталкиваются даже опытные разработчики. Почему так происходит и как с этим бороться? Разбираемся в причинах «стандартной болезни айтишников»

➡️ Читайте в статье

Спойлер: дело не в навыках, а в психологии успеха

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁3👾1
📰 Что произошло за неделю

Собрали для вас главные события и контент минувших семи дней.

🔄 Превью .NET 10 — Microsoft представили превью новой версии своего фреймворка.

⚡️ Visual Studio v17.13улучшения включают улучшенную поддержку отладки асинхронных стеков в профайлере .NET и лучшую визуализацию многопроцессорного выполнения.

📊 Итоги опроса про работу — Proglib проводили исследование о рынке труда. Самое время поделиться результатами.

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
✍🏻 Запишите названия всех этапов жизненного цикла страницы ASP.NET

— Запрос страницы
— Начало жизненного цикла страницы
— Инициализация страницы
— Загрузка страницы
— Проверка
— Обработка событий постбэка
— Рендеринг страницы
— Выгрузка
😁16🥱8😢1
🚀 EF Core 9 в MongoDB

Отличные новости для .NET-разработчиков. MongoDB обновил провайдер для Entity Framework Core, добавив поддержку EF Core 9.

➡️ Подробнее про обновление

Если уже пробовали новую версию, делитесь впечатлениями 👇

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩72👏2❤‍🔥1👍1
Как избежать утечек памяти в .NET

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

1️⃣ Отписывайтесь от обработчиков событий

Если объект подписался на событие и не отписался, он останется в памяти.

Решение: Используйте -=, чтобы отписаться от события:
eventHandler.SomeEvent -= MyEventHandler;


2️⃣ Освобождайте неуправляемые ресурсы

Подключения к БД, файлы и сокеты могут не освобождаться автоматически.

Решение: Реализуйте IDisposable
class MyClass : IDisposable {
public void Dispose() {
// Очистка ресурсов
}
}


Используйте using, чтобы автоматически вызвать Dispose():
using (var obj = new MyClass()) { /* работа с объектом */ }


3️⃣ Следите за статическими ссылками

Статические переменные хранят объекты в памяти на весь срок работы приложения.

Решение: Используйте WeakReference, если объект не должен жить вечно:
WeakReference<MyObject> weakRef = new WeakReference<MyObject>(new MyObject());


4️⃣ Разрывайте циклические ссылки

Если два объекта ссылаются друг на друга, сборщик мусора не сможет их удалить.

Решение: используйте WeakReference или GC.Collect() .

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔13👍12😁2💯2🌚1
📝 Структуры данных: ТОП-30 вопросов и ответов для собеседований в 2025 году

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

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

📄 Прочитайте статью и укрепите свои знания https://proglib.io/sh/1uYAygzIxr

Библиотека питониста
😁8👍31😢1👾1
⌨️ Создание alias для частых команд

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

Например, вместо длинного git log --oneline --graph --all --decorate, можно настроить удобный git lg, который покажет красивую и наглядную историю коммитов:

Вот как это сделать:
git config --global alias.lg "log --oneline --graph --all --decorate"


Теперь git lg покажет красивую историю коммитов.

💬 Пользуетесь алиасами? Какие вводите чаще всего? Делитесь в комментариях 👇

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3
Чек-лист: правильное использование LINQ в C#

Этот чек-лист поможет вам писать чистый и оптимальный LINQ-код без лишних операций и ошибок:

Основные принципы LINQ
✓ Понимать разницу между IEnumerable<T> и IQueryable<T>
✓ Фильтровать (Where()) данные как можно раньше в цепочке вызовов.
✓ Извлекать (Select()) только нужные поля, а не всю сущность.
✓ Использовать Any() вместо Count() > 0 для проверки наличия элементов.
✓ Избегать многократных проходов по коллекции (повторных .Where(), .Select())
✓ Знать разницу между отложенным и немедленным выполнением.

Работа с Where, Select, FirstOrDefault
✓ Не использовать Where().FirstOrDefault() – просто FirstOrDefault().
✓ Вызывать Where() перед Select(), а не наоборот.
✓ Использовать FirstOrDefault(predicate), если проверяется только одно значение.

Nullable
✓ Использовать ?? для значений, которые могут быть null.
✓ Использовать DefaultIfEmpty() при GroupBy().

Избегание дублирующих данных
✓ Использовать Distinct() для уникальных значений.
✓ Использовать Union() для объединения без дубликатов.
✓ Использовать Except() и Intersect() для разницы между коллекциями.

Помните, что LINQ — это не просто удобство, а инструмент, требующий понимания его тонкостей.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍268🥱4🔥2
Всё ещё пишете на Entity Framework или уже перешли на Dapper

EF, Dapper, ADO.NET… ORM vs чистый SQL – споры не утихают!

💭 Кто-то остаётся на EF Core, потому что удобство важнее всего.
🚀 Кто-то выбирает Dapper ради скорости и контроля.
⚖️ А кто-то комбинирует оба подхода, используя сильные стороны каждого.

А какой ваш путь? Почему именно этот инструмент, что помогло, а что оказалось головной болью? Делитесь в комментах! 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7👍6😢2👾1
⭐️ Новый выпуск .NET Rocks

C# 13 уже на горизонте! Какие изменения нас ждут, и стоит ли разработчикам опасаться очередного «революционного» обновления? В новом выпуске подкаста .NET Rocks! ведущий архитектор C#, раскрывает детали будущего языка.

🧐 О чем выпуск

• Будущее C# — какие новые возможности появятся в C# 13.

• Как Microsoft принимает решения о развитии языка.

• Как новые фичи повлияют на разработчиков.

Если вы работаете с .NET, этот выпуск точно стоит послушать.

➡️ Слушать подкаст

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5
Нужна ли математика программисту

Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.

➡️ Что внутри:

✓ Почему все считают, что программисты — математики

✓ В каких сферах разработки можно вообще не знать математику

✓ Где хватит готовых библиотек, а где придётся разбираться в формулах

✓ Какие области программирования требуют мощного математического бэкграунда

✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science

✓ Топ книг, которые помогут понять и даже полюбить математику

🔵 Чтобы знать математику, забирайте наш курс → «Математика для Data Science»

📎 Читать статью

Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Любите делать техдолг?

🐸Библиотека шарписта #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17💯4👍1
🚀 CQRS, DDD, Event Sourcing — мощные паттерны или способ усложнить жизнь

В мире .NET (и не только) многие разработчики рано или поздно сталкиваются с модными архитектурными подходами: CQRS, DDD и Event Sourcing. Но где проходит граница между «правильной» архитектурой и бессмысленным оверинжинирингом.

💬 Как думаете, эти патерны — must-have или бесполезный оверхед? Делитесь своим опытом! 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍3