Плюсовики, собираемся 15 декабря в Москве и онлайн на встречу РГ21 С++
Ивент для практикующих C++-разработчиков и энтузиастов, которые хотят понимать, куда движется язык, и участвовать в его развитии.
Антон Полухин (Техплатформа Городских сервисов Яндекса) поделится новостями со встречи международного Комитета по стандартизации языка C++ — о прогрессе в работе над С++26, новинках и о том, какие комментарии к стандарту подготовила Россия.
На встрече вы узнаете, как именно российским разработчикам участвовать в развитии стандарта языка, сможете задать свои вопросы спикеру и обменяться мнениями с коллегами.
Подробности и регистрация
Ивент для практикующих C++-разработчиков и энтузиастов, которые хотят понимать, куда движется язык, и участвовать в его развитии.
Антон Полухин (Техплатформа Городских сервисов Яндекса) поделится новостями со встречи международного Комитета по стандартизации языка C++ — о прогрессе в работе над С++26, новинках и о том, какие комментарии к стандарту подготовила Россия.
На встрече вы узнаете, как именно российским разработчикам участвовать в развитии стандарта языка, сможете задать свои вопросы спикеру и обменяться мнениями с коллегами.
Подробности и регистрация
😁2
🐸 Подборка вакансий для C++-разработчиков за неделю
Разработчик C++ / Rust (SDN dataplane, DPDK/DOCA API) — Удалёнка
Разработчик С++ (Middle) — от 180 000 и до 400 000 ₽ Гибрид (Москва)
Инженер-разработчик (C/C++/Qt/Embedded) — от 130 000 и до 250 000₽ Гибрид (Санкт-Петербург)
C++ Engineer в компиляторах — от 300 000 ₽ Офис (Новосибирск)
Разработчик C++ — Удалёнка
Библиотека C/C++ разработчика
Разработчик C++ / Rust (SDN dataplane, DPDK/DOCA API) — Удалёнка
Разработчик С++ (Middle) — от 180 000 и до 400 000 ₽ Гибрид (Москва)
Инженер-разработчик (C/C++/Qt/Embedded) — от 130 000 и до 250 000₽ Гибрид (Санкт-Петербург)
C++ Engineer в компиляторах — от 300 000 ₽ Офис (Новосибирск)
Разработчик C++ — Удалёнка
Библиотека C/C++ разработчика
😁2
Какие проблемы в этом коде и как их можно исправить?😼
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#междусобойчик
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#междусобойчик
😁2
📰 Свеженькое из мира C++
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Ставим Fedora на MacBook Pro 2019 с чипом T2 — инструкция по установке Fedora на MacBook
• Симулятор: От MOS6502 к x86 — рассматривается развитие симулятора от самых простых микросхем и до x86
• 15 AI-инструментов для поиска работы в IT за рубежом — полезные инструменты для поиска работы
• Короткий синтаксис concepts: что компилятор делает с auto? — фишка, которая позволит сделать код более читаемым
• Что не так с public virtual? — рассматриваем как решить проблему с виртуальными функциями при наследовании
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#свежак
Подготовили подборку самых интересных материалов за неделю о разных аспектах программирования и интересных проектах в мире C++.
😎 Интересное:
• Ставим Fedora на MacBook Pro 2019 с чипом T2 — инструкция по установке Fedora на MacBook
• Симулятор: От MOS6502 к x86 — рассматривается развитие симулятора от самых простых микросхем и до x86
• 15 AI-инструментов для поиска работы в IT за рубежом — полезные инструменты для поиска работы
• Короткий синтаксис concepts: что компилятор делает с auto? — фишка, которая позволит сделать код более читаемым
• Что не так с public virtual? — рассматриваем как решить проблему с виртуальными функциями при наследовании
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#свежак
😁1
🍖 Рализация своего ECS движка
💡 Автор статьи решил не сдаваться и полностью переписал архитектуру памяти своей ECS, применив data-oriented design на полную катушку.
❗️ Ключевые моменты статьи:
• compile-time разметка памяти через constexpr — никаких накладных расходов в рантайме
• организация данных в сектора — фиксированные блоки памяти, где компоненты лежат плотно друг к другу
• chunk-аллокатор со степенями двойки вместо делений
• сортировка по entityId для последовательного доступа и дружбы с CPU-префетчером
Основной фокус — как устроить память так, чтобы процессор угадывал ваши намерения и подтягивал данные заранее, превращая случайные обращения в линейное чтение.
Особенно актуально для разработчиков игровых движков и высоконагруженных систем, где каждый cache miss стоит дорого.
👉 Статья
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#свежак
Если std::map убивает весь перформанс, cache miss-ы на каждом шагу..., то пора задуматься о ECS подходе. Возможно это то что тебе нужно.
💡 Автор статьи решил не сдаваться и полностью переписал архитектуру памяти своей ECS, применив data-oriented design на полную катушку.
❗️ Ключевые моменты статьи:
• compile-time разметка памяти через constexpr — никаких накладных расходов в рантайме
• организация данных в сектора — фиксированные блоки памяти, где компоненты лежат плотно друг к другу
• chunk-аллокатор со степенями двойки вместо делений
• сортировка по entityId для последовательного доступа и дружбы с CPU-префетчером
Основной фокус — как устроить память так, чтобы процессор угадывал ваши намерения и подтягивал данные заранее, превращая случайные обращения в линейное чтение.
Особенно актуально для разработчиков игровых движков и высоконагруженных систем, где каждый cache miss стоит дорого.
👉 Статья
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#свежак
👍4❤2🥰1
Forwarded from Библиотека задач по C++ | тесты, код, задания
Forwarded from Библиотека задач по C++ | тесты, код, задания
Какой тип cache locality здесь используется?
Anonymous Quiz
31%
Только пространственная
33%
И пространственная, и временная
11%
Только временная
14%
Никакой
11%
Зависит от размера кэша
❤1👾1
Никаких утечек памяти — только чистые знания
В мире C++ ценятся те, кто понимает, как работает железо и математика, а не просто копипастит с StackOverflow. Укрепи фундамент, чтобы писать производительный код.
Акция 1 + 2:
Три курса по цене одного. Оплачиваешь самый дорогой — два других компилируются бесплатно.
Выбор плюсовиков:
— алгоритмы и структуры данных (обязательно);
— математика для Data Science (если интересен highload AI).
Получить доступ
Актуально до 31 декабря.
Сегментация выбора? Поможем: @manager_proglib
В мире C++ ценятся те, кто понимает, как работает железо и математика, а не просто копипастит с StackOverflow. Укрепи фундамент, чтобы писать производительный код.
Акция 1 + 2:
Три курса по цене одного. Оплачиваешь самый дорогой — два других компилируются бесплатно.
Выбор плюсовиков:
— алгоритмы и структуры данных (обязательно);
— математика для Data Science (если интересен highload AI).
Получить доступ
Актуально до 31 декабря.
Сегментация выбора? Поможем: @manager_proglib
😁1
⚙️ Структурированное логирование: JSON vs plain text?
Текстовые логи хороши для человека, но кошмарны для автоматизированного анализа. Пришло время переходить на структурированное логирование.
Структурированные логи в формате JSON или другом машиночитаемом формате позволяют легко фильтровать, агрегировать и анализировать данные. Вместо парсинга строк регулярками вы получаете готовые поля: timestamp, level, message, context, trace_id.
В C++ это достигается через библиотеки типа
😏 Используете ли вы структурированное логирование или всё ещё разбираете plain text?
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#междусобойчик
Текстовые логи хороши для человека, но кошмарны для автоматизированного анализа. Пришло время переходить на структурированное логирование.
Структурированные логи в формате JSON или другом машиночитаемом формате позволяют легко фильтровать, агрегировать и анализировать данные. Вместо парсинга строк регулярками вы получаете готовые поля: timestamp, level, message, context, trace_id.
В C++ это достигается через библиотеки типа
spdlog с кастомными formatters или специализированные решения вроде Boost.Log. Ключевой момент — добавление контекста: user_id, request_id, session_id. Это превращает хаотичный поток логов в структурированные данные, с которыми может работать ELK stack, Grafana Loki или другие системы мониторинга.😏 Используете ли вы структурированное логирование или всё ещё разбираете plain text?
🔹Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹Сайт Proglib
Библиотека C/C++ разработчика
#междусобойчик
❤1👍1😁1
🔧 std::promise — move-only тип. И это правильно!
Попытка скопировать promise не скомпилируется. Почему? Потому что обещание должно быть выполнено ровно один раз, одним владельцем.
Аналогия: Представьте promise как расписку о долге. Копия расписки — это две расписки? Или передача прав требования? Очевидно, второе.
При передаче в std::thread или lambda используйте:
• std::move для r-value
• mutable lambda если будете вызывать set_value
⚡️ Move-only семантика — это фитча, а не bug. Она предотвращает race conditions и двойные set_value.
Библиотека C/C++ разработчика
#константная_правильность
Попытка скопировать promise не скомпилируется. Почему? Потому что обещание должно быть выполнено ровно один раз, одним владельцем.
// ❌ НЕ СКОМПИЛИРУЕТСЯ
std::promise<int> prom1;
std::promise<int> prom2 = prom1; // Error!
// ✅ Move семантика — владение передаётся
std::promise<int> prom1;
std::promise<int> prom2 = std::move(prom1);
// Типичное использование в потоке
std::thread t([p = std::move(prom)]() mutable {
p.set_value(42); // Только этот поток владеет promise
});
Аналогия: Представьте promise как расписку о долге. Копия расписки — это две расписки? Или передача прав требования? Очевидно, второе.
При передаче в std::thread или lambda используйте:
• std::move для r-value
• mutable lambda если будете вызывать set_value
⚡️ Move-only семантика — это фитча, а не bug. Она предотвращает race conditions и двойные set_value.
Библиотека C/C++ разработчика
#константная_правильность
👍5🙏1
🤖 5 профессий в IT, которые появились благодаря ИИ
Искусственный интеллект не только автоматизирует рутинные задачи, но и создает новые профессии, о которых еще несколько лет назад никто не слышал. Какие именно — рассказываем в этой статье.
👉 Статья
Библиотека C/C++ разработчика
#свежак
Искусственный интеллект не только автоматизирует рутинные задачи, но и создает новые профессии, о которых еще несколько лет назад никто не слышал. Какие именно — рассказываем в этой статье.
👉 Статья
Библиотека C/C++ разработчика
#свежак