Библиотека C/C++ разработчика | cpp, boost, qt pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ GDB: отладка без перекомпиляции
Сколько раз ты менял код, добавляя
Решение: Условные breakpoint'ы в GDB
GDB остановится только когда user_id равен 123!
Ещё круче:
-
-
Бонус:
Попробуй прямо сейчас и напиши, сколько
Библиотека C/C++ разработчика #буст
Сколько раз ты менял код, добавляя
printf
для отладки, а потом забывал их удалить перед коммитом?Решение: Условные breakpoint'ы в GDB
$ gdb ./your_program
(gdb) break main.cpp:42 if user_id == 123
(gdb) run
GDB остановится только когда user_id равен 123!
Ещё круче:
-
(gdb) commands 1
- добавить команды к breakpoint'у-
(gdb) watch variable_name
- остановка при изменении переменнойБонус:
set print pretty on
сделает вывод структур читаемым 🎯Попробуй прямо сейчас и напиши, сколько
printf
удалил из кода😄Библиотека C/C++ разработчика #буст
😎 Оптимизации и паттерны userver
💡 Антон Полухин из команды
❗ Ключевые моменты доклада:
• избавление от
• экономия памяти через ленивую аллокацию виртуального адресного пространства в пулах корутин
• правильная балансировка нагрузки между event-тредами для чтения и записи
Основной фокус — практические решения для реальных продакшн-систем, где каждая микросекунда на горячем пути и каждый мегабайт памяти имеют значение.
Особенно актуально для разработчиков высоконагруженных серверных приложений и тех, кто работает с фреймворками типа
Вы узнаете, что иногда «неэкономия» ресурсов и отказ от умных указателей могут дать больший прирост производительности, чем классические подходы оптимизации.
👉 Доклад
Библиотека C/C++ разработчика
💡 Антон Полухин из команды
uServer
делится реальными кейсами системных оптимизаций C++, которые помогли сэкономить гигабайты памяти и значительно ускорить работу.❗ Ключевые моменты доклада:
• избавление от
shared_ptr
через продление времени жизни объектов до завершения приложения• экономия памяти через ленивую аллокацию виртуального адресного пространства в пулах корутин
• правильная балансировка нагрузки между event-тредами для чтения и записи
Основной фокус — практические решения для реальных продакшн-систем, где каждая микросекунда на горячем пути и каждый мегабайт памяти имеют значение.
Особенно актуально для разработчиков высоконагруженных серверных приложений и тех, кто работает с фреймворками типа
uServer
.Вы узнаете, что иногда «неэкономия» ресурсов и отказ от умных указателей могут дать больший прирост производительности, чем классические подходы оптимизации.
👉 Доклад
Библиотека C/C++ разработчика
⏰ Последние 2 дня скидки на курс «AI-агенты для DS-специалистов»
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A
Что мы загадали в ребусе ?
Угадай слово и напиши в комментариях 👇
Библиотека C/C++ разработчика #междусобойчик
Угадай слово и напиши в комментариях 👇
Библиотека C/C++ разработчика #междусобойчик
🚨 Что на самом деле происходит с увольнениями в ИТ
Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!
🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы
Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.
👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
Каждый день в чатах разработчиков появляются сообщения «ищу работу», «команду сократили», «проект закрыли». Но никто не говорит о причинах и масштабах катастрофы. Мы запустили большое исследование, чтобы раскрыть правду!
🎯 Что мы выясним:
→ Реальные причины увольнений
→ Сколько времени нужно на поиск работы
→ Самые безумные истории смены работы
Понимая реальную ситуацию, мы сможем принимать взвешенные решения о карьере и не попасться на удочку HR-сказок.
👉 Пройдите опрос за 3 минуты и помогите всему сообществу: https://clc.to/yJ5krg
📰 Свеженькое из мира C++
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Сжатие ipv4 заголовков C++
• Memory leaks в C++
• GDB: отладка без перекомпиляции
• Оптимизации и паттерны userver
😎 Полезное:
• ccache — компилятор кэш для ускорения пересборки проектов
• ТОП 10 трюков на C++, которые облегчат вам жизнь
• Рефакторинг длинных функций
🖨 Интересные проекты
• DuckDB
DuckDB — это встраиваемая колоночная СУБД, ориентированная на аналитическую обработку данных (OLAP)
• Notepad Next
Кроссплатформенная реализация Notepad++
• Zeek
Платформа для анализа сетевого трафика и мониторинга безопасности
• yaml-cp
yaml-cpp — это анализатор и генератор YAML написанный на C++
Библиотека C/C++ разработчика #свежак
Недельный дайджест новостей о разных аспектах программирования и интересных проектах в мире C++.
🥳 Интересное:
• Сжатие ipv4 заголовков C++
• Memory leaks в C++
• GDB: отладка без перекомпиляции
• Оптимизации и паттерны userver
😎 Полезное:
• ccache — компилятор кэш для ускорения пересборки проектов
• ТОП 10 трюков на C++, которые облегчат вам жизнь
• Рефакторинг длинных функций
🖨 Интересные проекты
• DuckDB
DuckDB — это встраиваемая колоночная СУБД, ориентированная на аналитическую обработку данных (OLAP)
• Notepad Next
Кроссплатформенная реализация Notepad++
• Zeek
Платформа для анализа сетевого трафика и мониторинга безопасности
• yaml-cp
yaml-cpp — это анализатор и генератор YAML написанный на C++
Библиотека C/C++ разработчика #свежак
Forwarded from Библиотека собеса по C++ | вопросы с собеседований
Какая структура данных лежит в основе алгоритма поиска в ширину (BFS)?
Anonymous Quiz
13%
Стек
26%
Очередь
50%
Дерево
11%
Хеш-таблица
🧱 Топ-вакансий для C++разработчиков за неделю
Разработчик C++ в команду Perception — Офис (Москва)
Эксперт С++ в команду беспилотной технологии — Удалёнка
Разработчик Windows Low Level C/C++ — от 280 000 до 380 000 ₽ Удалёнка
Бэкенд-разработчик (C++, Python) — 250 000 — 500 000 ₽ Удалёнка
C++ Developer — 5 000 — 15 000 $ Удалёнка
👉 Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика
Разработчик C++ в команду Perception — Офис (Москва)
Эксперт С++ в команду беспилотной технологии — Удалёнка
Разработчик Windows Low Level C/C++ — от 280 000 до 380 000 ₽ Удалёнка
Бэкенд-разработчик (C++, Python) — 250 000 — 500 000 ₽ Удалёнка
C++ Developer — 5 000 — 15 000 $ Удалёнка
👉 Еще больше топовых вакансий — в нашем канале C++ jobs
Библиотека C/C++ разработчика
🗃 Работа с файлами и файловой системой в C++17
Хочешь получить список файлов в папке?
✏️ Решение:
1. заголовочный файл
2. Используй
3. Проверь тип объекта (файл, директория и т.д.), если нужно отфильтровать только файлы
⚠️ Возможные ошибки:
- Подключение <experimental/filesystem> вместо стандартного <filesystem> (устарело в C++17)
- Отсутствие обработки исключений — доступ к некоторым директориям может быть запрещён
✅ Совет:
- Добавь try-catch вокруг итератора, если работаешь с произвольными путями
- Также удобно фильтровать файлы по расширению:
Библиотека C/C++ разработчика #буст
Хочешь получить список файлов в папке?
std::filesystem
предоставляет удобные итераторы для обхода директории. Особенно полезно при создании загрузчиков ассетов, инструментов или скриптов, работающих с файлами.1. заголовочный файл
<filesystem>
2. Используй
directory_iterator
для обхода содержимого папки3. Проверь тип объекта (файл, директория и т.д.), если нужно отфильтровать только файлы
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string path = "."; // текущая директория
for (const auto& entry : fs::directory_iterator(path)) {
if (fs::is_regular_file(entry)) {
std::cout << "Файл: " << entry.path() << std::endl;
}
else if (fs::is_directory(entry)) {
std::cout << "Папка: " << entry.path() << std::endl;
}
}
return 0;
}
⚠️ Возможные ошибки:
- Подключение <experimental/filesystem> вместо стандартного <filesystem> (устарело в C++17)
- Отсутствие обработки исключений — доступ к некоторым директориям может быть запрещён
✅ Совет:
- Добавь try-catch вокруг итератора, если работаешь с произвольными путями
- Также удобно фильтровать файлы по расширению:
if (entry.path().extension() == ".cpp")
Библиотека C/C++ разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.
Вот краткое руководство:
python3-config --includes
В
Cmain.c
:#include <Python.h>
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);
Создаём через
PyList_New
, PyLong_FromLong
, PyTuple_Pack
.Не забываем про
Py_XDECREF(...)
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Команда дня: std::string_view
Работа со строками часто сопровождается лишними копированиями при передаче в функции, что негативно влияет на производительность.
std::string_view — невладеющее представление последовательности символов, которое избавляет от ненужных копирований строк.
🔴 До:
🟢 После:
❗️Примеры использования:
• Функции, принимающие строки для чтения
• Парсинг строк без копирования
• Работа с подстроками без создания новых объектов
💡 Заменили уже const std::string& на std::string_view в своем коде?
Библиотека C/C++ разработчика #буст
Работа со строками часто сопровождается лишними копированиями при передаче в функции, что негативно влияет на производительность.
std::string_view — невладеющее представление последовательности символов, которое избавляет от ненужных копирований строк.
🔴 До:
bool startsWith(const std::string& str, const std::string& prefix) {
return str.substr(0, prefix.length()) == prefix;
}
🟢 После:
bool startsWith(std::string_view str, std::string_view prefix) {
return str.substr(0, prefix.length()) == prefix;
}
❗️Примеры использования:
• Функции, принимающие строки для чтения
• Парсинг строк без копирования
• Работа с подстроками без создания новых объектов
std::string
💡 Заменили уже const std::string& на std::string_view в своем коде?
Библиотека C/C++ разработчика #буст
✅ Чек-лист для Code Review
Code review — один из самых эффективных способов повышения качества кода. Составили чек-лист для
1. Архитектура и дизайн
• Соответствует ли код общей архитектуре проекта?
• Не нарушаются ли SOLID принципы?
• Правильно ли выбраны абстракции и интерфейсы?
2. Логика и корректность
• Корректно ли реализована бизнес-логика?
• Обрабатываются ли все edge cases?
• Нет ли off-by-one ошибок в циклах?
3. Безопасность кода
• Правильно ли управляется память?
• Нет ли потенциальных buffer overflow'ов?
• Корректно ли обрабатываются исключения?
4. Производительность
• Нет ли ненужных копирований объектов?
• Эффективны ли используемые алгоритмы?
• Правильно ли используются контейнеры STL?
5. Читаемость и поддерживаемость
• Понятны ли названия переменных и функций?
• Достаточно ли комментариев для сложной логики?
• Не слишком ли сложные функции (соблюдается ли SRP)?
6. Соответствие стандартам
• Следует ли код style guide проекта?
• Используются ли современные возможности C++?
• Корректно ли оформлены заголовочные файлы?
7. Тестирование
• Покрыт ли новый код unit тестами?
• Обновлены ли существующие тесты?
• Протестированы ли edge cases?
8. Документация
• Обновлена ли документация API?
• Есть ли примеры использования для новых функций?
• Актуальны ли комментарии в коде?
9. Обратная совместимость
• нарушается ли API существующих компонентов?
• Совместимы ли изменения с используемыми версиями библиотек?
10. Финальная проверка
• Проходят ли все автоматические тесты?
• Нет ли compiler warnings?
• Готов ли код к production?
Библиотека C/C++ разработчика #буст
Code review — один из самых эффективных способов повышения качества кода. Составили чек-лист для
reviewer'ов
и авторов PR.1. Архитектура и дизайн
• Соответствует ли код общей архитектуре проекта?
• Не нарушаются ли SOLID принципы?
• Правильно ли выбраны абстракции и интерфейсы?
2. Логика и корректность
• Корректно ли реализована бизнес-логика?
• Обрабатываются ли все edge cases?
• Нет ли off-by-one ошибок в циклах?
3. Безопасность кода
• Правильно ли управляется память?
• Нет ли потенциальных buffer overflow'ов?
• Корректно ли обрабатываются исключения?
4. Производительность
• Нет ли ненужных копирований объектов?
• Эффективны ли используемые алгоритмы?
• Правильно ли используются контейнеры STL?
5. Читаемость и поддерживаемость
• Понятны ли названия переменных и функций?
• Достаточно ли комментариев для сложной логики?
• Не слишком ли сложные функции (соблюдается ли SRP)?
6. Соответствие стандартам
• Следует ли код style guide проекта?
• Используются ли современные возможности C++?
• Корректно ли оформлены заголовочные файлы?
7. Тестирование
• Покрыт ли новый код unit тестами?
• Обновлены ли существующие тесты?
• Протестированы ли edge cases?
8. Документация
• Обновлена ли документация API?
• Есть ли примеры использования для новых функций?
• Актуальны ли комментарии в коде?
9. Обратная совместимость
• нарушается ли API существующих компонентов?
• Совместимы ли изменения с используемыми версиями библиотек?
10. Финальная проверка
• Проходят ли все автоматические тесты?
• Нет ли compiler warnings?
• Готов ли код к production?
Библиотека C/C++ разработчика #буст
🫣 Устали от HR-сказок про «дружный коллектив» и «печеньки в офисе»?
Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.
🧐 Мы проводим исследование, чтобы выяснить:
— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор
Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.
😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
Давайте честно поговорим о том, что действительно происходит на IT-рынке. Не в розовых презентациях, а в реальной жизни разработчиков, тестировщиков, аналитиков и всех, кто живет кодом.
🧐 Мы проводим исследование, чтобы выяснить:
— Как часто мы прыгаем между компаниями (и почему)
— Какие красные флаги заставляют бежать без оглядки
— Где реально находят работу
— Что бесит в HR больше всего
— Сколько кругов собеседований — это уже перебор
Результаты покажут реальную картину рынка. Без приукрашиваний. Может, компании поймут, что нужно менять, а специалисты — куда двигаться дальше.
😈 Опрос займет 5 минут, но результаты будут работать на всех нас → https://clc.to/9aaXVg
⚠️ Debugging: инструменты для поиска багов
Для C++ инструменты помогающие находить и исправлять ошибки имеют такое же значение, как и само написание кода. Сама же отладка превращается в искусство, которое призвано заставить код работать не только быстро, но и выполнять возложенные на него задачи.
Делимся арсеналом инструментов для разных типов багов.
Memory issues:
• Valgrind (Linux/Mac) — поиск утечек и ошибок доступа
• AddressSanitizer (-fsanitize=address) — встроенный в GCC/Clang
• Dr. Memory (Windows)
Performance:
• gprof — профайлинг CPU
• perf (Linux) — системное профилирование
• Intel VTune — продвинутое профилирование
Thread issues:
• ThreadSanitizer (-fsanitize=thread)
• Helgrind (Valgrind tool)
Static analysis:
• clang-static-analyzer
• PVS-Studio
• PC-lint Plus
Это всего лишь небольшая часть, которая используется для борьбы с насекомыми, но достаточная, чтобы попробовать улучшить свой код.
🔍 Какие инструменты для отладки используете чаще всего? Есть любимые фишки?
Библиотека C/C++ разработчика #междусобойчик
Для C++ инструменты помогающие находить и исправлять ошибки имеют такое же значение, как и само написание кода. Сама же отладка превращается в искусство, которое призвано заставить код работать не только быстро, но и выполнять возложенные на него задачи.
Делимся арсеналом инструментов для разных типов багов.
Memory issues:
• Valgrind (Linux/Mac) — поиск утечек и ошибок доступа
• AddressSanitizer (-fsanitize=address) — встроенный в GCC/Clang
• Dr. Memory (Windows)
Performance:
• gprof — профайлинг CPU
• perf (Linux) — системное профилирование
• Intel VTune — продвинутое профилирование
Thread issues:
• ThreadSanitizer (-fsanitize=thread)
• Helgrind (Valgrind tool)
Static analysis:
• clang-static-analyzer
• PVS-Studio
• PC-lint Plus
Это всего лишь небольшая часть, которая используется для борьбы с насекомыми, но достаточная, чтобы попробовать улучшить свой код.
🔍 Какие инструменты для отладки используете чаще всего? Есть любимые фишки?
Библиотека C/C++ разработчика #междусобойчик