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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
🤯 Си без дженериков? Кто это сказал?

С помощью макросов можно сделать type-safe динамические массивы:

- Без void*, без кастов

- Только макросы

Достаточно написать #define vector(type)

Используй это, чтобы сделать свой собственный STL на C.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Бьярн Страуструп: «В C есть только типы данных, функции и всё».
C-программист: «Да».


Ограничения часто воспринимаются как сила.
Но где та граница, когда они уже начинают мешать?

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция с ограничением размера (capped collection) в MongoDB и когда ее следует использовать?Что такое коллекция с ограничением размера (capped collection) в MongoDB и когда ее следует использовать?

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

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

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😐 Big O

Чувак сделал визуальное введение в нотацию Big O: https://samwho.dev/big-o

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация 3-осевого движения в реальном времени с помощью Arduino и MPU6050

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #mongoDB
🤔 Объясните концепцию write concern в MongoDB.

💬 Кратко:
Write concern в MongoDB определяет, насколько уверенно клиент хочет быть в том, что операция записи (вставка, обновление, удаление) была выполнена успешно. Это настраиваемая величина, которая может варьироваться от минимальной уверенности до большинства узлов или всей системы.Ч

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот еще один полноценный многопоточный HTTP/1.1 сервер на C с использованием POSIX-сокетов и pthreads. Он обрабатывает параллельные GET и POST запросы, парсит методы/пути/заголовки, отдает статические файлы из корневой директории с определением MIME-типа, имеет базовую защиту от обхода путей, возвращает коды ошибок (200/400/403/404/405/500) и работает на порту 8080.

Собрать можно так:

gcc http_server.c -o http_server -lpthread


Тестировать удобно через браузер или curl — это хорошая база, которую можно развивать дальше.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
Парень написал осциллограф в реальном времени на C, используя OpenGL (GLUT) для рендера графики и PortAudio для захвата стерео-аудио в реальном времени, с измерениями триггера, RMS и Vpp.

Он отображает сигналы CH1/CH2 на сетке с регулировкой по времени и напряжению, а сглаживание реализовано через min-max линии.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
😵‍💫 Как работает указатель в C

int var = 10;


Создаётся переменная var со значением 10. Допустим, она лежит по адресу #2008

int *ptr = &var;
*ptr = 20;


Мы создаём указатель ptr, который хранит адрес переменной var.
Когда пишем *ptr = 20;, мы разыменовываем указатель и записываем в var число 20. Теперь var = 20

int **pptr = &ptr;
**pptr = 30;


Теперь у нас есть указатель на указатель — pptr. Он хранит адрес ptr.
Когда пишем **pptr = 30;, мы дважды разыменовываем и меняем значение переменной var через цепочку указателей. Теперь var = 30

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

💬 Кратко:
Оператор $push в MongoDB используется для добавления элементов в массив в документе. Он добавляет указанное значение или значения в конец массива. Пример использования:

db.collectionName.update(f_id: Objectid("documentId") }, { $push: { fieldName: valueToPush } })


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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
Один разработчик рассказал, что на днях написал токенайзер и парсер для C, чтобы автоматизировать генерацию кода в своём игровом движке.

По его словам, когда работа будет завершена, он сможет автоматически получать type-safe сериализаторы, runtime reflection и многое другое.

Разработчик также отметил, что его подход «в 100 раз мощнее, чем шаблоны в C++»

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Минималистичный JSON-парсер на C появился в опенсорсе. Автор реализовал его на основе конечного автомата, без зависимостей и рекурсии.

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

https://github.com/segfaultscribe/systems-repository/tree/main/json-parser

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #mongoDB
🤔 Как выполнить поиск без учета регистра в MongoDB?

💬 Кратко:
Для поиска без учета регистра в MongoDB используется оператор $regex в сочетании с опцией $options, установленной в "i". Это позволяет искать значения, игнорируя различия между заглавными и строчными буквами. Пример запроса:

db.collectionName.find({ field: { $regex: "searchTerm", $options: "i" } })


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

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

Культовый мототриал из эпохи кнопочных телефонов теперь портирован на C++. Атмосфера и физика оригинала сохранены, но проект фанатский, к старым разработчикам отношения не имеет.

Можно снова поиграть в легенду, но уже на современном железе.
Github

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Уникальные указатели в C -- исследование

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
Парень создал стильное решение уравнения Лапласа в 2D на C для отображения электрического потенциала

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

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

💬 Кратко:
Репликация в MongoDB позволяет создавать несколько копий данных на разных серверах, обеспечивая отказоустойчивость и повышенную доступность. Это достигается через использование репликационного набора (replica set), где один сервер выполняет роль основного (primary), а другие - вторичных (secondary). Вторичные узлы копируют данные с основного и могут использоваться для чтения.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Magic Enum — элегантная C++17 библиотека для работы с перечислениями, которая добавляет в них магию рефлексии. Без макросов и boilerplate-кода она позволяет легко преобразовывать enum в строки, проверять наличие значений и даже работать с битовыми флагами.

Библиотека сохраняет constexpr-контекст и поддерживает даже такие экзотические операции, как склейку enum-ов для многоуровневых switch-блоков. Хотя проект заточен под компактные перечисления, его уже используют в продакшене, например, для сериализации или валидации конфигов.
GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
На картинке показана упрощённая карта памяти Win32-процесса. Если коротко, у каждого процесса в Windows есть своё виртуальное адресное пространство, и в нём всё чётко разложено по полочкам

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Легковесный AI-агент на C для командной строки

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

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

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