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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
💸📊 На сколько просели зарплаты в ИТ в 2024 году?

Благодаря открытым данным с сайта Хабр Карьера мы узнали, какие основные тенденции ждать в зарплатном секторе, и сколько получают ИТ-специалисты сейчас.

🤔 Например, в первом полугодии 2023 года в среднем джунам предлагали 80 тысяч рублей, а спустя год это число упало до 72,5 тысячи рублей.

👉 Остальные данные — в статье
👉 Зеркало
👍6🤔5
👨‍💻 До недавнего времени в справочной документации .NET API не было обратной ссылки на исходный код, но команда .NET не дремлет, поэтому добавила ссылки, объединяющие документацию с исходниками. Под катом — история о проделанной работе.

👉 Читать
👍18🔥3
🕹 Разработку игры на Unity и Godot Game Engine

Пошаговое руководство по разработке игры Pong, с помощью которого вы углубитесь в уникальные особенности Godot, которые делают его отличным движком для разработки игр, рассмотрите преимущества использования C#, научитесь настраивать среду разработки, поймёте концепции Godot и прокачаетесь в разработке на C# + Godot. В конце вас ждет полезный список ресурсов сообщества.

☑️ Introduction To Game Development
☑️ Set up a Godot Game Development Environment
☑️ Game Design
☑️ Source Control Management with Godot
Asset Management
☑️ Godot Nodes and the Scene Tree
☑️ Adding Scripts To Your Godot Game
☑️ Godot Community Resources
👍10
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐳✈️ Docker ушёл из РФ! Инструкция по восстановлению доступа к Docker Hub для пользователей из России

Docker заблокировал доступ к своему главному репозиторию Docker Hub для пользователей из России. Однако есть способы обойти это ограничение и продолжить работу. В этом посте мы расскажем, как настроить альтернативные репозитории и зеркала.

🔗 Читать статью
🔗 Зеркало
😁32👏103🥱3👍2
🤔 Как отменить задачу с несколькими источниками CancellationToken в C#: заметки от Steven Giesel

Представьте, что у вас есть долго выполняемая задача, которую вы хотите завершить корректно (или нет) и при этом вам нужно отслеживать сигналы отмены из нескольких источников.

Это может быть часто встречающимся кейсом в реализации BackgroundService или IHostedService, где вы хотите отслеживать событие IHostApplicationLifetime.ApplicationStopping и также какое-то другое событие/условие.


var hostToken = IHostApplicationLifetime.ApplicationStopping;

// Какой-то другой источник для отмены, передаваемый методом
var otherToken = ...;


Теперь вы хотите создать CancellationToken, который будет активирован при отмене любого из токенов. Но метод обычно принимает только один токен:


await Task.Delay(Timeout.Infinite, token); // Вы не можете передать два токена здесь


📌 Решение

CancellationTokenSource.CreateLinkedTokenSource создает новый CancellationTokenSource, который будет отменен, когда любой из связанных токенов будет отменен. Вы можете передать столько токенов, сколько вам нужно, и он вернет новый CancellationTokenSource, который вы можете использовать для создания CancellationToken для вашей задачи.


using var linkedTokenSource = CancellationTokenSource.CreateLinkedTokenSource(hostToken, otherToken);
var linkedToken = linkedTokenSource.Token;

await Task.Delay(Timeout.Infinite, linkedToken); // Теперь вы можете передать связанный токен


Учтите, что CancellationTokenSource является IDisposable и должен быть утилизирован, когда вы закончите работать с ним.

Вы также можете отменить связанный источник токенов вручную, чтобы указать, что задача должна быть отменена. «Исходные» токены останутся неизменными, будет отменен только связанный токен.


using var t1 = new CancellationTokenSource();
using var t2 = new CancellationTokenSource();
using var t3 = CancellationTokenSource.CreateLinkedTokenSource(t1.Token, t2.Token);

t3.Cancel();

Console.WriteLine(t1.IsCancellationRequested); // False
Console.WriteLine(t2.IsCancellationRequested); // False
Console.WriteLine(t3.IsCancellationRequested); // True
👍392
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻 8 причин участвовать в хакатонах

Давно мечтали попробовать что-нибудь новое в своей жизни, но обойтись без экстремальных ощущений? Тогда хакатоны — это то, что вам нужно!

👉 Читать статью
👉 Зеркало

📌 Другие материалы по теме:

💻🚀🏰 Как мы создали ИИ-стартап на хакатоне выходного дня в Германии
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
🏆 Как принять участие в хакатоне и занять призовое место. Инструкция для начинающих программистов
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
1🥰1😁1
🔫 Xamarin — всё. Microsoft прекратила поддержку 1 мая 2024 года. Что же дальше?

Мигрировать на платформу .NET MAUI, к которой тоже много вопросов. Тем не менее, это естественная эволюция Xamarin.

И как эволюция, .NET MAUI имеет множество преимуществ по сравнению с Xamarin, таких как лучшая производительность, упрощенная структура проектов для более легкого управления и многое другое.

Читайте подробнее в блоге Telerik об особенностях .NET MAUI и практических кейсах миграции с Xamarin.Forms на .NET MAUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚25👍11
🤯 Как простая задачка поставила в тупик программистов (и как они из него выбрались)

В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.

Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
👍5
🎙Свежий выпуск подкаста RadioDotNet про релиз Aspire, типы расширений, новинки Build 2024 и многое другое

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

#подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
💡 Visual Studio Endpoints Explorer

Endpoints Explorer позволяет увидеть все эндпоинты в вашем решении.

Вы также можете перейти непосредственно к коду эндпоинта и создать для него заглушку запроса файла .http.

View > Other Windows > Endpoints Explorer

#dotnet #tools #tips
👍37😁3🔥1🤔1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍41
🔥 .NET на Microsoft Build 2024

Не смотрели Microsoft Build 2024 в онлайне? Не проблема! Ловите плейлист с записями всех сессий, связанными с .NET.

📺 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍6
👩‍💻 Dev Tunnels в Visual Studio

Dev Tunnels позволяют открывать/отлаживать локальные API через удаленные URL.

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

Теперь, с помощью Visual Studio, мы можем создать Dev Tunnel, который создаст удаленный URL-пойнтер на запущенный локальный экземпляр.

Мы можем вставить этот URL в конфигурацию вебхука стороннего сервиса, и наши локальные точки останова сработают при доступе к удаленному URL.

👉 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥252🤔2🙏1
Умеете кодить и хотите узнать, в каком направлении можно развивать свою карьеру?
Интенсивы с упором на практику вам в помощь!

Зачастую на таких коротких программах не просто учат востребованным скилам, но и объясняют, в каких сферах и профессиях они нужны.
Например, недавно Школа анализа данных Яндекса анонсировала SRE Week.

На открытом интенсиве будут рассказывать как об эксплуатации больших информационных систем, так и о задачах SRE-специалистов: траблшутинге, SLA, capacity planning и многом другом. Это отличный шанс для разработчиков попробовать себя в новой сфере, а для студентов — построить траекторию развития в IT.

SRE Week пройдёт с 17 по 22 июня. Участие бесплатное. Доступ к лекциям дают всем зарегистрированным, однако, чтобы получить сертификат, нужно пройти отбор и успешно сдать итоговую работу.

Подайте заявку до 16 июня и слушайте лекции топовых экспертов
👍3
⚒️ Как маппить массивы в EF Core 8: гайд для начинающих

Для большинства баз данных, которые не поддерживают массивы нативно, EF Core 8 автоматически использует JSON массивы.

Это прозрачно для разработчика приложений, использующего EF Core 8: вы просто пишете свой LINQ-запрос, и EF Core 8 использует наиболее подходящий перевод для базы данных, которую вы используете.

👉 Подробнее в гайде
🎉10👍4🔥2
⚡️Proglib запускает канал про ИИ в сфере видео

Вот несколько топовых постов за последнее время:

⭐️Инструмент, который сам делает короткие вертикальные видео из ваших длинных роликов, например, на ютуб
⭐️Подборка нейро-генераторов видео с пробным периодом
⭐️Анонс ИИ-«нетфликса», который будет штамповать вам мультики по запросам

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍322🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎙️ Подкаст Podlodka: High performance

Новый выпуск подкаста о том, как можно прийти к высокой производительности через observability, profiling и benchmarking.

Известный разработчик Сергей Тепляков предложил простые критерии, как понять, что вам надо задуматься об оптимизации, а главное, развеял мифы, что всегда проще залить проблему покупкой мощностей.

👀 Смотреть
🎧 Слушать

#подкасты
😁4👍32🔥2🥱2