Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: PHP NODEJS откуда такая ощутимая разница в скорости работы?

Лучший ответ:
в пхп на каждый запрос каждый раз происходит бутстрапинг, то есть каждый раз стартует новый процесс и инициализируется. а нода запускается один раз и запускает свой вебсервер. 
тестируете на локалке - может быть еще xdebug включен - он тоже будет тормозить. 
в третьих на ссд диске рез-ты у php могут быть лучше (если еще не используется).

Худший ответ:
А вы сравнивали код на node.js с кодом на PHP в стиле request-response-death или Event Loop?
Потому что в node.js-то у вас, скорее всего, код был написан по другой парадигме.
Вопрос: Знает ли кто то где найти разраба или готовое решение для WhatsApp/Telegram clone под Android?

Лучший ответ:
Jabber разверните

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

План действий такой:

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

Фсйо. )
Вопрос: Вместо деталей выполнения кода пишет Process finished with exit code 0. Что делать?

Лучший ответ:
Чтобы что-то было, нужно не просто вызывать функции, а сохранять куда-то возвращаемый ими результат.
btn1 = pyautogui.locateOnScreen("...")
btn1_center = pyautogui.center(btn1)
pyautogui.click(*btn1_center)

# насколько понимаю, можно напрямую кликнуть там, где найдет иконку
pyautogui.click("my_icon.jpg")

Худший ответ:
Попробуйте обернуть  pyautogui.locateCenterOnScreen() в print():
print(pyautogui.locateCenterOnScreen("C:\prog\screenshots\icon.png"))
Вопрос: Нужно ли провинциальное высшее IT образование?

Лучший ответ:
тратить еще 3 года драгоценного времени и пачечку родительских денег.
Во-первых, ваше время ничего не стоит.
Во-вторых, с чего такая уверенность, что вы за эти три года заработаете хотя бы столько, сколько хватило бы на оплату учёбы?
В-третьих, потом всё равно придётся идти за корочкой. Не бросайте.

Худший ответ:
Знания ВУЗа не нужны для веб-разработки. Однако сам диплом обязательно получите. При переезде за границу очень нужен.
Вопрос: Премиум TeamViewer, какое количество одновременных подключений?

Лучший ответ:
На сайте teamviewer.com - в левом верхнем углу московский номер телефона - позвоните, там адекватные люди Вас проконсультируют, а от поддержки осталось печальное впечатление...

Худший ответ:
Что по идее ознаечает
Что общее количество сессий для вашего ака - 15
Вопрос: Как использовать artisan команды при создании пакета Laravel 7?

Лучший ответ:
Рассмотрим пример когда вы разрабатываете свой пакет локально.
В корне проекта создается папка и добавляется запись в  composer.json вроде такой
"repositories": [
    {
      "type": "path",
      "url": "author/package"
    }
  ]
Подробнее можно прочитать здесь в документации
При такой настройке, пакет создаст ссылку в vendor.

По поводу стандартных команд в Laravel(artisan) тут все индивидуально, к примеру, миграцию можно добавить ваш пакет такой командой
php artisan make:migration name_migration --path=author/package
В команде по созданию factories, за корень берется databasePath, выйти из ситуации след образом.
- В зависимости от контекста менять базовый путь
- Отнаследоваться или создать свою команду для формирования пути при создании фабрики

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

Еще можно воспользоваться консолью:
php artisan make:controller OurController && mv app/Http/Controllers/OurController.php author/package/pathWhereControllerStore
Соответственно можно создать алиас и писать меньше, а можно скрипт, где будет еще изменяться namespace в соответствии с вашим пакетом.

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

Лучший ответ:
Возможно, имеется ввиду xPON технологии. Но лучше спросить у самих провайдеров.

Худший ответ:
Спросите у провайдеров.
Совершенно непонятно что именно они имели ввиду.
Вопрос: Как сделать древовидную вложенную структуру в Trello?

Лучший ответ:
Можно в карточке создать чек-лист и в него добавить ссылку на другую карточку. Общего дерева это не обеспечит, но можно задачи дробить на подзадачи.

Худший ответ:
Посмотрите улучшение Card Relationships - Hello Epics (https://helloepics.com/)
Добавляется на самой доске Trello через улучшения.
Вопрос: Как обстоят дела с единым протоколом обмена мгновенными сообщениями (аналог email)?

Лучший ответ:
есть протокол email
Нет такого протокола.Почему нет единого протокола, как с email?
Был такой, XMPP назывался. Тут проблема не в протоколе, скорее, а в серверах, где хранятся учётки юзеров.Возможно уже были попытки такое сделать? 
Так XMPP же.Как обстоят с этим дела? 
Он сдох.Почему протокол email не обновился до возможностей мессенджера?
"Почему на грузовики не ставят гоночные двигатели?". Потому что другие задачи.

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

Лучший ответ:
Что либо писать руками - это спагетти. 
Суть ларавеля в том, что все делается автоматом

В данном случае делается middleware, 

<?php

namespace App\Http\Middleware;

use Closure;
use \Illuminate\Http\Request;

class UserActivityLoggerMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        // тут пишешь свое логирование
       $user_id = $request->user()->id;
       $action = $request->route()->getName();
        // обяязательная строчка
        return $next($request);
    }
}
регистрируешь в Kernel.php
'logger' => \App\Http\Middleware\UserActivityLoggerMiddleware::class,

и рауты пользователей заключаешь в вызов этой мидлвари

Route::group(['middleware' => ['logger']], function()
{
}

Худший ответ:
Это реальная задача? И.е. нужно выводить эти действия куда-то, или это для дебага? Потому что если второе, то забудь о логировании через код. Есть логи nginx'а.
Вопрос: Есть ли устройства для удаленного управления ПК по сети?

Лучший ответ:
Да, называется IP-KVM

Худший ответ:
Есть.
IPMI называется. HP называет ее iLO, Dell - iDRAC. Работает именно так, как Вы описываете - заходите на веб-морду и получаете полный контроль над компом. Хотите в BIOS - нет проблем, хотите систему переставить с образа - нет проблем, хотите зайти в утилиту управления массивом - запросто.
Вот только один момент - эту штуку должна поддерживать мать. А поддержка ее встраивается обычно только в серверные матери. Да и стоит IPMI немало. Поэтому для простых десктопов - даже для самых навороченных-разнавороченных - такого нет и не будет никогда :)
Вопрос: Как обновить множество строк sql в одном запросе?

Лучший ответ:
DUPLICATE KEY UPDATE работает по уникальному индексу, который можно (и нужно) навесить на группу полей.

Худший ответ:
 мне не подходит, так как в файле может быть несколько тысяч строк.
Очень забавная фантазия. Если бы действительно надо было толькообновить множество строк sql в одном запросе
как сказано в заголовке вопроса,  то прекрасно подошел бы этот вариант
Но для задачи при нахождении дубля обновлять, а при отсутствии вставлять. 
подходит ON DUPLICATE KEY UPDATE по уникальному составному ключу.
Вопрос: Скрипты в Google Sheets, как начать с нуля?

Лучший ответ:

Учите JS learn.javascript.ru. Тем более, что рантайм теперь V8
Google Apps Script. Начало. Нужны они вам или нет? Там же есть ссылка на Таблицу с отзывами о курсах.
Описание метки на SO
Горища сниппетов на тему
google-apps-script-awesome-list


Худший ответ:
синтаксис весь на Гугле есть

берете гугл форумы, стековерфло и УЧИТЕСЬ, УЧИТЕСЬ и УЧИТЕСЬ

Практика - критерий истины

книг, скорее всего, нет, это не Эксель, тут есть ограничения и подход чуть другой
Вопрос: Что делать если, в основном, на работе занимаешься багфиксингом и это отнимает слишком много времени и сил?

Лучший ответ:
Уволиться и найти другую работу

Худший ответ:
Идите в системные интеграторы. Не скажу что лучше, по другому. Бывает что прилетает проект 5-8 раз. Причём один и тот же
Вопрос: Сколько стоит собрать в сообщество ВК 30000 подписчиков?

Лучший ответ:
мне в моё время вышло бесплатно, хайповую идею придумал,  110к человек собрал
готовую покупать ни в коем случае не стоит. Это револьвер с пятью патронами в барабане из четырех
пусть лучше выглядит пустой, чем будет с ботами
грамотная реклама вашего продукта это грамотный результат

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

Лучший ответ:
Сделай таску в package json. 
gulp build - такска из галпка для сборки проекта, gh-pages -d build автоматически создаст ветку gh-pages, и закинет в нее собраный проект и изменит все настройки, что остается просто только открыть сайт по ссылке.

Перед этим создай репозиторий, и соедени удаленный с локальным.

"scripts": {
    "deploy": "gulp build && gh-pages -d build"
  },

Если знаешь англ, тут подробно объясняется как все легко настроить
https://www.youtube.com/watch?v=SKXkC4SqtRk&ab_cha...

Худший ответ:
В репозитории на Github необходимо создать новую ветку с именем 'gh-pages' . Перейти в Settings репозитория, пролистать страницу вниз до GitHub Pages и в настройках указать данную ветку. 
И еще в gulpfile.js нужно прописать путь, где находится скомпилированный проект, примерно так 
const gulp = require('gulp');
const ghPages = require('gulp-gh-pages');

gulp.task('deploy', function() {
    return gulp.src('./dist/**/*')
        .pipe(ghPages());
}); 
где dist - это папка с готовой компиляцией проекта
И все заработает.
Вопрос: Какая в 2019 актуальная смотрелка картинок под Win10?

Лучший ответ:
Давно юзаю FastStone Image Viewer, очень много форматов поддерживает.

Худший ответ:
Пользуюсь обычным windows photo viewer-ом, он есть в 10-ой винде, включаю всегда по этому гайду
https://texfaq.ru/windows/microsoft_photo_viewer.html
Вопрос: Какую железку взять вместо Mikrotik для организации L2tp / VPN сервера?

Лучший ответ:
Это не микротик напрягяет, а реализация l2tp/ipsec + NAT у клиента. И такое будет в любой реализации l2tp

Худший ответ:
Любую.
По возможностям они все практически одинаковы.
Надо смотреть на железо - чтобы вытянуло ваши потребности.
Например если ipsec и надо приличные скорости - надо выбирать модели с поддержкой аппаратного шифрования.
Вопрос: Где найти практику для js?

Лучший ответ:
Так а вы не подумали, что не стоит пытаться съесть такой кусок? Если вы новичок, то вам из всего того что на learn.javascript нужно от силы 20-25%. Какие, нафиг, map'ы, set'ы? Вы знаете где вы их будете применять? - нет, а зачем тогда вы из СЕЙЧАС изучаете? Ваш потолок на данный момент:(1) функции, массивы, работа с DOM. 
Где брать практику? Делайте сайты, ек макарек! Я постоянно пишу эту цитату, она идеальна и универсальна:
"Это как очки, вы сами поймете, когда они вам нужны". Тут так же, если вы понимаете, что вы не можете применить рекурсию или зацикливание - не применяйте. Делайте то что можете. Слайдеры\попапы\анимации простые, дальше больше. От того что вы прочли весь  learn.javascript и забыли все через день - толку НОЛЬ. Как я уже сказать, все что вам нужно - см. пункт (1)UPD.
На ютубе Дмитрий Лаврик хорошо объясняет все, подробно и разжевывая.

Худший ответ:
codewars и ему подобные сайты, там куча задач
Вопрос: Почему у роутера MikroTik RB951ui максимальная скорость lan портов 100мбит, а wifi 300?

Лучший ответ:
Вполне сбалансированная скорость.Если провайдер выдает 200 Мбит, скорость будет рубиться до 100 Мбит?Да.
По сети будет около 100Мбит/с по WiFi поменьше.
Надо понимать что 300 Мбит/с для WiFI это во первых скорость подключения - следовательно скорость передачи данных будет уже где-то в районе 130Мбит/с
И во вторых это максимально возможная скорость в идеальных условиях, а поскольку условия идеальными не бывают, практически недостижима.

Худший ответ:
Да, 100.
300 для локальной беспроводной сети, например.
Вопрос: Как работают побитовые операторы?

Лучший ответ:
0177 - это число в восьмеричной системе счисления = 0111 1111 в двоичной
Допустим, n = 1111 1010 1010 в двоичной с.с.

1 & 0 = 0
0 & 0 = 0
1 & 1 = 1

тогда получаем:
0000 0111 1111
1111 1010 1010
---------------
0000 0010 1010

Худший ответ:
Литерал 0177 в языке С++ - это восьмеричный целочисленный литерал, который имеет тип int и положительное значение 127 - семь младших битов равны 1, а остальные (старшие) равны 0.

Вы не указали в своем вопросе какой тип имеет n, что делает ваш вопрос несколько бессмысленным (или полностью бессмысленным), но если предположить, что n - это переменная некоего целочисленного типа, то в данном выражении операнды оператора & будут неявно приведены к одному общему целочисленному типу (к одной ширине). Этот процесс называется usual arithmetic conversions (UAC). Если в процессе UAC придется расширить операнд 0177, то он будет дополнен до требуемой ширины дополнительными нулевыми битами в старшей части.

Так образом, даже после такого преобразования операнд 0177 по-прежнему будет представлять собой битовую "маску" из семи единичных битов в младшей части и нулевых битов в старшей части. Оператор & в такой ситуации "сохранит" семь младших битов исходного значения n и обнулит остальные биты.
Вопрос: Зачем нужно изучать основы вёрстки, если есть webflow?

Лучший ответ:
Вопрос из разряда, зачем изучать математику, если есть калькулятор)))
Ничто и никогда, никакой конструктор не позволит вам создать CRM, соц. сеть, веб игру, свой гитхаб, какие либо сервисы(тот же самый webflow) и херову тучу других продуктов. Проще говоря, вы уже не сможете создать что-то уникальное, что делают другие, знающие веб языки.
А так же, создание просто сайта визитки, магазина при помощи конструктора, это удобно и часто быстро. НО!!!
Всем этим нужно заниматься, далеко не все хотят этим заниматься, изучать веб и т.п. Проще отдать деньги и сказать, как я хочу, чем убить огромное кол-во времени.
Все могут сами что-то делать для себя, не тратя свои средства, но время и силы, потраченные на создание лично, далеко не всегда равны тому, что бы просто взять и купить или заказать

Худший ответ:
Можно муху убить ракетой, но перед этим надо произвести кучу телодвижений, типа получить разрешение на использование, подготовка самой ракеты, сборка, настройка, прицеливание, пуск. А можно просто свернуть газетку и прихлопнуть её (муху) без особых проблем.
Вопрос: Подключение normalize.css c помощью gulp?

Лучший ответ:
Можно написать новый таск для подключения стилей из разных библиотек: 
Только сначала нужно установить пакет 'gulp-concat' и подключить его
const concat = require('gulp-concat');

gulp.task('css-libs', function(){
    return gulp.src('node_modules/normalize.css/normalize.css')
        .pipe(concat('_libs.scss'))
        .pipe(gulp.dest('./scss'))
        .pipe(browserSync.reload({stream: true}))
})

Теперь, когда ты захочешь добавить еще какую-нибудь css библиотеку, то вместо строки в gulp.scr() передаешь массив.
Можешь чекнуть мою сборку https://github.com/azzztec/gulp-assemble/blob/mast...

Худший ответ:
const gulp = require('gulp');
const sass = require('gulp-sass');
const postcss = require('gulp-postcss');
const postcssImport = require('postcss-import');

module.exports.css = () => {
  return gulp
    .src('./scss/**/*.scss')
    .pipe(sass())
    .pipe(postcss([postcssImport()]))
    .pipe(gulp.dest('./css'));
};

@import 'normalize.css';

В любом случае будете использовать postcss, так что юзайте postcss-import
Вопрос: Как сделать так, чтобы в webpack 5 работал hot reload?

Лучший ответ:
Если еще актуально, я нашел решение данной проблемы тут : https://github.com/webpack/webpack-dev-server/issu....

Кратко, проблема заключается в .browserslist .
Нужно в webpack.config.js добавить данную проверку:
target: process.env.NODE_ENV === "development" ? "web" : "browserslist",

Как-то так)

А также в  Webpack 5 изменился вызов dev сервера.

"start": "cross-env NODE_ENV=development webpack serve"

Худший ответ:
После обновы Webpack5 мы все пользовали неадаптированный webpack-dev-server семимесячной давности.
У меня все стало работать бодряком после:
1) webpack.config.jspn => add target: "web", to module.exports = {}
2) Удаления как browserslist  как файла и как пункта в package.json
3) Прочтения: https://openbase.io/js/webpack-dev-server/versions...
4) npm i webpack-dev-server@4.0.0-beta.0
5) devServer: {
    static: true
  }

успехов...
Вопрос: Как победить ошибку «cannot read property of undefined»?

Лучший ответ:
console.log в отладке? да не, бред какой-то... Русским по белому же написано - не могу читать проперти у андефайнд.

Худший ответ:
Cannot read property 'user_id' of undefined

user_id - это у вас поле объекта user_info:
name: `${user_info.user_id}`,

а сам объект заполняется строкой выше:
const [user_info] = await vk.api.users.get({ user_id: context.senderId });

Видимо, в ответе пришёл пустой объект, а вы пытаетесь прочитать его свойство user_id, которое не существует. Поэтому и ошибка.
Вопрос: Как получить доступ к структуре из функции структуры?

Лучший ответ:
Да, вы никак не получите доступ к структуре, если явно не передадите ее в функцию.
Вы делаете что-то странное, возможно, вы хотели сделать это:
type T struct {
  Count int
}

func (t *T) Func(s string) error {
    t.Count // <- получение доступа к полю структуры
}

Худший ответ:
в go методы структур объявляются так, там и доступ к структуре будет
Вопрос: Как анализировать источники лидов, когда реклама идет через маркет-платформу?

Лучший ответ:
ставь utm метки на ссылки и в каждой группе используй уникальную ссылку.
сокращать через https://vk.com/cc

Худший ответ:
Через что анализируешь трафик? Какая аналитика настроена на сайте? Яндекс.Метрика есть? Google Analytics есть?
Можно например вот так. 
В метрике смотреть через UTM Content.
В аналитиксе через содержание объявления.
А вообще почитай про utm-метки, можешь кастомизировать под себя и добавлять нужное.
https://vk.com/4984984?utm_source=vk&utm_campaign=... товара что ты продаешь&utm_content=название паблика
Вопрос: Кто знает,что за ошибка «client.commands.get(...).execute is not a function»?

Лучший ответ:
А шо, на курсах-таки тестировать не учили?console.log(client.commands, client.commands.get(...))
Смотрим консоль, делаем выводы. При необходимости - опускаемся на уровень ниже (рекурсивно вплоть до уровня API), пока не находим причины ошибки.

Худший ответ:
Вы пытаетесь вызвать метод, который методом не является. Написано же человеческим языком.
Вопрос: Можно ли в js проверить чему равен style display в css?

Лучший ответ:
Из CSS получает getComputedStylevar obj1 = document.getElementById('test1');

if (getComputedStyle(obj1).display == 'none') {
document.getElementById('rezult1').innerHTML = "Скрыто";
}
Держите https://jsfiddle.net/bh0pvcw5/

Худший ответ:
Может быть не хватает знака =if(obj1.style.display === 'none')
проверь так:alert(obj1.style.display)
Вопрос: Какой заголовок ставить коммиту, когда почистил код от пробелов и заккоментированного?

Лучший ответ:
Косметические правки

Худший ответ:
Fix bug #42 заказчик хотел няшного котёнка 

Ваша система фиксирует комит и переносит его в тесты.
Вопрос: Как вывести информацию с class в php?

Лучший ответ:
Потому что для начала нужно создать объект этого класса!!!<?php 
require_once('Config.php');
$config = new Config();
echo $config->vk_id;

Худший ответ:
$config = new Config();
var_dump($config);
ы?
Как у вас можно делать только со статическими методами и свойствами(и то, там другой синтаксис), в данном случае нужно создать экземпляр класса, а уже после этого к нему можно обращаться.
Вопрос: Что нужно питонисту, чтобы его приняли на работу?

Лучший ответ:

системы контроля версий (git)
базы данных
понимание как работают разные API (REST, SOAP)


Худший ответ:
Если говорить про именно позицию мидла:
- уверенное владение основами языка + не сильно глубокое, но понимание его подкапотностей (скажем, не просто знать, какие есть типы данных, но еще и как они работают и почему + сложность операций с ними);
- системы контроля версий (git норм)
- основные паттерны (особенно те, которые реализованы в языке нативно);
- если хотим в веб-разработку, то, как правильно указали выше - знать, как работает интернет, что такое http, rest и пр. Не помешает самое общее понимание того же TCP/IP;
- SQL хотябы на базовом уровне. Если мы говорим о веб-разработке, то мидлу следует понимать, во что выливаются его (и не только) ORM-конструкции;
- для веба - понимание архитектуры веб-приложений и принципов работы веб-серверов;
- в 2020 следует знать, хотя бы базово, что такое контейнеризация, уметь работать с docker;
- понимание, что такое CI/CD, и как с ним жить будет несомненным плюсом (многие считают это за обязательное требование, как по мне - не горит);

Особняком стоит то, что ТС назвал  "умение писать чистый код". Это для мидла мастхев, но это полный синоним фразы "опыт работы в команде над коммерческими проектами". Писать код много можно и одному. Но научиться писать чистый понятный код в одного крайне и крайне тяжело. К сожалению.

Совет: автор, если считаешь себя хоть сколько-нибудь готовым, не гадай: просто сходи на пару собесов на мидловую позицию. Бери тестовые, решай, получай фидбек. На собесах придет довольно хорошее понимание, что хочет реально рынок сегодня. Не бойся ходить на заведомо провальные собесы, никто в ЧС не занесет :) Многие компании прекрасно тебя "пересобесят" через полгода вне зависимости от того, насколько плохо прошло предыдущее собеседование.
Вопрос: В чем ошибка css?

Лучший ответ:
Вот этот кусок мешает: (1.5625rem - 1rem) *
Какие единицы должны получиться в результате выполнения calc? Пиксели в квадрате? :)
Судя по всему, это коэффициент, который берётся из отношения базового размера шрифта к текущему, так что единицы измерения там в любом случае не нужны.

Худший ответ:
rem — это относительная единица, а px абсолютная. Поэтому ошибка.
Вопрос: Какими должны быть настроки сервера для объемных страниц сайта?

Лучший ответ:
вынесите логику по получению списка записей и его компоновке на сторону браузера, отправляйте записи с сервера в браузер порциями с таким объёмом, который не роняет сервер, через websocket или что вам удобнее.

Худший ответ:
Дано: vds 512 мб памяти, на нем django 3 + gunicorn + nginx
Out of memory: Kill process 845 (gunicorn)
Только увеличить сервер, нехватает памяти.
Вопрос: Как вырезать из файлов всё, кроме нужного тега?

Лучший ответ:
перебрать файлы можно с помощью find, например. вырезать - grep, sed, awk.
я только не понял, что именно означает "вырезать". приведите пример, что есть и что хочется получить.

Худший ответ:
Я бы посоветовал глянуть в сторону xmllint.
Утилита юниксовая, но в Cygwin она есть:
https://stackoverflow.com/questions/21871237/use-x...
Примерный формат будет таким:
xmllint --xpath 'путь-к-xml-тегу' --output 'путь-к-файлу-для-сохранения-результата' путь-к-исходному-xml-файлу
Например, если надо выдрать все теги , где бы они не находились, будет примерно так:
xmllint --xpath '//TaxNo' --output 'file.stripped.xml' file.xml
Если надо выдирать не все попало теги TaxNo, а только вложенные в единственный тег Taxes, который, в свою очередь, вложен в корневой тег Root, то команда будет примерно такой:
xmllint --xpath '/Root/Taxes//TaxNo' --output 'file.stripped.xml' file.xml