C++ Academy
16K subscribers
590 photos
125 videos
1 file
555 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
⚡️ Проект, в котором разработчик с нуля создал упрощённый аналог Photoshop на C.

Автор делится техническими деталями реализации графического редактора, включая работу с изображениями, интерфейсом и алгоритмами обработки.


Архитектура приложения:


- Реализация базовых функций: кисти, слои, фильтры.

- Алгоритмы для трансформаций (масштабирование, поворот).

- Работа с цветовыми каналами и пикселями.

📌Интерфейс:

Создание GUI без использования современных фреймворков (на чистом C или с минимальными библиотеками).

📌Оптимизация:

Методы ускорения рендеринга и обработки больших изображений.

Чем полезна статья?
Для разработчиков на C/C++:
Пример создания сложного приложения с графическим интерфейсом на низкоуровневом языке.
Идеи для оптимизации ресурсоёмких операций.

Для энтузиастов графики:
Пошаговое объяснение алгоритмов обработки изображений (например, реализация размытия или коррекции цвета).

Для всех, кто интересуется legacy-кодом:
Как работать с ограничениями языка C в современных задачах.

🟡Статья
🟡Код
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 ImGui — библиотека для создания графических пользовательских интерфейсов на C++ с минимальными зависимостями!

🌟 Она основана на парадигме Immediate Mode GUI, обеспечивая высокую производительность и простоту интеграции. Подходит для инструментов разработки, отладочных и визуализационных приложений, в том числе в игровых движках. Библиотека поддерживает множество графических API и платформ, таких как DirectX, OpenGL, Vulkan и другие.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 GooeyGUI — это легковесная библиотека для создания графических интерфейсов (GUI) на языке C!

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

🔐 Лицензия: GPL-3.0

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🤖 Modern Robotics Course: Открытый курс по современной робототехнике.

Курс сочетает теорию (математика, физика) и практику (код, симуляторы), помогая разработчикам научиться создавать и программировать роботов.

🌟 Что внутри?
Лекции: От основ робототехники, математики и физики до пространственных преобразований, обратной кинематике и более продвинутым концепциям .
Практика: Примеры кода на Python и C++ для управления роботами.
Симуляторы: Интеграция с стимуляторами Gazebo и ROS ( операционная система для робото) для тестирования алгоритмов.
Задания: Реальные практические задачи (например, управление манипулятором робота).

🌟 Для кого?
Начинающие робототехники: Освоить кинематику, динамику, управление.
Программисты: Интегрировать алгоритмы в ROS, Gazebo, Python/C++.
Инженеры: Возможность Научиться разрабатывать автономные системы и манипуляторы.
Технологические энтузиасты

С курсом можно пройти путь от нуля до создания рабочего прототипа.

С курсом у вас будет возможность проектировать роботов, не имея железа под рукой (через симуляторы).

✔️ Готовые решения: Внутри вы найдете библиотеки для работы с преобразованиями, датчиками, движением.

✔️Карьера в робототехнике: Курс даст возможность получить базовые навыки, востребованные в Bosch, Boston Dynamics, Tesla.

⭐️ Преимущества перед другими открытыми курсами
🟠 Акцент на практике: Минимум абстракций — максимум кода.
🟠Совместимость с ROS: Стандарт для промышленной робототехники.
🟠 Современные алгоритмы: Не только классика, но и нейросетевые подходы.

➡️ Cовет: Для погружения в курс, вам поможет книга Robotics, Vision and Control: Fundamental Algorithms in Python, Peter Corke, вот ее репозиторий с примерами кода.

P.S. Для тех, кто любит формат «сделай сам»: Курс научит вас собирать робота виртуально, а потом переносить решения на реальные устройства. 🤖💡

✔️ Github
✔️ Введение в курс

#course #ai #ml #robots #education #курс #робототехника
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Nutshell – универсальный инструмент для разработчиков, созданный для упрощения повседневных задач и ускорения рабочего процесса.

Универсальность – предлагает ряд встроенных утилит, позволяющих решать разнообразные задачи без необходимости подключения громоздких фреймворков.
Легковесность – минимальный объем кода и простая установка позволяют быстро интегрировать Nutshell в любой проект.
Расширяемость – гибкая архитектура даёт возможность легко добавлять новые функции и адаптировать инструмент под конкретные нужды разработчика.
Преимущества – благодаря простоте использования и быстродействию, Nutshell выгодно отличается от аналогичных решений, позволяя экономить время и ресурсы при выполнении рутинных операций.

sudo make install

📌 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 acl — C++ библиотека, предоставляющая альтернативные контейнеры и алгоритмы для повышения производительности!

💡 Она требует использования C++20 и включает в себя различные реализации аллокаторов, такие как арена, коалесценции, линейный и пуловый аллокаторы. Среди контейнеров, предлагаемых библиотекой, — динамический массив, малый вектор, вектор с ориентацией на структуру данных (SOA), разреженный вектор, таблица и интуитивно понятный список. Также предусмотрена поддержка бинарной сериализации.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ ttt-rl (Tic-Tac-Toe Reinforcement Learning)

🎯 Суть проекта
Это эксперимент по обучению с подкреплением (Reinforcement Learning, RL), где агент учится играть в крестики-нолики (Tic-Tac-Toe) без использования нейронных сетей. Основная цель — продемонстрировать, как классические методы RL справляются с простыми играми.

🔥 Чем интересен?
Минимализм и простота
Весь код написан на чистом C (~400 строк).
Нет зависимостей — только стандартная библиотека.
Идеален для изучения основ RL «с нуля».

Классический подход к RL
Используется метод Temporal Difference (TD) Learnin
Агент обучается через игру (self-play) и обновляет стратегию на основе наград.

Образовательная ценность
Понятная визуализация процесса обучения (таблицы Q-значений).
Пример того, как простая задача помогает понять фундамент RL.

Эффективность
После обучения агент играет почти оптимально, избегая поражений.
Код легко модифицировать для экспериментов (например, изменить размер доски).

📊 Как это работает?
Q-таблица хранит «ценность» каждого действия в конкретном состоянии.

Агент выбирает ход на основе текущих Q-значений (с добавлением случайности для исследования).


P.S. Если вы думаете, что RL — это только про AlphaGo и Dota 2, этот проект покажет, что даже в простых задачах есть глубина! 🧠

Github

@cpluspluc

#rl #ml #ai #tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Это - серия руководств по созданию простой операционной системы!

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

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Found Modern C!

Эта бесплатная книга подробно разбирает каждый аспект С.

Вы можете значительно прокачать свои навыки, прочитав эту книгу.

Наслаждайтесь!

📚 Читать

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Высокая производительность и безопасность? Да, это про Rust.

Изучайте Rust в нашем курсе-тренажёре!
Получайте практические навыки с первого урока вместе с автором курса и опытным наставником.

Курс-тренажёр - это:
💡 100+ практических задач
💡 пет-проекты в портфолио: blockchain, frontend и backend
💡 code review от наших наставников 24/7 с нашим AI-помощником Ду-Ду
💡 бессрочный доступ к актуальной программе: обновляем каждые 3 месяца
💡 бесплатный демо-доступ с практикой

Для кого этот курс:
для разработчиков на системных языках C и C++
для разработчиков, которые взаимодействуют с высокоуровневыми языками (Python, JavaScript, Java и C#)

Уже сейчас вам доступны 3 первых урока:

Урок #1 | Выбор IDE, установка окружения и первый "hello world"
Соберёте и запустите первый "hello world" проект.

Урок #2 | Базовый синтаксис
Научитесь писать Rust код в процедурном стиле. Изучите типы данных, встроенные и пользовательские типы, функции и переменные

Урок #3 | Владение и заимствование
Используете механизмы управления памятью и ссылками. Решите несколько задач на владение, заимствование и слайсы.

➡️ Получить демо-доступ сейчас