💬 Были ли у вас на собесах вопросы, на которые вы не могли или затруднялись ответить? Напишите их в комментариях — разберемся вместе 👇
#холивар
#холивар
👍3🤔1
🗝️ 40 незаменимых API для разработчиков
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
🔗 Читать статью
🔗 Зеркало
Разработчики постоянно ищут способы оптимизировать свою работу. Мы собрали 40 API, которые помогут вам сэкономить время, повысить эффективность и добавить новые функции в ваши проекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3⚡1🔥1
🚔 Code Cop — серия коротких видеоуроков от Ника Чапсаса с полезными советами по C#, .NET и многому другому:
▶️ Stop Using Automapper in .NET!
▶️ One Line of Code Means Clean Code!
▶️ Don't Use Fields in C#! Use Properties Instead
▶️ Remove Braces From Your Code Now!
▶️ Stop Using if else if else In Your Code!
▶️ Stop Using Structured Logging in .NET!
▶️ Your Code Has a SQL Injection!
▶️ Always Use Any over Count in LINQ
▶️ Stop Using Singletons in .NET!
▶️ Stop Using null, Use default Instead in C#
▶️ Don't Use Loops, They Are Slow! Do This Instead
▶️ The readonly Keyword Is Useless!
▶️ Stop Using Properties in C#, Just Use Fields
▶️ Turn All Your Enums Into Bytes Now!
▶️ Stop Using Good Names in Your Code
▶️ Stop Wasting Memory on Strings in C#!
▶️ Repositories in .NET Only Need Two Methods!
▶️ Stop Using Async Await in .NET to Save Threads
▶️ Stop Using Automapper in .NET!
▶️ One Line of Code Means Clean Code!
▶️ Don't Use Fields in C#! Use Properties Instead
▶️ Remove Braces From Your Code Now!
▶️ Stop Using if else if else In Your Code!
▶️ Stop Using Structured Logging in .NET!
▶️ Your Code Has a SQL Injection!
▶️ Always Use Any over Count in LINQ
▶️ Stop Using Singletons in .NET!
▶️ Stop Using null, Use default Instead in C#
▶️ Don't Use Loops, They Are Slow! Do This Instead
▶️ The readonly Keyword Is Useless!
▶️ Stop Using Properties in C#, Just Use Fields
▶️ Turn All Your Enums Into Bytes Now!
▶️ Stop Using Good Names in Your Code
▶️ Stop Wasting Memory on Strings in C#!
▶️ Repositories in .NET Only Need Two Methods!
▶️ Stop Using Async Await in .NET to Save Threads
🥱13👍10❤1🤔1
⭐🎤 Как не облажаться с докладом на IT-конференции
Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.
🔗 Читать статью
🔗 Зеркало
Готовитесь к докладу на IT-конференции? Не хотите оказаться в роли «того самого» докладчика, на которого все жалуются в кулуарах? Узнайте, как не облажаться и сделать свой доклад полезным и запоминающимся.
🔗 Читать статью
🔗 Зеркало
🔥 Базовые понятия, юзкейсы и принцип работы под капотом: введение в primary constructors (C# 12) от Эндрю Лока
Эндрю обсудил их происхождение из типа
🔗 Читать
Эндрю обсудил их происхождение из типа
record
и показал способ значительного сокращения дублирования в классах + два разных подхода, которые вы можете использовать: инициализацию полей и свойств или implicit capture. И многое другое👇Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚡️ .NET 9 (preview 3) добавляет endpoint с метаданными для страницы developer exception
Новые метаданные появляются на вкладке Routing вместе с другой информацией о маршрутизации. Эта информация упрощает отладку ошибок ASP.NET во время разработки.
Новые метаданные появляются на вкладке Routing вместе с другой информацией о маршрутизации. Эта информация упрощает отладку ошибок ASP.NET во время разработки.
👍24👏1
«.NET 8 и улучшения в контейнерах» — доклад C#-разработчика Валерия Никитина (DexSys) про улучшения в контейнерах, которые появились с выходом .NET 8 в релиз.
📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🗺️ Дорожная карта по проектированию API
Пошаговое руководство, которое поможет вам научиться проектировать и создавать надежные API.
👉 Скачать оригинал (PDF-файл в комментариях)
Пошаговое руководство, которое поможет вам научиться проектировать и создавать надежные API.
👉 Скачать оригинал (PDF-файл в комментариях)
👍15🥰2🥱2⚡1
🔄 Миграциии в Entity Framework Core: гайд для C#-разработчика от Milan Jovanovic
🤯 Управление схемами баз данных может стать проблемой по мере роста приложений. Ручные изменения могут быть подвержены ошибкам и занимать много времени, что приводит к несоответствиям между окружением разработки и прода. EF Migrations помогает решить эту проблему, позволяя версионировать схемы баз данных.
⚡️ EF Migrations позволяет определять изменения схемы базы данных в коде. Например, добавление столбца или переименование таблицы. Инструмент отслеживает каждое изменение в модели данных, что позволяет уверенно просматривать, тестировать и применять изменения.
👉 Читать гайд
🤯 Управление схемами баз данных может стать проблемой по мере роста приложений. Ручные изменения могут быть подвержены ошибкам и занимать много времени, что приводит к несоответствиям между окружением разработки и прода. 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, and more.
👍14❤1🤩1
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Команда .NET MAUI Community Toolkit представила восьмую версию набора инструментов. В этом обновлении появились долгожданная поддержка
TouchBehavior
(ранее известного как TouchEffect`), изменения в работе `Snackbar
на Windows, а также новые возможности, включая изменение цвета навигационной панели на Android.Если вы использовали Xamarin Community Toolkit в своих приложениях Xamarin.Forms, вы, вероятно, знакомы с
TouchEffect
. В .NET MAUI эффекты были устаревшими, и их следовало заменить на PlatformBehaviors
. Именно это и было сделано для реализации данной функциональности в .NET MAUI.TouchBehavior
позволяет взаимодействовать с любым визуальным элементом в вашем приложении на основе касаний, кликов мыши и событий наведения. Реализация TouchBehavior
дает возможность настраивать различные визуальные свойства элемента, к которому он прикреплен, такие как цвет фона, непрозрачность, поворот и масштаб. Кроме того, TouchBehavior
позволяет реализовывать жесты длительного нажатия и выполнять код при длительном нажатии на любой визуальный элемент.👉 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁4🔥1
💬 А как в вашем проекте накатываются изменения в основную ветку?
👍 — создаю pull request и жду его одобрения перед мержем
🔥 — мержу изменения напрямую в основную ветку
❤️ — прохожу через код-ревью перед мержем
🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов
👾 — свой вариант (напишу в комментариях)
#холивар
👍 — создаю pull request и жду его одобрения перед мержем
🔥 — мержу изменения напрямую в основную ветку
❤️ — прохожу через код-ревью перед мержем
🤔 — использую автоматическую систему CI/CD для мержа после прохождения всех тестов
👾 — свой вариант (напишу в комментариях)
#холивар
👍76❤32🔥24🤔11👾1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
☑️ Искусственный интеллект: введение новых инструментов и скриптов для создания приложений с поддержкой ИИ, включая интеграцию с облачными сервисами и библиотеками, такими как 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
👉 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Атрибут
StringSyntax
(.NET 7+) позволяет нам сообщить Visual Studio, с каким типом строки (например, регулярное выражение, формат datetime, JSON и т. д.) мы работаем, чтобы получить корректный IntelliSense и подсветку синтаксиса.#dotnet #tip #visualstudio by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
❤39👍28⚡1
🧰 MemoryCache, DistributedCache и HybridCache: краткий обзор от Steven Giesel новых вич, появившихся в .NET 9 Preview 4
📌
• Простой пример:
• Пример упрощенного использования
📌
• Пример регистрации Redis в качестве провайдера кеша:
• Пример регистрации SQL Server в качестве провайдера кеша:
• Пример использования
📌
✅
📌
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