Как стать автором
Обновить
78
0
Vladislav Stolyarov @Stolyarrr

Разработчик

Отправить сообщение

4 типовые ловушки в работе со строками в С и С++ и как их избежать

Время на прочтение9 мин
Количество просмотров15K

Некорректное использование строк может стать настоящей ахиллесовой пятой защиты программы. Поэтому так важно применять актуальные подходы к их обработке. Под катом разберём несколько паттернов ошибок при работе со строками, поговорим о знаменитой уязвимости Heartbleed и узнаем, как сделать код безопаснее.

Читать далее
Всего голосов 32: ↑30 и ↓2+37
Комментарии17

Как я случайно сэкономил компании полмиллиона долларов

Время на прочтение7 мин
Количество просмотров67K

Разработчик под ником Ludic*, автор технического блога Ludicity, сэкономил своей компании полмиллиона долларов за пять минут. Это больше, чем он заработал для работодателей за всю его карьеру, поскольку сфера деятельности, о которой далее пойдёт речь, — обман. Он всего лишь нажал на пять кнопок.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 95: ↑89 и ↓6+97
Комментарии107

Знакомьтесь с Hurl, ужасной (но милой) идеей для языка

Время на прочтение8 мин
Количество просмотров18K

Иногда в голову приходят идеи, которые звучат ужасно, но требуют воплощения в жизнь. Несколько месяцев назад автор этой заметки, разработчик под ником ntietz*, обсуждала с другом идею языка, в котором единственным потоком команд является обработка ошибок. Эта мысль укоренилась в сознании автора и не давала ей покоя. Она продолжала приставать ко всем с этой идеей, пока в течение одной недели пара человек случайно не подтолкнули её реализации задумки.

К сожалению, ntietz решила воплотить этот язык в жизнь — и теперь заранее просит у читателей прощения. Если вы решите перейти под кат, знайте, что делаете это на свой страх и риск.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 35: ↑31 и ↓4+33
Комментарии27

Почему малые языки — это будущее программирования

Время на прочтение10 мин
Количество просмотров47K

Разработчик веб-приложений и распределённых систем под псевдонимом chreke* убеждён: «малые языки», то есть специализированные языки, созданные для решения конкретных задач, являются будущим программирования. Это убеждение укрепилось в нём после прочтения статьи Габриэллы Гонсалес «Конец истории программирования» и просмотра лекции Алана Кея «Программирование и масштабирование».

Под катом автор объясняет, что подразумевает под «малыми языками», и почему они так важны.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 54: ↑51 и ↓3+56
Комментарии75

Подводные камни C++. Решаем загадки неопределённого поведения, ч. 2

Время на прочтение9 мин
Количество просмотров8.3K

Мы продолжаем цикл статей, посвящённых теме undefined behavior. Ранее мы исследовали предпосылки неопределённого поведения в C++, предоставили формальные определения и рассмотрели несколько примеров. Сегодня углубимся в проблему: сосредоточимся на случаях UB при многопоточности и неправильном использовании move-семантики.

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

Читать далее
Всего голосов 29: ↑28 и ↓1+28
Комментарии9

Подводные камни С++. Решаем загадки неопределённого поведения, ч. 1

Время на прочтение11 мин
Количество просмотров16K

Изучение и понимание неопределённого поведения — важный шаг для разработчика C++, поскольку undefined behavior бывает источником серьёзных ошибок и проблем в программах. UB может проявляться в разных аспектах языка, включая операции с памятью, многопоточность, арифметические вычисления, работу с указателями и так далее.

Под катом мы погрузимся в мир неопределённого поведения в C++ и рассмотрим некоторые примеры ситуаций, в которых оно может возникать.

P.S.: Часть приведённых в статье примеров вдохновлены материалами, которые можно посмотреть в разделе «Полезные ссылки».

Читать далее
Всего голосов 42: ↑40 и ↓2+44
Комментарии44

Приключения капитана Блада: потонет ли Арабелла?

Время на прочтение11 мин
Количество просмотров11K

Недавно в сети появилась новость о том, что был открыт исходный код игры "Приключения капитана Блада". Мы не смогли пройти мимо и проверили его качество с помощью PVS-Studio. Потонет ли легендарный корабль капитана Блада от найденных багов? Давайте узнаем!

Читать далее
Всего голосов 18: ↑15 и ↓3+16
Комментарии7

Топ-10 ошибок в C++ проектах за 2022 год

Время на прочтение11 мин
Количество просмотров3.7K

Дело идёт к Новому году, а значит, самое время традиционно вспомнить десять самых интересных срабатываний, которые нашёл PVS-Studio в 2022 году.


1021_Top_10_CPP_Bugs_2022_ru/image1.png

Читать дальше →
Всего голосов 7: ↑6 и ↓1+8
Комментарии3

Как PVS-Studio защищает от поспешных правок кода, пример N6

Время на прочтение3 мин
Количество просмотров2.3K

Программисты часто допускают ошибки в коде по невнимательности или из-за спешки. Если вам интересно, как можно быстро находить такие ошибки, то мы рады приветствовать вас в очередной статье из цикла "Как PVS-Studio защищает от поспешных правок кода". Сегодня мы обратили внимание на проект FreeCAD.

Читать далее
Всего голосов 9: ↑5 и ↓4+3
Комментарии1

Есть ли жизнь без RTTI: пишем свой dynamic_cast

Время на прочтение14 мин
Количество просмотров9.5K

В современном С++ осталось не так много вещей, которые не подходят под парадигму "Не плати за то, что не используешь". Одна из них – dynamic_cast. В рамках данной статьи мы разберёмся, что с ним не так, а когда поймём – попробуем предложить альтернативу.

Читать далее
Всего голосов 13: ↑10 и ↓3+10
Комментарии34

В мире антропоморфных животных: PVS-Studio проверил Overgrowth

Время на прочтение9 мин
Количество просмотров2.5K

Недавно в сети появилась новость о том, что был открыт исходный код игры Overgrowth. Мы не смогли пройти мимо и проверили его качество с помощью PVS-Studio. Давайте же вместе посмотрим, где больше интересного экшена: в игре или в её исходном коде!

Читать далее
Всего голосов 17: ↑13 и ↓4+14
Комментарии1

MuditaOS: Зазвонит ли ваш будильник? Часть 2

Время на прочтение18 мин
Количество просмотров1.9K

Это вторая часть цикла статей про проверку операционной системы MuditaOS. В ней мы поговорим об узких местах в проекте, которые стоит отрефакторить. В этом нам поможет статический анализатор PVS-Studio и его оптимизационные предупреждения.

Читать далее
Всего голосов 6: ↑3 и ↓3+3
Комментарии4

MuditaOS: зазвонит ли ваш будильник? Часть 1

Время на прочтение11 мин
Количество просмотров5.7K

Операционные системы – это тот вид софта, для которого качество исходного кода особенно критично. В этот раз под объективы анализатора PVS-Studio попала MuditaOS. Так давайте же посмотрим, что нам удалось найти в данной операционной системе с открытым исходным кодом.

Читать далее
Всего голосов 19: ↑16 и ↓3+22
Комментарии21

MuditaOS: Will your alarm clock go off? Part I

Время на прочтение11 мин
Количество просмотров869

Operating systems are a kind of software where code quality is critical. This time the PVS-Studio analyzer checked MuditaOS. So let's take a look at what the static analyzer found in this open-source OS.

Read more
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Топ-10 ошибок в C++ проектах за 2021 год

Время на прочтение9 мин
Количество просмотров12K

На улице мороз, ёлка наряжена, мандарины разложены. Дело идёт к Новому году, а значит — время рассмотреть самые интересные срабатывания, найденные C++ анализатором PVS-Studio в 2021 году.

Читать далее
Всего голосов 14: ↑10 и ↓4+11
Комментарии11

Top 10 bugs found in C++ projects in 2021

Время на прочтение9 мин
Количество просмотров1.2K

It's freezing outside, everyone has already decorated the Christmas tree and bought tangerines. New Year is coming! So, it's time to meet the Top 10 interesting bugs found by the PVS-Studio C++ analyzer in 2021.

Read more
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Статья для тех, кто как и я не понимает, зачем нужен std::common_type

Время на прочтение9 мин
Количество просмотров11K

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


common_type_ru/image1.png

Читать дальше →
Всего голосов 14: ↑12 и ↓2+17
Комментарии11

PVS-Studio ищет баги в проекте DuckStation

Время на прочтение8 мин
Количество просмотров1.8K

Мы часто проверяем ретро-игры. Многие наши разработчики находят интересные для себя проекты и ностальгируют при их изучении. Однако, ретро-игры нужно на чём-то запускать. В этот раз мы проверили проект, помогающий запускать старые игры на современном железе.


0881_duckstation_ru/image1.png

Читать дальше →
Всего голосов 7: ↑3 и ↓4+1
Комментарии2

PVS-Studio searches for bugs in the DuckStation project

Время на прочтение8 мин
Количество просмотров477

We often check retro games. In our company, many developers like to find interesting projects for themselves. They feel nostalgic when they're studying these projects. But we need to run retro games on something, right? This time we checked a project that helps to run old games on modern hardware.


0881_duckstation/image1.png

Read more →
Всего голосов 2: ↑1 и ↓10
Комментарии0
1

Информация

В рейтинге
Не участвует
Откуда
Тула, Тульская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность