Как стать автором
Обновить

Оператор @ в PHP

Время на прочтение 1 мин
Количество просмотров 1.2K
Чулан
Довелось доделывать проект, предыдущие авторы которого налепили @ практически перед всеми функциями. В результате все работало по принципу «сработает функция — хорошо, не сработает — ну и черт с ней, все равно ошибки никто не увидит». Вопрос — а какая реальная польза от оператора @?
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 107

Сообщение об ошибках. Мой вариант.

Время на прочтение 2 мин
Количество просмотров 353
Разработка веб-сайтов *
Недавно захотелось мне сделать, что бы на моем проекте ошибки отображались именно там, где они были совершены. Т.е. если вы не верно ввели e-mail, то и ошибка должна отображаться именно рядом с «инпутом» для ввода e-mail’а. Так в чем проблема? Писать прям под этим «инпутом» и все. Нет! А если не хватает места? Вот именно такая ситуация возникла у меня, в некоторых местах «впендюрить» ошибку просто некуда из-за отсутствия места для нее.

В связи с этим, мы понимаем, что нужно использовать подобие JavaScript’ового «алерта». Знаю, «алерт» — это не кошерно. Поэтому необходим выскакивающий-плавающий «див», причем привязанный в месту престпуления совершения ошибки.

Поискав немного среди плагинов для «jQuery» я не нашел ничего путного. Либо я плохо искал, либо действительно ничего подходящего нет. Поэтому прошу взглянуть на мой вариант:

Читать дальше →
Всего голосов 38: ↑24 и ↓14 +10
Комментарии 69

ТОП 25 самых опасных ошибок программирования

Время на прочтение 3 мин
Количество просмотров 4.6K
Информационная безопасность *
UPD: Ночным молчаливым минусовщикам — пламенный привет! =)

"Ох уж эти ТОПы..." — наверное, подумали вы. Но в данном случае за дело взялись специалисты по информационной безопасности со всего мира — и взялись серьезно. Так что если вы так или иначе участвуете в разработке ПО, нелишне будет узнать, какие принципиальные ошибки чаще всего допускаются при написании кода и проектировании.
Читать дальше →
Всего голосов 24: ↑8 и ↓16 -8
Комментарии 19

Безопасный JSONP? Интересная особенность Bing API

Время на прочтение 3 мин
Количество просмотров 1.7K
JavaScript *
Перевод
Я только что изучил API нового поисковика Bing от Microsoft (который фактически является ребрендингом Live Search, также с переключением на «просмотр с малой полосой пропускания», чтобы иметь возможность использовать документы более гибко), и нашёл интересный финт для защиты кода от выброса исключений.
Читать дальше →
Всего голосов 35: ↑28 и ↓7 +21
Комментарии 17

DRAM Errors или не спешите винить Software

Время на прочтение 5 мин
Количество просмотров 47K
Блог компании Intel

Когда компьютер зависает или выдает пресловутый BSOD, как правило, во всем винят программное обеспечение (а также: кривые драйвера и руки недоучившихся программистов, Microsoft и лично Билла Гейтса и т.д.). Но в последние несколько лет ученые начали более пристально присматриваться к аппаратным сбоям, и обнаружили другой серьезный тип проблем, которые проявляются гораздо чаще, чем многие думают. О них и пойдет речь.
Читать дальше →
Всего голосов 43: ↑38 и ↓5 +33
Комментарии 51

Pinboard — прокачиваем Pinba для мониторинга PHP

Время на прочтение 2 мин
Количество просмотров 30K
PHP *
Intaro PinboardСуществует полезный и нужный инструмент для мониторинга PHP под названием pinba. Он позволяет собирать статистику по выполнению PHP-скриптов вашего проекта. Мы реализовали небольшую систему, которая дополняет Pinba, и назвали ее Pinboard (Pinba board).

Суть работы


Pinba хранит исключительно realtime-данные за последние несколько минут, что очень круто, но не всегда удобно. Pinboard же периодически агрегирует эти данные в собственное хранилище и предоставляет простые средства просмотра и анализа этой информации, а в ближайшем будущем и средства простейшего мониторинга.
Читать дальше →
Всего голосов 68: ↑62 и ↓6 +56
Комментарии 50

Занимательная археология. Или PVS-Studio проверяет Microsoft Word 1.1a

Время на прочтение 7 мин
Количество просмотров 45K
Блог компании PVS-Studio C *
Череп единорога
Недавно компания Microsoft сделала подарок всем программистам, которые хотят покопаться в чем-то интересном. Microsoft открыли исходный код MS-DOS v 1.1, v 2.0 и Word for Windows 1.1a. Операционная система MS-DOS написана на ассемблере, и к ней анализатор не применим. А вот Word написан на языке Си. Исходным кодам Word 1.1a почти 25 лет, однако нам кое-как удалось их проверить. Конечно никакой практической ценности в этой проверке нет. Just for fun.
Читать дальше →
Всего голосов 126: ↑112 и ↓14 +98
Комментарии 49

Давай поиграем в игру

Время на прочтение 2 мин
Количество просмотров 31K
Блог компании PVS-Studio C++ *C *
PVS-Studio. Давай поиграем в игру.
Авторы анализатора PVS-Studio предлагают вам проверить свою внимательность.

Анализаторы кода работают без устали и умеют находить множество ошибок, которые сложно заметить. Мы отобрали некоторые фрагменты кода, в которых мы выявили ошибки с помощью PVS-Studio. Все фрагменты взяты из известных Open-Source проектов.

Предлагаем вам посоревноваться с анализаторами в прозорливости и попробовать самостоятельно найти ошибки. Вам будет предложено 15 случайно выбранных заданий. За верный ответ насчитывается одно очко, если он дан в течение 1 минуты. Фрагменты кода короткие, и 1 минута это честное ограничение.
Читать дальше →
Всего голосов 90: ↑83 и ↓7 +76
Комментарии 115

Ошибки в JavaScript и как их исправить

Время на прочтение 5 мин
Количество просмотров 397K
Разработка веб-сайтов *JavaScript *
Перевод
JavaScript может быть кошмаром при отладке: некоторые ошибки, которые он выдает, могут быть очень трудны для понимания с первого взгляда, и выдаваемые номера строк также не всегда полезны. Разве не было бы полезно иметь список, глядя на который, можно понять смысл ошибок и как исправить их? Вот он!

Ниже представлен список странных ошибок в JavaScript. Разные браузеры могут выдавать разные сообщения об одинаковых ошибках, поэтому приведено несколько примеров там, где возможно.
Читать дальше →
Всего голосов 23: ↑12 и ↓11 +1
Комментарии 15

Openstack. Детективная история или куда пропадает связь? Часть первая

Время на прочтение 2 мин
Количество просмотров 5.7K
Настройка Linux *Системное администрирование *IT-инфраструктура **nix *Облачные вычисления *
Recovery mode
Эта история про OpenStack + KVM. Всё началось, когда работало всё хорошо. «Старая» платформа всех удовлетворяла. Её поднимали без нас, и она слегка устарела. Это была Juno. При этом она работала.

В принципе она была тестовой, пока в один прекрасный день не стала боевой. Мы знать не знали проблем, с которыми столкнулись потом. Начальство, радостно потирая руки, решило обновить парк систем. В том числе и тестовую платформу OpenStack.
Читать дальше →
Всего голосов 20: ↑10 и ↓10 0
Комментарии 10

Как найти 56 потенциальных уязвимостей в коде FreeBSD за один вечер

Время на прочтение 28 мин
Количество просмотров 9.2K
Блог компании PVS-Studio Информационная безопасность *Open source *C *Разработка под Linux *
FreeBSD, CWE

Пришло время вновь проверить проект FreeBSD и продемонстрировать, что даже в таких серьезных и качественных проектах анализатор PVS-Studio легко находит ошибки. В этот раз я решил взглянуть на поиск ошибок с точки зрения обнаружения потенциальных уязвимостей. Анализатор PVS-Studio всегда умел выявлять дефекты, которые потенциально можно использовать для атаки. Но мы никогда не акцентировали на этом внимание и описывали ошибки как опечатки, последствия неудачного Copy-Paste и так далее, и не классифицировали их, например, согласно CWE. Сейчас очень популярно говорить и о безопасности, и об уязвимостях, поэтому попробую немного расширить ваше восприятие нашего анализатора. PVS-Studio — это не только поиск багов, но ещё и инструмент, повышающий безопасность кода.
Читать дальше →
Всего голосов 48: ↑39 и ↓9 +30
Комментарии 10

Chromium: другие ошибки

Время на прочтение 11 мин
Количество просмотров 6.2K
Блог компании PVS-Studio Информационная безопасность *Open source *C++ *Google Chrome
Доставка ошибокМы завершаем цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. После написания 6 статей, у нас всё ещё остаётся много нерассмотренных ошибок. Эти ошибки разнородны и про них сложно составить материал на определённую тему. Поэтому в этой седьмой статье будут просто выбраны и рассмотрены наиболее интересные дефекты.

Как я писал в вводной статье, просматривая отчёт, выданный анализатором PVS-Studio, я заметил около 250 ошибок в проекте Chromium и использованных в нём библиотеках. Отчёт я смотрел достаточно бегло, поэтому, на самом деле, ошибок можно найти намного больше.

После вводной статьи я написал еще 6, где рассматривал различные паттерны ошибок. Писал я эти статьи, писал, и всё равно, у меня остаётся около 70 примеров ошибок. Сделать на основании оставшихся багов статьи на разные темы я затрудняюсь. Возможно, я устал. Впрочем, есть и другая причина — меня ждёт отчёт о проверке XNU и мне не терпится им позаниматься.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 15

Повышаем информативность ошибок в Go – github.com/ztrue/tracerr

Время на прочтение 3 мин
Количество просмотров 5.6K
Отладка *Go *
После многолетнего опыта работы с php и js, я привык иметь в ошибках стектрейс и смотреть на место, где произошла ошибка прямо из эррор-репорта. Пересев на Go пару лет назад, я был несколько удивлен, что в Go другие правила и нужно угадывать стектрейс по какой-нибудь строке типа `invalid character`. А если она произошла на проде и не известно, как ее воспроизвести, то это превращалось в целый аттракцион.

Поскольку я уверен, что не один от этого страдал, то сделал пакет, который умеет так:

golang error output

GitHub
Читать дальше →
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 31

Освобождаемся от обработки ошибок, устраняя ошибки

Время на прочтение 4 мин
Количество просмотров 6.2K
Go *
Перевод


Go2 имеет целью уменьшить накладные расходы на обработку ошибок, но знаете ли вы, что лучше, чем улучшенный синтаксис для обработки ошибок?

Не нужно обрабатывать ошибки вообще. Я не говорю «удалите ваш код обработки ошибок», вместо этого я предлагаю изменить ваш код так, чтобы у вас не было много ошибок для обработки.

Эта статья черпает вдохновение из главы «Define Errors Out of Existence”» книги « A philosophy of Software Design» Джона Оустерхаута. Я постараюсь применить его совет к Go.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 17

PVS-Studio Visits Apache Hive

Время на прочтение 12 мин
Количество просмотров 1.1K
Блог компании PVS-Studio Информационная безопасность *Open source *Java *Big Data *
Рисунок 1

For the past ten years, the open-source movement has been one of the key drivers of the IT industry's development, and its crucial component. The role of open-source projects is becoming more and more prominent not only in terms of quantity but also in terms of quality, which changes the very concept of how they are positioned on the IT market in general. Our courageous PVS-Studio team is not sitting idly and is taking an active part in strengthening the presence of open-source software by finding hidden bugs in the enormous depths of codebases and offering free license options to the authors of such projects. This article is just another piece of that activity! Today we are going to talk about Apache Hive. I've got the report — and there are things worth looking at.
Read more →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 0

PVS-Studio в гостях у Apache Hive

Время на прочтение 12 мин
Количество просмотров 3.2K
Блог компании PVS-Studio Информационная безопасность *Open source *Java *Big Data *
Рисунок 1

Последние десять лет движение open source является одним из ключевых факторов развития IT-отрасли и важной ее составной частью. Роль и место open source не только усиливается в виде роста количественных показателей, но происходит и изменение его качественного позиционирования на IT-рынке в целом. Не сидя сложа руки, бравая команда PVS-Studio активно способствует закреплению позиций open source проектов, находя затаившиеся баги в огромных толщах кодовых баз и предлагая для таких проектов бесплатные лицензии. Эта статья не исключение! Сегодня речь пойдет об Apache Hive! Отчет получен — есть на что посмотреть!
Читать дальше →
Всего голосов 37: ↑32 и ↓5 +27
Комментарии 1

Top 10 Bugs Found in Java Projects in 2019

Время на прочтение 8 мин
Количество просмотров 1.2K
Блог компании PVS-Studio Java *


2019 is drawing to an end, and the PVS-Studio team is looking back at the accomplishments of this year. In the beginning of 2019, we enhanced our analyzer's diagnostic capabilities by adding Java support, which enabled us to check and review Java projects as well. We have found lots of bugs over this year, and here's our Top 10 bugs found in Java projects.
Read more →
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Топ 10 ошибок в проектах Java за 2019 год

Время на прочтение 8 мин
Количество просмотров 7K
Блог компании PVS-Studio Java *


2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено немало ошибок, и мы решили подготовить Top 10 самых интересных из них.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 9

How the PVS-Studio analyzer began to find even more errors in Unity projects

Время на прочтение 7 мин
Количество просмотров 601
Блог компании PVS-Studio C# *Unity *
image1.png

When developing the PVS-Studio static analyzer, we try to develop it in various directions. Thus, our team is working on plugins for the IDE (Visual Studio, Rider), improving integration with CI, and so on. Increasing the efficiency of project analysis under Unity is also one of our priority goals. We believe that static analysis will allow programmers using this game engine to improve the quality of their source code and simplify work on any projects. Therefore, we would like to increase the popularity of PVS-Studio among companies that develop under Unity. One of the first steps in implementing this idea was to write annotations for the methods defined in the engine. This allows a developer to control the correctness of the code related to calls of annotated methods.
Read more →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0
1