Size: a a a

QA — Автоматизация

2020 June 15

СС

Сказочный Сникерс... in QA — Автоматизация
он передаст эту строку в си, знает на какой позиции надо заменить {0} на user_id, расширит строку на str(user_id), сместит оффсеты и вернет новую строчку
источник

СС

Сказочный Сникерс... in QA — Автоматизация
да без новой строки никак но это произойдет 1 раз(!!!)
источник

СС

Сказочный Сникерс... in QA — Автоматизация
а не 300 через replace.replcae.replace.replace
источник

IE

Ivan Efimov in QA — Автоматизация
Сказочный Сникерс
да без новой строки никак но это произойдет 1 раз(!!!)
будет цикл для каждого параметра вызов формирования новой строки...
источник

IE

Ivan Efimov in QA — Автоматизация
магии нет
источник

СС

Сказочный Сникерс... in QA — Автоматизация
с реплейсом не будет цикла?
источник

СС

Сказочный Сникерс... in QA — Автоматизация
предлагаю закрыть тупой спор пока Иван не разберется в сабже и не перестанет давать плохие советы)
источник

СС

Сказочный Сникерс... in QA — Автоматизация
300 реплейсов, боже
источник

IE

Ivan Efimov in QA — Автоматизация
Сказочный Сникерс
с реплейсом не будет цикла?
будет цикл от начала строки до конца и формирование новой строки, но в реплейсе нет ненужных проверок в отличии от stirng.format
источник

EB

Evgenii B in QA — Автоматизация
давайте теперь следующий шаг спора подкрепите минимальными примерами с memory profiler чтобы не быть голословными =)
источник

IE

Ivan Efimov in QA — Автоматизация
источник

EB

Evgenii B in QA — Автоматизация
источник

IE

Ivan Efimov in QA — Автоматизация
Performance. In Python str is immutable, so the left and right string have to be copied into the new string for every pair of concatenation. If you concatenate four strings of length 10, you will be copying (10+10) + ((10+10)+10) + (((10+10)+10)+10) = 90 characters, instead of just 40 characters. And things gets quadratically worse as the number and size of the string increases. Java optimizes this case some of the times by transforming the series of concatenation to use StringBuilder, but CPython doesn't.
источник

EB

Evgenii B in QA — Автоматизация
в таблице на стэкофевлоу видно как с увеличением роста переменных в string literal str_concat проигрывает .format / f"" строкам
источник

EB

Evgenii B in QA — Автоматизация
поэтому не очень понятно что там с "abc".replace можно выиграть по памяти / времени при большом кол-ве вставок переменных в строку
источник

IE

Ivan Efimov in QA — Автоматизация
при дебаге предпочитаю видеть:
create user {DB_USER_NAME}
identified by wow_password
....
tablespace {DB_USER_TABLESPACE}
grant all privilages to {DB_USER_NAME}
в этой строке видно какие параметры еще не заменены в отличии от string.format который будет выдавать ошибки
источник

BO

Boris Osipov in QA — Автоматизация
источник

v

vasily in QA — Автоматизация
Доброго дня! Java + jdbc. Нужно проверить добавление записей в бд. Можно ли connection к базе выполнить один раз и затем его использовать для всех statements и запросов? Или для каждого запроса нужен коннект и его закрытие?
источник

MK

Mem Kekovich in QA — Автоматизация
vasily
Доброго дня! Java + jdbc. Нужно проверить добавление записей в бд. Можно ли connection к базе выполнить один раз и затем его использовать для всех statements и запросов? Или для каждого запроса нужен коннект и его закрытие?
Сделайте пул коннекшенов и переиспользуйте их
Каждый новый запрос берет коннекшн из пула
источник

A

Alex in QA — Автоматизация
коллеги, у меня при практически каждой операции (загрузка страницы, ожидание подгрузки таблицы. ожидание закачки файла и т.д.) крутится спиннер. Если все время вставлять ожидание, то очень сильно захламляется код. Какие есть более красивые варианты решения?
источник