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

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

@csharpproglib

Все самое полезное для C#-разработчика в одном канале.

Наши курсы: https://clc.to/y3LDtw

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Subscribers
21.6K
Photos
2.9K
Videos
46
Links
5.4K

Showing posts older than #5692 · Back to latest

Older Posts 20 shown
Post #5690 6.61K
❓ Всё ещё пишете на Entity Framework или уже перешли на Dapper

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

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

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

🐸Библиотека шарписта #междусобойчик
  • 🤔 7
  • 👍 6
  • 😢 2
  • 👾 1
Post #5689 7.38K
✅ Чек-лист: правильное использование 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 — это не просто удобство, а инструмент, требующий понимания его тонкостей.

🐸Библиотека шарписта #буст
  • 👍 26
  • ❤ 8
  • 🥱 4
  • 🔥 2
Post #5687 6.76K
⌨️ Создание alias для частых команд

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

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

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


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

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

🐸Библиотека шарписта #буст
  • 👍 15
  • 🔥 3
Post #5686 5.69K

Forwarded from Библиотека питониста | Python, Django, Flask

📝 Структуры данных: ТОП-30 вопросов и ответов для собеседований в 2025 году

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

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

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

Библиотека питониста
  • 😁 8
  • 👍 3
  • ❤ 1
  • 😢 1
  • 👾 1
Post #5685 6.5K
Как избежать утечек памяти в .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() .

🐸Библиотека шарписта #буст
  • 🤔 13
  • 👍 12
  • 😁 2
  • 💯 2
  • 🌚 1
Post #5684 6.33K
🚀 EF Core 9 в MongoDB

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

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

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

🐸Библиотека шарписта #свежак
  • 🤩 7
  • ❤ 2
  • 👏 2
  • ❤‍🔥 1
  • 👍 1
Post #5682 5.94K

Forwarded from Библиотека собеса по C# | вопросы с собеседований

✍🏻 Запишите названия всех этапов жизненного цикла страницы ASP.NET

— Запрос страницы
— Начало жизненного цикла страницы
— Инициализация страницы
— Загрузка страницы
— Проверка
— Обработка событий постбэка
— Рендеринг страницы
— Выгрузка
  • 😁 16
  • 🥱 8
  • 😢 1
Post #5681 6.84K
📰 Что произошло за неделю

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

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

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

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

🐸Библиотека шарписта #свежак
  • 👍 2
Post #5680 45.4K
😧 58% IT-специалистов страдают: психология успеха и борьба с синдромом самозванца

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

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

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

🐸Библиотека шарписта
  • 👍 4
  • 😁 3
  • 👾 1
Post #5679 5.84K
👶 Объясни как пятилетке: кэш

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

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

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


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

🐸Библиотека шарписта #междусобойчик
  • 👍 15
  • 🥱 9
  • 😁 6
  • ❤ 1
Post #5678 4.83K

Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate

🎉 Поздравляем с 8 марта

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

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

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

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

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

🐸 Библиотека джависта
  • 🥰 16
  • 👍 8
  • 👏 1
  • 🥱 1
Post #5676 26.3K
#️⃣🔄 Асинхронность в Unity: лучше или хуже, чем корутины?

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

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

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

🐸Библиотека шарписта
  • 👍 6
  • ❤ 1
  • 🤩 1
Post #5675 6.01K
💬 Шаблон для своего чата с ИИ

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

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

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

🚀 Как начать

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


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

🐸Библиотека шарписта #буст
  • 👾 6
  • 👍 3
  • 🌚 2
  • ❤ 1
Post #5674 5.83K
🤔 Какую IDE выбрать

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

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


🐸Библиотека шарписта #междусобойчик
  • 🔥 3
  • 🤔 1
Post #5672 5.9K
🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик

Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.

IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии

Библиотека программиста — новости из мира IT и технологий

Книги для программистов — самые годные книги по любым языкам и стекам

IT-мемы — мемы про жизу айтишника

Proglib Academy — обучение и курсы, чтобы стать топовым специалистом

Азбука айтишника — азы из мира разработки

Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ

Библиотека фронтендера — все о JS, React, Angular и не только

Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin

Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься

Библиотека тестировщика — самое интересное о том, как крашить код

🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go

#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#

🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE

🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel

🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask

☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java

📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science

🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
  • ❤ 4
  • 👍 3
  • 🥱 2
  • 🔥 1
  • 🌚 1
Post #5671 5.92K
🚰 Потоковая обработка данных

IAsyncEnumerable<T> — это асинхронный аналог IEnumerable<T>. Вместо обычного foreach можно использовать await foreach, а для получения элементов асинхронно yield return вместе с async и await.

Рассмотрим на примере. C IAsyncEnumerable данные обрабатываются по мере поступления, то есть не нужно ждать загрузки всех данных в память:
public async IAsyncEnumerable<int> GetNumbersAsync()
{
for (int i = 1; i <= 5; i++)
{
await Task.Delay(500);
// Имитируем задержку (асинхронно!)
yield return i;
// Возвращаем элемент сразу, не дожидаясь всех остальных
}
}

await foreach (var number in GetNumbersAsync())
{
Console.WriteLine(number);
// Выводит числа по мере их поступления!
}


IAsyncEnumerable<T> – это как потоковое видео, а IEnumerable<T> — это скачивание всего фильма перед просмотром.

🐸Библиотека шарписта #буст
  • 👍 23
  • ❤ 3
  • 🤩 3
  • 👾 2
  • 😁 1
Post #5670 4.22K

Forwarded from Proglib.academy | IT-курсы

🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

Статья, которая поможет развить навыки решения задач с помощью математики.

➡️ Вот что вас ждет

1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.

2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.

3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.

4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.

🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».

👉 Читать статью
  • 😁 6
  • 🌚 3
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →