Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.25K 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
Привет, C# сообщество!

Мы хотели бы поближе с вами познакомиться! Будем очень признательны за ваши ответы на следующие вопросы!

(Технические шоколадки с постами, отвечайте на вопросы, не стесняйтесь!)
👍1
🙏 Спасибо вам за ответы! Мы стараемся для вас! 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
👾235👍52🤔1
⚙️🛠️ WinGet — вместо тысячи кликов

WinGet — это пакетный менеджер для Windows, который значительно упрощает процесс установки, обновления и удаления программ через командную строку. С его помощью пользователи могут избежать необходимости скачивания установочных файлов из интернета и прохождения через мастера установки.

Основные возможности WinGet:

Поиск приложений: команда winget search позволяет находить программы по названию или категории.
Установка приложений: с помощью команды winget install <имя_программы> можно быстро установить нужное приложение.
Обновление приложений: команда winget upgrade --all обновляет все установленные программы до актуальных версий.
Удаление приложений: для удаления используется команда winget uninstall <имя_программы>.

WinGet работает с проверенными репозиториями пакетов, что снижает риск загрузки вредоносного или нежелательного ПО. Для пользователей Windows 11 WinGet уже предустановлен, а владельцы Windows 10 могут бесплатно скачать его из Microsoft Store.
🔥8👍51🤔1
🎄 Начни 2025-й с апгрейдом навыков,
которые откроют двери в мир IT!

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

🔗 Собери свой план и начни путь в IT

Почему это выгодно?

📚 Несколько программ по цене одной — максимальная эффективность: учишься сразу тому, что действительно нужно.

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

💸 Знания, которые окупятся — навыки, востребованные в любой точке мира.
Какие навыки ты можешь прокачать?

💡 Математика для Data Science + Алгоритмы и структуры данных
— Подготовка к собеседованиям в FAANG и поступлению в ШАД. Решай сложные задачи, работай с данными и моделями на профессиональном уровне.

💡 Алгоритмы и структуры данных + ML
— Улучшай своё алгоритмическое мышление и изучай базовые методы машинного обучения, чтобы создавать интеллектуальные приложения.

💡 Frontend Basic + Базовые модели ML
— Построй свою первую веб-страницу и погрузись в мир ML: от нейросетей до ML-бустинга.

💡 Архитектуры и шаблоны проектирования + Математика для Data Science
— Развивай аналитическое мышление и учись проектировать устойчивые системы.

💡 Алгоритмы и структуры данных + Frontend Basic
— Получи полный набор навыков: от оптимизации алгоритмов до создания современных веб-приложений.

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

🔗 Составь свой IT-маршрут сейчас или выбери курс по новогодней скидке
👍4🌚1
🔍 Что такое source.dot.net?

Source.dot.net — это официальный сайт от Microsoft, предоставляющий доступ к исходному коду стандартных библиотек .NET. Здесь вы можете исследовать, как реализованы классы, структуры и методы, которые вы используете ежедневно в своих проектах на C#. Этот инструмент позволяет заглянуть «под капот» .NET и увидеть внутреннюю работу фреймворка.

⚙️ Сайт предлагает удобную навигацию по исходному коду с возможностью переключаться между версиями .NET (например, .NET 6, .NET 7, .NET 8). Помимо исходного кода, ресурс интегрирован с официальной документацией, что делает его полезным для изучения, отладки и глубокого понимания работы фреймворка.

Незаменимый инструмент для разработчиков, стремящихся понять, как работают стандартные библиотеки и применять лучшие практики в своих проектах!

Попробуйте прочитать url сайта по-английски!
👍30🤔21
🎮 CODE-DMG - эмулятор Game Boy на С#!

CODE-DMG — это эмулятор классической консоли Nintendo Game Boy, написанный на C#. Он позволяет запускать любимые ретро-игры на вашем компьютере, включая такие хиты, как Pokémon и Tetris.
🎮Эмулятор полностью открыт для сообщества, что делает его идеальным для разработчиков и энтузиастов. Вы можете скачать проект, внести изменения или просто насладиться его функционалом, погружаясь в атмосферу 90-х.

🕹 Управление в игре
Перемещение (D-Pad): W, A, S, D
Кнопки A и B: J, K
Старт: Enter
Select: Shift

🤩 Установите CODE-DMG и погрузитесь в ностальгические приключения Game Boy!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍171
Что такое ValueTask в C#?

ValueTask — это структура в .NET, которая используется для представления асинхронной операции. Она является альтернативой Task, но предназначена для более эффективного управления ресурсами в случаях, когда асинхронная операция может завершаться очень быстро, возможно даже синхронно.

Особенности использования ValueTask:

1️⃣Повторное ожидание запрещено: вызывать await несколько раз для одного и того же ValueTask нельзя, так как это может привести к неожиданным результатам.
Так делать нельзя:

ValueTask<int> task = GetValueAsync();
int value1 = await task;
int value2 = await task; // Ошибка


2️⃣Конвертация в Task: если требуется передать ValueTask в API, которое ожидает Task, можно вызвать метод .AsTask():
Task<int> task = GetValueAsync().AsTask();


3️⃣Когда использовать ValueTask:
Операция часто завершается синхронно.
Создание объекта Task может быть слишком накладным.
Вы пишете библиотеку с высокой производительностью.

4️⃣Когда НЕ использовать ValueTask:
Операция всегда асинхронна.
Производительность не является критически важной.
Приложение не оптимизировано под работу с ValueTask.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥5🥱3🤔2
🤨🛠Простое руководство по работе с Base64 в C#

❗️Base64 – это удобный метод преобразования данных в текстовый формат, который часто используется для передачи двоичных данных, таких как изображения, через текстовые протоколы

✏️В статье объясняется, как использовать встроенные методы C# для кодирования и декодирования данных в формате Base64. С помощью Convert.ToBase64String можно легко преобразовать строку или массив байтов в Base64, а методом Convert.FromBase64String – вернуть их обратно.

🤩 Статья также демонстрирует, как вставлять Base64-строки в другие строки с использованием интерполяции или string.Format. Она рассматривает плюсы и минусы Base64: формат удобен и поддерживается в большинстве языков программирования, но увеличивает размер данных на 33%. Рекомендуется использовать Base64 только там, где это оправдано, например, для передачи данных через API или сериализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1322🌚1
👨‍💻🛠 UUID (GUID) vs ULID: Примеры и различия

UUID (GUID) — это уникальный идентификатор, состоящий из 128 бит и представленный в виде строки из 36 символов. Пример UUID:
f47ac10b-58cc-4372-a567-0e02b2c3d479


ULID — уникальный идентификатор длиной 26 символов, который сортируется по времени. Пример ULID:
01F8G4E0D8HR7X0G9WG9M3FWVZ


Основные различия:
Сортируемость: ULID сортируется по времени, UUID — нет.
Длина: UUID длиннее (36 символов), ULID — 26 символов.
Использование: UUID подходит для генерации уникальных идентификаторов, ULID — для систем с необходимостью упорядочивания по времени.

Когда что использовать:
UUID: Если важна глобальная уникальность, а порядок не имеет значения.
ULID: Когда необходимо сортировать идентификаторы по времени и иметь компактный формат.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍273🔥2🌚2