Библиотека шарписта | 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
🔄 .NET Aspire 9.1: новые возможности

Microsoft продолжает улучшать экосистему .NET, и в последнем обновлении .NET Aspire 9.1 появилось немало полезных фич. Давайте посмотрим что нового.

Ключевые обновления

1️⃣ Отношения ресурсов — теперь на панели управления можно видеть иерархию ресурсов, где «родительские» и «дочерние» ресурсы отображаются вложенно.

2️⃣ Переопределение локализации — появилась возможность изменять язык панели управления независимо от настроек браузера, что обеспечивает большую гибкость для пользователей из разных регионов.​

3️⃣ Фильтрация ресурсов — на странице ресурсов добавлены фильтры по типу ресурса, состоянию и состоянию здоровья, что облегчает навигацию и управление.​

4️⃣ Расширенные детали ресурсов — при выборе ресурса в панели управления теперь отображаются дополнительные данные, включая ссылки, обратные ссылки и тома с их типами монтирования.​

5️⃣ Поддержка CORS для локальных доменов — введена возможность настройки переменной окружения DOTNET_DASHBOARD_CORS_ALLOWED_ORIGINS, позволяющая панели управления получать телеметрию от других браузерных приложений, работающих на пользовательских локальных доменах.​

6️⃣ Гибкость работы с консольными логами — теперь можно загружать логи для анализа в сторонних диагностических инструментах, а также очищать их прямо с панели управления.

📎 Подробнее в блоге компании

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📱 GitHub в стиле TikTok

GitTok — это новый способ исследовать репозитории GitHub.

Вместо привычного поиска и просмотра списков, пользователи просто свайпают через репозитории, как в TikTok, мгновенно получая основную информацию: описание, количество звёзд и недавнюю активность.

➡️ Полистать репозитории

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😁33👍3😢3🥱3
↔️ Миграция C на F

Нашли промт, который превратит нейросеть в разработчика и на C#, и на F#, чтобы помочь вам с миграцией кодовой базы:

As a C# and F# specialist, your task is to guide the migration from C# to F# for a specific project or codebase. Your goal is to provide a comprehensive plan that outlines the steps, considerations, and potential benefits of this transition.

Here is the format you will use to present your recommendations:

---

## Current C# Codebase
$current_codebase_description

## Reasons for Migrating to F#
$reasons_for_migration

## Migration Plan
1. $migration_step_1
2. $migration_step_2
3. $migration_step_3
4. $migration_step_4
5. $migration_step_5

## Potential Challenges and Mitigation Strategies
$potential_challenges
$mitigation_strategies

## Expected Benefits of F#
$expected_benefits

---

Please provide your detailed migration plan and recommendations for transitioning the codebase from C# to F#.


Вы когда-нибудь переписывали функционал с одного языка на другой? Делитесь своими впечатлениями в комментариях ⬇️

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚7👍3👾31😁1
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

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

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

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

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

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

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

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

👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🌚3👍1
🚰 Потоковая обработка данных

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> — это скачивание всего фильма перед просмотром.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍223🤩3👾2😁1
🏃‍♀️ 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++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🥱2🔥1🌚1
🤔 Какую 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