С твоим Регексом все в порядке. Метод Matcher.matches()
возвращает true, только если полная строка соответствует шаблону ( документы ). Вместо этого вы должны использовать Matcher.find()
. Это находит следующую подпоследовательность, которая соответствует шаблону ( документы ).
Pattern pattern = Pattern.compile("(?<=pp_).*(?=')");
String input = "['newPage', 'pp_vii', -1])";
Matcher m = pattern.matcher(input);
boolean stringMatches = m.matches(); // false
boolean isThereMatch = m.find(); // true
System.out.println(isThereMatch + " " + stringMatches);
System.out.println(m.group());
Что печатает:
true false
vii
В общем, мы берем минимальные рекомендации для нашей среды (то есть минимальные рекомендации для .NET на клиенте или для IIS / SQL Server на базе данных) как расплывчатая базовая линия.
В общем, мы знаем размер приложения / ожидаемый размер базы данных для нашего приложения на основе размера клиента.
После этого мы добавляем некоторые «выдуманные» числа, основанные на наблюдениях сделано с Windows PerfMon. Мы наблюдаем за использованием клиентской памяти / процессора системы при работе в нормальных условиях. Для уровня сервера мы также будем учитывать нагрузку на память / процессор при работе в нагруженных условиях.
На основании всего этого мы придумали наши лучшие догадки.
В моей тестовой среде есть несколько машин, от которых зависят минимальные требования к аппаратному и программному обеспечению. Я думаю, что это единственный «безопасный» способ определения таких метрик.
На этих машинах я выполняю все виды тестов, по крайней мере, три раза в неделю. Убедитесь, что у приложения достаточно ресурсов после всех изменений. Поэтому, если вы меняете свои тестовые машины, вы также изменяете минимальные требования.
В некоторых проектах мы определяем минимум с нашим клиентом и покупаем / собираем несколько тестовых машин с этим минимумом для повторного тестирования ...
Мы используем нижние базовые спецификации для пользовательских машин в нашей среде, которые будут работать с программным обеспечением эффективно и в рамках разумных ожиданий клиентов.
Обычно я использую системные требования для операционных систем или другого программного обеспечения, от которого работает / зависит мое программное обеспечение. Я считаю, что это хорошая отправная точка.
Некоторые примеры:
Я обычно использую системные требования для ОС или другого программного обеспечения, от которого работает / зависит мое программное обеспечение. Я считаю, что это хорошая отправная точка.
Некоторые примеры:
Большая часть нашей работы заключается в прямой контрактной работе с клиентами, поэтому многие технические характеристики оборудования исходят непосредственно от клиента. и что они в настоящее время работают в своей среде (то есть должны быть в состоянии работать достаточно хорошо на худшем компьютере, на котором они планируют использовать приложение).
Иногда мы можем также убедить их сделать технологические обновления как часть пакета вместе с разработкой, но это не часто.