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

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

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

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
🎉 Поздравляем с 8 марта

Сегодня отмечаем вклад девушек-разработчиков, аналитиков, тестировщиков, тимлидов и всех, кто влюблён в код. Без вас IT не было бы таким, каким мы его знаем. С праздником, коллеги 💐

Женщины оставили огромный след в истории IT. Если вам кажется, что программирование — это исключительно «мужская территория», взгляните, вот лишь несколько легендарных женщин:

🔹 Ада Лавлейс — автор первой компьютерной программы ещё в 19 веке.
🔹 Грейс Хоппер — создала первый компилятор и популяризировала термин «баг».
🔹 Барбара Лисков — её принцип Liskov Substitution является основой ООП, в том числе в Java.
🔹 Эдит Кларк — первая женщина-инженер, внесшая вклад в вычислительные методы в энергетике.
🔹 Маргарет Гамильтон — разработала софт для посадки «Аполлона-11» на Луну.

А это только малая часть. В статье собраны ещё больше вдохновляющих историй.

🔗 Подробнее в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик

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

IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии

Библиотека программиста — новости из мира IT и технологий

Книги для программистов — самые годные книги по любым языкам и стекам

IT-мемы — мемы про жизу айтишника

Proglib Academy — обучение и курсы, чтобы стать топовым специалистом

Азбука айтишника — азы из мира разработки

Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ

Библиотека фронтендера — все о JS, React, Angular и не только

Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin

Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься

Библиотека тестировщика — самое интересное о том, как крашить код

🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go

#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#

🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE

🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel

🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask

☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java

📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science

🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
🥰 Senior C developer
Удаленно (Москва)
#c_plus@proglib_jobs

«БПЦ Банковские Технологии» — компания, которая является разработчиком и дистрибьютором семейства продуктов SmartVista, которые обеспечивают поддержку и оптимизацию бизнес-процессов в сфере платежей.

Требования:
• Экспертное знание C/C++
• Желание писать на Cи
• Опыт отладки приложений и системных сервисов
• Алгоритмическая подготовка
• Опыт разработки на Unix платформах

➡️ Подробнее о вакансии на careerist.ru

➡️ А избранные IT-вакансии вы найдете в нашем канале IT Job Hub
Please open Telegram to view this post
VIEW IN TELEGRAM
😁 Библиотека MBASE

MBASE — библиотека позволяющая интегрировать локальные языковые модели в свои приложения.

💡 MBASE SDK предлагает неблокирующую библиотеку для LLM-инференса, построенную поверх llama.cpp, которая решает эти проблемы.

❗️ Ключевые моменты:
• неблокирующий TextToText и Embedder интерфейсы для плавной интеграции в приложения;
• поддержка популярных моделей (Phi, Deepseek, Llama, Qwen и др.);
• OpenAI-совместимый сервер с возможностью обслуживания нескольких моделей одновременно.

Основной фокус — позволить разработчикам интегрировать локальные LLM в высокопроизводительные приложения без замедления основного потока выполнения программы, изменяя само понятие «локального LLM-инференса».

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

Даже с мощной GPU загрузка модели или операции кодирования/декодирования могут приостанавливать работу приложения — MBASE обрабатывает эти операции параллельно, предоставляя синхронизированные коллбэки, чтобы вам не пришлось беспокоиться о проблемах параллельного программирования.
🔄 Мгновенное переименование символов с умным рефакторингом

🤔 Проблема:

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

🎯 Решение:
Умное переименование (Rename Refactoring) — одна кнопка для безопасного изменения имени во всём проекте!

Комбинации клавиш:

VSCode: F2
CLion: Shift+F6
Visual Studio: Ctrl+R, Ctrl+R (двойное нажатие)

📝 Процесс:

• Установите курсор на имя переменной/функции/класса
• Нажмите соответствующую комбинацию клавиш
• Введите новое имя
• Нажмите Enter для применения изменений
📝 Структуры данных: ТОП-30 вопросов и ответов для собеседований в 2025 году

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

В нашей статье мы рассмотрим базовые и продвинутые темы, разберем типичные задачи и обсудим оптимальные способы их решения.

📄 Прочитайте статью и укрепите свои знания https://proglib.io/sh/1uYAygzIxr

Библиотека питониста
Чек-лист: Линейные структуры данных в C++

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

🎯 Векторы (std::vector)

✓ Используйте reserve() для предварительного выделения памяти, когда примерно известен размер
✓ Применяйте push_back() для добавления элементов и pop_back() для удаления с конца
✓ Доступ по индексу выполняется за O(1) с помощью оператора []
✓ Используйте at() вместо [] для проверки границ массива

🎯 Списки (std::list)

✓ Отдавайте предпочтение при частых вставках/удалениях в середине
✓ Используйте splice() для эффективного перемещения элементов между списками
✓ Помните, что прямой доступ по индексу невозможен — только итерация
✓ Двунаправленные итераторы позволяют двигаться как вперед, так и назад

🎯 Очереди и стеки (std::queue, std::stack)
✓ Стек (LIFO): используйте push() для добавления и pop() для извлечения
✓ Очередь (FIFO): применяйте push() для добавления и pop() для извлечения
✓ Функция front() позволяет посмотреть первый элемент без удаления
✓ Обе структуры являются адаптерами и построены на других контейнерах

🎯 Массивы (std::array)
✓ Используйте для данных фиксированного размера, известного на этапе компиляции
✓ Более эффективны чем векторы для неизменяемых данных
✓ Поддерживают STL-алгоритмы (sort, find и др.)
✓ Проверяйте границы с функцией at() во избежание ошибок доступа

🤫 Правильный выбор структуры данных может ускорить ваш без изменения алгоритма.
Нужна ли математика программисту

Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.

➡️ Что внутри:

✓ Почему все считают, что программисты — математики

✓ В каких сферах разработки можно вообще не знать математику

✓ Где хватит готовых библиотек, а где придётся разбираться в формулах

✓ Какие области программирования требуют мощного математического бэкграунда

✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science

✓ Топ книг, которые помогут понять и даже полюбить математику

🔵 Чтобы знать математику, забирайте наш курс → «Математика для Data Science»

📎 Читать статью

Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
sysconf 2025 — конференция по системному программированию от создателей C++ Russia и DevOops

📅 22 марта в Москве + онлайн

На конференции не будет абстрактных рассуждений — только разбор реальных кейсов, разрезка бинарников, дебаггинг и хардкор.

Доклады, на которые стоит обратить внимание:
Компиляторные технологии в верификации аппаратного обеспечения — Константин Владимиров
Устройство многопоточного рантайма движков ВКонтакте — Никита Костливцев
Генератор случайных процессорных архитектур для обучения системному программированию — Петр Советов

Все выступления — на сайте. Кроме докладов будут дискуссии, нетворкинг, активности и розыгрыши от партнеров.

🎟 Купить билет
Если оплачиваете самостоятельно — промокод CPPPROGLIB дает скидку 15%. Но выгоднее участвовать за счет компании! В статье есть аргументы, почему это полезно не только вам, но и работодателю.

Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
😧 58% IT-специалистов страдают: психология успеха и борьба с синдромом самозванца

Синдром самозванца — не просто модный термин, а реальная проблема, с которой сталкиваются даже опытные разработчики. Почему так происходит и как с этим бороться? Разбираемся в причинах «стандартной болезни айтишников»

➡️ Читайте в статье

Спойлер: дело не в навыках, а в психологии успеха

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😎 Выпуск Qt Creator 16: новые возможности и улучшения 

14 марта 2025 года состоялся релиз новой версии интегрированной среды разработки Qt Creator 16, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. В этой версии представлены значительные улучшения, которые делают процесс разработки более удобным и эффективным. 

🌶️ Основные нововведения

1. Оптимизация времени запуска 
   - Добавлены асинхронные методы для определения ABI и загрузки кэша шрифтов на Windows. 
   - Ускорено получение информации о Python-пакетах. 

2. Улучшения для работы с QML и CMake 
   - Добавлена переменная QML_IMPORT_PATH для CMake при использовании QML Language Server. 
   - Внедрена поддержка функции Diagnostic.CodeDescription в протоколе LSP. 

3. Новые настройки и интерфейс 
   - Добавлена категория "SDK" для управления параметрами Android, QNX, MCU и Windows App SDK. 
   - Переработаны настройки тулкитов, что сделало их более компактными и удобными. 

4. Улучшения для CMake-проектов 
   - Упрощена структура дерева компонентов проекта. 
   - Повышена производительность определения изменений внешней конфигурации CMake. 

5. Интеграция с инструментами анализа 
   - Улучшена поддержка Axivion для статического анализа кода. 
   - Добавлена возможность настройки coverage-тестирования с использованием Coco. 

6. Исправление проблем 
   - Решена проблема с чисткой временных файлов на разделах с файловой системой FAT. 
   - Добавлена поддержка отладки на устройствах с iOS 17+.
📉🤦 152 000 уволенных в IT за год: кому это помогло?

Корпоративная бензопила снова в деле: каждый месяц 2 миллиона американцев теряют работу из-за сокращений. Но действительно ли это помогает компаниям?

🔗 Читать статью
📚 Мини-справочник по основным типам данных C++

Делимся компактным справочником по основным типам данных в C++. Сохраняйте себе на будущее.

🔢 Целочисленные типы

int — 4 байта, от -2,147,483,648 до 2,147,483,647
short — 2 байта, от -32,768 до 32,767
long — 4 байта (Windows) или 8 байт (Unix)
long long — 8 байт, от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807

Модификаторы:
unsigned — только положительные числа, удваивает верхний предел
signed — со знаком (по умолчанию)

unsigned int counter = 100;
short temperature = -15;
long long population = 7800000000;


🔡 Символьные типы

char — 1 байт, обычные символы ASCII
wchar_t — 2 или 4 байта, широкие символы (Unicode)
char16_t — 2 байта, символы UTF-16 (C++11)
char32_t — 4 байта, символы UTF-32 (C++11)

char letter = 'A';
wchar_t unicodeChar = L'Ф';
char16_t utf16Char = u'Ж';


🔄 Числа с плавающей точкой

float — 4 байта, точность ~7 цифр, диапазон ±3.4e±38
double — 8 байт, точность ~15 цифр, диапазон ±1.7e±308
long double — 8-16 байт, точность ≥ double, диапазон зависит от компилятора

float price = 19.99f;   // 'f' суффикс для float
double pi = 3.14159265359;
long double precise = 1.23456789123456789L; // 'L' суффикс


🧮 Логический тип

bool — 1 байт, значения: true или false

bool isActive = true;
bool hasPermission = false;


🗄 Производные типы

Массивы: int numbers[5];
Указатели: int* ptr;
Ссылки: int& ref = value;
Строки:
• C-строки: char str[] = "Hello";
• std::string: std::string text = "Hello";

🔄 Автоматическое определение типа (C++11)

auto x = 10;        // int
auto y = 3.14; // double
auto z = "Hello"; // const char*


🧩 Тип Void

void — отсутствие типа (для функций без возвращаемого значения)
void* — указатель на данные любого типа

🔍 Как узнать размер типа


cout << "Размер int: " << sizeof(int) << " байт" << endl;


💡 Полезные советы

1. Используйте **size_t
для индексации и размеров
2. Для целых чисел с гарантированным размером используйте типы из <cstdint>: int32_t, uint64_t
3. Для денежных расчетов избегайте float из-за погрешностей округления

Библиотека C/C++ разработчика #буст
😮‍💨Устали вручную разруливать зависимости в C++ проектах? Время автоматизировать процесс! 🕒💻

Пакетные менеджеры Conan и vcpkg позволяют легко управлять библиотеками, устанавливать зависимости и ускорять сборку. Разберем, как это работает, на открытом уроке.

Упростите себе жизнь: научитесь использовать пакетные менеджеры, чтобы писать код, а не разбираться с проблемами сборки.

Спикер Денис Злобинстарший инженер-программист в Astra Linux, опытный наставник разработчиков.

➡️Встречаемся 20 марта в 20:00 мск, разберем всё на практике! Участники получат скидку на большое обучение по разработке на С++.

Регистрация: https://clck.ru/3HjpJy

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru