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 #4820 · Back to latest

Older Posts 17 shown
Post #4818 5.58K

Forwarded from Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck

❤️ Активация с первого взгляда: как влюбить пользователя в продукт

Хотите научиться превращать случайных посетителей в преданных фанатов? Рассказываем, как повысить активацию пользователей, отличить ее от aha-момента и использовать эти знания для кратного роста количества активных пользователей.

🔗 Читать статью
🔗 Зеркало
  • 👍 2
Post #4817 5.86K
☝️Схема типичного стартапа ☝️

💬 Есть здесь те, кто работает в стартапе? Что скажете?

#холивар
  • 😁 40
  • 👍 8
  • ❤ 1
Post #4816 5.81K
🧰 MemoryCache, DistributedCache и HybridCache: краткий обзор от Steven Giesel новых вич, появившихся в .NET 9 Preview 4

📌 MemoryCache — структура данных для кеширования объектов в памяти.

• Простой пример:

public async Task<IActionResult> GetBlogPost(int id)
{
var cacheKey = $"BlogPost_{id}";
if (!_memoryCache.TryGetValue(cacheKey, out BlogPost blogPost))
{
blogPost = await _blogRepository.GetBlogPostByIdAsync(id);
_memoryCache.Set(cacheKey, blogPost);
}
return Ok(blogPost);
}


• Пример упрощенного использования MemoryCache:

public async Task<IActionResult> GetBlogPost(int id)
{
var cacheKey = $"BlogPost_{id}";
var blogPost = await _memoryCache.GetOrCreateAsync(cacheKey, async entry =>
{
return await _blogRepository.GetBlogPostByIdAsync(id);
});
return Ok(blogPost);
}


📌 IDistributedCache используется для кеширования между несколькими сервисами и/или для сохранения данных на длительный срок (переживание перезагрузок сервера).

• Пример регистрации Redis в качестве провайдера кеша:

builder.Services.AddStackExchangeRedisCache(options => { ... });


• Пример регистрации SQL Server в качестве провайдера кеша:

builder.Services.AddDistributedSqlServerCache(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("DistCache_ConnectionString");
options.SchemaName = "dbo";
options.TableName = "TestCache";
});


• Пример использования IDistributedCache:

public class SomeService(IDistributedCache cache)
{
public async Task<SomeInformation> GetSomeInformationAsync(string name, int id, CancellationToken token = default)
{
var key = $"someinfo:{name}:{id}";
var bytes = await cache.GetAsync(key, token);
SomeInformation info;
if (bytes is null)
{
info = await SomeExpensiveOperationAsync(name, id, token);
bytes = SomeSerializer.Serialize(info);
await cache.SetAsync(key, bytes, token);
}
else
{
info = SomeSerializer.Deserialize<SomeInformation>(bytes);
}
return info;
}

private async Task<SomeInformation> SomeExpensiveOperationAsync(string name, int id, CancellationToken token = default)
{
// ... Реализация
}
}


📌 HybridCache совмещает функции MemoryCache и DistributedCache. Простой пример использования:

public class SomeService(HybridCache cache)
{
public async Task<SomeInformation> GetSomeInformationAsync(string name, int id, CancellationToken token = default)
{
return await cache.GetOrCreateAsync(
$"someinfo:{name}:{id}",
async cancel => await SomeExpensiveOperationAsync(name, id, cancel),
token: token
);
}
}


✅ HybridCache поддерживает явное удаление по ключу, настройку сериализации и позволяет избежать некоторых проблем IDistributedCache.
Steven-Giesel MemoryCache, DistributedCache and HybridCache The latest preview (.NET 9 preview 4) brought another caching structure to the .NET world - so let's order some things here.
  • 👍 18
  • ❤ 2
  • 🤔 1
Post #4815 7.14K
👩‍💻 Атрибут StringSyntax в действии

Атрибут StringSyntax (.NET 7+) позволяет нам сообщить Visual Studio, с каким типом строки (например, регулярное выражение, формат datetime, JSON и т. д.) мы работаем, чтобы получить корректный IntelliSense и подсветку синтаксиса.

#dotnet #tip #visualstudio by Dave Callan
  • ❤ 39
  • 👍 28
  • ⚡ 1
Post #4811 7.75K
🔥 А вы уже смотрели Microsoft Build 2024? Вот только некоторые анонсы, о которых известно на текущий момент:

☑️ Искусственный интеллект: введение новых инструментов и скриптов для создания приложений с поддержкой ИИ, включая интеграцию с облачными сервисами и библиотеками, такими как OpenAI и Qdrant.

☑️ .NET Aspire: новый стэк для создания cloud-native распределенных приложений, который уже доступен для использования.

☑️ C# 13: улучшения существующих возможностей C# и повышение производительности — params, interfaces, extension types.

☑️ Обновления библиотек и фреймворков .NET, включая ASP.NET Core, Blazor, .NET MAUI и другие.

☑️ Интеграция с ИИ и мониторинг: инструменты для работы приложений, использующих большие языковые модели (LLM).

☑️ Облачные технологии: улучшения для разработки cloud-native приложений, включая уменьшение размера контейнеров и использование .NET Aspire для упрощения разработки и деплоя.

☑️ Кроссплатформенная разработка: развитие .NET MAUI для создания приложений на iOS, Android, Mac и Windows.

P. S. Кстати, на Ubuntu 24.04 вы можете сделать вот так:


sudo apt update
sudo apt install dotnet8


👉 Подробнее
  • 👍 25
Post #4810 6.6K
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Post #4809 6.11K
💬 А как в вашем проекте накатываются изменения в основную ветку?

👍 — создаю pull request и жду его одобрения перед мержем
🔥 — мержу изменения напрямую в основную ветку
❤️ — прохожу через код-ревью перед мержем
🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов
👾 — свой вариант (напишу в комментариях)

#холивар
  • 👍 76
  • ❤ 32
  • 🔥 24
  • 🤔 11
  • 👾 1
Post #4807 6.61K
🔥 Анонс .NET MAUI Community Tookit v8

Команда .NET MAUI Community Toolkit представила восьмую версию набора инструментов. В этом обновлении появились долгожданная поддержка TouchBehavior (ранее известного как TouchEffect`), изменения в работе `Snackbar на Windows, а также новые возможности, включая изменение цвета навигационной панели на Android.

Если вы использовали Xamarin Community Toolkit в своих приложениях Xamarin.Forms, вы, вероятно, знакомы с TouchEffect. В .NET MAUI эффекты были устаревшими, и их следовало заменить на PlatformBehaviors. Именно это и было сделано для реализации данной функциональности в .NET MAUI.

TouchBehavior позволяет взаимодействовать с любым визуальным элементом в вашем приложении на основе касаний, кликов мыши и событий наведения. Реализация TouchBehavior дает возможность настраивать различные визуальные свойства элемента, к которому он прикреплен, такие как цвет фона, непрозрачность, поворот и масштаб. Кроме того, TouchBehavior позволяет реализовывать жесты длительного нажатия и выполнять код при длительном нажатии на любой визуальный элемент.

👉 Подробнее
  • 👍 13
  • 😁 4
  • 🔥 1
Post #4805 6.47K
⚡️Proglib запускает канал про ИИ для генерации звука

Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.

⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков

👉Подписывайтесь!
  • ❤ 4
  • ⚡ 1
Post #4804 7.67K
🔄 Миграциии в Entity Framework Core: гайд для C#-разработчика от Milan Jovanovic

🤯 Управление схемами баз данных может стать проблемой по мере роста приложений. Ручные изменения могут быть подвержены ошибкам и занимать много времени, что приводит к несоответствиям между окружением разработки и прода. EF Migrations помогает решить эту проблему, позволяя версионировать схемы баз данных.

⚡️ EF Migrations позволяет определять изменения схемы базы данных в коде. Например, добавление столбца или переименование таблицы. Инструмент отслеживает каждое изменение в модели данных, что позволяет уверенно просматривать, тестировать и применять изменения.

👉 Читать гайд
Milan Jovanović EF Core Migrations: A Detailed Guide In this newsletter, we'll break down the essentials of EF Migrations. We'll explore creating migrations, SQL scripts, applying migrations, migration tooling…
  • 👍 14
  • ❤ 1
  • 🤩 1
Post #4803 6.21K

Forwarded from Библиотека программиста

🗺️ Дорожная карта по проектированию API

Пошаговое руководство, которое поможет вам научиться проектировать и создавать надежные API.

👉 Скачать оригинал (PDF-файл в комментариях)
  • 👍 15
  • 🥰 2
  • 🥱 2
  • ⚡ 1
Post #4797 7.33K
«.NET 8 и улучшения в контейнерах» — доклад C#-разработчика Валерия Никитина (DexSys) про улучшения в контейнерах, которые появились с выходом .NET 8 в релиз.

📺 Смотреть
  • 👍 6
  • 😁 2
Post #4796 7.82K
⚡️ .NET 9 (preview 3) добавляет endpoint с метаданными для страницы developer exception

Новые метаданные появляются на вкладке Routing вместе с другой информацией о маршрутизации. Эта информация упрощает отладку ошибок ASP.NET во время разработки.
  • 👍 24
  • 👏 1
Post #4795 7.19K
🔥 Базовые понятия, юзкейсы и принцип работы под капотом: введение в primary constructors (C# 12) от Эндрю Лока

Эндрю обсудил их происхождение из типа record и показал способ значительного сокращения дублирования в классах + два разных подхода, которые вы можете использовать: инициализацию полей и свойств или implicit capture. И многое другое👇

🔗 Читать
  • 👍 7
Post #4794 5.98K

Forwarded from Библиотека хакера | Hacking, Infosec, ИБ, информационная безопасность

⭐🎤 Как не облажаться с докладом на IT-конференции

Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.

🔗 Читать статью
🔗 Зеркало
Post #4793 7.19K
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 →