Библиотека шарписта | C#, F#, .NET, ASP.NET
Open in Telegram
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Show more2025 year in numbers

22 346
Subscribers
-424 hours
-417 days
-13930 days
Posts Archive
Photo unavailableShow in Telegram
🍆 Почему именно C#
Когда выбираешь язык программирования, всегда возникает вопрос: что же будет тем самым идеальным инструментом для твоих задач. Для наших подписчиков, очевидно, таковым стал C#.
Один из подписчиков задает вопрос:
Почему вы выбрали C# и какие его особенности вам особенно нравятся?Вот несколько причин, почему C# — это отличный выбор: • Разрабатывать можно всё — от мобильных приложений с Xamarin до веб-сервисов на ASP.NET Core, а для игр вообще не найти лучшего варианта, чем Unity. • С# чёткий и стильный, и получается регулярные обновления. • У языка огромное комьюнити. Разработчики активно делятся опытом, решают проблемы и делятся фишками. 💬 За что вы полюбили C#? Делитесь в комментариях👇 🐸Библиотека шарписта #междусобойчик
❤ 18👍 3
Photo unavailableShow in Telegram
👨💻 Чек-лист здорового разработчика
Составили для вас чек-лист, который поможет организовать настоящий отдых и восстановить силы. Это мини-гайд, который можно использовать, чтобы максимально эффективно отдохнуть и вернуться к работе с новыми силами.
✅ Отключитесь от рабочих задач
• Убедитесь, что все рабочие приложения и уведомления выключены.
• Уведомите коллег и руководителей о том, что вы в отпуске или берете перерыв.
• Установите автоответчик.
✅ Создайте четкие границы для работы и отдыха
• Установите в календаре блоки времени для отдыха, чтобы не случайно «передвинуть» их.
• Избегайте переноса рабочих задач в личное время.
✅ Заботьтесь о теле
• Уделите внимание физической активности: прогулки на свежем воздухе, легкие тренировки или йога.
• Спите не менее 7-8 часов в сутки, соблюдая режим.
• Пройдите профилактические осмотры у врача.
✅ Снимите умственное напряжение
• Прекратите думать о рабочих задачах и проектах.
• Проводите время с людьми, которые вам нравятся и с которыми вы можете расслабиться.
• Начните новое хобби или займитесь творчеством: рисование, кулинария, музыка.
✅ Правильное питание и здоровье
• Старайтесь питаться сбалансированно и включать больше свежих продуктов.
• Уделите внимание питьевому режиму — пейте больше воды и избегайте чрезмерного употребления кофе.
• Избегайте тяжелых и жирных продуктов, особенно перед сном.
✅ Баланс между отдыхом и продуктивностью
• Найдите баланс между активностями и отдыхом. Не перегружайте себя мероприятиями.
• Помните, что отдых должен приносить удовольствие, а не ощущение усталости или перегрузки.
🐸Библиотека шарписта #буст
❤ 8😁 1
👨💻 Чек-лист здорового разработчика
Составили для вас чек-лист, который поможет организовать настоящий отдых и восстановить силы. Это мини-гайд, который можно использовать, чтобы максимально эффективно отдохнуть и вернуться к работе с новыми силами.
✅ Отключитесь от рабочих задач
• Убедитесь, что все рабочие приложения и уведомления выключены.
• Уведомите коллег и руководителей о том, что вы в отпуске
🐸Библиотека шарписта #буст
Photo unavailableShow in Telegram
Свежая бета гитхаба 😅
🐸Библиотека шарписта #развлекалово
😁 21👍 4🤔 4
⚡️ Следим за свежестью NuGet-пакетов
Многие проекты на .NET годами живут со старыми версиями зависимостей. Это не видно на глаз, но может привести к уязвимостям или проблемам с производительностью.
Чтобы избавиться от этого нужно установить:
спина не будет болеть ваш проект будет всегда свежий.
🐸Библиотека шарписта #буст
dotnet tool install --global dotnet-outdated
И запустить:
dotnet outdatedДополнительно можно использовать флаги:
--include-transitive: показывает даже вложенные зависимости --upgrade: автоматически обновляет зависимости --fail-on-updates: делает ошибку в CI, если есть устаревшиеЗапускайте хотя бы раз в неделю и
❤ 8👍 4😁 4🥱 2
Photo unavailableShow in Telegram
🤩 Вайб-кодинг: безграничные возможности или путь к техническому долгу
Вайб-кодинг — это когда ты формулируешь задачу на обычном языке, а искусственный интеллект превращает её в рабочий код. Понятно и быстро! Но на самом ли деле это так безобидно?
В статье о том этот подход изменил подход к разработке, почему разработчики от него в восторге, а работодатели не всегда уверены в его эффективности.
➡️ Читать статью
🐸Библиотека шарписта
😢 9🥱 8👍 2🔥 2😁 1
Photo unavailableShow in Telegram
Последний шанс залутать курсы Proglib Academy с выгодой 40% и пожизненным доступом.
До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.
Выбираем и забираем 👈
P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
🥱 3
👉 Подборка вакансий для шарпистов
C# / .NET Core Backend Developer — от 140 000 ₽, удалёнка.
Senior C# Developer (HFT) — до 1 000 000 ₽, удалённо.
Senior .NET Developer — до 250 000 ₽.
C# разработчик — от 240 000 ₽, удалённо.
C#/.NET‑разработчик — от 240 000 ₽, удалёнка.
Бустер — Удалённо (в любом городе мира).
➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
👍 3
Repost from TgId: 2055368043
Что произойдёт при попытке изменить значение readonly поля вне конструктора?
👾 — Будет выброшено исключение во время выполнения
👍 — Компилятор выдаст ошибку
🥰 — Значение изменится, но только для текущего экземпляра
⚡️ — Поле сбросится в значение по умолчанию
Библиотека задач по C#
👍 148🌚 2🎉 1👾 1
Photo unavailableShow in Telegram
📰 Дайджест недели
Собрали для вас самые важные новости минувшей недели.
— Тестирование HTTP-API с Alba
В статье рассматривается использование библиотеки Alba для тестирования HTTP-API в .NET в контексте фреймворка Wolverine.
— Стратегии миграции БД
В статье рассматриваются самые эффективные стратегии, которые помогут избежать рисков и минимизировать возможные проблемы.
— Как выбрать подходящий режим GitHub Copilot
— Обновление MCP C# SDK
🐸Библиотека шарписта #свежак
👍 4
Photo unavailableShow in Telegram
🤔 «Начни сразу с нейросетей — зачем тебе логрегрессия?»
Это один из худших советов для начинающего ML-разработчика. Зрелость — это понимать, где простого достаточно, а не тянуть трансформеры на любую задачу из-за хайпа.
Классика ML — это не допотопная теория, а база (bias/variance, деревья, метрики), без которой не понять Deep Learning.
⚡️ Хотите освоить этот фундамент на реальных задачах? Приходите на наш курс по классическому ML. Только хардкор, только продовые задачи!
📆 Старт — 12 августа.
Для первых 10 участников бонус — специальный лонгрид по теме курса, чтобы вы могли начать разбираться уже сейчас.
🎁 Последний день промокода Earlybird на скидку 10.000₽.
👉 Не упустите шанс!
❓ Первоначальное имя языка C# было …Anonymous voting
- С-2
- С++++
- СOOL
- Obj-C
😁 35👏 3👾 3
⚡️ Ошибки в резюме
Когда вы рассказываете о своих проектах в резюме, важно не только указать, что было сделано, но и правильно подать информацию.
В карточках объяснили какие ошибки могут быть при описании пет-проектов.
➡️ Узнайте, как правильно оформить пет-проекты в резюме
🐸Библиотека шарписта
👍 6❤ 4🔥 2
Photo unavailableShow in Telegram
😤 Устал листать туториалы, которые не складываются в картину
У тебя в голове уже есть логрегрессии, деревья, метрики и какая-то PCA, но системного понимания всё нет?
Пора с этим разобраться!
Наш курс по классическому ML:
— научит выбирать адекватные модели под задачу
— разложит метрики, переобучение и bias по полочкам
— покажет, что скрывается за fit/predict, и что с этим делать
🔔 До 27 июля по промокоду Earlybird — минус 10.000₽
P.S. Первые 10 участников получат эксклюзивный лонгрид, чтобы начать изучать тему ещё до старта курса.
👉 Поменяй свою жизнь: старт карьеры в AI — успей до закрытия набора!
💻 Удалённая разработка в Rider
Не всегда нужно хранить код у себя на пк. Хранение и выполнение кода на удалённых хостах и контейнерах давно стало реальностью.
Rider делает работу с с такими хостами настолько удобной, что даже самые сложные задачи становятся простыми.
Подключение к серверу через SSH
Настроить SSH-подключение в Rider — проще, чем вы думаете. Всё, что нужно — это пару кликов в настройках IDE.
1. Откройте File → Settings → Tools → Deployment.
2. Выберите Add Remote Server и в качестве типа соединения выберите SSH.
3. Введите IP-адрес удалённого сервера, пользовательские данные и путь к приватному ключу (или пароль).
4. Нажмите Test Connection и, если всё в порядке, готово — подключение установлено!
🧑💻 Работа с проектами на удалённом сервере
Когда подключение установлено, вы получаете доступ к файловой системе удалённого сервера. Это значит, что вы можете:
• Перемещать файлы между локальной машиной и сервером
• Редактировать код, компилировать и запускать его на сервере.
• Открывать логи, работать с конфигурационными файлами и запускать процессы прямо из Rider.
Один из самых полезных инструментов при удалённой разработке — это отладка через SSH.
Вы можете подключиться к процессу, который работает на удалённом сервере, и отлаживать код, как если бы он выполнялся локально.
Чтобы начать удалённую отладку:
1. Запустите приложение на удалённом сервере
2. Выберите Run → Edit Configurations и создайте конфигурацию для Remote Debugging.
3. Подключитесь к удалённому процессу через SSH и начинайте отладку прямо из Rider.
Если вы ещё не настроили SSH в Rider, самое время попробовать.
🐸Библиотека шарписта #буст
❤ 8👍 7
Photo unavailableShow in Telegram
🤨 Нужен ли async в каждом методе
Асинхронное программирование стало неотъемлемой частью разработки на C#. Но появляется вопрос: нужно ли использовать асинхронность в каждом методе?
Когда стоит использовать
async
— Асинхронность идеально подходит для работы с медленными операциями, такими как запросы к базе данных, сетевые операции или чтение/запись файлов.
— Асинхронный код позволяет серверам и приложениям обрабатывать значительно больше запросов без блокировки.
— Применяя async/await, мы освобождаем потоки от ожидания завершения I/O операций.
Но за плюсами спрятались и минусы
— Асинхронные методы всегда требуют дополнительных накладных расходов, таких как создание задач, контекст переключения и управление потоками.
— Применение асинхронности везде может привести к проблемам с синхронизацией данных и контекстом выполнения.
— Если приложение не работает с большим количеством асинхронных операций, добавление async/await в каждый метод не даст значительного прироста производительности.
💬 Как вам асинхронность? Даёшь в каждый метод или лучше дважды подумать?
🐸Библиотека шарписта #междусобойчик❤ 9
Photo unavailableShow in Telegram
🧑💻 Как отменить асинхронную операцию с помощью CancellationToken
Одной из ключевых особенностей асинхронного программирования в C# является возможность отменить долгие или зависшие операции, используя
CancellationToken.
CancellationToken — это объект, который передается в метод асинхронной операции. Он позволяет сигнализировать об отмене операции, если она больше не требуется.
Для создания токена отмены используется объект типа CancellationTokenSource, который предоставляет токен для отмены, а также метод Cancel(), который сигнализирует об отмене.
Пример отмены с помощью токена. Вызываем функцию и передаём в неё токен:
using System;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Создаем объект CancellationTokenSource
var cancellationTokenSource = new CancellationTokenSource();
// Получаем токен отмены
var cancellationToken = cancellationTokenSource.Token;
// Запускаем асинхронную задачу
var task = LongRunningOperation(cancellationToken);
// Через 3 секунды отменяем операцию
await Task.Delay(3000);
cancellationTokenSource.Cancel();
try
{
// Ожидаем завершения операции
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Операция была отменена.");
}
}
}
Сама функция:
// Асинхронная операция, которая может быть отменена
static async Task LongRunningOperation(CancellationToken cancellationToken)
{
Console.WriteLine("Операция началась.");
for (int i = 0; i < 10; i++)
{
// Проверка на отмену операции
if (cancellationToken.IsCancellationRequested)
{
Console.WriteLine("Операция отменена.");
throw new OperationCanceledException();
}
// Имитация работы
Console.WriteLine($"Шаг {i + 1}...");
await Task.Delay(1000); // Задержка в 1 секунду
}
Console.WriteLine("Операция завершена.");
}
}
При отмене операции метод выбрасывает исключение OperationCanceledException, которое можно ловить и обрабатывать соответствующим образом.
🐸Библиотека шарписта #буст👍 9❤ 8😁 3🥱 1
Photo unavailableShow in Telegram
🔥 Хороший ML-разработчик не начинает с нейросетей
На собеседовании по ML System Design кандидату дают задачу «предсказать отток», а он сразу лезет в нейросети. Красиво, модно, дорого.
Но профи думает иначе:
💭 Логрегрессия? Градиентный бустинг?
💭 А сколько у нас данных и времени?
💭 Что с интерпретируемостью?
Потому что не выбрать адекватную модель — это уже ошибка.
Нейросети — это круто. Но без понимания классического ML вы просто «подключаете модельку», а не строите решения.
➡️ На курсе разберём:
— линейные модели, деревья, PCA, кластеризацию
— метрики, переобучение, bias vs variance
— инженерные подводные камни, которые идут сразу после fit()
🎁 Скидка 10 000₽ по промокоду Earlybird, только до 27 июля.
А ещё — подарок для первых 10 участников: специальный лонгрид по теме курса, чтобы вы могли начать погружение в материал уже сегодня.
🔗 Успей записаться — и начни карьеру в Data Science уже через 3 месяца!
👍 2❤ 1
