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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
👨‍💻 Умный текстовый анализатор для обработки данных

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 Web-сервер на микроконтроллере через SWD

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивный 3D-инструмент Бенджамина Байкрофта визуализирует слои, веса и матричные операции LLM.

https://bbycroft.net/llm

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Что делает 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 может поддерживать.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #git
🤔 Как вы находите коммит, который что-то нарушил после операции слияния?

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 StructToTuple — библиотека C++ 20 для преобразования структур в кортежи и наоборот!
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏕 DOOM внутри базы данных SQL это реально

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

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏠 Прикольный тренажёр по Linux

Это TUI-приложение содержит более 70 задачек для обучения основам работы в терминале
Забираем с GitHub

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

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤯 Разработчик, недавно изучающий C, создал простую игру на основе рэйкастера. Проект написан на C с использованием SDL и простого пиксельного буфера.

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Простая реализация паттерна Singleton на C.

Это настолько просто, и в то же время красиво. по крайней мере, на мой взгляд. Впрочем, можете предложить более удачный способ реализации этого паттерна на C?

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

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Это, пожалуй, один из лучших ресурсов по GPU-программированию, что я находил — GPU Glossary от Modal. В нём сложные концепции разобраны с понятными визуализациями и объяснениями: от архитектуры CUDA до Tensor Cores и CTA.
modal.com/gpu-glossary

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

std::clamp ограничивает значение в пределах заданного диапазона. Это полезно для валидации чисел, нормализации данных и защиты от выхода за границы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1
#полезное
😇 В чем разница между передачей по значению и по ссылке?

При передаче по значению функция получает копию исходного параметра. Значение оригинального параметра остаётся неизменным после любых операций с этой копией внутри функции.

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #git
🤔 Как восстановить удалённую ветку?

💬 Кратко:
Если ветка была удалена локально, её можно восстановить, используя команду git reflog . Если ветка была удалена удалённо, можно восстановить еёс помощью git push origin ‹ branch_name›.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#статьи
😐 История структуры данных Trie

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

Trie была впервые представлена в 1960 году в статье “TRIE memory” Эдварда Фредкина. Эта работа заложила основу для всех современных реализаций Trie, которые используются в поисковых системах, словарях и приложениях с автодополнением.
Читать статью

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