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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
May 17
May 18
Что произойдёт при использовании источников диапазонов (C++20)?
Anonymous Quiz
17%
12
49%
34
20%
345
14%
Ошибка компиляции
May 19
May 19
🤓 Как использовать концепты C++20 для создания надежного кода

Устали от непонятных ошибок шаблонов? Концепты спешат на помощь.

//  Старый подход без концептов
template<typename T>
T max_value(const std::vector<T>& values) {
// Ошибка будет обнаружена только при инстанциации шаблона
return *std::max_element(values.begin(), values.end());
}

// Современный подход с концептами
template<typename T>
requires std::totally_ordered<T>
T max_value(const std::vector<T>& values) {
return *std::max_element(values.begin(), values.end());
}

// Еще короче с auto
auto max_value(const std::vector<std::totally_ordered auto>& values) {
return *std::max_element(values.begin(), values.end());
}


❗️Преимущества:

- Более понятные сообщения об ошибках
- Документирование требований в коде
- Перегрузка на основе свойств типов

Встроенные концепты: std::integral, std::floating_point, std::copyable, std::same_as и другие.

Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
May 20
May 20
May 20
🔬 GoogleTest — полнофункциональный фреймворк для тестирования C++ кода от Google

GoogleTest (GTest) — это мощный и гибкий фреймворк для модульного тестирования C++ кода, разработанный Google. Он предоставляет богатый набор утверждений, фикстур, моков и других инструментов, которые помогают писать эффективные и поддерживаемые тесты для сложных проектов.

✏️ Установка:

# Через vcpkg
vcpkg install gtest

# Через conan
conan install gtest/1.16.0

# Сборка из исходников
git clone https://github.com/google/googletest.git
cd googletest
mkdir build && cd build
cmake ..
cmake --build .


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

// Базовый тест
#include <gtest/gtest.h>

TEST(StringTest, StringEquality) {
std::string actual = "Hello";
actual += " World";
EXPECT_EQ(actual, "Hello World");
}

int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}


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

— Фикстуры для повторного использования настроек теста
— GoogleMock для создания моков и стабов
— Параметризованные тесты
— Расширенные отчеты о результатах тестирования

⬆️ Параметризованные тесты:

class MathTest : public ::testing::TestWithParam<std::tuple<int, int, int>> {};

TEST_P(MathTest, Addition) {
int a = std::get<0>(GetParam());
int b = std::get<1>(GetParam());
int expected = std::get<2>(GetParam());
EXPECT_EQ(a + b, expected);
}

INSTANTIATE_TEST_SUITE_P(
AdditionTests,
MathTest,
::testing::Values(
std::make_tuple(1, 1, 2),
std::make_tuple(5, 3, 8),
std::make_tuple(-1, 1, 0)
)
);


🍴Ссылочки:

👉
GitHub

Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
May 21
May 21
May 22
🙀 Айти индустрию штормит или куда податься программисту?

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


👀 Что происходит на рынке?

Крупные техногиганты объявляют о сокращениях: Meta, Amazon, Google, Microsoft и десятки других компаний расстаются с тысячами сотрудников. Причины разные — экономическая неопределенность, переоценка приоритетов после пандемии, избыточное найм в период бума.


🥹 Но есть и хорошие новости:

🔹 Спрос на опытных разработчиков остается высоким — увольняют в основном джуниоров и мидлов
🔹Растут новые ниши: ML, кибербезопасность, блокчейн, зеленые технологии
🔹Удаленная работа открыла глобальный рынок — можно работать на компании из любой точки мира
🔹 Стартапы активно нанимают — пока гиганты сокращают, малый бизнес ищет таланты


🤓 Куда двигаться программисту в 2025?

Прокачивать soft skills — в условиях конкуренции важно уметь общаться и работать в команде
Изучать ИИ-инструменты — ChatGPT, GitHub Copilot и аналоги становятся must-have
Диверсифицировать навыки — fullstack, DevOps, аналитика данных ценятся выше узких специалистов
Строить личный бренд — блог, GitHub, выступления помогают выделиться среди кандидатов
Рассматривать нетех сферы — банки, ретейл, медицина тоже нуждаются в программистах


😇 Главное — не паниковать!

IT остается одной из самых перспективных отраслей. Кризис — это возможность переосмыслить карьеру и выйти на новый уровень.

А что думаете вы? Чувствуете ли влияние кризиса на себе? Поделитесь в комментария. 👇

P.S. Напоминаем, вы можете спросить сообщество библиотеки  C++ разработчика и не только! Самые интересные вопросы обязательно опубликуем.

Библиотека C/C++ разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
May 22
May 23
🔨 Системы сборки для C++ проектов

💡 Александр Корнилов из команды разработки Касперский ОС рассказывает о современных подходах к системам сборки для C++ и делится опытом использования неожиданного решения.

❗️ Ключевые моменты доклада:

• эволюция от простого Make до современных оркестраторов сборки
• требования к билд-системам: инкрементальность, параллелизм, кросс-платформенность
• практический опыт использования Gradle для C++ проектов вместо традиционных решений

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

Вы узнаете, что Gradle — не только для Java разработки, но и мощный инструмент для C++ с поддержкой плагинов, артефактов и даже собственным аналогом Maven Central для бинарных библиотек.

👉 Доклад

Библиотека C/C++ разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
May 23
This media is not supported in your browser
VIEW IN TELEGRAM
🟥 SHA-256: сайт, который покажет, как работает хеш

Пока вы просто вызываете hashlib.sha256(), есть сайт, который показывает, что реально происходит под капотом.

На сайте визуальный разбор алгоритма SHA-256

➡️ Прямо по шагам:
• как разбиваются данные на блоки
• как добавляется паддинг
• какие логические операции гоняются внутри
• и как из строки получается тот самый хеш

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

📎 Проверьте сами

🔵 Чтобы знать об алгоритмах все, забирайте наш курс «Алгоритмы и структуры данных»

Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
May 23