Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как получить доступ к файлу в пользовательской папке внутри рутовой в Ubuntu?

Лучший ответ:
Мне казалось, что если моя, как пользователя, папка и файлы лежат внутри чужой, то я все равно смогу иметь к ним доступ.
Возможно, это не так. Если да, то почему?
Это не так. Для того чтобы иметь какой бы то ни было доступ к файлу нужно иметь доступ 'x' к каждому каталогу в пути до этого файла. Т.е. для доступа к файлу /root/.crons/whatever нужно иметь 'x' к /root и 'x' к /root/.crons.

Худший ответ:
Здравствуйте.
Вам коллеги уже сказали, что не нужно ничего такого делать, потому что нарушается безопасность. Но если очень нужно, подумав десять раз, то можно сделать то что вы хотите.
В 199затертом году тоже возникала похожая задача. Нужно было "что то" делать, но обычные пользователи не должны были знать некоторую информацию, доступную только для root. 
Вы можете использовать возможности операционной системы Unix/Linux,  setuid - "установка ID пользователя во время выполнения".
Создайте тестовую программу, назовем её startuid.c:// startuid.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main(void)
{
   pid_t child_pid;

    printf("Real UID\t= %d\n", getuid());
    printf("Effective UID\t= %d\n", geteuid());
    printf("Real GID\t= %d\n", getgid());
    printf("Effective GID\t= %d\n", getegid());
   
   if((child_pid = fork()) < 0 )
   {
      perror("fork failure");
      exit(1);
   }

   if(child_pid == 0)
   {
      execl("/bin/ls", "ls", "-l", "/root", (char*)0);
      perror("execl() failure!\n\n");
      _exit(1);
   }
    return EXIT_SUCCESS;
}
Скомпилируйте startuid.c, и скопируйте результат в домашнюю директорию обычного пользователя, например alex, который должен будет выполнить нужную вам команду с идентификатором uid=0(root).[Unix]# ls -l
-rwxr-xr-x 1 root root 7348 Jul  2 18:19 startuid
используйте chmod для установки атрибута setuid[Unix]# chmod u+s startuid
[Unix]# ls -l
-rwsr-xr-x 1 root root 7348 Jul  2 18:19 startuid
До установки атрибута setuid, и запуска startuid от пользователя alex, выполняющий "ls -l /root" (листинг домашнего каталога пользователя root ) выдавал ошибку "Permission denied". После установки атрибута setuid, и запуска startuid вы получали список файлов в каталоге пользователя root. 
Само собой запуск "ls -l /root" это просто пример, вместо этого вы можете написать ту команду, которую вам надо выполнить обычным пользователем от рута.
Кроме того, возможно вам пригодится почитать про Sticky bit 
Удачи, и будьте осторожны.
Вопрос: Какие нужно ип ( на что патент, если можно патент, какой номер), если на сайте принимается оплата за отложенный постинг в соц сети?

Лучший ответ:
Однозначно, к юристу. Сначала с вопросом - попадаете ли Вы под требования PCI DSS. Ну а потом уж как посоветует...

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

Лучший ответ:
Можно на транзисторах собрать несколько бит энергозависимой памяти.
codeitdown.com/diy-ram-memory
Если для какого-нибудь Arduino, то купить или выпаять откуда-нибудь SPI или I2C восьминогую флешку

Худший ответ:
Один из самых элементарных на регистрах и дешифраторах. В учебниках такое есть обычно. 
Несколько микросхем регистров, дешифратор для выбора микросхем, вот и несколько бит энергозависимой памяти. Из плюсов - можно будет на нее хоть светодиоды вешать, что бы видеть состояние, что весьма наглядно.
Легко сделать на ПЛИС.
Из минусов - энергозависимость.
Выдрать флеш с SPI/I2C (наверное, даже на материнке можно найти, также есть в китайских модулях часов для ардуино). Всё общение командами, энергонезависимо. Наглядности уже такой не будет.
Да и вообще можно использовать собственную флешпамять МК (STM32) или EEPROM, это уже встроенный готовый накопитель!
Неплохо было бы уточнить необходимый объем памяти и цели её применения.
Вопрос: Существует ли программа для просмотра доступности компьютеров в сети на Android?

Лучший ответ:
Не ошибусь наверное сказав, что все системы мониторинга имеют вебморду. Пользуюсь zabbix. Легко настроить его на оповещения в WhatsApp и т.п. конечно возможно он избыточен, но если в сети свыше 30 компов, ещё как пригодится.

Худший ответ:
Если просто список компов, допустим с виндовыми шарами - ES Commander имеет браузер сети
Вопрос: Выборка каждой через 5 строк, как организовать?

Лучший ответ:
Проще всего так: select * from users where id%5=0
Но обратите внимание: пятого и двадцатого нет в выборке, потому что некоторые записи были удалены

Худший ответ:
В 8 версии MySQL появилась встроенная функция ROW_NUMBER(), для 5.7 и ниже можно использовать вот такой вариантcreate table t (
	name  varchar(255),
	value varchar(255)
);

insert into t values('name1', 'value1');
insert into t values('name2', 'value2');
insert into t values('name3', 'value3');
insert into t values('name4', 'value4');
insert into t values('name5', 'value5');
insert into t values('name6', 'value6');
insert into t values('name7', 'value7');
insert into t values('name8', 'value8');
insert into t values('name9', 'value9');
insert into t values('name10', 'value10');
insert into t values('name11', 'value11');
insert into t values('name12', 'value12');
insert into t values('name13', 'value13');
insert into t values('name14', 'value14');
insert into t values('name15', 'value15');

-- каждый 5-й
SELECT 
	num, name, value 
FROM (
	SELECT (@RN:=@RN+1) AS num, name, value 
	FROM t, (SELECT @RN:=0) AS t
) as d 
WHERE num % 5 = 0;

+------+--------+---------+
| num  | name   | value   |
+------+--------+---------+
|    5 | name5  | value5  |
|   10 | name10 | value10 |
|   15 | name15 | value15 |
+------+--------+---------+

-- каждый 3-й
SELECT 
	num, name, value 
FROM (
	SELECT (@RN:=@RN+1) AS num, name, value 
	FROM t, (SELECT @RN:=0) AS t
) as d 
WHERE num % 3 = 0;

+------+--------+---------+
| num  | name   | value   |
+------+--------+---------+
|    3 | name3  | value3  |
|    6 | name6  | value6  |
|    9 | name9  | value9  |
|   12 | name12 | value12 |
|   15 | name15 | value15 |
+------+--------+---------+
Это решение не зависит от колонки ID и удаленных элементов.
Вопрос: Какие бумаги надо заполнять работая на upwork?

Лучший ответ:
Не морочьте себе голову, нафиг бумаги, Payoneer и всё, никаких проблем.

Худший ответ:
Идешь в модуль банк/ точка/мож еще какие нагуглишь. Идешь или звонишь туда там тебе все раскажут. Так и говори работаю на апворке хочу в белую работать(тебе все раскажут и сделают все чтоб ты мог снять деньги откроют счет скажут что надо от тебя).
Вопрос: Переадресация bitrix, со старых ЧПУ на новые, как настроить?

Лучший ответ:
В urlewrite.php нужно добавить старый формат адреса и создать страницу, которая будет обрабатывать такие запросы. На этой странице при помощи CComponentEngine::ParseComponentPath() получайте элемент инфоблока по ID и отправляйте на правильный адрес.
Вместо страницы можно сделать полноценный комплексный компонент, который после настройки через интерфейс сам пропишется в urlrewrite.php.

Худший ответ:
www.intervolga.ru/blog/bitrix/nastraivaem-chpu-fil...
плюс-если вы-интернет-магазин-не забывайте еще и о (combax)-умный фильтр для формирования ЧПУ-будет очень полезен для SEO
Вопрос: Не совпадают pt фотошопа и верстки. Как исправить?

Лучший ответ:
Разный рендеринг шрифта в браузере и в фотошопе.
Попробуйте pixelperfect плагин для браузера - накладывание полупрозрачный макет поверх сайта и смотрите отличия. Можно будет оценить разницу и подогнать.
Ну и pt имхо не стоит использовать.
px / em / rem
graphicdesign.stackexchange.com/questions/45205/12...
reeddesign.co.uk/test/points-pixels.html

Худший ответ:
Возможно со шрифтом «поиграли», посмотрите остальные параметры шрифта в меню 
window - character.
Вопрос: Почему не получаю атрибут Href?

Лучший ответ:
var пропустили. Наверное работаете в строгом режиме.var elementClick = $(this).attr("href");
var destination = $(elementClick).offset().top;

Худший ответ:
Проблема не в том, что вы значение атрибута не можете получить, а в том, что переменная elementClick не существует. Проверьте код на опечатки, добавьте var перед переменными.
Вопрос: TeamCity и авто деплой?

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

Худший ответ:
Посмотрите в настройках билд-конфигурации — там есть раздел Triggers.
Там у вас добавлен VCS триггер, поэтому при каждом изменении запускается сборка.
Можно вообще этот триггер выключить, тогда останется вариант ручного запуска сборки, либо добавьте правила для триггера, подробнее о правилах (для версии 10 и 2017.x) тут.
Вопрос: Возможно ли создать сайт « поиск авиабилетов » на Vue или ...?

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

Худший ответ:
возможно ли создать сайт авиабилетов на Vue
vue - это один из инструментов в этой задаче. Тут вероятно понадобится api на backend на каком-нибудь yii2(3) или laravel. Понадобятся уверенные знания html, css, js, npm, webpack, composer.
А vue будет решать лишь часть задач.
Ваш вопрос похож на "можно ли из метала построить ракету". Как бы и да и нет. Одного метала мало будет, если надо, что бы полетела.
В случае с авиабилетами прийдется видимо еще ознакомится с api сервисов, которые дают данные. Понять что такое json и/или xml. Вероятно не обойдется без ajax. 
Я бы сказал, что это самый плохой вариант для изучения чего-то. Так как он весьма не прост и требует опыта и стека достаточно серьезного. Тренироваться лучше на "кошках" ))))
Вопрос: Как убрать горизонтальный скролл на адаптиве?

Лучший ответ:
Предположение Бабушки Ванги 1:
У body есть padding или border, тогда нужно добавить box-sizing: border-box;Предположение Бабушки Ванги 2:
Для body поставить overflow-x: hidden;

Худший ответ:
Все само стало встраиваться под экраны меньшего размера, без скролла
Вопрос: Какую базовую структуру (jade + sass) вы используете для развертывания своих проектов?

Лучший ответ:
Посмотри на достаточно популярные проекты:
1. https://github.com/CSSSR/csssr-project-template
2. https://github.com/tars/tars - от комадны 2GIS, в их блоге на хабре есть статьи по нему.

Худший ответ:
Моя структура:
_/components/sass/
style.sass:
_variables.sass
_mixins.sass
_base.sass
_modules.sass
_/components/pug/
_/components/js/
Вопрос: Как создать RAID1 без потери данных?

Лучший ответ:
Зависит от того  какими средствами вы собираетесь делать RAID.
В случае mdadm -вот например.
Тут есть один момент - любая работа с дисками, разделами, рэйдом это потенциально опасные операции способные уничтожить ваши данные.
А от потери данных помогает только одно средство - бэкап!.

Худший ответ:
Если материнка поддерживает хардовый рэйд, либо имеется контроллер - лучше сделать такой, у меня предвзятое отношение к софтовым. Делаем образ системы -> заходим в конфигуратор контроллера -> создаём массив - накатываем образ. Обычно без проблем это проходит. Если ссд pci-e, то обычно есть возможность поковыряться в конфигах самого ссд и увидеть что, например, терабайтник состоит из четырёх дисков по 256 Гб объединённых в нулевой массив (личный опыт) и есть возможность создать даже 10 массив.
Вопрос: Можно ли сделать из нержавеющей стали магнит? Электромагнит?

Лучший ответ:
Если магнитом не берется - то бесполезно что-то мотать. Хотя катушка сама по себе создаст некоторое магнитное поле. Бывают марки нержавеющей стали восприимчивые к магнитному полю, нужно использовать их. Например Сталь марки AISI 430

Худший ответ:
Все зависит от состава стали.  Лучше конечно обычное железо без примесей.
Вопрос: Как Вы защищаете свои сайты на nginx?

Лучший ответ:
Мнение: пускайте траффик через CloudFlare – они умеют фильтровать часть угроз.
Прочие угрозы и дыры в безопасности существуют на уровне PHP и движков и веб-сервером почти не фильтруются. Можно анализировать логи на типичные паттерны скажем, fail2ban'ом.

Худший ответ:
Можно сурикату поюзать
Вопрос: Когда Google начинает индексировать сайт?

Лучший ответ:
Можешь воспользоваться Google Search Console.
И в разделе Смотреть как GoogleBot, добавить ссылки на те страницы которые нужно сканировать.
Старые результаты поиска ещё останутся, всё зависит от маштаба вашего сайта.

Худший ответ:
Залей свежую карту сайта в google webmaster, и за день полтора обновит
Вопрос: Какой css код более правильный?

Лучший ответ:
Оба плохи из-за фиксированных размеров как минимум

Худший ответ:
Во втором варианте вы сделали крохотный шаг в сторону БЭМ. Продолжайте идти туда (https://ru.bem.info/)
Вопрос: Что такое org, и вопросы по нему?

Лучший ответ:
Когда компилятор превращает команды (и данные) в бинарный код, он вычисляет смещения команд и данных от начала сегмента. По умолчанию он считает, что блок загружается в самое начало сегмента и начинает счет с 0.
Например, если первая команда занимает 3 байта, вторая - 2, третья - 4, то смещение первых четырех в сегменте кода будет [0, 3, 5, 9] соответственно.
Директива ORG увеличивает этот виртуальный счетчик на то значение. которое указано в ней.
Самый простой пример: для COM-файлов сегмент кода загружается в ОЗУ не со смещения 0, а со смещения 256 от начала сегмента, выделенного программе. Соответственно, при написании COM-файла, нужно сегмент кода предварять ORG 256, чтобы он понимал, что позиции команд (из примера выше) в сегменте при запуске программы будут - [256, 259, 261, 265].

Худший ответ:
По первым пунктам уже ответили.сколько и чего между org 500 org 600,org 700?
Если это сегмент кода .TEXT или инициализированных данных .DATA, то транслятор генерирует нули или 0x90 (т.е. NOP) в соответствующем месте бинарника, который ляжет в память по этим адресам.
Если это сегмент .BSS (неинициализированные данные), то это просто некое место в памяти, куда не загружается ничего при загрузке программы.
Если это обычный исполнимый файл под ОС (например *.EXE), то за содержимое этой области отвечает ОС. Linux, например, выдает всегда очищенные страницы (заполненные нулем). Windows тоже.
Если это сам загрузчик ОС, то перед его загрузкой никто почистить память не может, поэтому он должен делать это сам.При загрузке с диска, винчестера, дискеты в реальном времени вся доступная ОЗУ память чистая можно использовать?
В реальном режиме x86 адресное пространство в пределах (единственно доступного) первого мегабайта строго разграничено и используется для множества различных структур данных BIOS, для проброса доступа к видеопамяти, к ROM самого BIOS и других железяк.
Сейчас сходу не найду ссылку на подробную карту адресного пространства в реальном режиме.
Для начала можно глянуть сюда.Тут поподробнее.
Как видно, доступное для ОС пространство лежит от 0070:0000 до A000:0000.
Вопрос: Bitrix типовой обмен с 1С цены склад заказы?

Лучший ответ:
Про то, как отлаживать импорт из 1С хорошо сказано здесь: https://mrcappuccino.ru/blog/post/delete-1c-bx-imp...
А по сабжу, какая версия БУС? Какая версия модуля обмена? Теги версий узлов XML есть в выгрузке?

Худший ответ:
Вам необходимо проверить выгружаются ли цены и остатки. Для этого можете сделать выгрузку в файлы и посмотрите что в них. Если информации о ценах и товарах там нету, то проверьте типовой договор по которому выгружаются цены и другие параметры выгрузки.
https://www.cs-cart.ru/docs/4.1.x/rus_build_pack/1...
Вопрос: Какой настоящий гигабитный маршрутизатор купить?

Лучший ответ:
Большинство топовых моделей имеют достаточно мощный процессор чтобы держать PPoE на гигабит. Вопрос лишь в количестве пакетов. Для домашней сети без претензий потянет любой из топовых zixel, asus. tp-link. 
Да и имея гигабитный канал наивно думать что качаться все будет на гигабите. Как правило скорости будут до ста мегабит в интернет, лишь в редких случаях больше.а также по wi-fi 2.4 и 5 мбит 100. Но при этом наличие ас не очень критичноНу без ac 100мегабит не реально, да и с ним не факт.

Худший ответ:
Ну вообще маршрутизаторы выбираются не так. Их производительность измеряется в пакетах в секунду, а не мегабитах. На IPTV одни пакеты, http другие, торренты третьи. Кроме того производительность маршрутизатора сильно зависит от фич, через которые идет трафик. В даташитах пишут обычно производительность чистой маршрутизации, не учитывают реальные сценарии - нат, туннели.
Вопрос: Стоит ли таскать за собой WP c плагинами и прочим от проекта к проекту?

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

Худший ответ:
Если делать например сайти по одной тематике (магазины или лендинги или блоги), если разнобой нет .... или для каждой тематики своя папка.
Вопрос: Для чего на сайте Apple заголовки вставлены изображением?

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

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

Лучший ответ:
Эти данные, которые ввёл пользователь — они важны для вас? Если да, то, наверное, лучше отправлять их на сервер и сохранять в БД, используя механизм сессий. А если не важны для вас, но важны/удобны для пользователя, то посмотрите в сторону local storage. Ссылка 1 Ссылка 2

Худший ответ:
Сессии. Для PHP это например $_SESSION.  Если бекенд у вас JS, то тут возможны варианты.
Кстати почитайте про SPA.
Вопрос: Пойдет ли 16 gb ноуту acer e5 571g-52q4?

Лучший ответ:
В Вашем примере указана память CORSAIR CMSX8GX3M1A1600C10 DDR3, которая не подойдет в Ваш ноутбук. Нужна память не DDR3, а DDR3L.
Подойдет память любой фирмы с параметрами:
- DDR3L 1600 МГц.
- Общий объем DDR до 16Gb.

Худший ответ:
Память Acer Aspire E5-571G-52Q4
    Объем (Mb): 4096
    Тип: DDR3-1600
    Расширение памяти до (Mb): 16384
Вопрос: Можно ли назначать переменные с помощью итераций FOR?

Лучший ответ:
chars = 'abcdefgh'
for char in chars:
    globals()[char] = 1
    
print(a, b, c)
Вообще-то это дрянная идея.

Худший ответ:
именнованные переменные существуют только в исходном тексте программы. после компиляции их нет.
мож поиграться с хеш-таблицей от  имени каждой "переменной" ??
Вопрос: Можно ли смешивать angular и rails?

Лучший ответ:
Смешивать, но не взбалтывать.
rails отдает базовый лэйаут и нужные данные для старта приложения (ключи, авторизация).
Остальное уже angular должен делать.
Имхо, partials + angular = плохая затея.

Худший ответ:
Я тоже не сторонник болтушки. Хочешь динамичный фронт, вынеси его. А на рельсе АПИ делай, тем более плюшечка под апи уже есть в 5х)
Вопрос: Как удалить невидимые пробелы из строки в php?

Лучший ответ:
В пресловутом BOM, конечно. 
При любых проблемах с "невидимыми" символами надо использовать urlencode()
после того как на месте невидимых символов выведет что-то вроде %EF%BB%BF, тупо заменить проценты на слеши, и вырезать из начала строкиif(substr($str, 0, 3) == "\xEF\xBB\xBF") {
    $str = substr($str, 3);
}

Худший ответ:
ak_wi, 
Многие программы добавляют байты 0xEF, 0xBB, 0xBF в начале любого документа, сохраняемого как UTF-8. Это метка порядка байтов Юникода (англ. Byte Order Mark, BOM), также её часто называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature)./**
 * Удалить BOM из строки
 * @param string $str - исходная строка
 * @return string $str - строка без BOM
 */
function removeBOM($str="") {
    if(substr($str, 0, 3) == pack('CCC', 0xef, 0xbb, 0xbf)) {
        $str = substr($str, 3);
    }
    return $str;
}

// Строка, например, полученная при помощи file_get_contents()
$str = 'Строка с BOM';
 
// Строка без BOM
$str = removeBOM($str);
 
echo $str;Решений множество
Вопрос: Как сделать необязательный участок в регулярном выражение preg_replace_callback?

Лучший ответ:
Игнорирование - ?
Почему бы не сделать#\\[authis\\](.*?)(\\[else\\](.*?))?\\[/authis\\]#is
Но учтите, что я добавил скобки, так что $matches[...] нужно пересмотреть.UPD https://regex101.com/r/hd6CCL/1

Худший ответ:
(участок)*
Вопрос: Как сделать плашку с цветами чтобы при наведении менялась картинка на слайдере?

Лучший ответ:
Можно вообще сделать цвет для background, а флакон png
Или так https://jsfiddle.net/joomla/tu8nc3xa/ ;)

Худший ответ:
посмотри в слайдере колбек функции. полюбому есть переход к слайду по номеру. ну и вешай на эти кнопки эти переходы на нужный слайд
Вопрос: Нет звука в Ubuntu 16.04. Что делать?

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

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

Лучший ответ:
это так не работает. ты в любом случае должен знать все. и float и flex и inline-block и даже display: table. от того что ты сетку сделаешь по flex - это не значт что в других местах в проекте тебе не придется применить float. или еще чего.

Худший ответ:
Стоит его изучать, что бы потом забыть и никогда не пользоваться :)
Понимать принципы работы Вы должны независимо от того, насколько это свойство полезное или нет... Для вёрстки "по живому" проекту - однозначно никаких флоатов или сократить их кол-во до минимально возможного. Есть масса других вариантов выровнять элементы, и если флоат - это не обтекание текстом картинки, в 95% случаев, это говорит о том, что верстальщик просто не знает (читай не умеет) более удачных решений.
Кстати, Float и FlexBox -- это кардинально разные вещи, по природе своей. ФлексБокс - это отображение/распределение содержимого, а флоат - это плавающие элементы, которые никак не растягиваются и особо никак не распределяются, и уж тем более не масштабируются автоматически.
Вопрос: Как верстать сайты под WordPress?

Лучший ответ:
Подключение к чему? Вордпрес отдает страничку, а что будет на страничке решать вам. Vue легко позволяет использовать его без вебпака, как раз для таких случаев. 
Я вообще делал наоборот, генерил статику с помощью Vue SSR (Nuxt), а вордпресс использовал только в качестве бэкенда через Wordpress REST API. 
Минус в том, что для первой загрузки создаются статичные файлы и их надо заново создавать, если контент изменился.

Худший ответ:
Возможно.
Получится html/css/jquery/js/vue или html/css/js/vue если удастся заменить jQuery.
Хотя мне сложно представить плюсы от прикручивания vue к вордпрессу.
Вопрос: Как центрировать DIV по вертикали в Bootstrap?

Лучший ответ:
Есть 2 современных способа это сделать динамически
1 - flexboxheader {
  height: 100vh;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
2 - transform:header {
  height: 100vh;
  min-height: 600px;
  position:relative
}
.container-fluid {
  left:0;
  width:100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
3 - display: table и в нем display:table-cell; vertical-align:middle;
остальные требуют знать заранее высоту

Худший ответ:
Может быть такой вариант подойдёт codepen.io/AMBase/pen/ggeXdB
Вопрос: Что можно сделать чтобы сократить код?

Лучший ответ:
var lol = eval(calc);
      mat = lol;
Почему бы не:mat = eval(calc);
? Дальше-то эта переменная всё равно не юзается. И замените 9 else if на один switch.
Ну и имена переменных неинформативны.

Худший ответ:
Поддерживаю ответивших выше и от себя немного добавлю, определяйте переменные вот так(неопределенные в конце):var marr = ["калькулятор", "дизайн", "попугай", "наоборот", "кто такой"],
    timerId = 0,
    fform = " квадрат",
    i,
    mat,
    modde; // зачем пустая строка?