Forwarded from Библиотека программиста | программирование, кодинг, разработка
Авторы лучших проектов в четырёх номинациях (от AI до разработки для разработчиков) получат денежные гранты, облачные ресурсы от Cloud.ru и экспертную поддержку. Главная цель — помочь энтузиастам превратить свои идеи в полноценные продукты.
Подробности и правила участия
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Что вернет main()?
Anonymous Quiz
10%
0
7%
1
55%
2
22%
Любое значение от 0 до 2
6%
Undefined behavior
😁6🤔3
⚡️ Фича дня: [[likely]]/[[unlikely]] (C++20)
🔥 Проблема:
Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.
✏️ Решение:
Атрибуты помогают компилятору оптимизировать предсказание переходов.
❌ До:
✅ После:
Применение:
• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций
💡 Помогают ли вам атрибуты в оптимизации?
Библиотека C/C++ разработчика
#буст
Компилятор не знает, какие ветки кода выполняются чаще, что влияет на производительность.
Атрибуты помогают компилятору оптимизировать предсказание переходов.
if (error_code != 0) {
handle_error(); // редкий случай
} else {
normal_processing(); // частый случай
}
if (error_code != 0) [[unlikely]] {
handle_error(); // компилятор оптимизирует как редкий случай
} else [[likely]] {
normal_processing(); // оптимизируется как частый случай
}
Применение:
• Обработка ошибок в системном коде
• Оптимизация горячих путей в циклах
• Улучшение производительности критических секций
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9🔥3
🧨 Портирование C++ проектов: подводные камни архитектурных различий
💡
❗️ Ключевые моменты лекции:
• скрытые баги из-за изменения размеров указателей при переходе с 32-bit на 64-bit
• проблемы с SIMD-инструкциями при портировании с SSE (x86) на Neon (ARM)
• необходимость полного переписывания ассемблерного кода под новую архитектуру
Основной фокус — практические проблемы портирования X-Ray движка («Сталкер») на консоли и методы их решения через статический анализ кода.
Особенно актуально для разработчиков игровых движков и системного ПО, где производительность критична.
Вы узнаете, что код, который «просто работает», может содержать десятки скрытых UB, которые проявятся только при смене платформы — и найти их без специальных инструментов практически невозможно.
👉 Видео
Библиотека C/C++ разработчика
#буст
💡
Ростислав Михеев
в своей лекции на UNIGINE Open Air 2025
разобрал реальные кейсы портирования игровых движков и выделил критические моменты для C++ разработчиков.❗️ Ключевые моменты лекции:
• скрытые баги из-за изменения размеров указателей при переходе с 32-bit на 64-bit
• проблемы с SIMD-инструкциями при портировании с SSE (x86) на Neon (ARM)
• необходимость полного переписывания ассемблерного кода под новую архитектуру
Основной фокус — практические проблемы портирования X-Ray движка («Сталкер») на консоли и методы их решения через статический анализ кода.
Особенно актуально для разработчиков игровых движков и системного ПО, где производительность критична.
Вы узнаете, что код, который «просто работает», может содержать десятки скрытых UB, которые проявятся только при смене платформы — и найти их без специальных инструментов практически невозможно.
👉 Видео
Библиотека C/C++ разработчика
#буст
❤2👍1
Надо вынести кусок логики в функцию? Тогда можно воспользоваться встроенными возможностями редактора кода которым пользуешься.
• выдели код → Ctrl+Alt+M (Extract Function)
• выдели код → Ctrl+Shift+R → Extract to function
• выдели код → Ctrl+R, M (Extract Function)
void mainLogic(const std::string& user) {
// До рефакторинга
if (user.size() > 3 && user[0] == 'A') {
std::cout << "Valid user: " << user << std::endl;
}
}
После рефакторинга VS Code сам создаст функцию:
bool shouldProcessUser(const std::string& user) {
return user.size() > 3 && user[0] == 'A';
}
void mainLogic(const std::string& user) {
if (shouldProcessUser(user)) {
std::cout << "Valid user: " << user << std::endl;
}
}
Библиотека C/C++ разработчика
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
Промокод на 5.000₽: LASTCALL
👉 Курс здесь
Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
Промокод на 5.000₽: LASTCALL
👉 Курс здесь
🧗 Кто такие Unit-лид и Technical Owner — и почему эти роли нужны в IT-командах
Когда компания переходит от «сделать и забыть» к «развивать и совершенствовать», старые роли перестают работать. Нужны люди, которые будут жить продуктом, а не просто выполнять задачи. Unit-лид и Technical Owner — именно такие специалисты. Объясняем, что они делают и почему без них продуктовый подход обречен на провал.
👉 Читать дальше
Библиотека C/C++ разработчика
Когда компания переходит от «сделать и забыть» к «развивать и совершенствовать», старые роли перестают работать. Нужны люди, которые будут жить продуктом, а не просто выполнять задачи. Unit-лид и Technical Owner — именно такие специалисты. Объясняем, что они делают и почему без них продуктовый подход обречен на провал.
👉 Читать дальше
Библиотека C/C++ разработчика
👾1