Библиотека C/C++ разработчика | cpp, boost, qt
19.4K subscribers
2.03K photos
65 videos
16 files
4.31K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17

#WXSSA
Download Telegram
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

😎 Интересное:

Нестандартные форматы резюме — несколько способов сделать своё резюме запоминающимся
Апдейт Си-библиотек: Glibc 2.43 и newlib 4.6.0 — большое обновление стандартных библиотек
Как обустроить рабочее место на удаленке — 10 простых советов как сделать работу на удалёнке приятнее
std::start_lifetime_as vs std::launder: в чём разница? — разбор разных подходов для работы с сырой памятью
Коротко о выравнивании в C++ — разбор, как компилятор на самом деле размещает данные в памяти

🔹📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#свежак
👍4
🫖 Новый скриптовый язык для C++

TeaScript — это мультипарадигменный скриптовый язык с синтаксисом, близким к C++, который можно встраивать прямо в ваши приложения.

Ключевые возможности:

• встраиваемая C++ библиотека для интеграции в приложения
• standalone host application с REPL и отладчиком
• современные фичи: лямбды, функции высшего порядка, generic programming

Подходит для замены bash/bat скриптов средней сложности, когда нужен контроль на уровне C++, но без необходимости компиляции.

👉 Сайт
👉 Github

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#буст
🔥42👍2
⚙️ Подборка лучших книг 2026 года по машинному и глубокому обучению

🔵 Грокаем алгоритмы искусственного интеллекта, Харбанс Р.

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

🔵 Грокаем глубокое обучение, Траск Э.

Это идеальный старт для тех, кто хочет освоить основы глубокого обучения и начать работать с нейронными сетями. Автор объясняет фундаментальные концепции ИИ через простые и доступные примеры, используя Python и библиотеку NumPy. Эта книга подойдёт даже тем, кто не имеет глубоких знаний в математике и программировании, но хочет научиться строить и обучать нейронные сети с нуля. В дополнение к этому, Траск затрагивает темы обработки естественного языка и федеративного обучения — технологии для работы с конфиденциальными данными.

🔵 Грокаем глубокое обучение с подкреплением, Моралес М.

Это практическое руководство по созданию агентов глубокого обучения, которые обучаются на основе взаимодействий с окружающей средой. Автор объясняет, как использовать такие методы, как обучение с подкреплением, чтобы создавать ИИ, способный принимать оптимальные решения в реальном времени. Основные темы книги включают разработку алгоритмов на Python и работу с библиотеками, что делает её полезной для начинающих разработчиков. Моралес показывает, как ИИ может применяться в играх, робототехнике и маркетинге, делая книгу актуальной для широкого круга читателей, интересующихся ИИ.

🔵 Грокаем машинное обучение, Серрано Л.

Это отличное введение в мир машинного обучения, ориентированное на читателей с базовыми знаниями Python и математики на уровне средней школы. Автор объясняет алгоритмы и принципы машинного обучения доступным языком, избегая сложного академического жаргона. В книге вы найдете множество примеров и проектов, таких как создание моделей для идентификации спама и распознавания изображений, что делает её практическим руководством для новичков. Серрано использует простой подход для объяснения сложных тем, что делает её полезной для тех, кто только начинает погружаться в мир машинного обучения и хочет быстро освоить основные концепции. Если вам интересно, как работают модели предсказаний и классификации данных, эта книга станет отличным стартом.

🔹 Курс «Математика для разработки AI-моделей»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🍋 Почему ваши мелкие TCP-пакеты не отправляются сразу?

Отправляете данные через send(), а они висят в буфере 200мс? Это не баг — это Nagle's algorithm, и он работает с 1984 года.

Как это работает

Когда вы пишете в TCP-сокет небольшие порции данных (например, по 10 байт), ядро не отправляет их сразу. Вместо этого алгоритм Nagle ждёт:

• Либо пока накопится достаточно данных
• Либо пока придёт ACK на предыдущий пакет
• Либо истечёт таймаут (~200мс)

// Отправка без Nagle — каждый send() = отдельный пакет
int flag = 1;
setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof(flag));

// Теперь send(sock, "A", 1) уходит немедленно


🍴 Зачем он нужен?

В эпоху медленных каналов накладные расходы TCP/IP заголовков (40 байт) на каждый байт полезных данных убивали пропускную способность. Nagle агрегирует данные, снижая оверхед до приемлемых значений.

✏️ Подробнее в статье...

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#под_капотом
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3👍2
😎 Топ-вакансий для C++ разработчиков за неделю

Senior Программист C — от 400 000 и до 600 000 ₽ Офис/Гибрид (Москва)

С++ разработчик — С++ разработчик от 300 000 и до 350 000 ₽ Удалёнка

C++ Engineer (Trading Systems) — Удалёнка

✍️ Еще больше топовых вакансий — в нашем канале C++ jobs

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#буст
2😁1
🎯 Как найти первые заказы на фрилансе айтишнику: 9 нестандартных способов

Звучит дико, но локальный бизнес до сих пор не знает, где искать
разработчиков. Пока все воюют за заказы на биржах, ты можешь стать
единственным айтишником в радиусе 5 км, который предложил помощь. Плюс
еще 8 способов найти первых клиентов без бесконечных откликов в никуда.

👉 Продолжение...

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#буст
😁2
🍔 Сборник ресурсов по современному C++

Список ресурсов, которые помогут людям изучить современный C++ и более поздних версий

👉 GitHub

🔹 Курс «Математика для разработки AI-моделей»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁1
🫖 Emacs для C++ — превращаем «сложный редактор» в мощную IDE

Emacs славится своей сложностью настройки, но данный гайд поможет разобраться и сделает настройку проще😼

Что вы получите после настройки:
• LSP с автодополнением и подсказками типов — как в современных IDE
• Мгновенный переход к определениям функций и классов по горячим клавишам
• Fly Check для проверки ошибок прямо во время написания кода
• Удобную работу с табами и настраиваемые темы под ваш стиль
• Полную настройку за один вечер — от установки до первого запуска Language Server
• Конфигурацию, которая превращает Emacs в полноценную среду разработки C++

Базовая настройка проще, чем кажется, а результат — редактор, заточенный именно под ваши задачи.

📹 Смотреть полный гайд

Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#буст
👍4💯21🤔1
🧩 Задача на выходные: загадка EOF

std::ifstream file("data.txt");
std::string line;

while (!file.eof()) {
std::getline(file, line);
std::cout << line << std::endl;
}


Задача: В чём подвох с проверкой eof()? Как правильно организовать цикл чтения?

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
2👍2😁1
😔 Почему большинство критичных уязвимостей связаны с управлением памятью в C++?

C++ даёт прямой доступ к памяти. Это мощь и проклятие одновременно. Microsoft подсчитал: за последние 12 лет 70% их CVE — memory corruption. Разберём топ-5 механизмов, которые превращают код в дыры безопасности.


💔 Buffer Overflow — перезапись стека

char buffer[8];
strcpy(buffer, userInput); // 20 байт в 8-байтовый буфер


Данные выходят за границы и перезаписывают return address на стеке. Атакующий контролирует, куда прыгнет выполнение после ret. Под капотом: стек растёт вниз, локальные переменные располагаются перед сохранённым RIP. Переполнение идёт вверх по адресам прямо в критичные данные.

Защита: std::string, санитайзер ASan (-fsanitize=address), stack canaries.


⚡️ Use-After-Free — висячий указатель

int* ptr = new int(42);
delete ptr;
*ptr = 100; // UB: память отдана аллокатору


Аллокатор переиспользует освобождённый блок для нового объекта. Ваша запись портит чужие данные, часто vtable объекта. Это даёт атакующему контроль над virtual dispatch — RCE через подмену указателя на функцию.

Защита: unique_ptr, ptr = nullptr после delete, MemorySanitizer.


Integer Overflow в размерах

size_t size = count * sizeof(T); // count из сети
void* buf = malloc(size); // size обернулся в 0


Беззнаковое переполнение легально в C++, но создаёт логическую ошибку. Аллокатор выделяет крошечный буфер, затем туда пишутся гигабайты → heap overflow → перезапись metadata аллокатора.

Защита: проверка count < SIZE_MAX / sizeof(T), -fsanitize=unsigned-integer-overflow.


😡 Double Free

delete ptr;
// ...
delete ptr; // Ломает free list аллокатора


Аллокатор хранит free-блоки в linked list. Double free записывает адрес блока в free list дважды. Следующий malloc() может вернуть один и тот же блок двум владельцам → два указателя на одну память → запись через один портит данные другого.

Защита: RAII, умные указатели, heap profiler.


💰 Format String — printf как бэкдор

printf(userInput); // "%x %x %n"


%x читает стек (утечка адресов ASLR), %n пишет по адресу из стека. Атакующий конструирует цепочку спецификаторов для записи произвольного значения в произвольный адрес.

Защита: всегда printf("%s", input), -Wformat=2.


🍕 Практический вывод

Все уязвимости эксплуатируют UB и прямой доступ к памяти. Защитный стек 2026: компилятор (-D_FORTIFY_SOURCE=2), санитайзеры на CI, ASLR+DEP в рантайме. Но даже это не заменит понимание механизмов на уровне стека и кучи.


✏️ Какие санитайзеры используете в проекте?


📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3😁1🌚1👾1
📰 Свеженькое из мира C++

Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.

😎 Интересное:

TeaScript — новый скриптовый язык для C++
Почему ваши мелкие TCP-пакеты не отправляются сразу? — обзор старого доброго Nagle алгоритма
Как найти первые заказы на фрилансе айтишнику — 9 способов, которые могут помочь с поиском работы
Сборник ресурсов по современному C++ — архив ресурсов по изучению C++
Emacs для C++ — гайд по нстройке редактора Emacs под C++
Уязвимостей связаны с управлением памятью в C++ — список популярных уязвимостей

🔹📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#свежак
2😁1