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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
Download Telegram
📎 Где заказать курсовую по программированию

Курсовую по программированию легко заказать онлайн — сервисов действительно много.

Проблема в том, что не все они работают честно: бывает низкое качество, завышенные цены или несоблюдение сроков.

По ссылке — подборка площадок, которые в 2025 году показали стабильный результат.

➡️ Узнать, где лучше

🐸 Библиотека Go-разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁1
🔍 Промпт: Регулярные выражения в C++


Работаете с регулярками в C++ и запутались в std::regex? Есть простой лайфхак!


✏️ Используйте промпт

Write a regular expression that matches / Write a RegEx pattern for:

[ваше описание]



❗️ Пример использования

Запрос: Email addresses with validation

Получаем:

std::regex email_pattern(
R"([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})"
);



🔥 Что можно запрашивать

Валидация email, телефонов, URL
Извлечение данных из строк
Поиск паттернов в логах
Парсинг форматов файлов
Проверка форматов дат/времени


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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
👾 AI-агенты — настоящее, о котором все говорят!

Уже 3 октября стартует второй поток нашего нового курса «AI-агенты для DS-специалистов».

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи.

На обучении вы соберёте полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:

1️⃣ адаптировать LLM под разные предметные области и данные
2️⃣ собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
3️⃣ строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

🗓️ Завтра первый вебинар, успевайте залететь в ряды ИИ-первопроходцев 👈🏻
🥱5🔥1😁1
🔥 6 горячих клавиш VS Code

Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью упростить себе жизнь в Visual Studio Code.

1️⃣ Перейти к парной скобке

Windows — Ctrl + Shift + \

macOS — Shift + Command + \

Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl + Shift + \ — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.

2️⃣ Переименовать переменную

Windows — F2

macOS — F2

Писали, писали, а старший разработчик пришёл и сказал, что ваши переменные a, b и c — дурной тон. Чтобы не выискивать их по всему документу и не менять руками, есть F2.

3️⃣ Отформатировать документ

Windows — Shift + Alt + F

macOS — Shift + Option + F

VS Code предложит установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки и скобки, сделает строки кода читаемыми.

4️⃣ Перейти к переменной

Windows — F12

macOS — F12

Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости и где она объявлена. F12 перенесёт вас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.

5️⃣ Включить или выключить перенос слов

Windows — Alt + Z

macOS — Option + Z

Если строки кода или текст не вмещаются в редактор по ширине, включите перенос.

6️⃣ Включить дзен-режим

Windows — Ctrl + KZ

macOS — Command + KZ

Лучшее решение для тех, кто входит в состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться в реальный мир, нажмите Escape.

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰1
⚙️ Почему классический ООП тормозит игровые движки — и что с этим делать

Обработка тысяч объектов в реальном времени превращается в кошмар с традиционным C++. Программист из Блэкхаб Геймс показывает, как Entity Component System решает проблемы производительности.


🧨 Что узнаешь из доклада:

• Почему наследование и виртуальные таблицы убивают производительность при обработке тысяч сущностей
• Как ECS разделяет данные и логику
• Data-Oriented Design: как пулы компонентов улучшают кэш-локальность и позволяют использовать SIMD
• Простая многопоточность без головной боли
• Практическая реализация на библиотеке Flex с примерами кода
• Почему доступ через ID лучше указателей в динамичных игровых сценах

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

👉 Видео

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

#буст
4👍1👏1
Перевод: Cуществует ли испанский язык программирования? Si++ (Да по испански)

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

#буст
😁20🥱3💯1
🚀 Курс «ИИ-агенты для DS-специалистов» уже стартовал

Первый вебинар успешно прошёл, участники уже начали разбираться, как использовать ИИ-агентов в реальных проектах.

Но всё самое интересное только начинается!

🔥 Впереди 4 мощных занятия — с практикой, инсайтами и разбором кейсов от экспертов.

💸 Сейчас действует специальная цена → 69.000 ₽ вместо 79.000 ₽.

Осталось всего 4 места.

Не упустите шанс прокачаться в том, что будет определять будущее индустрии.

👉 Забронировать место на курсе
😁41🌚1
📰 Свеженькое из мира C++

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

😎 Полезное:

Designated Initializers — именованная инициализация из C++20
std::variant — типобезопасный union
FuzzTest — Фреймворк для фаззинг-тестирования в C++
Регулярные выражения в C++ — промпт для написания регулярных выражений
Почему классический ООП тормозит игровые движки — доклад о проблемах о проблемах связанных с производительностью

🔥 Интересные проекты:

tile-lang — предметно-ориентированный язык, предназначенный для упрощения разработки высокопроизводительных ядер GPU и CPU
Audacity — простой в использовании многодорожечный аудиоредактор и рекордер
Crow — быстрый и простой в использовании микрофреймворк для веба

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

#свежак
👍2🥰1
Готовы с нуля создавать телекоммуникационные решения для беспроводных мобильных сетей и сопутствующих услуг? Тогда участвуйте в SPRINT OFFER C++ Software Engineer и получите оффер всего за 3 дня 💻

У нас:
🚀 Удалённый формат работы или в офисах городов присутствия (Москва, СПб, Нижний Новгород, Екатеринбург, Минск).
🚀 Реальный карьерный рост: как вертикальный, так и горизонтальный.
🚀 Амбициозные проекты и уникальная команда инженеров.
🚀 Учебный портал с лекциями от экспертов, участие в конференциях, изучение английского и дополнительное обучение на внешних курсах.
🚀 ДМС с первого дня, консультации юристов, психологов и экспертов по ЗОЖ.

Мы в поиске:
Разработчиков C++ (Middle/Senior/Tech Lead) с опытом в промышленной разработке от 3 лет, уверенным знанием C/C++ и Linux, а также сетей, базирующихся на TCP/IP.

Направления, которым вы нужны: Telecom Platform и разработка базовых станций с поддержкой LTE/GSM.

В команде Telecom Platform инженеры разрабатывают полное платформенное решение для телекоммуникационных систем, а разработчики базовой станции LTE/GSM создают высоконагруженные системы, которые обеспечивают связь как критически важных, так и новых поколений.

💙 Прочитать подробнее можно по ссылке. Отправляйте заявку до 19 октября и присоединяйтесь к YADRO!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1😁1
🐸 Подборка вакансий для C++-разработчиков за неделю

C++ Software Developer (FreeCAD) — от 150 000 и до 350 000 ₽ Удаленно

C++/Qt/QML разработчик под Android в команду Транспорта — Удаленно

Разработчик C++/Rust (SDN dataplane, DPDK/DOCA API) — от 300 000 и до 600 000 ₽ Удаленно

C++ Gameplay Programmer (Unreal Engine) — от 1 500 и до 3 000 $ Удаленно

Программист/разработчик C (senior) — до 440 000 ₽ Офис (Москва)

Библиотека C/C++ разработчика
👍1
🔥 std::list - когда он действительно нужен

Проблема: Многие выбирают std::list думая, что вставка O(1) всегда лучше, но забывают про cache locality.


✏️ Когда list ДЕЙСТВИТЕЛЬНО лучше:


1️⃣ Частые вставки/удаления в середине + большие объекты:
struct HeavyObject { 
std::array<double, 1000> data;
};

std::list<HeavyObject> items; // Не перемещаем данные
auto it = items.begin();
std::advance(it, 5);
items.insert(it, HeavyObject{}); // Быстро!



2️⃣ Когда нужна стабильность итераторов:
std::list<int> data = {1, 2, 3};
auto it = data.begin();
data.push_back(4); // it все ещё валиден!



3️⃣ В 90% случаев vector быстрее list:
// vector выигрывает благодаря cache:
std::vector<int> fast; // Данные подряд в памяти
std::list<int> slow; // Прыжки по указателям


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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏10👍61👾1
⚙️ C++26 Contract Assertions

C++26 Contract Assertions
— это введении нового механизма для проверки корректности программы во время выполнения, которые заменяют традиционные макросы assert более мощным и гибким инструментом.

В документе P3846R0 авторы разбирают ключевые возражений против включения контрактных утверждений в стандарт C++26 и дают подробные ответы на каждое из них.

Ключевые моменты документа:

• Contract assertions не делают C++ «менее безопасным» — они позволяют инкрементально улучшать корректность кода
• Возможность настройки семантики проверок (ignore/observe/enforce/quick-enforce) является необходимостью, а не недостатком
• Mixed-mode сборки с разными семантиками контрактов — это неизбежность модели компиляции C++, а не баг в дизайне

Основной фокус — защита функциональности, которая разрабатывалась более 20 лет, и получила реализацию в GCC и Clang.


👉 Драфт с предложениями

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

#свежак
🙏4👍2
💥 Весь октябрь -40% на курсы для разработчиков в proglib.academy

Бери знания под свой стек:
Python | алгоритмы | математика для Data Science | архитектура кода.

Пока одни ждут «идеальный момент», другие просто учатся.
А потом берут ваши офферы.


⚡️ Пока скидка действует, апдейтни свои навыки
😁1
🎲 std::random vs rand() — генерация случайных чисел

Старый rand() из Си имеет множество проблем: плохое качество, ограниченный диапазон, глобальное состояние. В C++11 появились современные генераторы из <random>.

Старый подход:
#include <cstdlib>
#include <ctime>

srand(time(nullptr)); // Предсказуемо!
int dice = rand() % 6 + 1; // Неравномерное распределение!
double prob = rand() / (double)RAND_MAX; // Плохая точность


🍒 Современный подход:
#include <random>

// Инициализация генератора (один раз)
std::random_device rd;
std::mt19937 gen(rd()); // Mersenne Twister

// Равномерное распределение [1, 6]
std::uniform_int_distribution dice(1, 6);
int roll = dice(gen);

// Вещественное [0.0, 1.0)
std::uniform_real_distribution prob(0.0, 1.0);
double p = prob(gen);

// Нормальное распределение
std::normal_distribution normal(0.0, 1.0);
double value = normal(gen);



✏️ Доступные распределения:

• uniform_int_distribution — целые числа
• uniform_real_distribution — вещественные
• normal_distribution — гауссово
• bernoulli_distribution — булево
• exponential_distribution, poisson_distribution и другие

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3