Бестиарий программирования – Telegram
Бестиарий программирования
903 subscribers
280 photos
4 videos
4 files
344 links
Наблюдения за жизнью ошибок в коде.
Андрей Карпов.

ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода
Download Telegram
Forwarded from Konstantin Danilov
Хей-хей!

Рады сообщить, что второму митапу чата быть!
Собираемся 6 мая в 16:30 в коворкинге ZIYOOKLINE.

Послушаем доклады, пообщаемся и познакомимся.

Андрей Карпов из PVS-Studio расскажет про ошибки, которые сложно заметить на code review, но которые находятся статическими анализаторами.

Тимофей Бунин из SOKOLOV расскажет про высокопроизводительный PHP на примерах

Андрей Савлев из GGEM расскажет про внедрение электронных валют центробанков CBDC

Артур Юсупов и Максим Иванов из Click расскажут про трансформацию цифровых продуктов в условиях изменений рынка.

Партнеры мероприятия:
Cloupard — Автоматизированная облачная платформа на территории Республики Узбекистан, предоставляющая сервисы инфраструктурного (IaaS) и платформенного (PaaS) уровней для развертывания проектов цифровизации клиентов и партнеров - профессионалов IT-рынка.

PVS-Studio — Статический анализатор для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++, C#, Java.

Подробности по ссылке: http://relocationuzit.tilda.ws/
Регистрация через бота: @RelocationItMeetupBot
3👍21
Forwarded from Konstantin Danilov
Привет!

Снова напоминаю, что 6 мая состоится второй митап чата. Обратите внимание, что место проведения и время начала изменено.
Ждём вас в коворкинге
IMPACT.T 6 мая в 17:30.






Послушаем доклады, пообщаемся и познакомимся.

Андрей Карпов из PVS-Studio расскажет про ошибки, которые сложно заметить на code review, но которые находятся статическими анализаторами.

Тимофей Бунин из SOKOLOV расскажет про высокопроизводительный PHP на примерах

Андрей Савлев из GGEM расскажет про внедрение электронных валют центробанков CBDC

Артур Юсупов и Максим Иванов из Click расскажут про трансформацию цифровых продуктов в условиях изменений рынка.

Партнеры мероприятия:
Cloupard — Автоматизированная облачная платформа на территории Республики Узбекистан, предоставляющая сервисы инфраструктурного (IaaS) и платформенного (PaaS) уровней для развертывания проектов цифровизации клиентов и партнеров - профессионалов IT-рынка.

PVS-Studio — Статический анализатор для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++, C#, Java.

IMPACT.T — IT-HUB, где поддерживают стартапы и прикладывают усилие в развитие IT сферы в Узбекистане. Объединяют людей и компании, оказывающие положительное влияние на общество и окружающую среду.

Подробности по ссылке: http://relocationuzit.tilda.ws/
Регистрация через бота: @RelocationItMeetupBot
Forwarded from Expert Pro
Дорогие друзья и партнёры,
Приглашаем вас посетить международную конференцию «Кибербезопасность для бизнеса: как защитить активы и репутацию»

🕑 19 мая 2023 года в 10.00
📍Ташкент, отель «Courtyard by Marriot»


На конференции лидеры сферы кибербезопасности представят последние технологические решения и инновации в области защиты корпоративных активов и IT-инфраструктуры.  

Три ключевые причины посетить конференцию: 
📌Узнайте о новейших сервисах и технологиях для проактивного выявления и устранения киберугроз, которые помогут обеспечить максимальную защиту активов и репутации вашего бизнеса; 
📌Ознакомьтесь с лучшими практиками и опытом обеспечения безопасности основных элементов IT-инфраструктуры, а также технологиями в области выявления уязвимостей и защиты конфиденциальной информации;
📌Встретьтесь с другими представителями бизнеса, столкнувшимися с киберугрозами, обсудите конкретные проблемы и выработайте совместные решения. 
 
Необходима предварительная регистрация по ссылке.

Будем рады видеть вас!
👍3
Сразись с анализатором PVS-Studio в поиске ошибок! 🆚

Мы выбрали 10 фрагментов кода, в которых наш анализатор нашел ошибки. Все они взяты из известных Open-Source проектов

Скорее переходи на наш новый Java-квиз и проверь, насколько ты внимательный 🔎

Так же у нас есть квизы для C++ и C# программистов

#Квиз_PVS
Forwarded from GDG Tashkent (Sarvinoz Maksudova 🌾)
⚡️Осторожно: розыгрыш билетов!

💡Startup Weekend - это пре-акселетраторская программа, которая помогает участникам запустить свой стартап за 3 дня. В течение 54 часов участники смогут собрать команду, получить необходимые знания и инструменты для разработки своего стартапа.

❗️Именно этот Startup Weekend будет Women Edition  и в нем могут участвовать исключительно девушки.

🥁Для наших подписчиков мы разыгрываем 5 билетов.

Условия просты (только девушкам):

подписаться на нашу страницу (@gdgtashkent )
подписаться на страницу (@swtashkent)
отметить 3 друзей под этим постом
📝написать #startupmustgoon в комментариях

🔍 Конкурс проходит в Инстаграмме

🔥Не упустите эту возможность! Возможно именно вы станете обладателем заветного билета.

🎫 Билеты будут разыграны 18 мая в 21:00.

@gdgtashkent
Forwarded from Agile Uzbekistan news (Наталья Ни | Узбекистан)
Собираемся на тусовку @AgileUzbekistanCom и @Productcommunityuz!

🔥🔥🔥🔥🔥
24 мая в баре Gravity с 19:30 состоится встреча проджектов и продактов в Узбекистане!
Зачем?

Встреча организовывается для нетворкинга: приходи, знакомься и расширяй свою сеть нетворкинга в IT сфере!
Для регистрации требуется заполнить форму по ссылке и оплатить 100.000 сум.
Оплата по карте: 8600530412286489 до 22 мая (Скрин о переводе @ni_nataly)
В стоимость входит на выбор боул или бургер из меню (либо боул, либо бургер).

Вход строго по списку, проверяться будет на входе в Gravity.

До встречи на весенней встрече проджектов и продактов в баре Gravity!
Meetup: Обеспечение качества vs тестирование

20 мая 16:00 в IT Park Tashkent состоится митап на тему "Обеспечение качества vs тестирование". В ходе мероприятии поговорим об обеспечении качества и чем оно отличается от тестирования.

Спикером мероприятия выступит Мария Палагина - эксперт в области обеспечения качества, которая поделится своим опытом и знаниями.

Участие бесплатное, однако необходима предварительная регистрация.
Адрес:
IT Park Tashklent

Регистрируйтесь по ссылке: https://forms.gle/cpeMe38K6s2RwvTFA
Опубликовал мини-книгу "60 антипаттернов для С++ программиста". Приятного чтения.
Всё одновременно в шутку и серьёзно. Как бы глупо ни смотрелся вредный совет, он не выдуман, а подсмотрен в реальном мире программирования.
Ещё скоро выйдет расширенный бумажный вариант. Но это уже другая история.
---
EN: "60 terrible tips for a C++ developer".
🔥71👍1
Всего за 8 минут проект собрал в 13 раз больше заявленной суммы на инвестиционной площадке KickStarter. Обзоры их продукта собирают миллионы просмотров на англоязычном YouTube. Только в их каталоге вы найдете легендарную олдскульную игру по мотивам мультфильма «Ну погоди!».

Представляем вашему вниманию интервью с разработчиками Flipper Zero! https://pvs-studio.ru/ru/blog/posts/1075/
Команда PVS-Studio подготовила для вас необычный конкурс!
Связан он с вашими эпичными или мемными фейлами при написании кода. Это тот случай, когда за ошибку вы получите не нагоняй от тимлида, а крутой подарок!

Все подробности по ссылке https://habr.com/ru/companies/pvs-studio/articles/775388/
🔥1
Тук-тук… А мы с новостями! Да еще с какими!

Рады сообщить, что совсем скоро вас ждет интересный вебинар. Мы расскажем, как с помощью статического анализатора кода PVS-Studio избежать ошибки на проде и постоянные задержки релиза.

Вебинар пройдет 1 февраля в 14:00 📌

Зарегистрироваться можно по ссылке - https://pvs-studio.ru/ru/webinar/

Ждём вас! 😉
🔥3
Channel name was changed to «Бестиарий программирования»
Решил переиспользовать старый канал, посвящённый мероприятиям программистов. Буду размещать здесь свои наблюдения из мира программирования, багов, языка C++ и качества кода. А чтобы быть в курсе предстоящих конференций, приглашаю посетить специализированный раздел нашего сайта Мероприятия для программистов.
👍2
Подал заявку на конференцию SafeCode, посвящённую инструментами и практике безопасной разработки. В ходе демонстрационного доклада программный комитет усомнился, что ошибка использования memset, действительно была найдена нами в LLVM :). Не верится, что разработчики компилятора, могут местами аргументы функции перепутать. Могут. Сейчас нашёл старую публикацию и соответствующий commit с правкой бага. Вставлю в презентацию в качестве proof-а :)
Даже высококвалифицированные разработчики не застрахованы от простых ошибок и опечаток.
🔥5👍2
Не люблю макросы по разным причинам. Одна из них, что они сильно разрывают восприятие программы. Вот хороший пример сейчас встретил в проекте DPDK: по отдельности код смотрится нормально, а вместе фигня получается :)
Блок кода из юнит-тестов – вроде OK.
Макрос MAX_NUM тоже на первый взгляд нормальный.
Однако, при подстановке получаем: 1 << 20 / 2. Приоритет операции деления выше, чем сдвига. Получаем: 1 << 10. Каждый из циклов перебирает не 1048576 варианта, а только 1024. Итого, тест проверяет только одну миллионную часть от того, что должен :)
На ревью такое заметить можно, но сложно. Нужно явно посмотреть, во что макрос раскрывается и ещё в голове подстановку сделать.
Спасибо PVS-Studio за предупреждение V634. Но лучше не макросы, а константные переменные использовать или constexpr в C++.
👍1
Бестиарий программирования
1 << 20 / 2
Вчера немного поспешил с числами.

(1 << (20 / 2)) * (1 << (20 / 2)) = 1024 * 1024 = 1048576
((1 << 20) / 2) * ((1 << 20) / 2) = 524288 * 524288 = 274877906944
274877906944/1048576 = 262144

Так что перебирается не в миллион раз меньше комбинаций, а 250 тысяч :)

Впрочем, суть ошибки это не меняет. Кстати, если её исправить, возможно проявится другая проблема с тестов. Вернее, выяснится, что он работает слишком медленно и его надо переделывать.
🔥1
Выложили подкаст, в котором я недавно участвовал. Приятного всем прослушивания и спасибо организаторам.

P.S. Если кто-то делает подкасты/вебинары программисткой направленности, то знайте, команда PVS-Studio всегда открыта к сотрудничеству.
Годы идут, а ошибки затирания приватных данных по прежнему прекрасно себя чувствуют и процветают. Очередное гнездо я встретил в DPDK. Суть в том, что если после memset буфер памяти не используется, то и заполнять его не обязательно. Компиляторы удаляют вызов memset. Нужно использовать memset_s, RtlSecureZeroMemory или их аналогии. Подробнее: V597, CWE-14.
👍3😱1