TGViewer
Channel Public Channel
C/C++ Development | YeaHub

C/C++ Development | YeaHub

@yeahub_c_development

Теория, подготовка к интервью и курсы для C/C++ разработчиков

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

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

Для связи: @ruslan_kuyanets
Subscribers
742
Photos
281
Videos
56
Links
549

Showing posts older than #365 · Back to latest

Older Posts 20 shown
Post #364 324
#полезное
🤯 Разработчик, недавно изучающий C, создал простую игру на основе рэйкастера. Проект написан на C с использованием SDL и простого пиксельного буфера.

По его словам, работа над игрой была очень увлекательной, и он всерьёз полюбил программирование на C.

В сети уже доступно небольшое демо игры, а также код на GitHub. Автор приветствует любые отзывы и ревью со стороны сообщества.

👉Новости 👉База вопросов
Post #363 302
#Собес #Cplus
🤔 Что такое vector в C++?

💬 Кратко:
Вектор в С++ — это динамический массив, который может хранить элементы любого типа данных и автоматически изменяет свой размер при необходимости.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
YeaHub YeaHub — тренажер собеседований по IT 5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Post #361 270
#полезное
🏕 DOOM внутри базы данных SQL это реально

Разработчик запустил DOOM прямо в CedarDB, и игра полностью написана на SQL

Многопользовательский режим работает, а графика выполнена в ASCII, каждая деталь от рендеринга до синхронизации игроков реализована в базе данных

Для тех, кто ценит необычные проекты и готов погрузиться в SQL-экстрим: https://github.com/cedardb/DOOMQL

👉Новости 👉База вопросов
  • 🤩 1
Post #359 300
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?

💬 Кратко:
Для поиска коммита, который нарушил код после слияния, можно использовать команду git bisect . Этот инструмент помогает найти коммит, который вызывает проблему, путем бинарного поиска.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Post #358 285
#полезное
😇 Что делает GPU быстрее, чем CPU?

Я только что дочитал главу 4 книги Programming Massively Parallel Processors. В ней пытаются ответить на этот вопрос. Вот мои заметки.

Подход к вычислениям в GPU принципиально отличается от CPU. GPU не состоит из одного процессора. Это массив высокопоточных процессоров, которые называются streaming multiprocessors (SM). Каждый SM имеет свои ядра, память, логику и так далее.

Наименьшая единица работы это thread. Потоки объединяются в block, а блоки в grid. Все потоки внутри блока выполняются на одном SM. Все блоки в SM должны синхронизироваться друг с другом чтобы избежать race conditions.

32 потока внутри блока образуют warp. Они работают по модели SIMD. Чтобы справляться с ситуацией control divergence, GPU выполняет разные пути исполнения по очереди. Например, если есть условие if-else, сначала активируются только те потоки, для которых условие истинно, затем потоки для ложного условия. Стоимость этого подхода в том, что на каждом проходе часть warps остаётся неактивной.

Вывод это то что высококачественный код для GPU это минимальная control divergence

Latency tolerance возникает, когда текущий warp ждёт операцию с большой задержкой. Планировщик не ждёт его, а может переключиться на другой warp, готовый к выполнению.

Это значит что Occupancy = активные warps на SM / общее количество warps, которое SM может поддерживать.

👉Новости 👉База вопросов
  • 🔥 1
Post #356 257
#полезное
😵‍💫 Web-сервер на микроконтроллере через SWD

Проект позволяет запускать веб-сервер на микроконтроллере, используя semihosting и TCP/IP. Он демонстрирует, как передавать данные через SWD, используя SLIP для сетевого взаимодействия, что делает его интересным решением для встраиваемых систем.

🚀Основные моменты:
- Запуск веб-сервера на ARM микроконтроллере через SWD.
- Использование SLIP для передачи данных по TCP/IP.
- Оптимизация производительности с минимальными затратами памяти.
- Поддержка различных ARM микроконтроллеров с pyOCD.
GitHub

👉Новости 👉База вопросов
  • 🔥 1
Post #354 274
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?

💬 Кратко:
git reset --mixed : отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.
git merge --abort : отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Post #353 311
#полезное
👨‍💻 Умный текстовый анализатор для обработки данных

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

Основные моменты:
🔵 Извлечение ключевых слов из текста
🔵 Анализ частоты слов и фраз
🔵 Поддержка различных форматов входных данных
🔵 Легкий в использовании интерфейс
GitHub

👉Новости 👉База вопросов
Post #352 314
#полезное
👨‍💻 Новый уровень хардкорных самоделок: энтузиаст запустил веб-сервер на… одноразовом вейпе.

Внутри устройства оказался микроконтроллер PUYA Cortex-M0+ с 24 КБ флеша и 3 КБ RAM. Автор подключил SLIP через semihosting, прикрутил uIP-стек и поднял минимальный HTTP-сервер.

Первые тесты выглядели как издевательство: пинг 1.5 секунды, страницы загружались по 20 секунд. Но после оптимизаций результаты впечатлили: около 20 мс на пинг и загрузка страницы за 160 мс.

Памяти хватает, чтобы держать небольшой блог и даже JSON-эндпоинт для статистики.

Получается, что одноразовый вейп может быть не только вредной привычкой, но и хостинг-решением — пусть и на 95% более «безопасным».
Проект

👉Новости 👉База вопросов
Post #351 290
#полезное
😎 Новая демка на C и raylib впечатляет масштабом

Разработчик поделился своей свежей работой -> движок справляется с 100 000 врагами и 5 000 пулями одновременно. И это не просто столкновения «пуля-враг» — система учитывает и разделение врагов между собой, чтобы они не накладывались друг на друга.

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

👉Новости 👉База вопросов
  • 👍 1
Post #350 283
#Собес #mongoDB
🤔 Объясните разницу между репликациями и шардингом в MongoDB

💬 Кратко:
Репликация используется для повышения доступности и резервного копирования данных. Она создает несколько копий данных на разных узлах, где один узел является основным, а остальные - вторичными. Шардинг же используется для горизонтального разделения данных на несколько серверов или шардов, что помогает увеличить масштабируемость и производительность системы.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Post #349 292
#видео
😜 Серия обучающих материалов по C, где разбираются ключевые концепции, используемые в языке программирования C
Источник: тык

👉Новости 👉База вопросов
Post #348 332
#полезное
😘 Эффективная компрессия для пиксельного искусства

PEP (Prediction-Encoded Pixels) — это формат, оптимизированный для сжатия изображений с низким количеством цветов (до 16). Он использует алгоритм "Prediction by Partial Matching, Order-2", обеспечивая меньший размер файлов по сравнению с GIF и PNG, хотя и с некоторыми затратами по времени обработки. Идеален для игр и приложений, где важен размер изображения.

Основные моменты:
🟠 Сжатие до 50% меньше, чем у GIF/PNG.
🟠 Поддержка до 256 цветов.
🟠 Быстрая декомпрессия для использования в играх.
🟠 Экспериментальная версия, активно развивается.
GitHub

👉Новости 👉База вопросов
Post #347 311
Джерри Кейн из Стэнфорда объясняет указатели и структуры в C, показывая хитрый способ доступа к полям структуры. Эта серия — один из лучших ресурсов по программированию на C в интернете.

👉Новости 👉База вопросов
  • 🔥 1
Post #346 272
#Собес #mongoDB
🤔 Как выполнить поиск с использованием регулярных выражений в MongoDB?

💬 Кратко:
Для выполнения поиска с использованием регулярных выражений в MongoDB используется оператор $regex . Он позволяет искать документы, соответствующие определенному паттерну.

📌 Полный разбор + примеры использования — на платформе:
👉
Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
  • ❤ 1
Post #345 310
#полезное
😱 Легковесный AI-агент на C для командной строки

Agent-C — это ультралегкий AI-агент, который взаимодействует с OpenRouter API и выполняет команды оболочки. Он оптимизирован для работы на macOS и Linux, обеспечивая минимальный размер бинарников и эффективное управление памятью.

Основные моменты:
🔵 Выполнение команд оболочки через AI-ответы
🔵 Минимальный размер: 4.4KB для macOS, ~16KB для Linux
🔵 Эффективное управление памятью с помощью скользящего окна
🔵 Кроссплатформенная поддержка
GitHub

👉Новости 👉База вопросов
Post #344 275
На картинке показана упрощённая карта памяти Win32-процесса. Если коротко, у каждого процесса в Windows есть своё виртуальное адресное пространство, и в нём всё чётко разложено по полочкам

👉Новости 👉База вопросов
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →