Pull to refresh
4
0.5
Илья @edge790

User

Send message
оставить проект проверяться на обед/ночь – не сложно

У Java, Pitest умеет делать инкрементальное мутационное тестирование. Так что, это даже "Оставь на одну ночь, потом запускай хоть каждые 15 минут"

Сразу после прочтения статьи начал искать библиотеки для мутационного тестирования на джава.
Нашёл мейвен плагин Pitest. Несколько тестов "запалились". В халатности, но, к сожалению, есть и ложны срабатывания на Apache ToStringBuilder что он
мутацию в методе toString может заменить на Object.


По поводу "тратить время" — юнит-тесты значительно ускоряют девелопмент, при изменениях дизайна "на лету". Мутационное тестирование просто позволяет удостоверится в том что CodeCoverage действительно такой какой он есть(или меньше)

О, уже пошли поиски контекстов

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


Ничем не отличается от любой другой ошибки

Программисты со стажем видят такие ошибки мгновенно. А опенсорс повышает вероятность, что её найдут, даже если при разработке скажут "давай комить без ревью — её надо было ещё вчера сделать".

Такой холивар развели.
Серьёзная ошибка — в данном контексте — ошибка, допущенная невнимательностью/некомпетенцией, которая может быть причиной уязвимости. Люди с опытом могут "сразу" найти такие ошибки.
Речь не про "все критические ошибки".


Например: создание запросов конкатенацией строк. Да, все знают что это плохо, но они частенько находятся в коде и на некоторых сайтах работают sql-инъекции.
Второй пример(который по-сути можно было видеть и без сорсов) — Content Security Policy на сайте Гос.Услуг.
Опять же — все знают что это одна строчка, которая добавляет защиты, но почему-то её не было.

Можно пойти ГОРАЗДО дальше и сделать всю графику на шейдерах.


Вот тут много сцен которые <64 kb. Ссылка

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

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

Уязвимости, по которым можно "слить все персональные данные", программисты со стажем видят сразу.


А мне интересно "Солят" ли пароли? Многие люди используют один и тот же пароль везде, а у "ГосУслуг" широкая аудитория "слабо технически подкованных граждан"


  • все сразу заметили отсутствие Content Security Policy. Если бы решение было опенсорсное, то пуллреквест на добавление пришёл в первые 2-3 дня. И всей той истории с самим сайтом госуслуг не было бы.

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


Но есть профессионалы, у которых глаз наточен на поиск ошибок. Сам понял это, когда после универа мы с другими студентами делали проект, а потом его "защищали" перед ребятами с опытом. Они за 15 минут найдут ошибок больше, чем студенты за пол года.


Открытие исходных кодов не повредит — если ошибка есть, то её итак найдут, а с исходниками есть шанс, что её заметят быстрее.


ИМХО Опенсорс и открытые данные — это то к чему должны идти все государства.

В WoW сами ботоводы — не самая большая проблема. То с чем они борятся — торговля золотом.
Можно логировать подозрительных персонажей и потом следить при "превышении торговли", т.к. понятно что это твинк, который просто занимается золотодобычей.


По-моему, нельзя. Это приведёт либо к активации окна, либо просто проигнорируется.
Некоторые боты специально "как бы сворачивают игру" (на самом деле говорят игре что она не в фокусе), т.к. тогда DirectX не перерисовывает кадры -> экономия памяти/видюхи, и можно запускать в большем количестве окон.
Правда такие боты работают на "инъекциях" (или пакетах) — т.е. не имитацией клавиш, а имитацией действий, которые эти клавиши вызывают.
Таким образом некоторые боты умеют использовать предметы из инвентаря, даже не открывая его.

  • геймгвард очень агрессивный. если я не ошибаюсь, то он банил игроков с Win7, как только она появилась(но это не точно). + сканировал оперативку процессов на названия известных ботов в итоге были вайпы серверов при рассылке сообщения с названием чита.
    В добавок ко всему геймгвард очень агрессивен к драйверам устройств. Из-за чего игра с геймпада в некоторые игры невозможна.

P.s. была инфа что создатель геймгварда бывалый читер. поэтому это "война читеров". Её не раз обходили, но этот тип сидел на закрытых форумах и первым узнавал об обходах и достаточно быстро их фиксил.

Нажать кнопку легко, а вот написать письмо требует усилий. Это гарантирует что так сделают те, кому это нужно(или интересно).


Разница между инвайтами: инвайт тебе присылает друг/знакомый, которому ты в первую очередь будешь говорить "оно не работает" и "я куда-то нажал и всё исчезло", прежде чем критиковать саму компанию за нерабочий продукт.


Но опять же, это моё предположение. Истинные мотивы мне неизвестны.


UPD: если посмотреть что сказал stalk, то становится всё понятно.
Даже с инвайтами по почте, у плагина уже 150 юзеров, а с доступом по кнопке это был бы взрыв, который накрыл бы сервер. (из-за 1 пункта, что нажать кнопку проще, чем писать письмо)

Я просто отправил.
Моё предположение — что плагин ещё в очень раннем доступе, поэтому делать его доступным "просто по кнопке" — рискованно. JetBrains делает отличные IDE и их стабильностью можно только восхищаться (например Rider — у меня с C# не заладилось из-за VisualStudio — постоянно были ошибки, а Rider даже в раннем EAP работал стабильнее(по моему личному скромному мнению. возможно просто я настолько криворукий, что в не IntelliJ based IDE я не могу работать.). Поэтому ограничить количество пользователей для продукта, находящегося в активной разработке — важно. (но это моё предположение)

Вспомнил ещё аргумент за профили: на днях ложусь в больницу, в итоге друг отдает свой ноутбук(у него тоже IDEA). Тут бы настройка профилей помогла, потому что я мог загрузить свои "домашние" настройки и чуть-чуть их подправить.

Было бы чудесно, если бы была возможность сделать разные профили настроек, и синхронизировать их.
Например:
Profile Home — для дома
Profile Work — для дома
Profile temp — для ноута, если нужно отправиться в командировку.
Настройки различаться будут не сильно(как уже отписали Maven_home, proxy, external tools), а т.к. у вас в основе Git, то это можно сделать branch'ами.


P.s. спасибо за плагин. Только вчера подумал "вот бы синхронизацию настроек" и вот она.
Примерно такая же ситуация была с "Toolbox App".
Супер! Так держать!

Кому нужно, те запросят.
Мне это просто необходимо, потому что я постоянно использую
IDEA + WebStorm + DataGrip (мне удобнее, когда бэковский код, база и вью в разных окнах и проектах). + Иногда работаю из дома + иногда играюсь с другими языками(иногда на работе, написать какую-нибудь утилити-прогу проще на каком-нибудь питоне). В итоге и дома и на работе мне постоянно приходится настраивать IDE на одни и те же настройки(иногда чуть-чуть разные). Поэтому я сразу, прочитав статью, написал письмо. Ответ пришёл быстро: 2-4 часа. Рабочий день не закончился, так что я не могу проверить синхронизировалось ли дома, но часть дела уже сделано.

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

Сразу вспомнил была статья про то, как сделали бота для аукциона и почты в WoW используя AutoIT и внутриигровой аддон: https://habrahabr.ru/post/113258/

Не всегда. статик Util класс не так просто "замокать" как синглтон.
Удар по перфомансу от синглтона-бина небольшой, бОльшая часть этого удара случается при поднятии контекста(старте аппликейшена, если это НЕ ленивая инициализация).


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


Поэтому Spring'овые синглтоны порой следует использовать даже для stateless классов.

Только что перепроверил: SonarQube версия 6.5


Разделы "Dashboard" -> "Duplications" или "Measures" -> "Duplications".


Показывает процентное соотношение дублируемого кода к общему объёму кода и количество дублируемых блоков.


  • Все дублирования отображаются в разделе Issues

Важное замечание: Не работает в самой IDE (по непонятным мне причинам) и не обнаруживает блоки кода(даже методы) с переменными, которые имеют разное название(в т.ч. и локальными для метода).

Посмотрите на SonarQube и плагин для IDEA, Eclipse, Visual Studio, Visual Studio Code и Atom'а — SonarLint.
SonarLint(или только SonarQube. к сожалению сказать точно не могу) предоставляет инспекции в которых клонов видно больше чем в стандартных IDEA инспекциях.


  • много дополнительных уязвимостей и кодсмеллов.


  • SonarLint интегрируется с SonarQube'ом так что свои инспекции можно самому настраивать и видеть их в IDE.

Ну и просто, если вы вдруг не знали, SonarCloud — бесплатен для OpenSource проектов и может легко использоваться в связке с GitHub + TravisCI + SonarCloud


P.s. Хотел написать просто: "добавьте к списку плагинов для поиска клонов SonarLint", но получилось что-то напоминающее рекламу…

Information

Rating
1,921-st
Location
Воронеж, Воронежская обл., Россия
Registered
Activity