Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как изъять нужные значения из текста?

Лучший ответ:
Может, без регулярки обойтись?
Я ничего не имею против, но не вижу - зачем.
page_content = []
page_text = '''
12" Non-Stick Skillet  
with Helper Handle
Model: FCT22-30HNS 
UPC: 086279034182 
Case Pack: 4
5½ Qt. Sauté Pan with Cover
Model: FCT33-28H 
UPC: 086279034038 
Case Pack: 4
8" Skillet
Model: FCT22-20 
UPC: 086279034007
'''
for line in page_text.splitlines():
    if 'Model:' in line:
        page_content.append(line)
print(page_content)

['Model: FCT22-30HNS ', 'Model: FCT33-28H ', 'Model: FCT22-20 ']


Худший ответ:
import re

pattern = r'Model:.*|UPC:.*'

text = '''12" Non-Stick Skillet  
        with Helper Handle
        Model: FCT22-30HNS 
        UPC: 086279034182 
        Case Pack: 4
        5½ Qt. Sauté Pan with Cover
        Model: FCT33-28H 
        UPC: 086279034038 
        Case Pack: 4
        8" Skillet
        Model: FCT22-20 
        UPC: 086279034007'''

print(re.findall(pattern, text))
вывод:
['Model: FCT22-30HNS ', 'UPC: 086279034182 ', 'Model: FCT33-28H ', 'UPC: 086279034038 ', 'Model: FCT22-20 ', 'UPC: 086279034007']
Вопрос: Как правильно сделать живой поиск?

Лучший ответ:
Для работы с полями ввода есть набор событий:
1. focus - пользователь поставил фокус на поле ввода.
2. blur - пользователь убрал фокус с элемента вода.
3. input - пользователь как-то что-то ввел. Это лучше, чем keyup, ибо не надо проверки keyCode, второе потому что пользователь может в поле вставить текст, что тогда будет с Вашим keyUp? Событие input срабатывает каждый раз, как пользователь сделал изменение в поле ввода.
4. change - пользователь ввел данные и убрал фокус с поля ввода, то есть это input + blur. Событие происходит не так часто, как input, но и не заставляет проверять value на изменение, как это придется делать при blur.
5. submit - срабатывает на всей форме, при попытке отправить данные, в данной задаче скорее не интересное событие.
Для живого поиска логично использовать input, по которому надо отправить текущее value через ajax на сервер и далее ответ куда-то распечатать. Вопрос в другом, ведь событие срабатывает довольно часто, и кто-то печатает так быстро, что и запрос-ответ не успеет, поэтому логично сделать тут debounce с задержкой в приблизительно 300мс, чтобы отправка/получение сработало когда пользователь притормозил в наборе текста или вообще прекратил ввод.

Худший ответ:
Старый но хороший вариант
jquery.page2page.ru/index.php5/%D0%90%D0%B2%D1%82%...
Вопрос: Как настроить FTP на PHPStorm?

Лучший ответ:
В настройках "Deployments" установите галочку "Upload external changes"

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

Лучший ответ:
я себя вижу как будующий фуллстек
Я себя тоже когда-то видел новым Линусом Торвальдсом, но жизнь не щадит.

поэтому можно по подробнее про бэк и фронт. 
Каким образом вы хотите стать фуллстэком, если на таком банальном шаге как - поиск информации, вы уже делаете огромный затуп.

Алгоритм действий для вас - 
1. Выбор сферы -> хочу работать там-то.
2. Выбор языка -> определился со сферой, есть такие вот языки, на которых реализуется функционал.
3. Изучения языка и инструментария по выбранным выше аспектам
- Вопросы - (нужна ли математика в данной сфере, если нужна - то какой уровень математики, какой уровень computer science, что нужно знать из базы).
 - от фронта до бэка(если бизнес модель и задача позволяет одновременно реализовывать фронт и бэк без боли и огромного количества поглощаемой информации).
4. Учитьсяи работать от 2-3 лет(если есть желание быть фуллстэком) и до бесконечности, желательно сразу идти в офис что бы перенимать опыт у более опытных товарищей).

я себя вижу как будующий фуллстек
Я когда вижу Резюме - фуллстэк - 2 года опыта, немного начинает подташнивать. Нормальный фронт, или нормальный бэк - это 2-3 года работы, когда задача решается так как нужно, и +\- не приходится переделывать. Нормальным фуллстэком вы станете лет через 5, поэтому начните с алгоритма, и далее если хватит сил - уже прыгайте на второй корабль.

Худший ответ:
Можно еще вот тут глянуть https://dev.to/ender_minyard/full-stack-developer-...
Вопрос: В сфере 3d моделирования при наличии опыта работы в сфере, но без образования, реально ли уехать на ПМЖ или же получения вышки это краеугольный поин?

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

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

вариант магистратуры, без требований к диплому бакалавру по смежной специальностиво многих странах магистратура не предъявляет требований по бакалавриату в конкретной специальности. 
но без хороших знаний в этой специальности вы просто не попадёте туда.

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

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

вариант магистратуры, без требований к диплому бакалавру по смежной специальностиво многих странах магистратура не предъявляет требований по бакалавриату в конкретной специальности. 
но без хороших знаний в этой специальности вы просто не попадёте туда.
Вопрос: Можно ли работать в Германии по стартапу без высшего образования?

Лучший ответ:
Если возьмут, то да.

Худший ответ:
https://habr.com/ru/post/462789/ - статья от человека который смог
Здесь все ответы на ваши вопросы.
Вопрос: Как действительно поможет ООП в реальной программе?

Лучший ответ:
ООП упрощает код, логику и понимание...
Но только в случае подготовленного человека. Соответственно пока нет осознанности в происходящем и опыта, то ясен пень — будет сложно и не понятно

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

Как поможет ООП: 
Очертит ваши абстракции явно названием, состоянием и поведением, а также описанием в коде. 
Позволит добавлять новые типы легко и всегда контроллировать той или иной контекст в виде осмысленной единицы, а не 100500 факторов, да еще и при каких-то еще условиях. 

Без ООП — абстракции не будут иметь четких границ и смысл будет в разобранном состоянии собираться из крупиц по коду и данным, но и такой, процедурный подход, имеет  преимущества

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

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

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

Лучший ответ:
Выполнить fetch и посмотреть в полученных данных.

Худший ответ:
Выполнить код:
$result = mysqli_query($conn, "SELECT * FROM `country`  WHERE `city`='Москва'");

$row = mysqli_fetch_assoc($result);

printf('Country ID is: %s', $row['id']);

Здесь share PHP code
Вопрос: Почему переменная undefined?

Лучший ответ:
Отличная статья по теме useEffect. Если коротко, то вы на каждый рендер создаете новую функцию save и новую переменную html, при этом в момент выполнения функции open вы скорей всего захватите по замыканю переменную html из области видимости которая уже устареет на момент выполнения вновь созданной функции save по клику на кнопке. Для сохранения любого значения между рендерами без тригера ререндера компонента можно использовать useRef.

Худший ответ:
В этом случае нужно почитать еще про useState кроме useEffect
Вопрос: Доступ в интернет в локальной сети?

Лучший ответ:
А, пардон, договор с провайдером есть?

Худший ответ:
DNS не прописывал (не знаю что нужно прописать)
вот это и надо. пропишите 8.8.8.8 хотя бы.
проверить можно так - если не прописали ещеping 8.8.8.8
если прописали DNSping google.com
Вопрос: Обучение data science, machine learning, big data, business analyst?

Лучший ответ:
Если вы уже "нашли себя в аналитике", то надеюсь, вы уже проанализировали 127 ответов  на подобный вопрос в этом-же форуме.  И они вас чем-то не удовлетворили. Расскажите - чем именно, что-бы мы не повторяли в 128-й раз одно и тоже, а четко дали ответы на ваши четкие вопросы?

Худший ответ:
Лучшее решение - найти в Инете готовые данные и с помощью Python или R получать какую-то полезную информацию из них.
Вопрос: Как себя чувствуют гриды в 2020?

Лучший ответ:
Grid чувствует себя прекрасно.

Можно уже спокойно их использовать и забыть про flexbox?

Grid не является заменой Flex. Вот тут очень важно это понимать. Плохой идеей будет взять весь Flex на странице и заменить его на Grid

Худший ответ:
Например. Если взять современные и популярные html/css фреймворки:

1. Bootstrap 5 (уже есть альфа версия) - flex
2.  ZURB Foundation 6 - flex
3. UI Kit  - flex
4. Materialize CSS  - float?!
5. Semantic UI -flex

Откройте themeforest HTML - popular items в топе темы с bootstrap или кастомной версткой, но на flex.

НО

Если Вы делаете современный сайт (необязательно практичный, не рассчитанный на большое количество пользователей) , вроде тех что на awwwards , то вполне можно рисковать с grid 

Поддержка: caniuse

+ Гриды не могут заменить флекс, их стоит использовать вместе. Подробнее тут.

P.S: Ничего не стоит на месте, grid на замену не придут, но в помощь точно вольются, поэтому их тоже стоит разбирать на будущее!
Вопрос: Какими знаниями должен обладать начинающий фрилансер верстальщик?

Лучший ответ:
Чистый html, css - это ничто. Их можно за неделю выучить весьма неплохо... Без JS лучше не лезть брать заказы, так как любая современная веб-страница содержит js. А если js знаешь, лучше бы хоть jQuery еще добавить к этому. Для фронт-энда, это пожалуй кое какой минимум. Но, в любом случае, решает опыт. Даже если ты еще с десяток библиотек и фреймворков хорошенько выучишь, по сути всем плевать, потому что реальный опыт всегда значит больше.

Худший ответ:
Чистый html, css - это ничто. Их можно за неделю выучить весьма неплохо... Без JS лучше не лезть брать заказы, так как любая современная веб-страница содержит js. А если js знаешь, лучше бы хоть jQuery еще добавить к этому. Для фронт-энда, это пожалуй кое какой минимум. Но, в любом случае, решает опыт. Даже если ты еще с десяток библиотек и фреймворков хорошенько выучишь, по сути всем плевать, потому что реальный опыт всегда значит больше.
Вопрос: Как можно установить нативный Linux-дистрибутив на телефон?

Лучший ответ:
For fun на портирование ядра и блобов может уйти нереальное количество времени. Почитать можно на kernel.org. Пары лет должно хватить.
Если практичекая цель -- ставьте Termux, там все фичи от линуксов есть.
Чуть менее практичный -- Linux Deploy.

Худший ответ:
Всё гораздо проще. Поищите в Google Play AndroNix. И всё, следуйте инструкциям приложения, думаю сами поймёте что дальше.
Вопрос: Как захватить класс в функции reactjs?

Лучший ответ:
div style={{width: props.percent}}

Забудьте о поиске селекторов в реакте и прямом обращении к дом-дереву.

Худший ответ:
В реакте не стоит обращаться к элементам DOM не через реакт, это плохая практика. Почитайте про рефы на DOM элементы https://ru.reactjs.org/docs/refs-and-the-dom.html

UPD: И как правильно заметил Pardon Me!  Where Do I Find 4giveness? ваша функция bar реализуется реактивностью. Обращение к элементам DOM нужно только в крайних случаях (например, для получения каких-то свойств типа offsetHeight), это не тот случай.
Вопрос: Как переключать стили разным компонентам?

Лучший ответ:
Подход с display: none в React разработке использовать не принято.

Условный рендеринг
Подъем состояния

Худший ответ:
в NewsBigScreen абсолютно бесполезно display/setDisplay/useStateconst NewsElement = (props) =>{
  ...
  return(
    ...
      <NewsBigScreen display={display} setDisplay={setDisplay} />
    ...
  )
}

const NewsBigScreen = ({ display, setDisplay }) =>{
  const closeBigScreen = () =>{
      setDisplay('none')
  }

  return(
    <div className='newsBigScreenWrap' style={{display: display}}>
      <div className='blackBackground'>
      </div>
      <div className='NewsBigScreen' >
        <input type='submit' onClick={closeBigScreen}/>
      </div>
    </div>
  )
}
Вопрос: Стоит ли обновляться?

Лучший ответ:
Глобальное решение: обновиться до 10, предварительно решив вопрос активации.
P.S. И с заменой HDD на SSD...

Худший ответ:
Активация слетит, но это ерунда, если что то крякается в 3 клика мышкой, надо думать скорее о сохранности важных программ и данных, что будете делать если вдруг винда не обновится до конца и сдохнет?
Вопрос: Какой ЯП изучать первым PHP или JS?

Лучший ответ:
Их можно изучать одновременно. Бери фулстек задачу и вперёд. 
PHP разработчик должен обладать базовыми знаниями HTML/CSS/JS в обязательном порядке.

Худший ответ:
Конечная цель - стать Backend разработчиком на PHP. Не надо думать, что "Backend разработчик на PHP" знает только php. Это заблуждение. Это просто его основная сфера деятельности. 
А по факту любой веб-программист неизбежно, еженедельно или ежемесячно, сталкивается с сопутствующими технологиями. 
Ты должен знать отлично PHP
Ты должен хорошо знать JS
Ты должен уметь верстать (HTML, CSS)
Ты должен уметь работать с *nix
Ты должен изучать все это, если хочешь быть специалистом
Разделение на бекенд/фронтенд безусловно есть, но за 10 лет я не встречал веб-программистов, кто бы знал только php или только js. Без знания JS-a, как одного из основных языков, на которых базируется сейчас веб, или верстки, ты со своим знанием php никому не нужен будешь. Особенно в качестве джуниора. 
Учи всё.
Вопрос: Могут локальный комп взломать если публиковать в гит пароли от локальной базы и прочее?

Лучший ответ:
любой пароль это лишняя лазейка хакеру и облегчение ему жизни.

Например посмотрев код и увидев уязвимость в нем, но требующую пароль (к примеру вы пилите веб-сервис), злоумышленник предлагает зайти вам на свой сайт (пришло письмо или сообщение типа - 'хай смотри у меня три сиськи') а уже javascript на нем делает http запросы по твоей локальной сети, обнаруживает сервис, заходит под опубликованными вами же паролями, эксплуатирует уязвимость и вот оно уже в вашей сети.

Худший ответ:
NAT сначала нужно обойти прежде чем к вам в комп попасть
Вопрос: Как удалённо перезагрузить Windows 10?

Лучший ответ:
Никак.
На будущее погуглите про IPMI.

Худший ответ:
1. WinRM
2. psexec из комплекта утилит Руссиновича.
Вопрос: Сложно ли адаптироваться в macOS после Windows веб-разработчику?

Лучший ответ:
Первичная адаптация занимает пару дней с кучей вопросов "а как?" и "это вообще законно?". Через неделю-две уже возвращаться на win нет никакого желания
UPD.  На последние деньги брать макбук - дикость, как и вообще во что-то вкладывать последние деньги, если не делать ставку что оно себя отобьет очень быстро. Ставить винду на мак - дикость, не надо так

Худший ответ:
нет
Вопрос: Реально ли создать нейросеть которая может сама учиться, иметь сознание и развиваться?

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

Пока что все попытки его осмыслить и реализовать неудачны.

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

Лучший ответ:
Думаю это связано с особенностью менталитета в конкретной стране. То что вам кажется раздолбайством - у них считается нормой. 
Думаю там заказчик платит за время разработчиков и от того что он меняет требования - стоимость только растет.

Худший ответ:
Да, это норма. Когда-нибудь, я надеюсь, клиент станет всегда прав и у нас в России. Это всем пойдет на пользу, потому что сегодня вы подрядчик, завтра вы клиент. А сервис в целом у нас оставляет желать лучшего. Это не у них, а у нас раздолбайство - когда клиента притягивают за язык, называя это ТЗ, пользуются некомпетенцией клиента.
Вопрос: Пример использования логических операций AND, OR, TEST в ассемблере?

Лучший ответ:
Пример - хранение флагов неких состояний.
Чтобы не использовать для хранения одного состояния (0 или 1) целого байта - берем байт, и устанавливаем некий флаг - к примеру в определенном бите:

mov ah, myflag
or ah, b00001000 # установили флаг
mov myflag, ah   # обратно сохранили в переменную
...
mov ah, myflag  # берем обратно нашу переменную
and ah, b00001000 # и проверяем наше состояние
jz прыгнули_ если_флаг_равен_0
...
mov ah, myflag  # берем обратно нашу переменную
and ah, b00000010 # проверяем наше состояние в каком-то другом бите
jz прыгнули_ если_флаг_равен_0
Таким образом - в одном байте мы храним 8 состояний
А эти состояния - могут быть к примеру - некая двумерная матрица - к примеру для игры в морской бой 10x10 где 1-это наличие корпуса корабля в клетке 0 -отсутствие
И вместо хранения  10*10 = 100 байт мы будем хранить 10*10//8 = 12+1 = 13 байт с учетом остатка
13 байт против 100 байт - экономия существенная, особенно если у нас ограничение по ресурсам (микроконтроллеры)

Худший ответ:
самое частое - логические условия, объединение нескольких условий

if((var & 1) == 1) {} ... может стать TST

if(var1 == 0 && var2 == 1) может использовать AND

и так далее
Вопрос: Есть роут с параметрами нужно сделать редирект если нет параметров как?

Лучший ответ:
Сделать проверку и прописать редирект прямо в роуте. А по хорошему сделать middleware

Худший ответ:
В методе контроллера напишите следующее:
if ($request->route(“alias”) === null) {
return redirect()->route(“route name”);
}
Вопрос: Можно ли разрабатывать на Хакинтош?

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

Худший ответ:
Да на первое время вообще спокойно пойдет, сам так делал, дальше поймете нужно вам это или нет и все. Уже будете рассуждать брать мак или нет. Главное что бы все оборудование было максимально совместимо, тогда меньше придется изобретать костылей и все будет работать идеально!
Вопрос: Поведение PHP На разных ОС?

Лучший ответ:
Могу предположить, что проблема тут не в скрипте, а в том, что было два запроса.
Попробуй использовать в $data microtime() или rand() чтобы понять что это не запись была два раза, а именно был вызван метод два раза
Кроме этого, погуглить советую про flock и fclose

Худший ответ:
запустил ваш код на макоси (в cli и браузере) – пишет одну строку.
Вопрос: Как избежать конфликтов в git?

Лучший ответ:
Не ты должен решать, разработчик перед тем как сделать пул реквест должен сделать в своей веткеgit fetch
git rebase origin/master
и после этого решить все конфликты а только потом git push
Единственный выход для минимизации конфликтов - бить файл на кусочки.
Если человек работает в форке, то ему нужно сначала стянуть изменения себе в мастер с основного репозитория

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

Лучший ответ:
Миллионы долларов и сотни человеколет.

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

Лучший ответ:
После "Я профессионал" , уже напрягает)) Может тогда проекты будете брать сложные на фрилансе и верстать?

Худший ответ:
Посмотри здесь:
https://freebiesbug.com/psd-freebies/website-template/
Вопрос: Как узнать внешний белый ip без доступа к маршрутизатору?

Лучший ответ:
А если глянуть  на 2ip и им подобным сервисам...Что мешает?

Худший ответ:
wget eth0.me -O-

Если винда, то фиг знает, можно сделать трассировку и извилинами мозга понять какой узел является точкой выхода в тырнет

tracert 8.8.8.8
traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.2.1 (192.168.2.1)  0.519 ms  63.635 ms  63.616 ms
 2  192.168.10.1 (192.168.10.1)  1.290 ms  1.457 ms  1.623 ms
 3  r-95-128-142-20.parmatel.ru (95.128.142.20)  10.131 ms  10.306 ms  10.486 ms - ВОТ
 4  192.168.11.2 (192.168.11.2)  4.522 ms  4.687 ms  4.658 ms
 5  r-95-128-143-17.parmatel.ru (95.128.143.17)  10.563 ms  10.536 ms  10.712 ms
 6  194.186.186.137 (194.186.186.137)  5.131 ms  1.912 ms  4.385 ms
 7  pe03.kk12.moscow.gldn.net (79.104.235.215)  41.738 ms pe05.kk12.moscow.gldn.net (79.104.225.15)  41.216 ms pe03.kk12.moscow.gldn.net (79.104.235.215)  42.727 ms
 8  72.14.213.116 (72.14.213.116)  42.291 ms^C
Вопрос: Как указать для правила iptables несколько интерфейсов?

Лучший ответ:
Можно сделать вот так и ничего не перечислять
iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT

Худший ответ:
Можно сделать вот так и ничего не перечислять
iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
Вопрос: Как сделать доступ к подсетям филиалов через VPN?

Лучший ответ:
У ваших филиалов и сервера тоже должен быть маршрут в вашу сеть, либо source nat на сервере

Худший ответ:
пропишите в секрете айпи удаленного L2TP-филиала  и там же их сеть. пример в спойлере
тык
((локал адрес - адрес головного роутера. можете тут же прописать. (у меня прописан в профиле pptp)))
таким макаром на головном роутере маршрут появится до филиала автоматом.
хождение между этих сетей должно быть разрешено фаерволом

на филиальных роутерах вам нужно лишь 3 вещи. 
1. Настройка l2tp соединения .
2. маршрут 
  /ip route add distance=1 dst-address=172.16.34.0/24 gateway=192.168.200.2
3. разрешить хождение к сети фаерволом.