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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
📄Самый простой способ создания PDF-файлов в .NET: гайд по использованию QuestPDF от Ника Чапсаса

📺 Смотреть
👍15🔥1😢1
Результаты ежегодного опроса разработчиков StackOverflow: 20+ главных инсайтов 2023 года

В данной статье мы собрали 20+ главных инсайтов, которые помогут лучше понять, что происходит в ИТ-сфере в мире.

🔗 Читать статью
🔗 Зеркало
🥱21👍1
⚡️Подборка за неделю

📌С Code Maze:

🔹
Управление каталогами с помощью Directory и DirectoryInfo в C#: простой практический гайд
🔹
Архитектурный паттерн Strangler Fig на C#: от теории к практике
🔹
Как создать строку запроса для URL-адреса на C#: примеры различных подходов
🔹
Обработка дат с помощью Noda Time в .NET: работа с датами без лишних проблем
🔹
Как принудительно запустить приложение .NET от имени администратора: без лишних прелюдий про безопасность

📌С официального блога .NET:

🔸
Новая функция компилятора F#: проверка типов на основе графов
🔸
Что нового в идентификации в .NET 8: введение в идентификацию в .NET 8 с примерами кода для защиты API, создания UI на основе Blazor и интеграции аутентификации в приложения Blazor WebAssembly
🔸Удобство System.IO: анализ удобства и производительности файлового ввода-вывода и текстовых API, применяемых для подсчета строк, слов и байтов

#dotnet #dotnet8 #csharp #codemaze #матчасть
👍5
🤔Динамика закрытия пулл-реквестов, прирост кодовой базы, активность разработчиков по часам и по дням недели и многое другое... Что только не придумают для оценки производительности разработчика.

💬А в вашей команде есть метрики оценки личной производительности? Если да, то какие и как они измеряются?

#холивар
🌚1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🔥2
💡Интерфейсы могут иметь частные методы: по мотивам новой фичи C# 8 Default interface methods

🔸Методы интерфейса по умолчанию позволяют нам определить реализацию по умолчанию для метода в интерфейсе.

🔸Это полезно, когда мы хотим добавить новый метод к интерфейсу, но не хотим разрушать все классы, реализующие этот интерфейс:
public interface IMyInterface
{
public void MyMethod()
{
// Do something
}
}

public class MyClass : IMyInterface
{
// I don't need to implement MyMethod
}

🔸Но при его использовании мы не можем вызывать MyMethod из MyClass:
var myClass = new MyClass();
myClass.MyMethod(); // This won't compile

IMyInterface myInterface = myClass;
myInterface.MyMethod(); // This will compile

🔸И чтобы еще больше усложнить этот беспорядок, мы также можем провести рефакторинг:
public interface IMyInterface
{
public void MyMethod()
{
MyPrivateMethod();
}

private void MyPrivateMethod()
{
// Do something
}
}

#tip by Steven Giesel
🤔21👍53🥱3🌚2
Как в Rider реализована отладка .NET WebAssembly: тонкости реализации интерфейса IDE для отладки Blazor WASM и всех вариантов приложений .NET, ориентированных на WebAssembly.

👉 Читать
🔥51👍1
Как подсчитывать RPS (Requests per second) эффективно: на заметку C#-разработчику

#dotnet #tip by Egor Bogatov
🔥26👍52
Хотите готовиться к собеседованию по C# и не только на реальных примерах? Тогда пост ниже для вас👇
💯6
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🙇‍♂️Коллекция тестовых заданий для самостоятельного выполнения от разных ИТ-компаний, собранная сообществом вместе с командой Хекслет: маст-хэв при подготовке к собесу.

🔗 GitHub
👍1615
🤔Single() или First(): поймите абстракции, которые вы используете

Как часто вы думаете об используемых вами абстракциях и их преимуществах? First() быстрее, чем Single()? Это имеет значение? Ответы на эти и другие вопросы — в заметке Derek Comartin.

👉 Читать & Смотреть
🥱5👍3
⚡️Как проходят ваши выходные? Кажется, этот пост может немного изменить планы.

Перед вами новый курс «C# для начинающих», в котором Scott Hanselman и David Fowler из команды .NET обучают современному C# с нуля: от Hello World до LINQ и многого другого. И да, это еще не все!

👨‍🎓Что такое С#?
👨‍🎓Hello World!
👨‍🎓Основы VS Code и C# DevKit
👨‍🎓Введение в строки
👨‍🎓Основы строк
👨‍🎓Поиск строк
👨‍🎓Числа и математика
👨‍🎓Numbers, Precision, Casting, Doubles и многое другое
👨‍🎓Ветвление, if и условная логика
👨‍🎓Ветвление и циклы while
👨‍🎓Циклы for
👨‍🎓List T и коллекции данных
👨‍🎓Arrays, Lists, Indexing и Foreach
👨‍🎓Сортировка и поиск в списках
👨‍🎓LINQ и IEnumerable
👨‍🎓LINQ From, Where, Orderby и Select
👨‍🎓LINQ Method Syntax vs Query
👨‍🎓ООП
👨‍🎓ООП с производными или абстрактными классами, переопределения, IEnumerable
👍22🥱621
🔐Реализация distributed locks в .NET Core с помощью Redis или ZooKeeper

🌐В современных приложениях и сложных системах часто встречается необходимость в контролированном доступе к общим ресурсам. Это может быть файл, API-эндпоинт или структура данных в памяти. С развитием распределенных систем и микросервисной архитектуры растет потребность в эффективном управлении доступом к этим ресурсам.

📌Главная цель distributed locks — обеспечить, чтобы среди нескольких узлов, процессов или потоков, конкурирующих за доступ к какому-либо общему ресурсу, только один мог успешно получить доступ к этому ресурсу в любой момент времени.

💡Узнайте подробнее о distributed locks и их реализации в .NET Core с использованием Redis и ZooKeeper.
11👍7
🤔Как найти медленные запросы в Entity Framework?

💡Данный функционал предоставляет система EF interceptor, с помощью которой мы подключаемся к событию ReaderExecuted, и отслеживаем время выполнения запросов.

☑️Никто не отменял старые добрые логи, а также если вы используете SQL Azure, там все отображается из коробки.

#efcore #tip by Dave Callan
32👍14🔥1
👨‍💻Test Driven Development с Blazor

📺Запись вебинара от JetBrains с техдиром Lean TECHniques Скоттом Заубером о TDD применительно к разработке Blazor. Вы узнаете как основы разработки через тестирование, так и применение этой техники для разработки фронта, несмотря на то, что многие говорят «это сложно» или даже «невозможно».

⚒️В ходе демонстрации Скотт использует Live Templates в Rider, которые также могут быть вам интересны. Здесь он рассказывает про:

• xf для генерации xUnit Fact без async
• xfa для генерации async xUnit Fact
• xt для генерации xUnit Theory без async
• xta для генерации async xUnit Theory
👍61
💬 Подкаст RadioDotNet: C# Next, подпольный DU от MS, async code smells

😎О последних фичах C#/.NET/ASP.NET Core/VS и других интересных темах на русском.

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты
👍8
📚Команда DotNetRu выпустила книгу «Blazor в действии» в правильном переводе (не реклама, а, скоре, благодарность за труд)

В книге вы найдете все, что нужно для глубокого и всестороннего погружения в мир Blazor. Каждая глава аккуратно структурирована, чтобы обеспечить пошаговое и понятное объяснение концепций и технологий Blazor. Книга написана просто и понятно, поэтому, независимо от вашего уровня опыта веб-разработки, вы найдете полезные советы и практические примеры, которые помогут вам освоить эту технологию.

Эта книга не только предлагает ясные объяснения концепций и шаги для создания приложений Blazor, но и содержит примеры кода и решений к различным реальным сценариям. Вы сможете попробовать работу с Blazor WASM и Blazor Server, узнаете, как создавать пользовательские компоненты, использовать маршрутизацию и многое другое.

👇Пост ниже — оригинал англоязычной версии👇

#книги
👍19🥰75