Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как изменить сниппет Emmet в VS Code?

Лучший ответ:
Думаю поможет :)

UPD:
1. Для начала перейдите в папку по этому пути: C:\Users\ИМЯ_ВАШЕГО_ПК\AppData\Roaming\Code\User\snippets
Здесь будут хранится все файлы сниппетов.
2. Заходим и создаем файл snippets.json (можно любое другое название).
3. Далее в vs code переходим по этим вкладкам: File => Preferences => Settings и в строке поиска вбиваем Emmet: Extensions Path
4. Нужно нажать Add Item и прописать путь к папке в которой лежат (или лежит если файл один) файлы со снипеттами. Обязательно в конце должно быть название папки, без названия самого файла!
5. Добавляешь например следующий код в созданный ранее файл:
{
  "html": {
    "snippets": {
      "img:l": "img[width height loading='lazy']"
    }
  }
}

Худший ответ:
Решение нашел, если вдруг кому нужно, то в файле settings.json прописать
"emmet.preferences": {
    "output.reverseAttributes": true
  }
Вопрос: Не проходит авторизация?

Лучший ответ:
Прочитайте внимательно про биндинг, а точнее про именованные и неименованные псевдопеременные, а то у вас каша получилась.

Худший ответ:
Если у тебя название таблицы login, то нужен такой запрос
SELECT * FROM `login` WHERE `login`.`login`=:login
$query = $dbh->prepare("SELECT * FROM `ИМЯ ТАБЛИЦЫ` WHERE `login`=:login");
$query->execute(['login'=>$login]);
$result = $query->fetch(PDO::FETCH_ASSOC);
Вопрос: Можно ли открыть готовый билд игры в Unity?

Лучший ответ:
Можно, частично.
uTinyRipper например позволяет достать
шейдеры, сцены, префабы, 3d-объекты, арты и многое другое.

Но только не скрипты.

Худший ответ:
Нет
Вопрос: Как вставить кавычку корректно?

Лучший ответ:
<?= $name ?> вообще никогда нельзя писать
а всегда только <?= htmlspecialchars($name, ENT_QUOTES) ?>

Худший ответ:
Заменить кавычку на &#39;
Вопрос: Как сделать комит в GITLABE без запуска runner?

Лучший ответ:
Самое простое - в commit message поместить "волшебный" текст [skip ci]  либо передать опцию ci.skip гиту 
Либо менять слегка схему сборки и там уже либо реагировать на условия, а в остальных случаях например не собирать (gitlab yml  when/rules)

Худший ответ:
Если у вас включен Auto DevOps в Settings -> CI/CD - то нужно выключить.
И смотреть что написано в .gitlab-ci.yml
Вопрос: Mysqld.exe загружает процессор на 100%. Что можно сделать?

Лучший ответ:
посмотрите лог файлы в папке mysql там должно быть более менее понятно в чем проблема

Худший ответ:
Проанализировать нагрузку на сервер БД - выполняемые запросы, конфигурацию сервера.
Изучить логи....
Оптимизировать запросы, настройки сервера....
Вопрос: Хочу писать приложения под Win10, что учить?

Лучший ответ:
Мне кажется вы распыляетесь на несколько языков) если уж начали учить питон то продолжайте учить его. Потом легче будет понимать другой язык.

А что касается вопроса приложения под w10 то это смотря что будет выполнять приложение. На том же питоне можно написать с помощьюPyQt5 (если не ошибаюсь)

Худший ответ:
Я думаю что Java, не самый лучший способ для каких то программ, Java хорош тем, что он может подойти под любую платформу, но без установленной JRE, ты ничего не сможешь запустить (если не скомпилишь в машинный код, но это муторно и не надёжно в плане работоспособности) и Java не рассчитанная на сильную нагрузку,  на пример фарм биткоина не по силе :D. C# уже куда лучше, его уже стоит использовать, но есть свои нюансы.
Вопрос: Как развернуть Microsoft Exchange сервер локально?

Лучший ответ:
Что требуется для подобного?Нужные знания в области и свободные ресурсы: железные/виртуальные.

Нужна ли windows server?Да.

Напишите кратко примерный порядок действий?Поднимаете Windows. Потом поднимаете Exchange. Дальше нанимаете компетентного сотрудника. 
Или используете официальное пошаговое руководство. Вот тут описан весь порядок действий.

Требуется сей данное чудо для небольшой компании по заказуНет, потому что по стоимости он будет, как весь уставной капитал этой небольшой компании.

Используйте Mail или Yandex для бизнеса. Стоит мало, а по большей части хватит и бесплатного. С работой справится любой, даже тот, кому лень открывать официальную справку.

Худший ответ:
Поиск по имени в интернете Илья Рудь даст вам ответы на все вопросы
Вопрос: Почему JSON pre печатает в одну строку?

Лучший ответ:
Красиво отформатировать JSON можно вот так:
json_encode(json_decode($response), JSON_PRETTY_PRINT);

Худший ответ:
У Вас в переменной строка, вам функция print_r и показала строку. Выполните конвертацию JSON в массив через json_decode, а потом делайте вывод массива в ответ
Вопрос: Не работает бот телеграмм?

Лучший ответ:
Зачем писать для каждого сообщения отдельный хэндлер? -_-
Почему не так...
@bot.message_handler(content_types=["text"])
def skye(message):
    if message.text.lower() == 'бот':
    	bot.send_message(message.chat.id, 'Что-то хотели?')
    elif message.text.lower() == 'привет':
    	bot.send_message(message.chat.id, 'привет')
    elif message.text.lower() == 'пока':      <-- тут "пока" с маленькой буквы
    	bot.send_message(message.chat.id, 'Пока')
 И в последнем хэндлере у тебя лишние отступы стоят.

Худший ответ:
Потому что хендлеры одинаковые, и работает только первый. Если это просто текст-ответ, то можно поместить все в одну функцию. Если нужно разделить большие участки кода, то имеет смысл проверять контент в хендлере:

@bot.message_handler(func=lambda m: m.text and m.text.lower() == 'привет')
Вопрос: Как осуществить на python в телеграм боте?

Лучший ответ:
Изучать питон, изучать работу ботов, изучать Telegram Bot API для питона.

После этого вопросов не будет

Худший ответ:
Можешь попробовать парсить откуда-то информацию о текущей дате, может быть из википедии.
Вопрос: Почему подтормаживает курсор мыши при загрузки файлов с интернета?

Лучший ответ:
потому что мышка беспроводная и видимо работает на частотах рядом с полосой вифи. проблему решить - купить мышку, которая будет работать на отличной от вифи частоте, тоесть НЕ 2.4 Ггц
или подключить ПК кабелем

Худший ответ:
Я смог решить эту проблему переключив каналы на роутере, у меня был установлен 1 канал я переключил на 6
Вопрос: Стоит ли смотреть алгоритм архивации, чтобы написать архиватор?

Лучший ответ:
Я хочу написать архиватор, и начал изучать алгоритм сжатия lzw, я не знаю, как его написать
Наверно потому что ты еще не закончил его изучать, твой кэп.
стоит ли смотреть алгоритм архиватора для понимания его работы или стоит самому пытаться его реализовать
Что за... Да как хочешь.

Худший ответ:
Я хочу написать архиватор, и начал изучать алгоритм сжатия lzw, я не знаю, как его написать
Наверно потому что ты еще не закончил его изучать, твой кэп.
стоит ли смотреть алгоритм архиватора для понимания его работы или стоит самому пытаться его реализовать
Что за... Да как хочешь.
Вопрос: .net это библиотека C#?

Лучший ответ:
Ну вообще с неймингом у майков есть проблемы, да.
.NET - Это общее название для всей экосистемы, которая включает в себя все реализации виртуальных машин, все языки, и все компиляторы.
.NET Framework, .NET Core, .NET 5,6, Mono - это реализации виртуальной машини и стандартной библиотеки. Виртуальная машина исполняет код на промежуточном языке.
.NET standard - спецификация на стандартную библиотеку
CIL, MSIL - Название промежуточного языка .NET (да, одно и то же называется одним именем)
ADO.NET, ASP.NET и прочее - это либо части стандартной библиотеки, либо части фреймворка. (например aspnetcore не входит в .netstandard, зато идёт вместе с .NET 5).
Roslyn и csc - компилятор C#

Худший ответ:
.net это framework, который включает в себя библиотеки, утилиты, компиляторы, виртуальную машину clr и целую философию microsoft, которая объединяется средой разработки visual studio

у .net есть opensource часть, которая поддерживается даже майкрософт (но скорее всего только ради послаблений антимонопольного комитета) например gnome в linux активно использует mono project, инструментарий, позволяющий запускать clr приложения (а при наличии библиотек от майкрософт даже собранные для windows) кроссплатформенно.
Вопрос: Есть ли смысл индексировать boolean-поле?

Лучший ответ:
Отвечая на вопрос "имеет ли смысл индексировать поле X" нужно всегда оперировать:
0. Особенностями конкретной СУБД.
1. Структурой таблиц.
2. Структурой запроса.
3. Содержимым таблицы.
4. Результатами EXPLAIN по запросу до индексации.
5. Результатами EXPLAIN после тестовой индексации.

Вы в вопросе не привели ничего из вышеперечисленного, поэтому можно дать только теоретические выкладки:
1. Кардинальность у этого индекса будет низкой. Это не очень хорошо, но и не смертельно.
2. Для запросов select id from mytable where field = 1; этот индекс может давать приличный профит при условии, что в таблице много других колонок - СУБД не придётся считывать лишние данные с диска, будет использоваться только индекс. Если же запрос сложнее или таблица проще, то профит уменьшается. Конкретные значения может дать только EXPLAIN.

Учитесь работать с EXPLAIN, никакие ответы в интернете не помогут лучше него. Ещё полезно прочитать книгу High Performance MySQL.

Худший ответ:
В случае PostgreSQL: bitmap index обеспечивают значительное и преимущество в производительности для данных с низким количеством вариантов при приемущественном чтении.

https://wiki.postgresql.org/wiki/Bitmap_Indexes#Im...
Вопрос: Возможно ли несколько уровней RAID?

Лучший ответ:
raid 10 - из четырех дисков
по 2 диска объединит в raid0 потом эти массивы в raid1

на 5й просто поставьте делаться рез копии раз в день

Худший ответ:
Если вы хотите что-то похерить, например все, есть и другие способы.
Вопрос: Почему сайт произвольно меняет ssl-сертификаты?

Лучший ответ:
Сертификатов у сайта может быть больше одного. И все могут быть валидны. Они могут быть, например, развёрнуты на разных точках входа, там их 6 штук, только в разрезе ip адресов.... В общем, всё тут ок.

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

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

Худший ответ:
Почему они каждый раз отличаются?Разные сервера, разные сертификаты. С чего бы им быть одинаковыми?
Почему у них разные даты действия?Выданы в разное время.

разве смысл сертификата не в том, чтобы быть одинаковым у всех? Смысл сертификата в том, чтобы подтверждать, что данный адрес принадлежит владельцу указанному в сертификате.

Понимаю, вероятно есть какой-то способ привязать несколько сертификатов,Ну разумеется, ну не думаете же вы что компания Google может иметь один сертификат, и не более. 
На каждый сервер по сертификату это вполне нормально.

как мне тогда гарантированно убедится, что сертификат валиден?Так если он не валиден, он работать не будет.
Вопрос: Кто встречал ложную ошибку 404 в Google Search Console?

Лучший ответ:
Googlebot в основном индексирует с ip US
Если вы закрыли всё кроме RU то естественно Googlebot не может открыть сайт.
Можно дополнительно внести ip googlebot'а в белый список, взяв их отсюда (нужна рега для скачивания) https://www.ip2location.com/free/robot-whitelist

Худший ответ:
Ну конечно может, вы же забанили айпи робота
Все поисковики надо разрешить по юзерагенту
Вопрос: WPF, WCF, WF, WinForms на Linux не появятся?

Лучший ответ:
WinForms и WPF на linux никогда не появятся, так как там в первые слишком на GDI завязаны, а вторые на Direct2D. WCF появился порт под .netstandart, но немного сыроватый ещё. Если вам нужно GUI кросплатформенное, то есть Avalonia, можно использовать его. Я так думаю, что MS ещё и MAUI допилит для linux.
 WF и WPF не мертвы, и развиваются и умирать вообще даже не собираются.
Использовать или нет, зависит от цели вашей. Если у вас в компании нет рабочих станций с linux, то смысл писать кросплатформенное приложение.

Худший ответ:
Microsoft прагматичная компания. 
Линукс особенно десктопный дай бог 5% от рынка, да еще и не платежеспособные пользователи, но покритиковать любят. 
Так смысл тратить деньги?
Проще сделать все на электроне или вообще в облаке, там уж точно не отвертятся от подписки
Вопрос: Как связать javascript, работающий в браузере, с программой, работающей в windows?

Лучший ответ:
Поднять http/websocket сервер в программе и общайтесь наздоровье со скриптом.

Худший ответ:
Не знаю на сколько это подходит под ваши задачи - но CEFSHARP, т.е. пишем  типа своего браузера- заходим на сайт , выполняем JS - получаем данные в любом виде.
Вопрос: Почему принтер печатает не понятный текст каждое утро?

Лучший ответ:
там где SMB. В порт 9100 залетел пакет разрешения(опроса) сетевой инфраструктуры. 
Там где GET - обычные заголовки http запроса. 
В общем что то в вашей сети видит новое устройство. Сканирует открытые порты. Стучится в них пытаясь определить что за служба слушает порт.

Худший ответ:
При включении ПК? Смотрите что в автозагрузке
Вопрос: Как сегодня создают красивые Win-интерфейсы?

Лучший ответ:
Красивый интерфейс в Delphi делается на кроссплатформенном фреймворке FMX. Погугли, всё поймёшь. 
Возможности не уступают CSS с рендерингом на GPU.

Примеры можешь посмотреть у меня в небольшом блоге https://vk.com/delphilive

P.S. Хотя, на VCL тоже можно сделать красиво, но придётся больше сил приложить

Худший ответ:
"Красивый интерфейс", "хороший интерфейс" - понятия субъективные. Либо Вы придерживаетесь стиля предлагаемого операционной системой, тогда посмотрите например семинар по использованию Fluent UI в Delphi на канале Embarcadero в youtube (хотя с выходом windows 11 материал возможно несколько устарел), либо Вы предпочитаете полностью свои "кастомные" интерфейсы, тогда гуглите "создание компонент в delphi" (сгодятся и относительно старые материалы, принципы не поменялись).
Вопрос: Как изменить exe file?

Лучший ответ:
Exe тут не при чем. Это просто исполняемый файл. Что там делается - это дело разработчиков. И ты ни как на это с такими знаниями не повлияешь

Худший ответ:
Если приложение не предусматривает использование отдельного конфиг файла с настройками видеорежима, то в общем случае - никак. Подобные характеристики заложены в файлах проекта у разработчиков приложения. Естественно, эти исходные файлы вам никто не предоставит.
Есть вариант сделать реверс инжиниринг exe файла и попытаться найти нужные байты, отвечающие за видеорежим.
Но если вы задаете такой вопрос, значит вы не знакомы с реверс инжинирингом. Чтобы им пользоваться, мало простого знакомства с процессом декомпиляции, нужно на этом собаку съесть.
Вопрос: Где хранить логотип веб-сайта?

Лучший ответ:
Веб-сайт - это набор файлов. В том числе и статический контент.
Вот положите туда.

UPD: В связи с вопросами читателей я даю расшифровку термина static content.
В типичном архетипе проекта для Spring Boot WEB этим обзывается фолдер
src/main/resources/static
куда складывают js, css, favicon и прочие одноразовые ресурсы которые относятся 
к веб-приложению. 

И мне кажется что логотим веб-сайта тоже можно туда положить. Надеюсь что я
был правильно понят и никого не обидел и не задел ничьи чувства.

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

Как вариант, если в проекте есть таблица, которая хранит файлы в binary, то можно завести в ней признак isLogo и поставить constraint, что логотип может быть только один.

Ну и вообще посмотрите какие таблицы уже есть в проекте, может приткнуть этот файл куда-то можно.

Формальные требования будут выполнены.
Вопрос: Как Фронтенд пишет JavaScript?

Лучший ответ:
Научитесь задавать вопросы. Если не хотите слышать "Петросянские" ответы. 
Фронтендер пишет js насколько  его знает, в какой нибудь среде. говнокодер лазит на SO, нормальный человек на MDN. 
Хотя в какой то момент вам пофигу на источник, вы берете идею и адаптируете под себя, считая выше приведенное утверждение снобизмом.

Худший ответ:
Я бы сказал Javascript пишет Frontend
Вопрос: Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

Лучший ответ:
Выглядит так, будто вам нужно что-нибудь вроде Kafka.

Худший ответ:
>Будет ли быстрее забирать данные с сетевого интерфейса напрямую, минуя БД, а уже после обработки во время простоя ресурсов складывать их в БД?

Скорее всего, так и нужно делать.
Вопрос: Желтизна в windows 10, как решить?

Лучший ответ:
загрузитесь с LiveCD/DVD/flash USB и потестируйте длительную работу в Windows и других ОС

Худший ответ:
А если направить на экран поток от вентилятора - пожелтеет позже?
Если сразу по пожелтению ребутнуть - останется пожелтевшим или опять только через заметное время?

Это я к выявлению - то ли софт время отмеряет то ли перегревается и плывет подсветка
Вопрос: Потенциальные клиенты стали чаще просить созвоны. Почему так?

Лучший ответ:
За время пандемии все привыкли к зумам, конференциям и всему такому. Возможно, поэтому созвоны стали восприниматься как что-то обыденное.

Я бы посоветовал следующий подход: до заключения контракта и при fixed-price контрактах созвоны стараться проводить быстро и строго по делу. А вот при hourly контрактах сразу обговаривать, что любые обсуждения - это тоже часть работы, соответственно не выключать таймер во время созвона, и тогда уже болтать столько, сколько хочет заказчик.

Худший ответ:
Пандемия все созваниваются и начали нанимать на удаленку
Вопрос: Как программно решить проблему потери пакетов или хотя бы сгладить её?

Лучший ответ:
Попробуйте kcptun, он создан как раз для таких ситуаций.

Худший ответ:
Нет, не возможно.
Вопрос: CSS как сверстать вертикальное расположение? либо JS как правильно находить элемент в DOOM?

Лучший ответ:
Зачем удалять? Просто делайте прозрачными (opacity: 0)

snippet

Худший ответ:
Может быть использовать querySelectorAll('#lifes span') и удалять span  по индексу первый или последний
Вопрос: Какого года выбрать visual studio на с#?

Лучший ответ:
2022 в теории должна работать.
Главное не ставь лишние компоненты.
Ну и по хорошему должен быть SSD.

Как альтернативу можешь попробовать VS Code или Rider(если отключить ненужные плагины и solution wide analysis, то он жрёт не очень много)

PS: ставить какую-то древнюю IDE типа VS 2010 не советую, тк ты не сможешь в ней изучить новые фичи языка, такие как async-await, а так же могут быть проблемы с использованием сторонних библиотек, тк старая версия nuget API больше не поддерживается - ты не сможешь установить библиотеки из nuget

Худший ответ:
Пляжный ноут 2010 года сходной конфигурации вполне прилично тянет 2022 под win11.
Притом не проекты для изучения, а боевые.

Само собой что на i9 10 поколения и 32Гб озу всё это заметно комфортнее)
Вопрос: Что происходит в этом цикле?

Лучший ответ:
// создаем стрелочную функцию, принимающую два параметра
const countChars = (str, char) => {
	// создаем переменные и присваиваим им значение 0
	let i = 0;
	let count = 0;
	// запускаем цикл с предусловием
	while (i < str.length) { // пока i меньше чем длина строки str
		// исполняем тело цикла

		// берем символ из строки str расположенный по индексу i и переводим в нижний регистр
		// берем символ из аргумента функции и переводим в нижний регистр
		if (str[i].toLowerCase() === char.toLowerCase()) { // сравниваем оба значения
			// если совпало увеличиваем счетчик на 1
			count = count + 1;
		}
		// перед новой итерацией цикла увеличиваем индекс на 1
		i = i + 1;
	}
// возвращаем из функции накопленный результат подсчета или начальное значение если совпадений не было
	return count;
};

let result = countChars('abba#abba#abba#', '#') // пример использования
console.log(result); // 3

Худший ответ:
Подсчет количества определенного символа в строке без учета регистра?
Вопрос: Почему ORDER BY DESC в mysql работает не в 100% случаев?

Лучший ответ:
ORDER BY DESC  работает всегда однозначно и в 100% случаев.

если это не так: проблема на принимающей стороне.

Худший ответ:
Перепроверь, что тип поля действительно числовой а не к примеру varchar (хотя если там числа то это не должно что то менять)
Перепроверь что база данных не повреждена, может просто пересоздать индекс?
Вопрос: Можно ли программно отправлять сообщения от лица человеческих аккаунтов Telegram?

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

смысл в том чтобы симулировать работу полноценного клиента, на сколько я понимаю телеграм потихоньку убивает все альтернативные клиенты и скоро прикроет открытые исходники своего официального (как я понял теперь двухфакторная sms на неофициальные клиенты не приходит, только на рядом запущенный официальный клиент) 

Попробуй эту https://github.com/alexander-akhmetov/python-telegram вроде бы поддержка у них оперативная
еще https://github.com/iTeam-co/pytglib

p.s. неплохим вариантом является использование офицального gui телеграм, модификация исходников со вставкой своей логики

Худший ответ:
p.s. неплохим вариантом является использование офицального gui телеграм, модификация исходников со вставкой своей логики
Исходя из документации, при кастомном билде официального клиента мне нужно указывать свои ключи к апи, то есть, как я понимаю, для серверов телеграм он будет не более авторитетным, чем другие клиенты. 

В общем я попробую использовать python-telegram, спасибо всем за ответы!
Вопрос: Могу ли я видеть все сообщения и авторизации, которые проходят через мой wifi?

Лучший ответ:
Вы н имеете права раздавать доступ в интернет без того, чтобы регистрировать пользователей...

Смотрите нагрузку в админке роутера, по mac\ip, что там качает

Худший ответ:
Назовите его "Ne dlya pornuxi".
Посмотрите в админке роутера, какой MAC потребляет больше всего (это даже дешманские роутеры умеют) и добавьте его в ЧС.
Ещё я в давшнишние времена воровал передаваемые куки через Wireshark и скармливал их Firefox, получая доступ ВК, лол.
И да, лучше так не делайте, а то качнёт ваш сосед ЦП, а все шишки посыпятся на вас.
Вопрос: Как тестировать код, где функции в основном ничего не возвращают?

Лучший ответ:
ты можешь тестировать метод на срабатывание исключений + проверить те свойства что он изменяет + проверить ээ по английски это backside effect т.е. внение изменения произошедшие в результате выполнения плагина.
вообще не всегда можно написать тест, например, нельзя протестировать mail() т.к. нельзя проверить дошло ли письмо до адресата.

Худший ответ:
Если речь о Модульном тестировании - замокать всё зависимости и пройтись по всем сценариям убедившись что всё идёт по плану. Суть моков в том что вы можете проверять что будет приходить в пустые методы, указывать что они будут возвращать, или при необходимости, бросать исключение.

Если хотите проверить что в итоге сохранится в базу - это уже будет ближе к EndToEnd тестированию. В таком случае можно поднять тестовую базу, и наполнить всеми необходимыми данными, а для проверок описать свои Assert-ы которые будут ходить в базу и проверять что там лежит.

Следует учитывать что если проект активно развивается - для него будет естественным переживать периодические рефакторинги, что с высокой вероятностью будет вынуждать к переписыванию Unit-тестов. Функциональные и EndToEnd тесты наоборот - позволят рефакторить всё что только можно, обновлять зависимости и PHP как только будут выходить stable версии, и при этом быть уверенным что тестируемые сценарии всё ещё работают как вы задумывали.