Библиотека шарписта | C#, F#, .NET, ASP.NET
Kanalga Telegram’da o‘tish
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Ko'proq ko'rsatish2025 yil raqamlarda

22 346
Obunachilar
-424 soatlar
-417 kunlar
-13930 kunlar
Postlar arxiv
00:12
Video unavailableShow in Telegram
💰 Сколько ты стоишь как разработчик
Многие годами работают за «среднюю» зарплату, даже не проверяя, сколько на самом деле стоят их навыки.
Рынок меняется, технологии обновляются, а ваша цена на него — нет.
После прочтения нашей статьи вы сможете уверенно озвучить сумму, за которую вас действительно готовы нанимать.
➡️ Читать статью
🐸Библиотека шарписта
#буст(6).mp42.03 MB
🥱 6😁 1🤔 1
00:15
Video unavailableShow in Telegram
🧑💻 Локальные рефакторинги без мыши
Обычно, чтобы обернуть код в
try/catch или using, многие тянутся к мыши: выделить → ПКМ → Refactor → Surround With… и только потом выбрать нужный шаблон.
Есть быстрый путь:
1. Выделите фрагмент кода
2. Нажмите Ctrl+K, затем Ctrl+S
3. Выберите сниппет для обёртки
4. Готово — без единого клика
Пример:
// Было:
DoSomething();
// Стало:
try
{
DoSomething();
}
catch (Exception ex)
{
// log or handle
}
За неделю таких мелочей набегает целый час, который лучше потратить на решение задач, а не на кликание в меню.
🐸Библиотека шарписта #буст#буст(2).gif.mp40.57 KB
👍 18❤ 3
Photo unavailableShow in Telegram
Proglib Academy — это место, где вы превращаете теорию в практику. Здесь ваши знания становятся проектами для портфолио, а вы — более уверенным специалистом.
Выберите курс, который поможет сделать следующий шаг ⬇️
🚀 Для тех, кто начинает путь в IT:
— Основы IT для непрограммистов
— Программирование на Python (обновлённый)
— Frontend-разработчик с нуля: HTML, CSS, JavaScript
🧠 Для будущих и настоящих Data Scientist'ов:
— ML для старта в Data Science (начинается в сентябре)
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (скоро второй поток)
🛠️ Для опытных разработчиков, готовых к росту:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
Независимо от вашей цели, у нас есть курс, который поможет её достичь. Переходите в Proglib Academy, выбирайте свой путь и инвестируйте в навыки, которые всегда будут в цене!
❤ 3👍 1
Photo unavailableShow in Telegram
🤨 Разработчики бывают разные
В команде всегда важен баланс: навыков, взаимодействия, доверия.
Но что делать, если приходится выбирать?
Наш подписчик поделился историей:
У нас в команде был разработчик с явно слабым уровнем: путался в архитектуре, писал нестабильный код, не мог самостоятельно разобраться в чужом коде. Зато он старался, учился, слушал замечания, вписывался в командные процессы. Потом пришёл другой — опытный, уверенный, местами даже впечатляющий. Быстро понимал задачу, показывал нестандартные решения, но при этом он постоянно спорил с тем, как устроена архитектура, игнорировал договорённости команды, воспринимал ревью как придирки, предлагал «как надо» на каждом шагу. В итоге один тянул вниз, а второй — разрывал команду изнутри. Какой тип разработчика на самом деле опаснее?Админ думает, что токсику не место в командной разработке. Большие проекты это зачастую стресс, а если в этом стрессе кто-то будет подливать масла, то взорвутся все. 💬 А теперь вопрос: кого бы вы оставили, если нужно выбрать одного? 🐸Библиотека шарписта #междусобойчик
🤔 4❤ 2👍 1
Photo unavailableShow in Telegram
🫣 Боитесь математики в ML?
Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?
У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.
Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.
Регистрируйтесь, пока есть свободные места 😉
🤖 Когда под рукой нет фронта
Не у всех команд есть фронт-разрабы — это нормально. Мы подготовили для вас промпт, который поможет сгенерировать фронт-код прямо по вашим эндпоинтам.
Промпт:
Вы — эксперт Frontend-разработчик с опытом создания пользовательских интерфейсов для .NET приложений. Ваша задача — создавать чистый, эффективный и поддерживаемый код фронтенда на React, Angular или Vue, который легко интегрируется с .NET бэкендом через указанные API-эндпоинты. Каждый ответ должен включать: 1. Полноценно рабочий компонент с комментариями по ключевым решениям. 2. Обоснование выбора архитектурных подходов, методик маршрутизации и управления состоянием. 3. Использование лучших практик современных фреймворков. Предоставляю список эндпоинтов (укажите формат: URL, методы, схема данных). Создавайте код, учитывая эти эндпоинты и специфику взаимодействия с API.API есть — интерфейс будет. 🐸Библиотека шарписта #буст
👍 7😁 1
00:07
Video unavailableShow in Telegram
🐸Библиотека шарписта #развлекалово
#развлекалово мемы.mp48.14 KB
😁 48👍 2
Photo unavailableShow in Telegram
⚙️ Как управлять памятью с помощью Span и Memory
Span<T> — это структура данных, которая предоставляет доступ к диапазону элементов в памяти. Это меньше чем массив, потому что Span<T> является сегментом памяти, а не целым массивом.
Memory<T> — очень похож на Span, но с возможностью работать с данными в куче. Он может быть использован в асинхронных операциях и может сохраняться как переменная.
Работа с памятью без копий данных
Span и Memory позволяют работать с данными, не создавая новых копий
public static void ProcessData()
{
// Создаем массив данных
int[] data = new int[100];
// Создаем Span, который ссылается на часть массива
Span<int> span = new Span<int>(data);
// Модифицируем данные через Span
span[0] = 42;
span[1] = 84;
// Выводим измененные данные
Console.WriteLine(data[0]); // 42
Console.WriteLine(data[1]); // 84
}
Использование Memory в асинхронных операциях
Если вам нужно передать данные в асинхронную задачу, используйте Memory, так как Span не может быть использован вне методов.
public async Task ProcessMemoryAsync()
{
byte[] data = new byte[100];
Memory<byte> memory = new Memory<byte>(data);
// Передаем данные в асинхронный метод
await SomeAsyncOperation(memory);
}
public async Task SomeAsyncOperation(Memory<byte> memory)
{
// Работа с Memory
memory.Span[0] = 1;
await Task.Delay(100); // асинхронная операция
}
Использование Memory с большими объемами данных
Если у вас есть большие данные, которые не помещаются в стек, используйте Memorу. Это позволит эффективно работать с кучей, сохраняя данные в памяти и передавая их по мере необходимости.
Span и Memory — это настоящие маги производительности в C#. Они позволяют работать с памятью быстро, избавляя от необходимости копировать данные и снижая нагрузку на сборщик мусора
🐸Библиотека шарписта #буст👍 18❤ 3
🤩 Вайб-кодинг: новая эра в программировании или модная ошибка
Мы подготовили 5 карточек, которые расскажут, как вайб-кодинг меняет разработку, какие плюсы и минусы он имеет, а также что думают об этом сами специалисты.
➡️ Подробности в статье
🐸Библиотека шарписта
👍 5😢 4👾 2❤ 1🥱 1
Photo unavailableShow in Telegram
🤔 Зачем вообще понимать, как работает ML?
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Вроде всё работает… но почему? А когда сломается — что делать?Машинное обучение — это система, которую можно понять. Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью. 👉 Мы сделали курс, чтобы в это было реально въехать: — без сложных формул; — с интуитивными объяснениями; — от простого к сложному. Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу! ❗Стартуем в сентябре — бронируй место на курсе уже сейчас
🥱 3❤ 2
🧠 virtual, override, new, overload в C#
Работаете с наследованием в C#? Тогда вы обязаны понимать, как работают
virtual, override, new и overload. Разложим по полочкам:
virtual — можно переопределить
Метод можно переопределить в классе-наследнике. Без него — нельзя.
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal speaks");
}
}
override — переопределение родительского метода.
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Woof");
}
}
new — перетирание метода базового класса
Это не переопределение, а маскировка: новый метод с тем же именем.
class Cat : Animal {
public new void Speak() {
Console.WriteLine("Meow");
}
}
overload — перегрузка метода
Метод с таким же именем, но разными параметрами. Никак не связан с наследованием.
class Printer {
public void Print(string text) { ... }
public void Print(int number) { ... } // overload
}
🐸Библиотека шарписта #буст👨💻 Подборка вакансий для шарпистов
.NET developer — до 300 000 ₽, удалёнка.
Senior Unity/C# разработчик — до 300 000 ₽, офис (Москва).
Разработчик C# — до 300 000 ₽, удалёнка.
Разработчик С# / .NET Core — от 220 000 до 350 000 ₽, удалёнка.
Разработчик .NET/C# — от 300 000 до 350 000 ₽, удалёнка.
Бустер — Удалённо (в любом городе мира).
➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Photo unavailableShow in Telegram
Хотите разобраться в тестировании API на ASP.NET Core?
➡️ Присоединяйтесь к открытому уроку «Тестирование API в ASP.NET Core: Интеграция и Нагрузка» 5 августа в 20:00 МСК. На вебинаре мы:
- Разберем ключевые концепции интеграционного и нагрузочного тестирования.
- Научимся писать интеграционные тесты с популярными библиотеками.
- Освоим инструменты для нагрузочного тестирования и анализа результатов.
📗 Этот урок — отличная подготовка к курсу «C# ASP.NET Core разработчик», который стартует совсем скоро. Все участники вебинара получат скидку на обучение!
Записаться на вебинар → https://clc.to/iOE8qg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤ 1🥱 1
Repost from TgId: 2055368043
Каков правильный порядок явного преобразования типов для преобразования большего типа в меньший в C#?
👾 — double -> float -> long -> int -> char -> bool
👍 — double -> float -> long -> int -> char
🥰 — float -> double -> long -> int -> char
⚡️ — float -> double -> long -> int -> char -> bool
Библиотека задач по C#
👍 80👾 6🌚 4❤ 3
Photo unavailableShow in Telegram
📰 Дайджест недели
Для тех, кто пропустил инфопоток — конденсат самых значимых апдейтов.
— Smarter AI Edits в Visual Studio Copilot
Ранее большинство изменений вносилось с помощью жёстких эвристических правил и шаблонов, что давало лишь ~50 % успешных результатов и приводило к конфликтам синтаксиса или потере частей кода.
Теперь используется сочетание спекулятивной декодировки и современных моделей, которое позволяет формировать «идеальный» вариант файла и затем сравнивать его с фактическим кодом, аккуратно интегрируя необходимое изменение без ломки контекста
— Нативная поддержка VECTOR в .NET и JDBC‑драйверах
Microsoft объявила о релизе Microsoft.Data.SqlClient 6.1.0 и Microsoft JDBC Driver for SQL Server 13.1.0, которые впервые предлагают полноценную нативную обработку векторных данных через новый тип VECTOR
— Microsoft выпустила .NET Aspire 9.4
Главное нововведение — полноценный нативный AOT-командный интерфейс Aspire CLI, который теперь в общем доступе. Он предоставляет команды
aspire new, aspire run, aspire add, aspire config.
— Delivery Manager: что за профессия и какую роль играет в разработке
— Вайб-кодинг: что это и как к нему относятся IT-специалисты и работодатели
🐸Библиотека шарписта #свежак❤ 1
Photo unavailableShow in Telegram
🧩 Субботний ребус
Что мы загадали в ребусе? Пишите под спойлер в комментарии 👇
🐸Библиотека шарписта #междусобойчик
😢 1
Photo unavailableShow in Telegram
🔄 Роль delivery manager в процессе разработки
Delivery Manager отличается от традиционного проектного менеджера тем, что его роль сосредоточена не только на планировании и контроле сроков, но и на постоянной оптимизации процесса разработки.
В статье про то, почему без этой роли проект может сорваться, и как именно этот специалист влияет на успешную разработку продукта.
➡️ Подробнее про Delivery Manager
🐸Библиотека шарписта
Photo unavailableShow in Telegram
👀 Ticker Q: быстрый и эффективный
Если вы работаете с Quartz или Hangfire и хотите избавиться от их ограничений, Ticker Q может стать отличной альтернативой. Эта библиотека улучшает старые решения, предоставляя простоту, высокую скорость и поддержку асинхронности.
В видео покажут, как легко внедрить Ticker Q в проект на .NET и настроить cron-выражения с EF Core для хранения задач.
➡️ Смотреть видео
🐸Библиотека шарписта #буст
🔥 13❤ 1😁 1
