C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
827 subscribers
228 photos
56 videos
1 file
379 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

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

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#видео
📞 Изучайте программирование на C с доктором Чаком

Доктор Чарльз Северенс (он же Dr. Chuck) помогает разобраться в архитектуре компьютеров и низкоуровневом программировании с помощью классической книги по языку C, написанной Брайаном Керниганом и Деннисом Ритчи
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Как компилятор работает с vTable и vptr в C++?

vTable — это таблица указателей на функции для реализации динамического полиморфизма, a vptr - указатель на эту таблицу, который хранится в каждом объекте.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Реализация бинарного дерева поиска

Бинарное дерево поиска — это структура данных типа дерево, в которой каждый узел имеет не более двух потомков, и для любого узла левое поддерево содержит значения меньше значения самого узла, а правое поддерево — значения больше. Выше представлена реализация на C с базовыми операциями: вставка и обход в порядке возрастания (inorder traversal)

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
👍 std::bit_width()

std::bit_width() (C++20) возвращает минимальное количество бит, необходимое для представления значения. Это полезно при работе с битовыми структурами, алгоритмами сжатия, хэшированием и оптимизацией памяти.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
👋 Вот классный плейлист по созданию простой платформенной игры с нуля на C — от прототипа до релиза в Steam. Отличный способ освежить навыки C. Приятного просмотра!
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Что такое flush в C++?

В С++ функция flush используется для немедленного вывода данных из буфера на экран или в файл.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Понимание выделения памяти в C++

То, как выделяется память, зависит от типа переменной и её жизненного цикла. Понимание этого процесса критически важно для написания эффективного, надёжного и безопасного кода.
Ссылка на статью: тык

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 Минимальный чат-сервер на C:

🟠 поддержка нескольких клиентов (до 10 пользователей)
🟠 трансляция сообщений в реальном времени
🟠 чистая работа с сокетами через select()
🟠 клиент на потоках для асинхронной отправки сообщений

Отлично подходит для изучения сетевого программирования
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#полезное
😴 Собери минималистичный многопоточный FTP-сервер на C

🟠 изучишь основы сокет-программирования
🟠 реализуешь параллельную передачу файлов через pthreads
🟠 настроишь базовую отдачу файлов с помощью sendfile()

Отлично подойдёт, чтобы разобраться, как устроена передача файлов по сети на низком уровне.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Какие типы данных существуют в С++?

В С++ существуют три основных типа данных: примитивные, производные и пользовательские. Примитивные данные включают целые числа, символы и числа с плавающей точкой.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
От исходного кода до финального бинарника (.elf)

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😊 std::default_sentinel

std::default_sentinel (C++20) представляет универсальный конец диапазона и используется с пользовательскими итераторами и ranges. Это полезно для создания "открытых" и ленивых представлений данных.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😇 Динамический JSON в C

Минимальный и понятный API.

Нет внешних зависимостей.

Поддерживает object, array, number, string, bool, null
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Какой лучший компилятор для С++?

Лучший компилятор для С++ зависит от конкретных требований проекта, платформы и предпочтений разработчика. Среди популярных компиляторов - Visual C++, Clang, GCC, Intel C++ Compiler и другие.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Ядра CPU, кэш-линии и ложное разделение

Слышал о "ложном разделении" ? Это проблема производительности, возникающая, когда независимые переменные попадают в одну и ту же кэш-линию и одновременно обновляются разными потоками.

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

Обрати внимание на документацию ядра — там эта тема тоже хорошо раскрыта.

Есть отличное видео, подробно объясняющее механику,

А также крутая статья от Netflix Engineering, где описан реальный кейс в проде — отличное исследование производственного инцидента.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 std::unexpected

std::unexpected (устаревший в C++17, но интересный исторически) используется для установки обработчика непредусмотренных исключений, выбрасываемых функциями с noexcept(false) или throw()-спецификацией. Полезно для отладки и контроля исключений в старом коде.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Cplus
🤔 Что такое выражение в С++?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 Отслеживание рук в реальном времени с помощью AI на C++ и raylib, используя Google MediaPipe (сборка C API, без Python).

Поддержка обеих рук · Сглаженные ключевые точки · Отклик CPU — 20–25 мс.

Собрать MediaPipe под C/C++ было непросто, но всё работает.

Довольно впечатляет, когда осознаёшь, что весь модуль детекции рук, скомпилированный как C API, весит меньше 8 МБ. Сам модельный файл — около 7 МБ.
Ещё круче то, что всё работает целиком на CPU.
С включённым GPU в игровом движке можно ожидать ещё более высокую производительность.


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
🤯 Параллелизм в WebAssembly / эксперименты в браузере и за его пределами

Свежий выпуск ACM Queue посвящён текущим ограничениям и будущим направлениям развития параллелизма в WebAssembly. Oбязательное чтиво для всех, кто интересуется многопоточностью и производительностью в браузере.

https://dl.acm.org/doi/pdf/10.1145/3747201.3746173

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1