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

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
Download Telegram
🔥 Курс: создайте свой процессор с нуля!

🌟 Это действительно полезный ресурс для разработчиков низкоуровневых систем и позволяет лучше понимать аппаратный уровень!

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

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

🌟 Она включает инструменты для работы с графами, деревьями, кластеризацией, обработкой изображений (например, детекция границ) и многими другими задачами. Библиотека предназначена для разработчиков, которым нужны высокопроизводительные структуры данных и алгоритмы для сложных проектов.

🔐 Лицензия: Apache-2.0

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 esp32-weather-epd — проект дисплея с прогнозом погоды на основе ESP32 и электронно-бумажного дисплея (EPD)!

🌟 Устройство отображает текущую погоду, прогноз и время, получая данные через API. Подходит для самостоятельной сборки и изучения работы с EPD-дисплеями и интеграцией IoT.

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

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Жиза ?

@cpluspluc
🖥 Курс: Написание драйверов для Linux на языке C!

🔗 Курс: *клик*
🖥 Github

@linuxacademiya
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Полезная книга с поэтапным объяснением процессов разработки ОС, включая программирование на x86 Assembly, отладку на железе и создание процессов!

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Опубликована стандартная Си-библиотека newlib 4.5.0

После года работы над проектом команда Cygwin выпустила версию стандартной Си-библиотеки newlib 4.5.0, разрабатываемую специалистами из Red Hat.

Эта библиотека предназначена для создания компактной версии стандартной Си-библиотеки (libc), подходящей для применения во встраиваемых системах с ограниченным объемом постоянной памяти и ОЗУ. Проект написан на языке Си и доступен под лицензией LGPLv2.

В новой версии :
- Добавлена поддержка спецификации POSIX.1-2024.
- Добавлен порт для архитектуры набора команд Synopsys Designware ARCv3.
- Переработаны сценарии сборки libgloss, в которых прекращена поддержка старых платформ (xc16x) и сведена в один Makefile поддержка оставшихся (moxie, v850, i960, msp430, frv, i386 и т.п.).
- Улучшена поддержка система на базе архитектуры Arc (Argonaut RISC Core).
- Порт sys/xtensa заменён на machine/xtensa в сочетании с библиотекой libgloss.
- Обеспечена совместимость с GCC 15.

https://github.com/cygwin/cygwin/releases/tag/newlib-4.5.0

@cpluspluc
🖥 ENet — легковесная и надежная библиотека для работы с UDP-сетями, обеспечивающая доставку пакетов с гарантией порядка и надежности!

🌟 Она поддерживает фрагментацию пакетов и предоставляет простое API для реализации клиент-серверных приложений. Библиотека не включает высокоуровневые функции, такие как аутентификация или шифрование, что делает её гибкой и портируемой. Этот репозиторий является форком оригинальной библиотеки ENet с добавлением поддержки IPv6 и улучшением кода

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 "Библия" программирования на языке C!

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

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 GPU Glossary — это справочник, объясняющий ключевые термины и концепции, связанные с архитектурой, программированием и использованием GPU!

🌟 Он охватывает аппаратные компоненты (например, CUDA ядра, Tensor ядра, память GPU), программные инструменты и API, такие как CUDA и NVIDIA драйверы, а также концепции параллельного вычисления (потоки, блоки, иерархия памяти).

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

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Clay — библиотека для высокопроизводительного создания макетов 2D-пользовательского интерфейса, написанная на языке C!

🌟 Она предоставляет очень быстрые механизмы для расчёта и размещения элементов интерфейса (время выполнения — в пределах микросекунд), поддерживает модель раскладки, похожую на flexbox, и может работать в WebAssembly (WASM).

🌟 Clay использует минимальное количество памяти благодаря статическому аллокатору, не имеет внешних зависимостей и имеет декларативный синтаксис, схожий с React. Библиотека позволяет создавать сложные UI-компоненты с возможностью работы с элементами, такими как изображения, прямоугольники и другие кастомные элементы. Она также поддерживает прокрутку, взаимодействие с мышью и плавающие элементы. Всё это даёт гибкость для создания сложных интерфейсов с высокими требованиями к производительности.

🔐 Лицензия: Zlib

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Большая шпаргалка, которая содержит исчерпывающие руководства по различным инструментам, необходимым для программирования на ассемблере, реверс-инжиниринга и бинарного анализа!

🌟 Каждая шпаргалка содержит инструкции по установке, примеры использования и расширенные советы для различных операционных систем.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 level-ip — реализация пользовательского (userspace) TCP/IP-стека для Linux, использующая устройства TUN/TAP!

🌟 Цель проекта — изучение работы TCP/IP, программирования сетей на уровне системы Linux, а также использования сокетного API. Реализация сопровождается обучающими материалами, охватывающими темы, такие как Ethernet и ARP, IPv4 и ICMPv4, TCP и управление потоком данных.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🎮 Запуск Doom (1993) в PDF файле.

Порт исходника Doom, который запускается в PDF-файле.

Оказалось, что старые версии Emscripten могут компилировать C в код asm.js, автор запустится внутри ограниченного времени выполнения JS в движке PDF.

Он использовал форк doomgeneric (https://github.com/ozkl/doomgeneric) оригинального исходного кода Doom, так как это позволило довольно легко написать IO.

Все, что нужно было сделать, это реализовать фреймбуфер и клавиатурные входы.

В отличие от предыдущих интерактивных PDF-демонстраций, вывод в DoomPDF осуществляется путем создания текстового поля для каждого ряда пикселей на экране, а затем установки их содержимого в различные ASCII-символы.

Обратите внимание, что этот PDF может работать только в браузерах на базе Chromium, использующих движок PDFium.

Таким образом, получается 6-цветный монохромный дисплей, который может обновляться достаточно быстро (80 мс на кадр).
Исходный код доступен здесь: https://github.com/ading2210/doompdf
Демо: https://doompdf.pages.dev/doom.pdf

@cpluspluc

#doom #c #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Botan — это криптографическая библиотека на C++ с открытым исходным кодом!

🌟 Она предоставляет широкий спектр инструментов для реализации криптографических систем, включая протокол TLS, сертификаты X.509, алгоритмы шифрования (AES, ChaCha20), цифровые подписи (RSA, ECDSA) и поддержку оборудования, такого как PKCS#11 и TPM.

🔐 Лицензия: BSD-2-Clause

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Редкая фотография, на которой я объясняю стандарты языка Си разработчикам, чтобы объяснить концепцию неопределенного поведения.

@cpluspluc
🖥 Эта статья объясняет, как в языке C возможно переопределение глобальных переменных с разными типами данных, если они определены в разных исходных файлах!

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

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

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 sceneri-common — C++ библиотека используемая для разработки движка Sceneri, предназначенного для создания 2D и 3D игр и интерактивных медиа!

🌟 Библиотека включает инструменты для работы с файлами, событийной обработкой, математическими вычислениями (с использованием SIMD), сериализацией данных, потоками и многопоточностью на всех платформах, включая WebAssembly.

🌟 Среди ключевых возможностей библиотеки — расширенные аналоги std::filesystem, матричные операции, реализация пользовательских контейнеров, таких как векторы и карты, и поддержка атомарных операций. Она ориентирована на высокую производительность и гибкость при создании сложных игровых систем и интерактивных приложений.

🔐 Лицензия: BSD-3-Clause

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 cppfront — это экспериментальный проект для изучения возможностей эволюции синтаксиса языка C++!

🌟 Проект представляет собой компилятор, который преобразует упрощённый и экспериментальный синтаксис "Cpp2" в текущий стандартный синтаксис "Cpp1".

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

🔐 Лицензия: Apache-2.0

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

МАШИННОЕ ОБУЧЕНИЕ: t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Docker: t.me/DevopsDocker
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
Собеседования МЛ: t.me/machinelearning_interview
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy