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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
💡☝️Использование Refit как альтернативы встроенному HttpClient в .NET

Само собой, инструмент необходимо выбирать под проект. Но Refit действительно требует написания меньшего количества кода для достижения того же результата.

📌Для справки:

Refit — автоматическая типобезопасная библиотека REST для .NET Core, Xamarin и .NET.

#dotnet #csharp #tools #tip by Milan Jovanović
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍92
🏴 Фича-флаги в .NET: от простого к сложному

В этой статье мы обсудим, что такое фича-флаги, и разберём работу с ними.

🔗Читать статью
🔗Зеркало
👍32🔥2
🚀Работа с memory mapped файлами в .NET: гайд от Stephen Cleary, автора книги Concurrency in C# Cookbook

Memory mapped файлы позволяют отображать файлы на участок памяти. В некоторых случаях их использование может дать существенный прирост производительности по сравнению с обычной буферизированной работой с файлами. Stephen Cleary погрузился в эту тему и дает некоторые советы👇

🔗Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔4
С какого языка программирования, по вашему мнению, проще всего перейти на C#/.NET? Если хотите, можете выбрать несколько вариантов.
Anonymous Poll
38%
С C# лучше начать свой путь в разработку ПО
5%
Python
2%
PHP
6%
JavaScript
0%
Ruby
12%
C
36%
C++
50%
Java
2%
Go
4%
Другой ЯП (напишу в комментарии)
6
⚡️C# Dev Kit в вашем рабочем окружении всего за три шага:

1️⃣ Установите C# Dev Kit (C# extension / IntelliCode for C# Dev Kit / .NET Runtime Install Tool)
2️⃣ Откройте каталог или рабочую область, содержащую C#-проект (.csproj) ➡️ расширение активируется
3️⃣ Ознакомьтесь с документацией по началу работы с C#

#чтопроисходит
👍9🔥43
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Диаграмма рабочего процесса, охватывающая все аспекты, связанные с необходимостью уведомлять пользователя о сообщении в Slack

🤔Это отличный пример того, почему разработка простой фичи может занять гораздо больше времени, чем думают многие. И да, статье уже 6 лет, но на архитектурные решения команды Slack стоит обращать внимание.

😉Покажите это своему продакту, если в следующий раз услышите в свой адрес что-то вроде «…там же все так просто».

🔗 Источник

#проектирование_систем
👍41
List<T> — один из наиболее универсальных типов коллекций в .NET. Поскольку он предназначен для общего использования, вопрос оптимизации для какого-либо конкретного кейса использования даже не стоит.

Один из возможных кейсов — хранение большого количества элементов. Пример решения это проблемы и весьма любопытные бенчмарки ждут вас в статье👇

🔗 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🤩Удобство .NET: серия статей, в которой описывается подход команды Microsoft к предоставлению удобных решений распространенных задач

🚀Введение. В комментариях не обошлось без негатива в отношении современной экосистемы .NET, в основном со стороны более опытных разработчиков. Ник Чапсас, естественно, записал по этому поводу видео.
🚀Удобство System.Text.Json.
👍2
👩‍💻 Scott Hanselman делится первыми мыслями относительно работы с расширением C# DevKit, которое дает вам полноценный опыт работы с .NET внутри VS Code.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Aaron Powell, Cloud Developer Advocate в Microsoft, погружается в основы использования .NET и генеративного ИИ:

1️⃣ Введение
2️⃣ SDK
3️⃣ Chat Completion
4️⃣ Генерация изображений
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
👍22❤‍🔥3👏1
Нас уже больше 20 000 🥳🎊🎂! Спасибо за интерес к «Библиотеке шарписта».
Please open Telegram to view this post
VIEW IN TELEGRAM
53👏12🎉6❤‍🔥3
🔥Повышение производительности Enum в .NET 8. Как вам? 💬

#dotnet8
🔥974👍2
👶 Когда ребенок ищет в холодильнике, что бы такое съесть, могут возникнуть различные неприятности:

🔸Ребенок может забыть закрыть дверь холодильника
🔸Может взять то, что ему запрещено
🔸Может даже наткнуться на просроченные продукты

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

💬Как вам такое объяснение Dependency Injection?

Применительно к написанию кода, этот совет можно перефразировать так: каждый компонент приложения перекладывает ответственность предоставления требуемых ему зависимостей на специальную инфраструктуру. Можно даже провести параллель «ребенок» — «компонент»/«класс», а «родители” — «инфраструктура».

👉По мотивам статьи о Pure.DI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🥱9😁3
💬 Подкаст RadioDotNet: зелёные потоки, быстрая восьмёрка, наглость Unity

📌 Темы:
🎤 Анонс .NET 8 RC1
🎤 Visual Studio 2022 17.8 Preview 2
🎤 Доступ к закрытым членам без reflection в C#
🎤 Улучшение производительности .NET 8
🎤 Unity обновляет цены
🎤 Результаты эксперимента с green threads
🎤 Кратко о разном

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

#подкасты
13👍4🔥1
📌 Подборка за две недели на Code Maze:

🔹Создание криптографического числа с помощью RandomNumberGenerator: теория, практика и сравнение с System.Random
🔹Использование переменной discard в C# (7+): обзор различий с обычной переменной и некоторые практические аспекты применения
🔹Оптимизация памяти с помощью ArrayPool в C#: подробное руководство по улучшению управления памятью в приложениях на C#
🔹Database First Development с EF Core Power Tools: упрощаем рабочий процесс разработки при использовании EF Core в приложениях .NET
🔹22 лучших практики C#: подборка советов, которые улучшат читабельность кода
🔹Тестирование time-dependent кода с помощью TimeProvider в .NET: первое знакомство с новой фичей, которая появилась в C# 12 и .NET 8
🔹Выбор узлов Xml с помощью XPath в C#: как использовать XPath для выбора данных из XML-документа на C#
🔹Рефакторинг необязательных фрагментов кода C#: улучшаем код с помощью практических методов рефакторинга
🔹Преобразование шестнадцатеричной строки в байтовый массив в C#: разбор нескольких методов на практике
🔹Глобальная обработка исключений для запросов MediatR: как предотвратить сбои приложения и несанкционированное раскрытие конфиденциальных данных пользователям
🔹Замена разрывов строк в C#: string Replace() vs string ReplaceLineEndings() vs Regular Expressions Replace()

#dotnet #csharp #codemaze #матчасть
💯10👍3
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
👀 Практический взгляд на использование Rider для разработки на .NET MAUI

Daniel Hindrikes, разработчик и архитектор .NET, кратко затрагивает аспекты разработки на .NET MAUI с помощью Rider: от запуска, отладки и управления Android SDK до обработки специфичных для платформы файлов (info.plist, storyboards и др.) и использования функции Hot Reload.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
💡Структурированная конкурентность в C# на практике: что это, почему полезно и как может выглядеть в C#

Это концепция, которая помогает писать более надежный и легко поддерживаемый асинхронный код. Хотя в ней нет ничего нового, она не так широко известна среди .NET-разработчиков. Основная идея заключается в группировке асинхронных операций и гарантии их завершения.

В .NET это может быть реализовано с использованием конструкций, аналогичных Task или Async/Await. Подобно тому как в других языках используется Task Scope, в .NET можно использовать блоки try-catch-finally для управления жизненным циклом асинхронных задач и гарантирования их завершения.

👉 Подробнее в гайде от Steven Giesel
👍143🥱1