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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
На Хабре появилось подробное руководство по настройке проекта на основе системы сборки CMake, в котором особое внимание подключению библиотек и настройке проектов с Vulkan.

📍Что внутри:

• Подключение библиотек через FetchContent, включая работу с библиотеками без CMakeLists.txt
• Настройка скомпилированных и header-only библиотек
• Оптимизация процесса загрузки зависимостей
• Автоматизация компиляции шейдеров
• Предварительная компиляция заголовков для ускорения сборки

Особое внимание в материале уделено интеграции Vulkan SDK в проекты на CMake, включая решение распространенных проблем с переменными окружения и настройкой путей.

В завершение автор затрагивает тему производительности, развенчивая распространенное заблуждение о накладных расходах при использовании исключений в C++.
🔥12👍4
💬 ТОП-8 фраз, которые испортят впечатление о вас на собеседовании

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

Есть проверенные подходы, которые помогут избежать таких ситуаций, выстроить грамотное общение и оставить положительное впечатление. Готовы узнать больше? 🌟

🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👏1
«Часами вручную создавать префабы в редакторе? В 2025 это уже не наш метод!»

Яркие примеры таких задач — Actor Blueprint и Data Asset. Здесь автор делится опытом создания утилит в Unreal Engine, которые автоматизируют процесс генерации последних.

Ключевые моменты:

• Создание Editor Utility Widget
• Работа с фабриками ассетов и Subobject Data Subsystem
• Реализация конвертации Data Asset в нужный формат через C++ и Blueprint

Основной фокус статьи — практическое применение Editor Scripting в Unreal Engine для автоматизации создания игровых ассетов. Автор показывает, как с помощью редакторных утилит можно значительно ускорить работу дизайнеров уровней и минимизировать ошибки при создании типовых объектов.

Вы узнаете, как решение автора помогло сократить время на создание префабов в несколько раз по сравнению с ручным процессом, что особенно важно при работе над крупными проектами.
🔥6👍1
В офисе завились большие крысы😋

#memes
😁34😢7🌚21👾1
📚The Design and Implementation of the RT-Thread Operating System (2020)

✍️Автор: Qiu Yi, Xiong Puxiang, Tianlong Zhu

📃Страниц: 413

Цель разработки и внедрения RT-Thread RTOS - создать простую систему обучения для освоения RT-Thread, чтобы больше разработчиков могли участвовать в разработке RT-Thread и работать вместе над созданием компактной и красивой операционной системы Интернета вещей с открытым исходным кодом. Первая часть книги знакомит с ядром RT-Thread и начинается с обзора RT-Thread, а затем рассматриваются управление потоками, управление тактовой частотой, межпоточная синхронизация, взаимодействие между потоками, управление памятью и управление прерываниями

Скачать книгу
👍5👏3
🌵🕵️‍♂️ Git-квест: 10 испытаний для повелителя репозиториев

Привет всем C++ разработчикам!

Думаю каждый сталкивался в своей практике с системами контроля версий, и наверняка среди них был Git.

Настало время, чтобы проверить полученные знания.

Ниже ссылка на тест, который покажет насколько ты хорош в использовании Git!

👉 Пройти тест
Каждый раз, когда нужно добавить новую бизнес-логику в микросервис, приходится писать тонну бойлерплейта и инфраструктурного кода


— типичная проблема при разработке микросервисов, с которой сталкиваются многие C++ разработчики.

💡 Павел Сухов из Яндекс.Доставки делится решением.

🔧 Ключевые моменты:

• Создание универсального регистра типов с помощью вариативных шаблонов
• Использование концептов C++20 для статической проверки корректности бизнес-логики на этапе компиляции
• Разработка тулкитов для изоляции бизнес-логики от инфраструктурного кода

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

В завершение автор демонстрирует, как правильная организация кода позволила сократить время на внедрение новых бизнес-требований и значительно упростить поддержку существующей функциональности, сохранив высокую производительность.
С Новым годом и Годом Змеи! 🐍 Пусть этот год принесет вам успех, рост и меньше усилий для достижения больших целей. Мы в Proglib Academy пришли с хорошими новостями в начале года.

🌟 Обновления курсов!

Мы работаем над тем, чтобы ваше обучение было проще и эффективнее. Вот что мы уже улучшили:

📈 Data Science: улучшили блок «Геометрическая прогрессия и векторная алгебра» — ключевой этап курса, который идет сразу после теории множеств.

Он закладывает фундамент для работы с данными: от анализа роста и убывания величин (геометрическая прогрессия) до понимания многомерных пространств и операций с векторами. Знания которых пригодятся в машинном обучения и аналитики.


🐍 Python: обновили курс с учетом последней версии Python 3.9.5, добавив актуальные материалы и улучшив структуру. Чтобы вы могли лучше закрепить пройденный материал, мы добавили новые интересные задачи и практические примеры.

Учебный процесс стал еще удобнее и эффективнее, а вы сможете быстрее освоить современные инструменты и техники программирования


Общие обновления:


- Перезаписали демо-курсы и презентации. Чтобы вы точно одурели с этой прикормки.
- Сократили время проверки домашних заданий, ответы теперь приходят быстрее.
- Видео теперь без перекрытий, презентации стали четче, а задания логичнее.


Но главное — мы растем для вас и с вами. Ваша обратная связь помогает нам становиться лучше. Делитесь идеями, и вместе мы создадим лучший образовательный продукт для вас!
💡 С 27.01.25 цены изменятся на 10%.

Пример: Алгоритмы и структуры данных: 25,190 → 27,700 ₽. Это позволяет нам делать курсы еще круче.
Давайте сделаем 2025 год годом вашего профессионального успеха! 🚀

Выбрать курс
🥱3👍2
Физика в играх — это страшная вещь, куда не суются даже опытные разработчики


— распространённое заблуждение, которое отпугивает многих от создания собственных физических движков.

💡 На лекции UNIGINE Open Air 2024 Андрей Викторов рассказал о современном подходе к физическим симуляциям — Position Based Dynamics.

Ключевые моменты:

• Движение тел через constraints вместо прямых вычислений сил и скоростей
• Использование алгоритма GJK для эффективного поиска столкновений между объектами без сложной полигональной геометрии
• Оптимизация производительности через итеративное решение позиционных ограничений вместо прямого расчёта физики

Основной фокус — практическая реализация физического движка с использованием Position Based Dynamics.

В завершение автор развенчивает миф о сложности физических движков: правильный выбор подхода (Position Based вместо Force Based) позволяет создать надёжную физическую симуляцию без погружения в сложную математику непрерывных систем.
🔥82👍1
Я меня просто поменял std::vector на pmr::vector и всё сломалось... А ведь говорили, что будет быстрее работать!


— такие комментарии часто встречаются при попытках оптимизировать проект с помощью полиморфных аллокаторов.

💡 Автор статьи погружается в эту тему и разбирает неочевидные подводные камни использования pmr-контейнеров в C++.

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

• нестандартное поведение конструкторов копирования;
• проблемы lifetime management;
• подводные камни при реализации операторов присваивания.

Основной фокус — практические проблемы внедрения полиморфных аллокаторов в существующий код и способы их решения через паттерн Resource Manager. Особенно актуально для проектов, где производительность критична и планируется использование pmr-контейнеров.

Вы узнаете, что простая замена std:: на pmr:: без продуманной архитектуры управления ресурсами может привести к UB и падениям программы вместо ожидаемого прироста производительности.
🔥6😁1
😎 Armadillo: матрицы, кубы и разреженные данные на C++

Каждый раз приходится писать 100500 строк кода, чтобы просто перемножить матрицы в C++


— знакомая боль? STL вообще не заточена под линейную алгебру, а писать и отлаживать собственные алгоритмы — то еще удовольствие.

💡 Но есть решение — библиотека Armadillo.

Ключевые моменты:

• Интуитивный синтаксис в стиле MATLAB/Python — работаете с матрицами как с обычными переменными
• Молниеносная скорость благодаря интеграции с OpenBLAS, MKL и LAPACK
• Поддержка разреженных матриц и многомерных массивов (кубов) из коробки
• Встроенные методы для PCA, кластеризации и машинного обучения
👍6
💡 Разбираем, как в Quake решали проблему избыточного рендеринга с помощью порталов и предварительных вычислений.

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

• Автоматическое размещение порталов между игровыми зонами для эффективной отрисовки только видимых областей
Предварительный расчёт видимости (PVS) для каждой области карты вместо проверок в реальном времени
• Использование BSP-деревьев для разделения пространства на компактные выпуклые области

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

В результате применения этих технологий Quake смог достичь впечатляющей производительности даже на относительно слабых компьютерах того времени. Интересно, что многие из этих подходов используются и в современном геймдеве, хотя и в модифицированном виде.
🤔4👍2
Привет! Мы собираем данные о том, какие методы биохакинга действительно помогают разрабам улучшить качество жизни и повысить продуктивность. Поделитесь своим опытом — это поможет другим сделать осознанный выбор в мире биохакинга.
Третья рабочая неделя года подходит к концу, а мемы все не заканчиваются! Собрали для вас самые актуальные шутки, которые точно заставят вас улыбнуться (или заплакать, тут уж как повезет)😋

#memes
1🤔1