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

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

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

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
🥁 С++ и безопасность: правда ли все так плохо?

Вышел свежий доклад о безопасности в C++. Докладчик проанализировал недавний отчет NSA и рассказал, так ли плохо обстоят дела с безопасностью в С++ на самом деле и что современная индустрия предлагает для решения этого вопроса

❗️В докладе разобраны проблемы с безопасностью в С++ на открытых примерах из Chromium, среди которых:
• работа с памятью
• UB
• C legacy, строки, арифметика, преобразования типов

❗️Также в докладе разбираются методы решения проблем с безопасностью:
• статический анализ
• динамический анализ
• фаззинг-тестирование
• харденинг
• выделение безопасных подмножеств языка: Misra, AUTOSAR, стандарт Google
• методология SDL как комплексное решение
• и др.

👉 Ссылочка
🙀 Опросик

Хотим узнать, на какие на какие ссылки/статьй вы переходили в последнее время из Telegram? Речь идёт не только о наших статьях и ссылках, а о любых)

👇 Пишите ответы в комментариях в стиле «был пост со статьёй такой-то, я её открыл и почитал»
🍓 Серия статей по изучению OpenGL

Туториал по программированию графики с использованием библиотеки OpenGL

1. Введение
2. Создание окна
3. Hello Window
4. Hello Triangle
5. Текстуры
6. Трансформации
🤖 Диапазоны значений в case

В GCC есть расширение, позволяющее использовать диапазоны в конструкции switch-case

Это бывает удобно, когда можно проверяемое значение привести к числовому. Так не придется писать двойные проверки в конструкции if
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом

Многие люди не умеют грамотно критиковать работы коллег. Эта статья научит вас наносить сокрушительные словесные удары и ставить на место любого оппонента.

🔗 Читать статью
🔗 Зеркало
💣 Как отключить вывод предупреждений о неиспользуемых переменных?

Бывают ситуации, когда приходится пользоваться сторонним кодом (например библиотеками). В нём могут оставаться не используемые переменные, оставленные по той или иной причине. Компилятор на такого рода вещи выдаёт предупреждения

Что бы вывод компиляции не захламлялся данного рода сообщениями, и было проще читать полезные предупреждения, есть специальный флаг (-Wno-unused-variable)

Флаг компилятора -Wno-unused-variable используется для отключения предупреждений, связанных с неиспользуемыми переменными во время компиляции программы
🧨 Что делает std::iota?

std::iota — алгоритм из стандартной библиотеки C++. С его помощью можно заполнять последовательности диапазоном значений, начиная с начального значения и до конца заполняемой структуры

Если выбрать начальное значение за 1, то последовательность будет: 1, 2, 3, 4, 5,...
🧨 Для чего нужен принцип подстановки Лисков?


Принцип подстановки Лисков (Liskov substitution principle) — третий принцип SOLID
• У класса S отнаследованного от T должна быть возможность применяться там, где ожидается T. При этом ожидается, что программа адекватно будет работать
• Идея принципа в том, что контракт (он же функционал), который гарантирует предок должен выполняться и в наследнике
🍊Учебник с github по C++

Хорошо структурированный и в тоже время бесплатный учебник по C++!

К плюсам можно отнести то, что он содержит лабораторные работы

Для начала изучения C++ самое то😊

👉Ссылкочка
🍊 Состоялся релиз фреймворка Qt 6.7 и среды разработки Qt Creator 13

Компания Qt Company опубликовала релиз фреймворка Qt 6.7. В компании придерживаются изначальных подходов к разработке программного обеспечения, и работают над улучшением стабильности кода и расширению функциональности

Qt

👉 Ссылка на обзорную статью
🔮 Доклад о пакетном менеджере Conan

Доклад о применении менеджера пакетов Conan в разработке computer vision продуктов. Докладчик рассказывает об эволюции их процесса разработки ПО и о том, как пришли к Conan. Он также уделит внимание подводным камням Conan при кроссплатформенной разработке

👉 Ссылка
🍔 Установка и использование Conan

Базовую установка пакетного менеджера Conan выполняется довольно просто

Установка Conan
- Рекомендованный способ установки, через менеджер пакетов python (pip install conan)
- Дальше следует установить плагин на CLion (лучше всего воспользоваться туториалом)

Если возникнут проблемы, пишите в комментариях😊
🌳 Инструменты преобразования исходного кода

Интересный сервис, способный переводить исходный код из C++ в C#, Java и Python, и обратно

👉 Ссылка
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году

Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.

Читать статью

#почитать
🍔 Новинки C++26

Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание

До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

• запрет возврата из функции ссылок на временное значение
• [[indeterminate]] и уменьшение количества Undefined Behavior
• диагностика при =delete;
• арифметика насыщения
• линейная алгебра (да-да! BLAS и немного LAPACK)
• индексирование variadic-параметров и шаблонов ...[42]
• вменяемый assert(...)
• и другие приятные мелочи

👉 Ссылочка