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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
💔AI vs Developer: who wins?

Бигтех уже режет найм разработчиков. Вайб-кодинг повсюду. Джуны не нужны. Но так ли это на самом деле?

Мы хотим разобраться, как ИИ влияет на рынок труда в IT. В реальности, а не в головах CEO или HR. Поэтому приглашаем пройти опрос.

Результаты нашего исследования позволят выяснить, сколько разработчиков потеряли работу из-за ИИ? Какие навыки сейчас ценятся больше всего? Кто зарабатывает больше — те, кто использует ИИ или игнорирует?

👾 Расскажите свою историю, чтобы помочь комьюнити: https://clc.to/aFntFw
🥱3😁1
😎 Разбор загадки

В субботу была загадана загадка😼

В комментария была дискуссия, с разными вариантами ответ. Хотим дать ответ.


Условие загадки:

«Я рождаюсь без имени, живу без тела, умираю без памяти. Меня нельзя позвать, но я всегда прихожу. Что я такое?»


💡 Ответ:

Лямбда-функция (анонимная функция)


❗️ Разбор загадки:

«Рождаюсь без имени» — лямбды не имеют имени, в отличие от обычных функций

«Живу без тела» — существуют только как выражения

«Умираю без памяти» — после выполнения исчезают из области видимости

«Меня нельзя позвать» — нельзя вызвать по имени (его просто нет)

«Но я всегда прихожу» — выполняются там, где определены

Библиотека C/C++ разработчика
👍91🥱1
🧨 Address Sanitizer в Visual Studio 2022

«Опять segfault в продакшене из-за memory corruption... А ведь код проходил все тесты!»


💡 Microsoft выпустила обновление Address Sanitizer для Visual Studio 2022 версии 17.14 с фокусом на качество и внедрение ASan в собственный toolchain.

Ключевые улучшения версии:

• расширенная поддержка __asan_default_options для secure приложений
• автоматизированное тестирование совместимости с Xbox OS
• исправление регрессии отображения call stack на x64
• возможность отключения container annotations по allocator

Самое интересное — Microsoft теперь использует ASan для тестирования самого MSVC компилятора. Каждый PR должен проходить тесты, где компилятор собран с /fsanitize=address😼

Это означает, что ASan теперь мониторит не только вашу программу, но и сам процесс компиляции, выявляя memory safety ошибки в toolchain.

👉 Статья

Библиотека C/C++ разработчика #буст
🔥43
📦 Создание модулей C++20 для быстрой компиляции

Modules — это будущее организации C++ кода.


❗️ Проблема:

Медленная компиляция из-за #include файлов.


Решение:

1️⃣ Создайте module interface файл
2️⃣ Экспортируйте нужные декларации
3️⃣ Импортируйте модуль в коде

// math_utils.ixx
export module math_utils;

export namespace math {
int add(int a, int b) {
return a + b;
}

double sqrt_approx(double x) {
return x / 2.0; // Упрощенная версия
}
}

// main.cpp
import math_utils;
#include <iostream>

int main() {
std::cout << math::add(3, 4) << std::endl;
return 0;
}


Частые ошибки:

Забывать ключевое слово export для публичных функций.


💡 Совет:

Modules работают не во всех компиляторах — проверяйте поддержку!

Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥141
🎯 Что посмотреть: когда метрики мотивируют неправильно

Знаешь закон Гудхарта? «Когда метрика становится целью, она перестаёт быть хорошей метрикой». В C++ разработке это особенно актуально.


Андрей Бреслав (ex-JetBrains, а теперь основатель стартапа) и Александр Ложечкин (ex-Microsoft, ex-Amazon, а теперь CIO в банке) рассуждают, спорят, делятся опытом, и просто болтают на темы развития людей, руководства, технологий и всего остального.

Основные идеи подкаста:

Не оптимизируй code coverage ради 100% — качество тестов важнее
Lines of code — антиметрика (меньше часто лучше)
Build time должен мотивировать на лучшую архитектуру
Bug count без контекста может демотивировать тестирование

Метрики должны направлять к правильным решениям, а не быть игрой в цифры.

👉 Подкаст о метриках

Библиотека C/C++ разработчика #буст
5
🚨 ИИ уже съел ваше место?

Стоп. Давайте без паники и хайпа.

Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.

Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.

Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ

Без буллшита — только цифры и факты. Результаты будут открыты для всех.

📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
3
🧑‍💻 AI-инструменты, которые я использую каждый день

Андрей, мидл C++ разработчик, рассказывает о том, какие современные AI-инструменты разработки он использует в повседневной работе.

Какие AI-инструменты облегчают вашу работу? Делитесь в комментариях 👇

Библиотека C/C++ разработчика #буст
👍41🥰1
😤 «AI-агенты — это всё игрушки, зачем на это курс покупать, когда всё есть в интернете?!»

Ага, конечно. Вот только на YouTube никто не:

• Разберет твои вопросы вживую
• Не покажет, как применять AI-агентов на практике
• Не поможет встроить это в реальную работу DS-специалиста

Уже 23 июня в 19:00 по МСК ты можешь сам всё узнать на бесплатном вебинаре с экспертом Никитой Зелинским.

👉 Что будет на вебинаре:

— Разбор структуры курса
— Ответы на частые вопросы студентов
Примеры из реальных проектов с AI-агентами
— И, конечно, как это всё можно использовать в работе прямо сейчас

А если уже всё понял и хочешь идти учиться — лови промокод lucky на 5.000₽

🔗 Ссылка на курс

P.s. Ждем тебя!
2🥱1
Команда дня: оптимизация размера исполняемого файла

Уменьшение размера скомпилированного C++ приложения с помощью strip.

❗️Команда для удаления отладочной информации:

strip --strip-debug --strip-unneeded ./your_app


❗️Дополнительные способы уменьшения размера:

g++ -Os -s -DNDEBUG file.cpp — оптимизация размера при компиляции

upx --best ./your_app — сжатие исполняемого файла (требует upx)

objdump -t ./app | wc -l — количество символов в файле

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Многопоточность в C++: почему std::thread до сих пор популярнее coroutines?

C++20 дал нам coroutines, но посмотрите на любой проект — везде std::thread и std::async. Совпадение? Не думаю!


Жесткая правда:

std::thread — понятно, работает везде
std::async — удобно для простых задач
🤷 coroutines — мощно, но никто не понимает как

Реальный кейс: переписывал сетевой сервер с threads на coroutines. Результат? -30% производительности, +200% времени на отладку.

Непопулярное мнение: Coroutines в C++20 — это недоделанная фича. В Rust и Go сделали лучше.

// 2025 год, а мы все еще пишем:
std::thread t([]{
// do work
});
t.join();


👇 А что думаете вы? Какой подход используешь в продакшене? Что выбираешь для новых проектов?

🔥 std::thread (надежно и понятно)
👏 std::async (просто и элегантно)
❤️ coroutines (будущее уже здесь)
👾 thread pool библиотеки (практично)

Библиотека C/C++ разработчика #междусобойчик
🔥29👾10👏63🥱1
📰 Свеженькое из мира C++

Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.

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

Address Sanitizer в Visual Studio 2022 — улучшение средств разработки почти всегда приводит к улучшению качества кода
Когда метрики мотивируют неправильно — иногда метрики это зло, а иногда ещё большее зло

😎 Полезное:

C++ Concepts — типобезопасность на новом уровне — использование концептов может сделать код более читаемым
Создание модулей C++20 для быстрой компиляции — модули в C++ это то что мы все так долго ждали, но пока ещё ждём
Оптимизация размера исполняемого файла — полезные трюки по уменьшению размера бинарника

🖨️Интересные проекты:

YimMenuV2 — Экспериментальное меню для GTA 5
RTranslatorэто (почти) бесплатное приложение для перевода в режиме реального времени с открытым исходным кодом в автономном режиме для Android
spdlog — быстрая библиотека логирования на C++


Библиотека C/C++ разработчика #свежак
5👍1👏1😁1
🏖️ Подборка вакансий для C++-разработчиков за неделю

C++ developer (KORNFELD) — Удалёнка (Санкт-Петербург)

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

C++ Developer — 4 200 —‍ 6 600 € Офис (Берлин)

C++ Developer in L2/L3 (Радиочастотный центр) — от 250 000 ₽ Удалёнка

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

Библиотека C/C++ разработчика
🎨 Qt Quick/QML — декларативный UI для C++ приложений

Если хотите создавать современные, анимированные интерфейсы без HTML/CSS, то Qt Quick хороший выбор.

Qt Quick — это декларативный framework для создания UI с использованием языка QML. Позволяет легко создавать анимации, переходы и современные интерфейсы, интегрируясь с C++ логикой.


👉 Установка:

# Часть Qt framework
# Установка через Qt Online Installer
# Или sudo apt install qtquick2-dev qtdeclarative5-dev


💡 Примеры использования:

// main.qml
import QtQuick 2.15
Rectangle {
width: 300; height: 200
color: "lightblue"
Text {
anchors.centerIn: parent
text: "Hello QML!"
}
}


Дополнительные возможности:

— Встроенная поддержка анимаций
— Биндинг данных с C++ моделями
— Кастомные компоненты
— Горячая перезагрузка во время разработки


🔍 Интеграция с C++:

class Backend : public QObject {
Q_OBJECT
Q_PROPERTY(QString data READ data NOTIFY dataChanged)
public slots:
void updateData() { /* логика */ }
};
qmlRegisterType<Backend>("com.myapp", 1, 0, "Backend");



Библиотека C/C++ разработчика #буст
👍73😢1