Senior C++ Developer
12.9K subscribers
1.29K photos
3 videos
587 links
№ 4931128893
Изучаем C++.

По вопросам сотрудничества: @adv_and_pr
Download Telegram
Kigs framework

Kigs framework — это кроссплатформенный, модульный, многоцелевой фреймворк на С++. Он был использован в качестве основы для многих профессиональных проектов.

#для_продвинутых
LibSourcey

LibSourcey — это набор кроссплатформенных модулей и классов C++14, предоставляющий разработчикам инструменты для быстрого создания высокопроизводительных сетевых приложений на основе p2p и потокового мультимедиа.

Библиотека позиционирует себя как высокопроизводительное решение, объединяющее в себе функциональность libuv, FFmpeg, OpenCV и WebRTC.

#для_продвинутых
libxutils

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

#для_продвинутых
Loki

Loki — это библиотека для языка программирования C++, написанная Андреем Александреску, автором книги "Современное проектирование на C++: Обобщенное программирование и прикладные шаблоны проектирования". Библиотека основана на шаблонном метапрограммировании и активно использует возможности C++ для обобщенного программирования.

#для_продвинутых
STLport

STLport — это кроссплатформенная реализация Стандартной библиотеки шаблонов (STL) для языка C++. Она обеспечивает совместимость с широким спектром компиляторов и операционных систем, что делает ее популярным выбором для разработки на C++.

#для_продвинутых
BTSK

BTSK (Behavior Tree Starter Kit) — это бесплатная библиотека с открытым исходным кодом, написанная на C++, которая помогает разработчикам создавать системы искусственного интеллекта (ИИ) на основе поведенческих деревьев.

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

#для_продвинутых
Evolving Objects

Evolving Objects (EO) — это библиотека эволюционных вычислений (ЭВ) с открытым исходным кодом, написанная на C++. Она предназначена для облегчения разработки эвристических алгоритмов для решения задач оптимизации и поиска.

EO предоставляет набор классов и компонентов, которые можно использовать для создания различных типов ЭВ-алгоритмов, таких как генетические алгоритмы, эволюционные стратегии и дифференциальная эволюция.

#для_продвинутых
Kaldi

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

#для_продвинутых
Frugally-deep

Frugally-deep — это библиотека с открытым исходным кодом, написанная на C++, которая позволяет использовать модели Keras (TensorFlow) в приложениях C++. Она предназначена для случаев, когда модель Keras обучена на Python, но необходимо выполнять предсказания (прямой проход) на C++ без необходимости связывать приложение с TensorFlow.

#для_продвинутых
Genann

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

https://github.com/codeplea/genann

#для_продвинутых
oneDNN

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

https://github.com/oneapi-src/oneDNN

#для_продвинутых
CNTK

CNTK (Microsoft Cognitive Toolkit) - это набор инструментов с открытым исходным кодом для глубокого обучения, разработанный корпорацией Microsoft. Он позволяет создавать и обучать нейронные сети с помощью C++. CNTK обладает рядом преимуществ, делающих его привлекательным выбором для задач глубокого обучения.

#для_продвинутых
Tiny-dnn

Tiny-dnn — это легкая библиотека глубокого обучения, написанная на C++14. Она предназначена для работы на устройствах с ограниченными вычислительными ресурсами, таких как встраиваемые системы и устройства Интернета вещей (IoT).

#для_продвинутых
std::memory_order_release

std::memory_order_release — это одна из опций, используемых в C++ в контексте работы с атомарными операциями и многозадачностью. Она определяет, как должен вести себя компилятор и/или аппаратное обеспечение при выполнении операции записи в память. В частности, std::memory_order_release гарантирует, что все предыдущие операции записи и чтения будут завершены до момента записи с использованием этого порядка памяти.

Когда вы используете std::memory_order_release вместе с атомарными операциями записи, такими как std::atomic_store или std::atomic_exchange, это гарантирует, что все предшествующие операции записи, выполненные в этом потоке, завершатся до момента выполнения операции записи с порядком памяти std::memory_order_release. Это гарантирует, что изменения, сделанные в текущем потоке, видны другим потокам после операции записи с порядком памяти std::memory_order_release.

#для_продвинутых
Вглубь std::unordered_map: магические числа

Смотреть статью
Подводные камни С++. Решаем загадки неопределённого поведения

Изучение и понимание неопределённого поведения — важный шаг для разработчика C++, поскольку undefined behavior бывает источником серьёзных ошибок и проблем в программах.

Смотреть статью