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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

😼 Интересное:

Clang получает режим усиленной безопасности — добавление в Clang нового флага безопасности
Range views — детали реализации, неочевидное поведение и влияние на производительность
Сколько ты стоишь как разработчик — статья о том как оценить свою стоимость на рынке

😎 Полезное:

Как избежать memory ordering проблем в многопоточном коде — полезные советы по улучшению многопоточного кода
std::exchange — современный способ обмена значениями

🖨️Интересные проекты:

Solidity — язык высокого уровня для реализации смарт-контрактов
Flameshot — мощное, но простое в использовании программное обеспечение для создания снимков экрана
Eclipse SUMO — пакет для моделирования дорожного движения с открытым исходным кодом

Библиотека C/C++ разработчика #буст
🏖️ Подборка вакансий для C++-разработчиков за неделю

Разработчик С++ — от 200 000 ₽ Гибрид (Новосибирск)

Senior C++ Developer — от 350 000 ₽ Удалёнка

C/С++ Software Developer (Linux Kernel) — от 250 000 и до 300 000 ₽ Удалёнка

Team Lead C++ (Базы данных) — от 470 000 и до 600 000 ₽ Удалёнка

Библиотека C/C++ разработчика
📺 Хватит коллекционировать туториалы!

Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas.

Знания без системы — это просто «шум». Они не превращаются в навыки и проекты.

Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио.

И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок

👉 Превратите «шум» в навык

А вы сталкивались с «информационной кашей»? Как выбирались? 👇
🔥 Как с помощью статического анализа улучшить производительность Unreal Engine проекта

💡 В статье разбираются особенности интеграции PVS-Studio с игровым движком и способы оптимизации процесса анализа кода.


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


• Unreal Engine использует собственную систему сборки UnrealBuildTool, через которую должен запускаться анализ

• Unity build объединяет множество .cpp файлов в один, что увеличивает потребление памяти при анализе

• Cпециальные диагностические правила для UE-проектов помогают находить проблемы с UObject и нарушения naming conventions


Основной фокус — практические способы запуска анализа через флаги UBT, настройку .target.cs файлов и оптимизацию потребления ресурсов.

Вы узнаете, что простое подключение анализатора через IDE не работает с UE, и нужно использовать специфичные для движка подходы, включая новые возможности анализа Horde + UBA.

👉 Статья

Библиотека C/C++ разработчика
🔥42
🥳 How to: RAII + Custom Deleters для ресурсов

Если нужно управлять сложными ресурсами, то можно воспользоваться костюмными deleters.

‼️ Проблема:

FILE*, сокеты, OpenGL объекты требуют специального освобождения

✏️ Решение:


// Универсальный RAII wrapper

template<typename T, typename Deleter>
class Resource {
T resource;
Deleter deleter;
bool owns_resource = true;
public:
Resource(T resource, Deleter deleter) : resource(resource)
, deleter(deleter) {}

~Resource() { if(owns_resource) deleter(resource); }

Resource(Resource&& other) : resource(other.resource)
, deleter(std::move(other.deleter))
, owns_resource(other.owns_resource)
{ other.owns_resource = false; }

Resource(const Resource&) = delete;
T get() const { return resource; }
T release() { owns_resource = false; return resource; }
};


// Использование
auto file = Resource(fopen("data.txt", "r"),
[](FILE* f) { if(f) fclose(f); });


🍪 Совет:

Для совместимости с STL удобно использовать std::unique_ptr с кастомным deleter.


Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🥰3
This media is not supported in your browser
VIEW IN TELEGRAM
Офер в Яндекс за 48 часов: ищем бэкендеров

В команду нужны опытные бэкенд-разработчики на C++, Python, Java и Go. Приглашаем на Мультитрек — онлайн-программу быстрой адаптации.

Всего за 2 дня вы можете получить офер:
• До 18 августа подать заявку и пройти предварительный отбор
• 23 августа решить задачи на технических секциях
• 24 августа пройти финальное собеседование и получить офер
После этого будет возможность поработать с тремя командами и выбрать проект по душе.

Создаём технологии, которые меняют мир. Присоединяйтесь! Оставляйте заявку на сайте.

Реклама. ООО "Яндекс". ИНН 7736207543
1