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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
😎 Сколько баллов набрали вы?

Голосуйте, какой у вас уровень разработчика:

😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)

Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.

👉 Научим, как быстро прокачаться от стажера до сеньора
🤩14🎉3🥱21👍1
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты
— Прокачка от новичка до Senior Data Scientist
— Босс-файты с реальными задачами из индустрии
— Доступ к гильдии единомышленников

📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
1🥱1
🏦 Строим банк с нуля

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

➡️ В статье — о том, как визуализировать компоненты приложения и построить систему, которую легко развивать.

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😢5🥱3
Что добавить к C, чтобы получился C# (спойлер: не решётку)
Anonymous Quiz
7%
Кетчуп
5%
Фрукты
78%
Сахар
10%
Воду
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
😁14😢1
👨‍💻 Дайджест недели

Собрали интересные новости в одной подборке.

Copilot Coding Agent теперь интегрирован в .NET

Microsoft представила Copilot Coding Agent для .NET, который помогает разработчикам писать код быстрее и качественнее прямо в Visual Studio и VS Code.

WinToUSB 10.0

В новой версии WinToUSB 10.0 акцент сделан на стабильность и скорость. Программа теперь лучше справляется с различными USB-устройствами и обеспечивает корректную установку Windows без лишних ошибок.

Обновление альтернативного файлового менеджера для Windows

Вышла версия Files 4.0.0, привносящая обновлённый интерфейс, новые функции управления файлами и улучшенную производительность. Обновление включает поддержку тем, расширенные возможности работы с вкладками и улучшенную интеграцию с контекстным меню Windows.

Microsoft опубликовали исходники BASIC

Microsoft выложили в открытый доступ оригинальный код BASIC для процессора MOS 6502, использовавшийся в ранних домашних компьютерах 1980-х годов. Первый коммит датируется 27 июля 1978 года.

Строим банк с нуля

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
2
В .NET Core приложении под нагрузкой замечены частые аллокации при работе с большими массивами, что вызывает давление на GC. Какой подход наиболее правильный?

👾 — Хранить массивы в static переменной, чтобы GC их не удалял
👍 — Использовать ArrayPool<T>.Shared для аренды и возврата массивов
🥰 — Создавать новые массивы на каждый запрос, чтобы избежать race conditions
⚡️ — Принудительно вызывать GC.Collect() после каждой партии запросов

Библиотека задач по C#
👍82🌚61
Иногда реально ощущение, что нас держат в Матрице.

Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.

Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.

Кто готов вырваться из симуляции и ворваться в сезон найма?

👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно

👉 Забронируй место сейчас
🦆 Подборка вакансий для шарпистов

.Net Developer (Middle or Senior) — от 200 000 до 300 000 ₽, удалёнка

Senior / Middle C# developer — удалёнка

Разработчик .NET/C# — от 300 000 до 350 000 ₽, удалёнка

Senior .NET Developer — удалёнка

C#/.NET Developer — до 260 000 ₽, удалёнка

Бустер — Удалённо (в любом городе мира).

➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Как писать меньше кода

Каждая лишняя строка кода — это деньги.
Больше кода → больше багов → больше инцидентов → больше часов инженеров.
Pattern matching и switch expressions помогают уменьшить кодовую базу, ускорить ревью и снизить стоимость поддержки.

Pattern Matching: меньше проверок, меньше каста

Используем property pattern: проверка + извлечение объекта в одну строку.
if (customer is { IsActive: true, Orders.Count: > 0 })
{
Process(customer);
}


Компактные решения вместо длинных switch

Переписываем switch на expression switch:
var message = status switch
{
Status.Active => "Active",
Status.Inactive => "Inactive",
Status.Suspended => "Contact support",
_ => "Unknown"
};


Композиция правил: читаем как таблицу

Современные паттерны позволяют описывать правила декларативно.
Пример проверки транзакции:
var decision = (txn.Amount, user.Role, txn.Country) switch
{
(> 10_000, "Guest", not "US") => "Flag",
(<= 10_000, "Admin", _) => "Approve",
_ => "Review"
};


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

🐸Библиотека шарписта

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥31
⏹️Новая специализация, о которой почти никто не знает: проще вход, ниже конкуренция, выше чеки

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

▶️Освоив Revit API, вы сможете быстро войти в нишу, где каждый навык напрямую конвертируется в деньги.

На курсе «Программирование в Autodesk Revit» от EdTech-платформы STEMPS вы научитесь:

➡️Писать плагины и инструменты на C# для инженеров
➡️Автоматизировать рутинные процессы и проверки моделей
➡️Создавать востребованный софт для архитектурных и проектных бюро

👤Автор курса — Дмитрий Смирнов, CTO DynamicLabs, STEMPS, Atomtech, Plancy. Разрабатывал системы автоматизации и SaaS-системы для компаний на 700+ сотрудников.

🗓 Старт курса — 23 сентября.

📍Студенты получат документ о повышении квалификации.

🔥Успейте записаться на курс со скидкой 10%:
https://stemps.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
⭐️ 5 трендов IT-найма 2025

Помните времена, когда на собесе спрашивали FizzBuzz? Забудьте. Теперь вас могут попросить писать код на бумаге, а параллельно проверят, не подглядываете ли вы в ChatGPT.

В карточках — пять трендов, которые перевернули рынок: от смерти грейдинга до «AI-friendly» собеседований.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😢32
📌 Команда дня для снятия дампа

dotnet-dump — ваш лучший помощник, когда приложение падает без логов.

Снять дамп памяти:
dotnet-dump collect --process-id 12345


Проанализировать дамп:
dotnet-dump analyze core_*.dmp


Далее доступны команды: clrstack, dumpheap -stat, gcroot — чтобы увидеть стеки вызовов, объекты в памяти и цепочки удержания.

🐸Библиотека шарписта

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥3🥰1