Тихий враг или молчаливый союзник: коротко о выравнивании в C++. Часть 2
Казалось бы, тайна выравнивания раскрыта. Вы победили невидимого врага — невыровненный доступ. Память под контролем, но производительность по-прежнему шепчет: "Есть ещё нюансы". Что? Нюансы? Какие? Пришло время посмотреть, что происходит, когда структуры начинают наследовать друг друга. Здесь всё становится... интереснее. Правила игры меняются.
Подробности по ссылке🔗
#cpp #статья
Казалось бы, тайна выравнивания раскрыта. Вы победили невидимого врага — невыровненный доступ. Память под контролем, но производительность по-прежнему шепчет: "Есть ещё нюансы". Что? Нюансы? Какие? Пришло время посмотреть, что происходит, когда структуры начинают наследовать друг друга. Здесь всё становится... интереснее. Правила игры меняются.
Подробности по ссылке
#cpp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
В декабре 2025 года вышел обновленный методический документ ЦБ РФ — "Профиль защиты (ПЗ) прикладного ПО автоматизированных систем и приложений кредитных организаций и некредитных финансовых организаций". Этот документ уточнил и расширил многие меры, направленные на разработку безопасных программных продуктов. Например, перечислены требования, предъявляемые к инструментальным средствам статического анализа кода.
Если вы работаете в финтехе или создаете ПО для банков, игнорировать эти изменения нельзя.
На новом вебинаре рассмотрим эти изменения, также причины, по которым полезно изучить ГОСТ Р 56939—2024 и ГОСТ Р 71207—2024 при реализации требований безопасности, изложенных в ПЗ.
📅16 февраля в 16:00
Регистрация доступна по ссылке 🔗
#вебинар #финтех
Если вы работаете в финтехе или создаете ПО для банков, игнорировать эти изменения нельзя.
На новом вебинаре рассмотрим эти изменения, также причины, по которым полезно изучить ГОСТ Р 56939—2024 и ГОСТ Р 71207—2024 при реализации требований безопасности, изложенных в ПЗ.
📅16 февраля в 16:00
Регистрация доступна по ссылке 🔗
#вебинар #финтех
PVS-Studio: поиск ошибок в С/С++, С# и Java
Вы думали, цикл закончился?! Нет, мы продолжаем! 🔥 Не могли вас оставить без бонусных вебинаров в рамках цикла "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024". Поэтому приглашаем на вебинар "Безопасность frontend-приложений: особенности, угрозы и анализаторы…
Сегодня в 16:00 бонусный вебинар — "Безопасность frontend-приложений: особенности, угрозы и анализаторы класса FAST (Frontend Application Security Testing)". Ждем!
Media is too big
VIEW IN TELEGRAM
Пропустили новый выпуск Разбаговки? Ничего, вот вам ссылочки, чтобы и посмотреть, и послушать:
- Яндекс.Музыка
- Vk video
- YouTube
- наш сайт
- Mave
- Звук
#подкаст #разбаговка
- Яндекс.Музыка
- Vk video
- YouTube
- наш сайт
- Mave
- Звук
#подкаст #разбаговка
Бесконечность — не предел! И нашим вебинарам предела нет! 🔥
Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atlas!
Это новая платформа контроля качества кода: просмотр, аналитика, разметка, отчёты для сертификационных лабораторий и ФСТЭК.
Мы еще не раз будем говорить об этом. А пока приглашаем вас на вебинар, на котором мы презентуем PVS-Studio Atlas и расскажем про него подробнее!
🗓11 февраля в 16:00
Регистрация доступна по ссылке🔗
#вебинар #PVS_Studio
Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atlas!
Это новая платформа контроля качества кода: просмотр, аналитика, разметка, отчёты для сертификационных лабораторий и ФСТЭК.
Мы еще не раз будем говорить об этом. А пока приглашаем вас на вебинар, на котором мы презентуем PVS-Studio Atlas и расскажем про него подробнее!
🗓11 февраля в 16:00
Регистрация доступна по ссылке
#вебинар #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
OWASP Top 10 – это одна из главных классификаций веб уязвимостей. В ней представлены 10 обобщенных категорий, каждая из которых агрегирует набор актуальных атак на веб-приложения. А PVS-Studio – это статический анализатор, и Java является одним из поддерживаемых им языков.
Можем ли мы находить потенциальные уязвимости из перечня OWASP Top 10? Да!
На протяжении большого количества времени мы делали так, чтобы PVS-Studio для языка Java умел находить потенциальные уязвимости в большем количестве категорий OWASP Top 10. На данный момент, диагностики анализатора попадают в 9 из 10 её категорий. Среди таковых, возможные SQL-инъекции, Path-Traversal, XSS-инъекции и многое другое.
Взглянуть одним глазком можно в статье "OWASP Top Ten 2021 через простые примеры на Java. И немного про SAST". Но, всегда лучше попробовать самому. Получить пробную лицензию PVS-Studio для своего Java проекта можно по этой ссылке
#java #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, мы готовим серию вебинаров про PVS-Studio ❤️
А именно: вместе пройдем путь от установки анализатора до встраивания в CI/CD и тонких настроек.
На первом вебинаре познакомим с возможностями анализатора, разберём актуальные требования ГОСТ и расскажем, как устроено лицензирование PVS-Studio.
🗓19 февраля в 14:00
Регистрация по ссылке🔗
#вебинар #PVS_Studio
А именно: вместе пройдем путь от установки анализатора до встраивания в CI/CD и тонких настроек.
На первом вебинаре познакомим с возможностями анализатора, разберём актуальные требования ГОСТ и расскажем, как устроено лицензирование PVS-Studio.
🗓19 февраля в 14:00
Регистрация по ссылке
#вебинар #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
Ни для кого не новость, что цена поздно обнаруженной уязвимости в разработке очень высока. Но что нужно сделать, чтобы избежать такой ситуации? В статье обсудим, что такое политика нулевой терпимости и то, как статический анализ и ASOC помогут её достичь.
Переходите по ссылке🔗
#статья #PVS_Studio
Переходите по ссылке
#статья #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
PVS-Studio: поиск ошибок в С/С++, С# и Java
Бесконечность — не предел! И нашим вебинарам предела нет! 🔥 Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atlas! Это новая платформа контроля качества кода: просмотр, аналитика, разметка, отчёты для сертификационных лабораторий и ФСТЭК. Мы…
Через 2 дня встречаемся на презентации нового продукта PVS-Studio! Не пропустите!
PVS-Studio: поиск ошибок в С/С++, С# и Java
В декабре 2025 года вышел обновленный методический документ ЦБ РФ — "Профиль защиты (ПЗ) прикладного ПО автоматизированных систем и приложений кредитных организаций и некредитных финансовых организаций". Этот документ уточнил и расширил многие меры, направленные…
Коллеги, ничего не планируйте 16 февраля в 16:00! Мы будем обсуждать важный методический документ ЦБ РФ. Так что планируйте только участие в вебинаре 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы возвращаемся! 🔥
С новыми силами мы возобновляем митап "Сплошные плюсы. Клуб С++ разработчиков"!
Что вас ждет:
- доклад "Тихий враг или молчаливый союзник: Коротко о выравнивании в C++"
- доклад "Разработка решения для расчета метрик графа в Single Node"
- увлекательные квизы
- эксклюзивный мерч
- нетворкинг и живое общение
📅 Встречаемся 19 февраля в 18:30
📍Москва, кампус ЦУ, ул. Гашека, д.7 стр. 1.
Регистрация и подробности по ссылке🔗
#митап #cpp
С новыми силами мы возобновляем митап "Сплошные плюсы. Клуб С++ разработчиков"!
Что вас ждет:
- доклад "Тихий враг или молчаливый союзник: Коротко о выравнивании в C++"
- доклад "Разработка решения для расчета метрик графа в Single Node"
- увлекательные квизы
- эксклюзивный мерч
- нетворкинг и живое общение
📅 Встречаемся 19 февраля в 18:30
📍Москва, кампус ЦУ, ул. Гашека, д.7 стр. 1.
Регистрация и подробности по ссылке
#митап #cpp
Please open Telegram to view this post
VIEW IN TELEGRAM
На нем написан Docker, Kubernetes, Gitea и многие другие проекты самых разных масштабов. Наверное, вы догадались, что речь идёт о Go. Мы никогда не писали об ошибке на Golang-проектах, но настало время это исправить, ведь скоро выйдет анализатор PVS-Studio для Go!
Все подробности по ссылке🔥
#статья #go
Все подробности по ссылке
#статья #go
Please open Telegram to view this post
VIEW IN TELEGRAM
Нас трудно остановить! Да и не можем мы вас оставить без полезных вебинаров 😉
Встречаемся 18 февраля в 16:00 на бонусном вебинаре "Системы с конструктивной информационной безопасностью".
В конце 2025 года вступил в силу национальный стандарт «ГОСТ Р 72118 Защита информации. Системы с конструктивной информационной безопасностью. Методология разработки». На вебинаре мы разберемся, в чем сходство и различие таких систем с безопасным ПО, как соотносятся создание систем с КИБ и разработка безопасного ПО, чем новый стандарт полезен в работе специалистов по ИБ различного профиля.
Приглашенный эксперт: Екатерина Рудина, аналитик Департамента перспективных технологий "Лаборатории Касперского"
Регистрация доступна по ссылке 🔗
#вебинар
Встречаемся 18 февраля в 16:00 на бонусном вебинаре "Системы с конструктивной информационной безопасностью".
В конце 2025 года вступил в силу национальный стандарт «ГОСТ Р 72118 Защита информации. Системы с конструктивной информационной безопасностью. Методология разработки». На вебинаре мы разберемся, в чем сходство и различие таких систем с безопасным ПО, как соотносятся создание систем с КИБ и разработка безопасного ПО, чем новый стандарт полезен в работе специалистов по ИБ различного профиля.
Приглашенный эксперт: Екатерина Рудина, аналитик Департамента перспективных технологий "Лаборатории Касперского"
Регистрация доступна по ссылке 🔗
#вебинар
Спешим поделиться интересной ошибкой, которую нашел наш анализатор. В примере ошибка из проекта OpenIDE:
Срабатывание анализатора PVS-Studio: V6050 Class initialization cycle is present. Initialization of 'DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED' appears before the initialization of 'LOG'. UsageType.java 46
Анализатор говорит, что мы имеем дело с циклической зависимостью при инициализации статических полей. Снова не самый очевидный момент, связанный с нюансами языка Java.
Для инициализации поля DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED используется конструктор. А в нём мы обращаемся к логгеру LOG.
Всё дело в том, что поля инициализируются в порядке их объявления. Как вы можете видеть, DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED располагается выше LOG, т.е. инициализируется раньше. Как следствие, LOG на момент исполнения конструктора будет равен null, и при обращении к нему мы столкнёмся с NPE.
Исправление, как и в большинстве случаев выше, будет донельзя простым. Нужно просто разместить объявление LOG выше, чем DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED.
Не совершай такую ошибку в своем проекте! А узнать о других багах из проекта можно по этой ссылке🔗
#java #programming #ошибка
public final class UsageType {
....
public static final UsageType
DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED = new UsageType(
UsageViewBundle.messagePointer(
"usage.type.delegate.to.another.instance.method.parameters.changed"
)
);
private static final Logger LOG = Logger.getInstance(UsageType.class);
public UsageType(@NotNull Supplier<....> nameComputable) {
myNameComputable = nameComputable;
if (ApplicationManager.getApplication().isUnitTestMode()) {
String usageTypeString = myNameComputable.get();
if (usageTypeString.indexOf('{') != -1) {
LOG.error(....);
}
}
}
....
}Срабатывание анализатора PVS-Studio: V6050 Class initialization cycle is present. Initialization of 'DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED' appears before the initialization of 'LOG'. UsageType.java 46
Анализатор говорит, что мы имеем дело с циклической зависимостью при инициализации статических полей. Снова не самый очевидный момент, связанный с нюансами языка Java.
Для инициализации поля DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED используется конструктор. А в нём мы обращаемся к логгеру LOG.
Всё дело в том, что поля инициализируются в порядке их объявления. Как вы можете видеть, DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED располагается выше LOG, т.е. инициализируется раньше. Как следствие, LOG на момент исполнения конструктора будет равен null, и при обращении к нему мы столкнёмся с NPE.
Исправление, как и в большинстве случаев выше, будет донельзя простым. Нужно просто разместить объявление LOG выше, чем DELEGATE_TO_ANOTHER_INSTANCE_PARAMETERS_CHANGED.
Не совершай такую ошибку в своем проекте! А узнать о других багах из проекта можно по этой ссылке
#java #programming #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
Что внутри у GameDev-команд? Разбираем инструменты на вебинаре 🎮
Производительность в играх — это не просто "приятный бонус", а база. Если игра тормозит, никакой геймплей её не спасет. 26 февраля вместе с экспертами из Forgotten Empires и Playrix заглянем "под капот" разработки и обсудим профилирование.
В программе:
• Сергей Кушниренко (Forgotten Empires): Инструментальное профилирование видеоигр
• Андрей Зенкович (Playrix): Инструменты профилирования в геймдеве и кейсы использования
• Александра Уварова (PVS-Studio): Превратили PVS-Studio в город. Покажем, как превратить скучные строки кода в настоящий город и прогуляться по нему.
📅26 февраля в 15:00
Регистрация доступна по ссылке 🔗
#вебинар #gamedev
Производительность в играх — это не просто "приятный бонус", а база. Если игра тормозит, никакой геймплей её не спасет. 26 февраля вместе с экспертами из Forgotten Empires и Playrix заглянем "под капот" разработки и обсудим профилирование.
В программе:
• Сергей Кушниренко (Forgotten Empires): Инструментальное профилирование видеоигр
• Андрей Зенкович (Playrix): Инструменты профилирования в геймдеве и кейсы использования
• Александра Уварова (PVS-Studio): Превратили PVS-Studio в город. Покажем, как превратить скучные строки кода в настоящий город и прогуляться по нему.
📅26 февраля в 15:00
Регистрация доступна по ссылке 🔗
#вебинар #gamedev