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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
👍 GLIM — это гибкая и расширяемая платформа для 3D картографирования на основе дальномерных данных!

Она обеспечивает высокую точность за счет минимизации ошибок при регистрации нескольких сканов с использованием факторных графов, что позволяет сохранять согласованность результатов картографирования. Поддерживается ускорение с помощью GPU для максимизации скорости и качества построения карт.
Гитхаб

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Проект — написание брандмауэра для Linux на C с нуля

В этом проекте по кибербезопасности вы изучите множество сетевых технологий, узнаете, как работает интернет-трафик, и научитесь использовать это в своем коде на C. Также вы освоите такие вещи, как сырые сокеты, режим прослушивания (promiscuous mode), netlink и UNIX-доменные сокеты.
📱 Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😐 Утечки памяти и отладка с помощью Valgrind

Valgrind – это инструмент для отладки и профилирования, который помогает находить:

🟠Утечки памяти

🟠Неправильное использование выделенной памяти. Например, выход за границы массива

🟠Использование неинициализированных переменных

valgrind --leak-check=full ./my_program


После запуска Valgrind выведет отчёт, в котором укажет, где программа выделила, но не освободила память

Пример утечки и исправления


Утечка:
int *arr = malloc(10 * sizeof(int));


Освобождение памяти
int *arr = malloc(10 * sizeof(int)); 
free(arr);


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😐 Книга "Practical Binary Analysis" от Денниса Андрисека — для тех, кто хочет залезть под капот бинарников и разобраться, как реально работает анализ исполняемых файлов на практике.

Это гайд по реверс-инжинирингу, анализу уязвимостей, и low-level хакингу, но через практику. С фокусом на бинарники, дизассемблирование, символьное исполнение, и даже немного эксплойтов. Всё с реальными примерами и кодом.
Ознакомиться

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция в MongoDB?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🥺 Взаимодействие между процессами (IPC) в C

IPC позволяет процессам обмениваться данными и взаимодействовать с помощью таких методов, как каналы, очереди сообщений, общая память и сокеты, обеспечивая эффективное взаимодействие.

Механизм межпроцессного взаимодействия (IPC) — это способ, с помощью которого процессы могут обмениваться информацией и координировать свои действия. Это важно в многозадачных системах, где процессы должны работать вместе или делить ресурсы.

Основные методы IPC в C:

🟠Pipe — односторонняя передача данных между родственными процессами

🟠Message Queue - обмен структурированными сообщениями с управлением через очередь

🟠Shared Memory - самый быстрый способ — процессы используют общий участок памяти

🟠Socket - связь между процессами как на одной машине, так и по сети

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 487. Max Consecutive Ones II

Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.

Пример:
Input: nums = [1,0,1,1,0]
Output: 4
Explanation:
- If we flip the first zero, nums becomes [1,1,1,1,0] and we have 4 consecutive ones.
- If we flip the second zero, nums becomes [1,0,1,1,1] and we have 3 consecutive ones.
The max number of consecutive ones is 4.


👨‍💻 Алгоритм:

1⃣Для каждого возможного начала последовательности в массиве nums начните считать количество нулей.

2⃣Для каждой последовательности проверяйте, сколько нулей содержится в ней. Если количество нулей не превышает одного, обновите максимальную длину последовательности единиц.

3⃣Продолжайте проверять все возможные последовательности в массиве, и верните максимальную длину последовательности единиц, удовлетворяющую условию.

😎 Решение:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int longestSequence = 0;
for (int left = 0; left < nums.size(); ++left) {
int numZeroes = 0;
for (int right = left; right < nums.size(); ++right) {
if (nums[right] == 0) {
numZeroes++;
}
if (numZeroes <= 1) {
longestSequence = max(longestSequence, right - left + 1);
}
}
}
return longestSequence;
}
};


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😊 Собери простой чат-сервер на C менее чем за 40 строк!

🟠Используя только сокеты и poll, ты можешь реализовать обмен сообщениями в реальном времени между терминалом и клиентом

🟠Отличный способ изучить TCP, мультиплексирование ввода-вывода и сетевое программирование в Unix.
Полное руководство тык

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #mongoDB
🤔 Что такое BSON в MongoDB?

BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как Date, ObjectId, и бинарные данные, а также оптимизирует производительность операций

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🤓 GPU Puzzles

Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.

Это целая серия задач, где требуется написать небольшие CUDA-ядра (ядра GPU), реализующие операции вроде сложения с константой (map), поэлементного суммирования (zip), работы с блоками и потоками, свёртки, матричного умножения и других параллельных алгоритмов.

Основная цель репозитория – дать начинающим возможность непосредственно попрактиковаться в программировании под GPU, без необходимости погружаться в сложную документацию.

Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.

Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с Tensor Puzzles, Autodiff Puzzles, Triton Puzzles и другими).

А здесь реализация задач на C++
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 memsafe — это попытка сделать язык C++ хотя бы немного безопасным при работе с памятью

Проект добавляет макросы, которые помогают не забывать освобождать память и избегать лишних утечек. Вроде бы всё просто, но приятно

Полезно? Да.
Спасёт от всего? Конечно нет

Но по сравнению с классическим "malloc/forget/free/maybe", это уже прогресс

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Media is too big
VIEW IN TELEGRAM
#видео
🫠 9 различных проектов на C в 2025 году

Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
📱 Смотреть источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#Собес #mongoDB
🤔 Что такое MongoDB и чем она отличается от традиционных реляционных баз данных?

MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
👨‍💻 Язык C в операционных системах

C — идеален для операционок, потому что он ближе всех к железу

Вот как это работает:

1⃣ Пишем исходный код на C
2⃣ Компилятор превращает его в ассемблерный код
3⃣ Ассемблер собирает машинный код —> двоичный, понятный процессору
4⃣ ЦП начинает выполнение инструкций
5⃣ Через функции ОС идёт вызов системных ресурсов
6⃣ В итоге —> взаимодействие с "железом"

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