Библиотека C/C++ разработчика | cpp, boost, qt – Telegram
Библиотека C/C++ разработчика | cpp, boost, qt
19.6K subscribers
1.97K photos
61 videos
16 files
4.22K links
Все самое полезное для плюсовика и сишника в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
🐸 Подборка вакансий для C++-разработчиков за неделю

Разработчик C++ / Rust (SDN dataplane, DPDK/DOCA API) — Удалёнка

Разработчик С++ (Middle) — от 180 000 и до 400 000 ₽ Гибрид (Москва)

Инженер-разработчик (C/C++/Qt/Embedded) — от 130 000 и до 250 000₽ Гибрид (Санкт-Петербург)

C++ Engineer в компиляторах — от 300 000 ₽ Офис (Новосибирск)

Разработчик C++ — Удалёнка

Библиотека C/C++ разработчика
😁2
📰 Свеженькое из мира C++

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

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

Ставим Fedora на MacBook Pro 2019 с чипом T2 — инструкция по установке Fedora на MacBook
Симулятор: От MOS6502 к x86 — рассматривается развитие симулятора от самых простых микросхем и до x86
15 AI-инструментов для поиска работы в IT за рубежом — полезные инструменты для поиска работы
Короткий синтаксис concepts: что компилятор делает с auto? — фишка, которая позволит сделать код более читаемым
Что не так с public virtual? — рассматриваем как решить проблему с виртуальными функциями при наследовании




🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib


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

#свежак
😁1
🍖 Рализация своего ECS движка
Если std::map убивает весь перформанс, cache miss-ы на каждом шагу..., то пора задуматься о ECS подходе. Возможно это то что тебе нужно.


💡 Автор статьи решил не сдаваться и полностью переписал архитектуру памяти своей ECS, применив data-oriented design на полную катушку.

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

• compile-time разметка памяти через constexpr — никаких накладных расходов в рантайме
• организация данных в сектора — фиксированные блоки памяти, где компоненты лежат плотно друг к другу
• chunk-аллокатор со степенями двойки вместо делений
• сортировка по entityId для последовательного доступа и дружбы с CPU-префетчером

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

👉 Статья

🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib

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

#свежак
👍42🥰1
Никаких утечек памяти — только чистые знания

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

Акция 1 + 2:

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

Выбор плюсовиков:

— алгоритмы и структуры данных (обязательно);
— математика для Data Science (если интересен highload AI).

Получить доступ
Актуально до 31 декабря.

Сегментация выбора? Поможем: @manager_proglib
😁1
⚙️ Структурированное логирование: JSON vs plain text?

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

Структурированные логи в формате JSON или другом машиночитаемом формате позволяют легко фильтровать, агрегировать и анализировать данные. Вместо парсинга строк регулярками вы получаете готовые поля: timestamp, level, message, context, trace_id.

В C++ это достигается через библиотеки типа spdlog с кастомными formatters или специализированные решения вроде Boost.Log. Ключевой момент — добавление контекста: user_id, request_id, session_id. Это превращает хаотичный поток логов в структурированные данные, с которыми может работать ELK stack, Grafana Loki или другие системы мониторинга.

😏 Используете ли вы структурированное логирование или всё ещё разбираете plain text?

🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib

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

#междусобойчик
👍21😁1
🔧 std::promise — move-only тип. И это правильно!

Попытка скопировать promise не скомпилируется. Почему? Потому что обещание должно быть выполнено ровно один раз, одним владельцем.

//  НЕ СКОМПИЛИРУЕТСЯ
std::promise<int> prom1;
std::promise<int> prom2 = prom1; // Error!

// Move семантика — владение передаётся
std::promise<int> prom1;
std::promise<int> prom2 = std::move(prom1);

// Типичное использование в потоке
std::thread t([p = std::move(prom)]() mutable {
p.set_value(42); // Только этот поток владеет promise
});


Аналогия: Представьте promise как расписку о долге. Копия расписки — это две расписки? Или передача прав требования? Очевидно, второе.

При передаче в std::thread или lambda используйте:
• std::move для r-value
• mutable lambda если будете вызывать set_value

⚡️ Move-only семантика — это фитча, а не bug. Она предотвращает race conditions и двойные set_value.

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

#константная_правильность
👍7🙏1
🤖 5 профессий в IT, которые появились благодаря ИИ

Искусственный интеллект не только автоматизирует рутинные задачи, но и создает новые профессии, о которых еще несколько лет назад никто не слышал. Какие именно — рассказываем в этой статье.

👉 Статья

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

#свежак
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Ревью С++ кода без локальной компиляции

Разбор чужого C++ кода без работающей навигации — занятие не для слабонервных. Обычно, чтобы понять, откуда прилетел этот заголовок или где определён шаблон, нужно выкачивать ветку и ждать, пока CLion или VS прожуют проект.

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

Убедитесь в удобстве инструмента сами → https://sourcecraft.dev/code-navigation-demo/uikit/pr/2040
6😁4👏1🌚1
Библиотека C/C++ разработчика

#развлекалово
🥱6😁3🤔1😢1
😎 std::generator в C++23: как упростить код сопрограмм в 5 раз

В C++20 появились корутины, но даже простой генератор требовал 20-100 строк boilerplate-кода. C++23 решает эту проблему с помощью std::generator — стандартного интерфейса, который превращает генерацию последовательностей в одну строку.

📹 Доклад Нико Джосуттиса на Meeting C++ 2025

Автор книг по C++ и участник стандартизации показывает, как std::generator работает под капотом. Разбирается механизм приостановки/возобновления, управление состоянием в heap и обработка исключений. Идеально для тех, кто хочет понять корутины на практике, а не только в теории.

🎯 Практическая ценность

Увидите реальные примеры: от простой итерации по массиву до реализации бесконечной последовательности Фибоначчи. Докладчик сравнивает классический подход с итераторами и современный с std::generator.

Для разработчиков, которые готовы перейти на C++23 и хотят писать более элегантный код.

👉 Доклад


📍 Навигация: ВакансииЗадачиСобесы

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

#линкер_рекомендует
5👍1
😎 Топ-вакансий для C++ разработчиков за неделю

Backend-разработчик

Разработчик C++

Разработчик С++ (Middle)

✍️ Еще больше топовых вакансий — в нашем канале C++ jobs

📍Навигация: ВакансииЗадачиСобесы

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

#буст
👍1