Библиотека 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
«Часами вручную создавать префабы в редакторе? В 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
Почему на собеседованиях спрашивают про регистры и ассемблер, если я пишу на C++?


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

💡 Нашел отличный бесплатный курс по современному embedded-программированию от эксперта с 30-летним опытом: Modern Embedded Systems Programming Course

🔧 Ключевые моменты курса:

• Глубокое погружение в архитектуру ARM Cortex-M
• Практический подход с использованием реального оборудования (TivaC LaunchPad или STM32 NUCLEO)
• Последовательное развитие от базовых концепций до современных практик, включая RTOS

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

В результате прохождения курса вы не только научитесь писать эффективный код для микроконтроллеров, но и сможете уверенно отвечать на каверзные вопросы на собеседованиях, понимая, что происходит «под капотом» вашей программы.
👍51
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.