Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Рисковый и азартный три в ряд - играйте онлайн!

Камни в ряд онлайн!

Казуальные, Три в ряд, Мультиплеер

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
6
pivogon2
Лига слаботочников

Неисправность линий прибора Sonar SPM-B10050-AW⁠⁠

10 месяцев назад

Добрый вечер. Столкнулся с проблемой. Установлен Sonar SPM-B10050-AW и сонаровские динамики. 5 линий, не более 10 динамиков на линию. Через разные промежутки времени прибор уходит в неисправность. Практически на всех линиях показывает то КЗ, то обрыв. Все линии перелопатили, все исправны. Требования сонара по поводу решения данной проблемы выполнены, кроме одной - есть участки трассы, где кабель оповещения проходит вплотную к силовым кабелям. Отделены друг от друга гофрой. Перекинуть возможности нет, весь потолок заняли электрики и там тупо нет места. Раньше это сложностей не вызывало. Кто-то может подсказать, как можно решить данную проблему?

Sonar Неисправности Текст
44
13
mimokrokodilchik
mimokrokodilchik

Чистим Java код используя SonarQube и PMD⁠⁠

1 год назад

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

Какие технологии помогают анализировать код на ошибки и уязвимости?

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

  • SonarQube

  • FindBugs

  • PMD

  • SpotBugs

  • Checkstyle

  • Snyk

  • JArchitect

  • Graudit

В данной статье мы рассмотрим SonarQube и PMD.

SonarQube настройка, установка, запуск.

SonarQube - довольно популярное решение, хотя, по моему мнению, изначальные правила проверок лучше немного перенастроить. SonarQube предоставляет бесплатную версию, которая может быть запущена из-под Docker в одну команду. Все, что вам потребуется, это сервер с 2 ГБ оперативной памяти (но чем больше, тем лучше). Как настраивать и арендовать сервер я писал вот тут.

Запускаем Sonar используя Docker.

Запускаем докер одной командой:

docker run -d --name sonarqube -p 9002:9000 -p 9092:9092 sonarqube

Первый логин проходит под admin/admin

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

Процесс создания проекта и генерации токена.

Существуют разные способы интеграции с SonarQube. Самый простой — интегрировать зависимость в Maven/Gradle вашего проекта и затем выполнить одну команду в командной консоли. Ниже я постараюсь упростить процесс генерации токена и проекта до шести команд:

1/6

6 шагов для генерации имени проекта, ключа и токена. Все они нужны для отправки вашего кода сонару

После выполнения всех 6 шагов у нас есть:

  • Имя проекта pikabu

  • Имя ключа pikabu

  • имя токена

Чтобы Sonar проводил более подробную аналитику, рекомендуется установить плагины. Для этого перейдите в раздел Administration => Marketplace и выберите плагины по вашему желанию:

Плагины имеют много общих правил и настроить профиль без пересечений это головная боль.

Плагины имеют много общих правил и настроить профиль без пересечений это головная боль.

Настраиваем Maven и добавляем Sonar плагин.

Для настройки мавен проекта достаточно добавить плагин в pom.xml:

<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.9.1.2184</version>
</plugin>

Теперь мы готовы к анализу нашего кода.

Напишем код с наиболее популярными ошибками в Java.

Я приведу далеко не все классические ошибки, но для оценки базовой функциональности этого будет достаточно:

1/4

Несколько популярных ошибок среди триллиона возможных.

Все настроено. Погнали.

Если в файле pom.xml добавлен Sonar плагин, и имя проекта, ключ и токен готовы, после сборки проекта можно запустить команду для передачи результатов в SonarQube:

mvn sonar:sonar -Dsonar.projectKey=pikabu -Dsonar.projectName=pikabu -Dsonar.host.url=http://IP_СЕРВЕРА:9002 -Dsonar.login=sqp_4d542b25...

Анализируем результаты

После запуска заходим в проект (в моем случае pikabu) и нажимаем Overall Code

Я подключил слишком много правил поэтому среди найденных проблем есть дубликаты.

Я подключил слишком много правил поэтому среди найденных проблем есть дубликаты.

Результаты

  • Обнаружено 6 багов.

  • Покрытие составляет 0% (для более точного анализа покрытия, рекомендуется интегрировать Jococo плагин).

  • Выявлено 49 вонючих строк кода.

Поскольку я включил более 1000 правил (по умолчанию их всего 400), некоторые проблемы среди 49 являются просто дубликатами. Давайте рассмотрим самые важные, а именно баги:

Часть проблем была найдена, но не все.

Часть проблем была найдена, но не все.

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

Также можно выбрать файл и посмотреть всю аналитку:

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

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

Какие выводы можно сделать?

С учетом того что сонар ставится без оплаты и лишь имеет ряд ограничений - утилита хороша. Среди вещей которые я бы отметил:

  • Сонар однозначно отлавливает много багов но не все.

  • Во много качество сонара определяется настроеными правилами (Quality profiles) которые затем и используются во время анализа. Подружить их все - довольно непросто.

  • Слишком большое количество правил руинит весь смысл анализа.

Двигаемся дальше. PMD анализатор кода.

бесплатный, опенсорный.

бесплатный, опенсорный.

Sonar не является чем-то уникальным. Давайте рассмотрим другое бесплатное решение - PMD. Кстати, правила PMD могут быть скачены и запущены в Sonar, но с первой попытки у меня это не получилось из-за проблемы с соответствием версий PMD/SONAR/JAVA.

Ставим PMD

Чтобы поставить PMD достаточно скачать с их сайта pmd-dist-7.0.0-rc4-bin.zip и распаковать. Затем добавить в PATH bin папку и запусить команду:

>pmd check -d C:\cleancode -R rulesets/java/quickstart.xml -f html -r report.html

В команде C:\cleancode является папкой проекта где лежит ваш Java код. Результатом работы будет созданный report.html. Вот результаты его работы:

Коротко и по делу.

Коротко и по делу.

И так результаты PMD мне зашли. Он нашел почти все проблемы, часть которых Sonar пропустил (точнее тысяча правил которые я подключил из стандартных наборов).

Всем кому интересна разработка на Java и смежный мир технологий добро пожаловать в мой телеграм канал. Всем спасибоо за внимание.

Показать полностью 16
[моё] Программист Telegram Telegram (ссылка) Sonar Docker Java Длиннопост
0
23
Runitor
Runitor
My Little Pony

Sweet Skies + Sonar⁠⁠

8 лет назад
Sweet Skies + Sonar
http://kawaiipony2.deviantart.com/art/Sweet-Skies-Sonar-6726...
Показать полностью 1
My Little Pony Original Character Ponyart Sweet Skies Sonar
6
SerbRu
SerbRu

Sonar не radar совсем.⁠⁠

9 лет назад

На втором курсе переводил текст по радиотехнике с немецкого на наш. Sonar- сука!!!!! Тебя не было ни в одном словаре.

Radar- молодец!


Сона́р (англ. sonar, аббревиатура от SOund Navigation And Ranging) — средство звукового обнаружения подводных объектов с помощью акустического излучения. В Великобритании до 1948 г. использовалось название «асдик» (англ. ASDIC, аббревиатура от Allied Submarine Detection Investigation Committee).

[моё] Перевод Словарь Тег Sonar Тег для красоты Ртф Текст
6
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии