TGViewer
Channel Public Channel
Библиотека C/C++ разработчика | cpp, boost, qt

Библиотека C/C++ разработчика | cpp, boost, qt

@cppproglib

Все самое полезное для плюсовика и сишника в одном канале.

Как запустить своего ии-агента: https://clc.to/tvpmDQ

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

Обратная связь: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

#WXSSA
Subscribers
16.9K
Photos
2.3K
Videos
74
Links
4.6K

Showing posts older than #5400 · Back to latest

Older Posts 20 shown
Post #5399 3.69K
Почему на собеседованиях спрашивают про регистры и ассемблер, если я пишу на C++?


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

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

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

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

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

В результате прохождения курса вы не только научитесь писать эффективный код для микроконтроллеров, но и сможете уверенно отвечать на каверзные вопросы на собеседованиях, понимая, что происходит «под капотом» вашей программы.
  • 👍 5
  • ❤ 1
Post #5398 4.69K
Третья рабочая неделя года подходит к концу, а мемы все не заканчиваются! Собрали для вас самые актуальные шутки, которые точно заставят вас улыбнуться (или заплакать, тут уж как повезет)😋

#memes
  • ❤ 1
  • 🤔 1
Post #5394 3.78K
  • 🤔 3
  • 👾 1
Post #5391 3.33K
Привет! Мы собираем данные о том, какие методы биохакинга действительно помогают разрабам улучшить качество жизни и повысить продуктивность. Поделитесь своим опытом — это поможет другим сделать осознанный выбор в мире биохакинга.
  • ❤ 1
Post #5390 3.92K
💡 Разбираем, как в Quake решали проблему избыточного рендеринга с помощью порталов и предварительных вычислений.

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

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

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

В результате применения этих технологий Quake смог достичь впечатляющей производительности даже на относительно слабых компьютерах того времени. Интересно, что многие из этих подходов используются и в современном геймдеве, хотя и в модифицированном виде.
  • 🤔 4
  • 👍 2
Post #5389 5.33K
#memes
  • 😁 16
  • ❤ 6
Post #5388 4.54K
😎 Armadillo: матрицы, кубы и разреженные данные на C++

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


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

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

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

• Интуитивный синтаксис в стиле MATLAB/Python — работаете с матрицами как с обычными переменными
• Молниеносная скорость благодаря интеграции с OpenBLAS, MKL и LAPACK
• Поддержка разреженных матриц и многомерных массивов (кубов) из коробки
• Встроенные методы для PCA, кластеризации и машинного обучения
  • 👍 6
Post #5387 4.26K
Я меня просто поменял std::vector на pmr::vector и всё сломалось... А ведь говорили, что будет быстрее работать!


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

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

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

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

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

Вы узнаете, что простая замена std:: на pmr:: без продуманной архитектуры управления ресурсами может привести к UB и падениям программы вместо ожидаемого прироста производительности.
  • 🔥 6
  • 😁 1
Post #5386 4.04K
Физика в играх — это страшная вещь, куда не суются даже опытные разработчики


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

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

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

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

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

В завершение автор развенчивает миф о сложности физических движков: правильный выбор подхода (Position Based вместо Force Based) позволяет создать надёжную физическую симуляцию без погружения в сложную математику непрерывных систем.
  • 🔥 8
  • ❤ 2
  • 👍 1
Post #5385 3.3K
С Новым годом и Годом Змеи! 🐍 Пусть этот год принесет вам успех, рост и меньше усилий для достижения больших целей. Мы в Proglib Academy пришли с хорошими новостями в начале года.

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

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

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

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


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

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


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


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


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

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

Выбрать курс
  • 🥱 3
  • 👍 2
Post #5384 3.44K
Каждый раз, когда нужно добавить новую бизнес-логику в микросервис, приходится писать тонну бойлерплейта и инфраструктурного кода


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

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

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

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

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

В завершение автор демонстрирует, как правильная организация кода позволила сократить время на внедрение новых бизнес-требований и значительно упростить поддержку существующей функциональности, сохранив высокую производительность.
Post #5383 3.9K
🌵🕵️‍♂️ Git-квест: 10 испытаний для повелителя репозиториев

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

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

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

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

👉 Пройти тест
Post #5382 3.42K

Forwarded from Книги для C/C++ разработчиков

📚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
Post #5381 4.31K
В офисе завились большие крысы😋

#memes
  • 😁 34
  • 😢 7
  • 🌚 2
  • ⚡ 1
  • 👾 1
Post #5380 4.31K
«Часами вручную создавать префабы в редакторе? В 2025 это уже не наш метод!»

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

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

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

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

Вы узнаете, как решение автора помогло сократить время на создание префабов в несколько раз по сравнению с ручным процессом, что особенно важно при работе над крупными проектами.
  • 🔥 6
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →