PVS-Studio: поиск ошибок в коде
1.81K subscribers
1.8K photos
105 videos
2 files
1.77K links
Статический анализатор на страже качества, защищённости (SAST) и безопасности кода.

Наш стек: C, C++, C#, Java, JS, TS, Go

Сайт: https://pvs-studio.ru/

E-Mail: support@viva64.com
Телефон: +7(903)844-02-22

Для бизнеса: https://t.me/pvsstudio_business
Download Telegram
📖 Copy-paste oшибки в cтpyктypнo изoмopфнoм Go кoдe

Недавно вышел PVS-Studio 8.00, принёсший с собой много масштабных нововведений, среди которых и релиз анализатора для Go! Он же, в свою очередь, обзавёлся несколькими новыми интересными диагностиками. Среди них есть и та, что выявляет один из caмыx кoвapныx видoв copy-paste oшибoк, кoтopые нeoxoтнo пoпaдaютcя нa глaзa пpи oбычнoм peвью.

Подробнее о поиске copy-paste oшибок в cтpyктypнo изoмopфнoм Go кoдe написали в статье 🔗

Приятного чтения!

#статья #go
4
🖥 Как понять, что помогает руководителю развиваться, а что уже мешает команде расти?

У каждого тимлида свой стиль управления и свои сильные стороны. На вебинаре разберём привычные паттерны руководителей, которые могут тормозить развитие, и популярные стили управления: их плюсы и минусы, ограничения и ситуации, в которых они работают лучше всего.

🎤 Елизавета Кузнецова (руководитель Events, PVS-Studio) в своём докладе "Роли руководителя: кто ты сегодня?" расскажет, почему идеального тимлида не существует и какие бывают стили управления, а также разберёт популярные архетипы тимлидов. В основе доклада — модель PAEI Адизеса.

🎤 Ольга Ладошкина (независимый эксперт по развитию управленцев, executive-коуч, основатель проекта “Лидерская кухня”, наставник в Яндекс Практикуме) в своём докладе "Когда сильные стороны начинают мешать: 9 привычных паттернов успешных руководителей" расскажет, как качества, которые помогают добиваться результатов и расти по карьерной лестнице, со временем могут начать тормозить развитие команды.

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

Ждем всех 21 октября в 14:00!

Регистрация 🔗

Всем, кто зарегистрировался, мы пришлём запись вебинара!

#вебинар #тимлид
54
На нашем сайте появился новый раздел — Инструменты РБПО.

В нём собраны инструменты, которые используются при построении процессов безопасной разработки программного обеспечения (РБПО, SSDLC). Цель этого раздела — помочь быстро найти необходимые инструменты для их дальнейшего изучения и выбора.

Если у вас есть идеи по расширению списка, или вы нашли какую-то неточность, пишите нам.

#рбпо #гост
42
This media is not supported in your browser
VIEW IN TELEGRAM
За 37 секунд рассказываем:

▫️что такое PVS-Studio
▫️какие языки он поддерживает
▫️какие диагностические правила есть в инструменте

Полное видео можно посмотреть здесь 🔗

#видео
4
Ждем всех завтра на нашем стенде ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from feelin (Valerii Filatov)
"Разбаговка" вживую!

В эту субботу, 17 октября, в Екатеринбурге пройдёт конференция HardFest, для которой мы заготовили кое-что необычное.

На стенде PVS-Studio в рамках экспертного хаба впервые проведём подкаст «Разбаговка» в live-формате.

Вместе с Филиппом Хандельянцем, руководителем разработки статических анализаторов в PVS-Studio, обсудим, как изменилось качество кода с приходом ИИ-помощников, а именно:

• Точно ли с ИИ быстрее?
• Как контролировать агентов?
• Существует ли теперь качественный код?
• Кто несёт ответственность за код, написанный агентом?
• Технический долг теперь никогда не будет погашен?

Если окажетесь на конференции, приходите на наш стенд в 13:00 по местному времени (GMT+5). А дополнительные детали можно найти на сайте конференции.

Увидимся!

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Вышел новый релиз PVS-Studio — 8.01.

В нем:

🐞расширение поддержки OWASP
🐞поддержка новых версий Java и Go
🐞расширения конфигурации и многое другое

Полный список изменений можно посмотреть в нашем блоге 🔗

#PVS_Studio #релиз
22
Начинаем неделю с поиска ошибок в Java коде 😉

Это код из проекта IntelliJ IDEA. Попробуйте понять, что тут не так.

Остальные ошибки, найденные в IntelliJ IDEA, можно посмотреть в нашем блоге 🔗

#java #ошибка
Напоминаем про наш вебинар “Понять себя как тимлида”, который пройдет уже в среду ❤️

На вебинаре разберем привычные паттерны руководителей, которые могут тормозить развитие, и популярные стили управления: их плюсы и минусы, ограничения и ситуации, в которых они работают лучше всего.

Ждем всех 21 октября в 14:00!

▫️РЕГИСТРАЦИЯ▫️

#вебинар #тимлид
Please open Telegram to view this post
VIEW IN TELEGRAM
4
C# 15 уже на подходе. Что нас ждет в новой версии языка?

В новом обзоре разобрали главные изменения:

▫️union-типы
▫️закрытые иерархии
▫️именованные break и continue
▫️индексаторы расширений
▫️аргументы выражения коллекции
▫️новые правила безопасности памяти

Полный обзор — в нашем блоге 🔗

#статья #csharp
7
Media is too big
VIEW IN TELEGRAM
Польза статического анализа

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

Полное видео:

📺 YouTube
📺 VK Video
📺 RuTube
🔥 Наш сайт

#видео #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
32
💻 Давно в рубрике “Найди ошибку” не было Go. Исправляемся 🌝

Попробуйте найти ошибку в этом фрагменте кода из проекта Lancet. Больше ошибок из проектов на Go — в нашем блоге 🔗

#ошибка #go
Please open Telegram to view this post
VIEW IN TELEGRAM
6
💻 Вышла новая часть книги "Game ++. Устройство и оптимизация игрового движка"

В этой главе поговорим про:

▫️Три главных компромисса оптимизации: скорость против памяти, точность против скорости, простота против скорости.
▫️Мифы об оптимизации: зачем тестировать на слабом железе, почему лучше работать только с release-сборками и почему стабильные 30 fps лучше скачков от 60 до 20 fps.
▫️"Горячие" функции и "бутылочные горлышки": как искать участки кода, которые съедают больше всего ресурсов, и почему после каждой правки нагрузка появляется в другом месте.

Полный текст — в нашем блоге 🔗

Предыдущие части:

1️⃣ Game++. Часть 1.1: С++, движки и архитектуры
2️⃣ Game++. Часть 1.2: С++, движки и архитектуры
3️⃣ Game++. Часть 1.3: Архитектуры игровых движков
4️⃣ Game++. Часть 1.4: Архитектуры игровых движков
5️⃣ Game++. Часть 2.1: Какие бывают оптимизации?

#статья #cpp #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
8
This media is not supported in your browser
VIEW IN TELEGRAM
Какие ошибки находит статический анализатор PVS-Studio?

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

Полное видео:
📺YouTube
📺RuTube
📺VK Video
🔥Наш сайт

#видео #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🙀 Настало время страшных октябрьских историй. Приглашаем вас погрузиться в кошмар одного разработчика...

Однажды разработчик написал плагин. Локально, в dev-версии, всё работало безупречно. Он проверял его снова и снова, и код послушно выполнял каждую команду. Потом скачал сборку с сервера.

Плагин запустился… и замер. Функции исчезли. Сущности перестали узнавать друг друга. Всё, что ещё вчера работало, обратилось в прах. Разработчик в ужасе вернулся к исходникам — там всё было на месте. Он собрал плагин снова, и тот работал. Он скачал серверную версию, и она снова сломалась.

Тогда разработчик всё понял: вместо того чтобы использовать ООП, кто-то привязал логику к именам сущностей. Однако при сборке обфускатор переименовывал их в бессмысленный набор символов, и код переставал их узнавать.

С тех пор разработчик боялся серверных сборок больше любых ошибок компиляции…

#страшные_истории
52
Делимся записью вебинара “Понять себя как тимлида: привычки, роли и стили управления”.

На вебинаре разобрали привычные паттерны руководителей, которые могут тормозить развитие, и популярные стили управления: их плюсы и минусы, ограничения и ситуации, в которых они работают лучше всего.

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

Полное видео:
📺YouTube
📺VK Video
📺RuTube
🔥Наш сайт

#видео #вебинар #тимлид
Please open Telegram to view this post
VIEW IN TELEGRAM
5
👻 Продолжаем рассказывать страшные октябрьские истории. Ещё один кошмар, в котором обитает коварный червь...

Была глухая полночь. Царство npm спало безмятежным сном, когда во тьме вновь зашевелилось нечто ужасное. Шай-Хулуд, чудовищный червь, вернулся, и на этот раз он принёс с собой новый кошмар — CHAINDROP.

Сопровождающий пакет keyv разработчик пал жертвой незримых сил, а похищенные учётные данные npm стали ключами, открывшими червю путь к новым жертвам. Через проклятый preinstall-хук он проникал в пакеты, разнося отравленный код по всем репозиториям, до которых мог дотянуться. Более четырёхсот пакетов npm оказались заражены. За ними стояли два миллиарда загрузок.

Но червю было мало одного лишь кода: он рыскал по машинам разработчиков в поисках учётных данных от ИИ-инструментов, облачных сервисов, GitHub и других могущественных артефактов. А затем, укрывшись за обфусцированными скриптами, зашифровывал украденные сокровища и отправлял их в ночную тьму…

Так бойтесь даров, приходящих из реестра npm! Не спешите впускать свежие релизы в сборки, отзовите скомпрометированные токены, избавьтесь от раскрытых секретов и включите двухфакторную аутентификацию.

И помните, что в проклятых коридорах цепочки поставок ПО далеко не каждый пакет приходит с добрыми намерениями…

#страшные_истории
2