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

Оператор @ в PHP

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

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

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

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

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

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

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

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

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

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

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

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

Блог компании Intel

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

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

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

Суть работы


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

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

Блог компании 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
Просмотры 44K
Комментарии 49

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

golang error output

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

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

Go *
Перевод


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

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

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

PVS-Studio Visits Apache Hive

Блог компании 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
Просмотры 1.1K
Комментарии 0

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

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

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

Top 10 Bugs Found in Java Projects in 2019

Блог компании 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
Просмотры 1.1K
Комментарии 0

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

Блог компании PVS-Studio Java *


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

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

Блог компании 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
Просмотры 483
Комментарии 0
1