Библиотека C/C++ разработчика | cpp, boost, qt
19.8K subscribers
1.9K photos
56 videos
16 files
4.12K links
Все самое полезное для плюсовика и сишника в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🧠 System Level Meetup: C++
📅 22 ноября 2025 года
🕚 11:00 — 22:00
📍 Москва, 2-й Кожуховский пр., 29, корп. 6 (МЦК, станция «ЗИЛ»)
🎟 Формат: онлайн и офлайн. Участие бесплатное, по предварительной регистрации.

Приглашаем C++ разработчиков и системных инженеров на System Level Meetup от YADRO. Поговорим о том, что происходит под капотом языка: как стандартные возможности превращаются в реальные оптимизации, как внедрять новейшие фичи без боли и что мешает производительности в больших производительных системах.

🔍 Что обсудим:
— оптимизации корутин на уровне компилятора: практика и нюансы;
— внедрение C++20 Modules в существующий проект: сложности и результаты;
— LRU Cache для высоконагруженных систем: проблемы конкурентного доступа;
— архитектура и разработка чекеров в clang-tidy;
— строки в C++: string_view, constinit и нюансы нуль-терминации;
— круглый стол: «AI-ассистенты в разработке на C++ — панацея или опасный костыль?».

🗣 Спикеры: Константин Невидин (Синтакор), Тимур Аммаев (YADRO), Илья Клементьев (YADRO), Никита Шубин (YADRO) и другие.

📌 Офлайн-гостей ждут демозона с оборудованием YADRO, технические активности, подарки и нетворкинг. Онлайн-участники смогут задавать вопросы в прямом эфире.

👉 Зарегистрируйтесь, чтобы получить ссылку на трансляцию или попасть на мероприятие офлайн.
😁2
🎁 Конкурс от Proglib Academy!

Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro

Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.

Чтобы поучаствовать, нужно:

1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.

До 15 ноября, потом всё — поезд (и макбук) уйдёт.

👉 Участвовать в розыгрыше
😁31
🍖 Как сократить бинарный код и не потерять нужную функциональность

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

📕 Ключевые моменты статьи:

• грамотное применение флагов компилятора и линковки для сокращения бинаря
• замена std::visit и std::variant на более экономичные паттерны
• уход от std::shared_ptr к unique_ptr ради уменьшения инстанциаций и поддержки чисто-сырого владения

Основной фокус — практические сценарии уменьшения итогового бинарного файла: что реально помогает, а от чего лучше отказаться, если не хотите усложнять архитектуру, ломать исключения и убирать RTTI.

👉 Статья

Библиотека C/C++ разработчика

#буст
👍2
🍬 Чек-лист: Allocators — контроль над памятью

STL позволяет полностью контролировать аллокацию памяти через allocators.


✏️ Зачем нужны:

✓ Pool allocators для объектов одного размера (быстрее malloc)
✓ Stack allocators для временных данных без обращения к куче
✓ Tracking allocators для профилирования утечек памяти
✓ Aligned allocators для SIMD-оптимизированных структур


✏️ Стандартные allocators:

✓ std::allocator — дефолтный, работает через new/delete
✓ std::pmr::monotonic_buffer_resource — аллокация из буфера
✓ std::pmr::unsynchronized_pool_resource для многократного переиспользования
✓ std::pmr::polymorphic_allocator для динамической смены стратегии


✏️ Создание кастомного:

✓ Реализуй allocate() и deallocate()
✓ Объяви value_type, size_type, difference_type
✓ Не забудь про rebind для типов внутри контейнера
✓ Сделай allocator stateless для оптимизаций


💡Как измерить результат:

Сравни количество malloc-вызовов через profiler до и после внедрения кастомного allocator. Цель — уменьшить на 50%+.


🍪 Факт:

В game dev кастомные allocators — стандарт. Они значительно ускоряют аллокацию по сравнению с malloc.

Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники

Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!

→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️

Всё! Теперь ты в игре.

👉 Сейчас или никогда!
🌚2😁1
🍖 «Я хочу 500 000 рублей» и еще 8 способов договориться о зарплате

Представь: ты на собеседовании мечты, и тут HR спрашивает про зарплату. Что скажешь? Называешь число первым или ждешь? Завышаешь или играешь честно? Мы собрали 9 работающих стратегий с конкретными примерами фраз — от «Открытой» до «Я никуда не тороплюсь». Выбирай свою и перестань продавать себя дешево.

👉 Статья
👍31
This media is not supported in your browser
VIEW IN TELEGRAM
Наконец-то неделя закончилась, можно расслабиться и послушать шансончика😎

Библиотека C/C++ разработчика

#развлекалово
😁13👾31
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

🍖 Интересное:

Красивое резюме = провал — статья о том почему могут игнорировать пезюме, даже если оно хорошее
«Я хочу 500 000 рублей» и еще 8 способов договориться о зарплате — полезные рекомендации о том как просить зарплату повыше

😎 Полезное:

std::partition — функция помогающая разделять данные по условию
Как сократить бинарный код и не потерять нужную функциональность — статья об оптимизации кода с помощью флагов сборки
Алокаторы — чек-лист о том какие есть аллокаторы в C++

🔥 Интересные проекты:

cpp-httplib — кроссплатформенная HTTP/HTTPS-библиотека C++11, содержащая только заголовочные файлы
Perfetto — набор SDK, демонов и инструментов с открытым исходным кодом, которые помогают реализовывать трассировку и профилирование


Библиотека C/C++ разработчика

#свежак
4👍1
🐸 Подборка вакансий для C++-разработчиков за неделю

C developer — Удалёнка

Middle+ / Senior C++ developer — Удалёнка

Senior разработчик C++ в команду Core — Удалёнка

Middle Разработчик на C/C++ под Linux — от 250 000 и до 300 000 ₽ Удалёнка

Библиотека C/C++ разработчика
👍2
🍴 Assert vs If: когда проверки только вредят

Часто в коде встречаются избыточные проверки, которые защищают от "невозможных" ситуаций:

void process(Config* config) {
if (config == nullptr) { // хотя config всегда валиден!
log_error("Config is null");
return;
}
// ...
}


❗️Проблема: такие if загромождают код, снижают производительность и создают иллюзию безопасности.

Решение: использовать assert для проверки инвариантов — условий, которые всегда должны выполняться в корректной программе:

void process(Config* config) {
assert(config != nullptr && "Config cannot be null");
// ...
}


💡 Почему это лучше:

• В релизе (NDEBUG) код assert полностью удаляется — нет накладных расходов
• В горячих циклах это может означать миллионы сэкономленных проверок
• Меньше размер исполняемого файла
• assert явно документирует предусловия функции
• Баг обнаруживается сразу в Debug, а не прячется за логами


👉 Статья


Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2👾1