pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как правильно делать бекапы базы Postgresql на продашн сервере?

Лучший ответ: По крону, примерно раз в день?
Можно и чаще, смотря, насколько чувствительно будет потерять данные между бэкапами. Если совсем-совсем чувствительно, нужно задуматься о поднятии реплики или о постоянном бэкапе (используя WAL-журналы).И потом их закачивать на aws и dropbox?
Хоть куда, но обязательно куда-нибудь закачивать на совершенно отдельный сервер/сервис, с проверкой, что всё успешно закачалось.
И лучше - на 2 разных хранилища. Может, на мыло тоже отправлять на всякий случай?
Ну, чисто факультативно можно, хотя смысла в этом я лично не вижу, если вы закачиваете бэкап на другие сервера/сервисы.
Т.е. на мыло вы можете слать, а можете и не слать, но закачивать бэкап на 1-2 других сервера/сервиса - необходимо.
Из личного опыта. Тру-админы, просьба поправить, если где-то косячу.
Написал bash-скрипт, который запускаю по крону раз в 3 часа. Скриптделает бэкап обычным pg_dump, в несколько потоков, в формате папки (--format=d)проводит тестовое восстановление бэкапа. Чисто в лоб - завершится ли pg_restore с нулевым кодом возвратасжимает бэкап БД и файлов в архивотправляет архив на отдельное ftp-хранилищеотправляет архив на ещё одно ftp-хранилищеотправляет краткий лог всего процесса (с метками времени) в корпоративный slack
Пока храню всё, не вычищая старого (с местом проблем нет). В идеале, видимо, нужно хранить по схемеN (где N - несколько десятков) последних4-6 последних еженедельных2-4 последних ежемесячных.

Худший ответ: Зависит от:
0) какой промежуток времени вам допустимо потерять при восстановлении
1) сколько места вы можете выделить для хранения бекапов
2) какой запас времени вы хотите сохранять для возможности восстановить данные когда-то из более далёкого прошлогоМожет, на мыло тоже отправлять на всякий случай?
Как через почту пропихнуть даже мелкие бекапы в десяток гигабайт?
Или вы про совсем крошечные базы спрашиваете?
Шифровать или нет - зависит от требований к безопасности и оценке риска в случае disaster recovery не восстановить ключ шифрования.
Для хорошего point in time recovery - pg_basebackup + pg_receivexlog (archive_command только если уверены, что можете её сделать нормально). Или что-то, работающее поверх них.
Отдельный случай pitr с хранением в амазоне - см. вполне внятный wal-e
Если pitr не обязателен, то pg_dump делать. Да, лучше архивировать, сжимаются дампы весьма неплохо.
Например, политика бекапа из практики: ежедневный pg_dumpall, хранятся за 1 число каждого месяца на протяжении года плюс 8 дней предыдущих ежедневных.
Что-то ещё - регулярно пробовать восстановить и запустить базу из бекапа.
Вопрос: % от знакомства с клиентом, или спасибо хватит?

Лучший ответ: Скажите просто "спасибо" и в следующий раз этот партнер порекомендует другого своего разработчика своим клиентам, а вы не получите еще один заказ.
Партнерские отношения на то и партнерские, что оба остаетесь в выигрыше — вы получаете нового клиента, а ваш партнер получает некий %.
Вас рекламируют, причем заведомо бесплатно. Многие фрилансеры тратят огромные деньги на про-аккаунты и продвижение своих услуг. Причем про-аккаунт не гарантирует готовых клиентов. А тут готовый клиент + концепция "заплати, сколько не жалко" (утрированно).

Худший ответ: вообщем "партнер" посоветовал меня как разработчика сайта, взамен просит % от заказа...
В чем проблема? Вам этот заказ лишний? Добавьте "интерес" партнера в цену заказа и будьте счастливы.
Вопрос: Как запретить ввод данных в колонку в sql таблице?

Лучший ответ: Ваша субд не умеет generated columns? Например, mysql умеет
В более общем случае - добавляете триггер, в котором высчитываете новое значение и таким образом игнорируете все попытки его исправить вручную.

Худший ответ: в мускуле только правами (GRANT INSERT)
или триггером чекать  / генерировать из других
Вопрос: Как получить разницу между датами в javascript?

Лучший ответ: Используйте momentjs — там все есть.

Худший ответ: Метод объекта Date setHours() возвращает число: миллисекунды. Поэтому вместо current = current.setHours(21) сделайте просто current.setHours(21)
Вопрос: Как использовать не стандартные шрифты в html?

Лучший ответ: Вы же понимаете, что для отображения шрифта нужен файл шрифта? И если у пользователя его нет, его нужно загружать.
Да, загрузка обязательна. Можно подгружать оптимизированные шрифты с поддержкой только нужных языков из  Google Fonts, или обрезать шрифт самостоятельно Белкой

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

Лучший ответ: Тут совершенно не важно какой бэкеэнд, сложности будут одинаковые. 
У vue.js порог не большой, за пару дней можно разобраться

Худший ответ: Без разницы. Но Vue легче.
Вопрос: В файл1 удалить строки из файл2?

Лучший ответ: Как в файл1 содержащим строки вида почта:имя:фамилия:возраст удалить те строки которые содержатся в файл2 где указана просто почтаgrep -f file2.txt -v file1.txt >output.txt

Худший ответ: join -v 1 -t: <(sort файл1) <(sort файл2)
вывод будет лексикографически отсортирован.man joinman sort
Вопрос: Как практиковаться в back-end, если нуб в front-end?

Лучший ответ: Как практиковаться в back-end
Частая бэкендская задача:
Берём данные с одного апи, пишем адаптер и отправляем на другой. Простенькое - оба апи работают с json и примерно похожи. Посложнее - один отдаёт xml, другой просит json. Еще сложнее они имеют жесткие лимиты на количество запросов  и единственный метод обойти завести 10-100 акков в каждом сервисе и распараллелить процесс + приоритет заданий. Еще частый кейс разница в логике реализации, то что у одних отдаётся в одном запросе, другим заливается десятком разных.
api сейчас есть у большинства более менее крупных сервисов, так что можешь выбрать себе по вкусу.

Худший ответ: Разберись в основном с html и вкратце с сss, а в Js обязательно что тебе нужно так ето как работает AJAX,callback,promise и замыканиями еще можно накатить.
Вопрос: Какая CMS лучше подойдет для сайта?

Лучший ответ: WordPress 4ever для таких запросов.
А вообще на вкус и цвет ***галища нет

Худший ответ: Лучше Битрикса - только Битрикс! Выбирайте эту CMS, не пожалеете!
Вопрос: Существуют ли интерактивные курсы по Linux?

Лучший ответ: www.linuxfromscratch.org - самый интерактивный курс, с полным погружением.

Худший ответ: Попробуй  linuxacademy.com
Вопрос: Что делать, если не справляешься со своими обязанностями?

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

Худший ответ: Поддерживаю вариант "поговорить с менеджером/тимлидом", всё-таки это их забота, чтобы у разработчиков были задачи, соответствующие их уровню.
Конечно, если проект не особо важный, и есть возможность в нём год ковыряться - то это отличная возможность получить опыт.
Если нет, то рано или поздно кто-то ведь будет контролировать промежуточные результаты и решать, что делать с этим проектом.
> просто уйти 
- как-то глупо, не обсудив предварительно толком ситуацию на проекте.
Вопрос: Как прикрутить Telegram к сайту?

Лучший ответ: https://habrahabr.ru/post/302056/
Берите и дорабатывайте или переделывайте.
Решение уже готово, зачем велосипедить.

Худший ответ: если вам нужен виджет телеграмма на сайт, то вот https://tgwidget.com/
Вопрос: OpenGL или DirectX?

Лучший ответ: OpenGL и DirectX нельзя сравнивать, так как первый только для графики, а второй для всего (Direct3D для графики)
OpenGL
+ крассплатформенный (десктоп, мобайл, веб)
- для работы со звуком, вводом, сетью нужно искать соответствующие инструменты. Может отразиться на времени разработки
DirectX 
- только Windows, xBox и т.п.
+ все инструменты в одном виде, готовое взял и пользуйся
Как по мне, создавать движки в наше время дело дорогостоящее и неоправданное, так как есть много готовых вариантов. Среди них немало поддерживают D3D + OpenGL, многие только OpenGL. Так что в плане охвата платформ OpenGL лучше.
То есть однозначно выбрать нельзя, нужно учитывать какие платформы вам нужны и как рассчитываете силы/время. Может проще и надежнее будет взять UE4 или ему подобный движок. На крайних случай Urho3D

Худший ответ: Зависит от ваших текущих знаний и пожеланий, особенно от того, насколько вы готовы разбираться с каждой их технологий.
OpenGL это кроссплатформенное API, раньше было не очень удобно начинать работу с ним на Винде, сейчас доступны различные библиотеки (GLEW, GLFW) и это больше не проблема.
DirectX возможно даст вам больше возможностей, но там много заморочек с Windows-специфичными вещами, т.к. DirectX работает через технологию COM. Поначалу будет непривычно.
Я бы на вашем месте начал с OpenGL и посматривал на Vulkan. Знание OpenGL полезно ещё тем, что проще будет использовать родственные API, например WebGL, если захотите писать внутрибраузерный код.
Вопрос: Как правильно спроектировать данную «махину»?

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

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

Лучший ответ: Можно сделать цепочку преследования: к случайной точке тянется одна, к ней другая, и т.д., а последняя – муха.
Очередную точку ставить на плоскости случайно, в любом месте внутри допустимой области. Эта точка – цель, к которой стремится следующая, невидимая точка: каждый следующий кадр её координаты изменяются на k * векторИзТекущегоПоложения-в-Цель:x = x + k * (xTarget - x);
y = y + k * (yTarget - y);
Так «преследователь» замедляется, по мере приближения к цели, никогда её не достигая. 
Эта невидимая точка – не одна. К ней, как к цели, стремится следующая. К той ещё одна. Наконец, сама муха по этому закону стремится к хвосту этой цепи - очередной точке.
Чем больше звеньев в такой цепи, тем плавнее получается кривая. При приближении мухи к цели ближе, чем на D, генерится следующая случайная цель.
Сделал рабочий пример.
Можно поменять алгоритм и сделать, скажем, линейную скорость постоянной. Или случайно варьировать параметры k и D – от этого поменяется скорость и траектория от плавной ближе к ломаной.

Худший ответ: помимо сплайнов, есть еще много других видов фигур. Простейший вариант - задавайте точку назначения рандомно и для плавности движения используйте формулу newpos=K*pos+(1-K)posz, где pos - текущая позиция в векторной форме, posz - заданная позиция. Чем больше К, тем более плавными будут кривые, но без забросов. Можно усложнить для красоты, но тогда придется разбираться в дифф.урах.
Вопрос: В чём может быть ошибка?

Лучший ответ: Тип user_id_phone - это, видимо, int? Если так, то его надо приводить к str, например
str(user_id_phone)

Худший ответ: curr.execute(f"UPDATE {БАЗА данных} SET location = '1' WHERE id = 1")
Вопрос: Для чего в БЭМ т.н. «первый уровень вложенности», то есть «блок__элемент»?

Лучший ответ: БЭМ про независимость блоков вот собственно и все. Стоит ли присоединиться к секте?  Каждый решает сам. Любой мелкий сайт / ленд или что-то крупнее может очень комфортно жить без бема это факт.
Сам я в какой-то момент решил, что лучше иметь какую-то методологию, а серьезных альтернатив у бема сегодня нет, пришлось вливаться. Что касается избыточности кода, классов там и всякого такого, то крутые чуваки ручками бем и не пишут, они используют полный стек от яндекса. Я просто написал обертку для pug и сделал свою gulp сборку.

Худший ответ: Подскажите, для чего в БЭМ т.н. "первый уровень вложенности", то есть "блок__элемент"?
"блок__элемент" отражает только принадлежность элемента к блоку и не никак не относится к вложенности.Зачем весь этот цирк с двойным подчеркиванием и якобы вложенностью, но запретом на ее использование?
Вложенность не запрещена и реализуется на уровне HTML т.е. так где мы мы естественно можем отразить структуру, поподробнее в посте: Вкладывание элементов в элементы и другие тонкости и ответ на вопрос: Почему нежелательно использовать вложенные селекторы?.А для чего вводить двойное подчеркивание, если элемент может быть с указанным родителем в качестве модификатора?
В разделе ответов про Блоки и элементы можно найти необходимые уточнения, основная информация тут.Вопрос почему кодеры так активно кричат "бэм это хорошо", если достаточно было сказать "ребята, научитесь УМНО пользоваться вложенностью", дескать каждый уровень вложенности это как золото, их нельзя делать 22, максимум 2 или 3??
Выглядит риторически, но отмечу, что если действительно разобраться в методологии можно будет ответить и на этот вопрос, ответ будет индивидуальным.ну то есть - зачем каждому элементу писать модификатор, отказывая себе во вложенности, если вложенность тут очевидна?
А если делать все равно вложенность, то на какой долбаться с ней без вложенности?
Хотелось бы услышать объяснения без ссылок на "какую-то там статью про бэм" в которой те, кто сломали себе мозг, ломают его остальным. 
Без ссылок не обойтись, см. выше, но они подобраны исключительно точно по вашим вопросам и содержат необходимые объяснения.
Вопрос: Сплошные php. Как запустить сайт на локальном сервере?

Лучший ответ: Создать БД с правильным названием мало - там структуру таблиц нужно восстановить, и тестовые данные в нее сохранить. Если структуры БД нет - выкинуть и забыть.

Худший ответ: Найти шаблоны html будет для вас не самая главная проблема! Как уже написал grabbee , без бд у вас все равно ничего не выйдет.. Так что выхода тут 2 - либо найти разраба, отбить ему руки за его творение и узнать как развернуть его чудо cms. Либо просто забить на нее. Честно не понимаю действительное где вы ее откопали. Если это cms заказчика, то у него на хостинге она в развернутом виде, надо брать оттуда. А если побаловаться хотите, возьмите любую нормальную cms и не мучайте себя. Больше вариантов у меня нет!
Вопрос: Как реализовать защиту приложения по его «железу» и дальнейшей авторизацией на сервере?

Лучший ответ: Вы ведь новости читаете, крэк группы выкладывают свои труды регулярно для новинок ИГР, Софта.
.net и c/c++/asm откроют за пару часов при желании.
К железу привязываться - звонки с жалобами, HDD/CPU/Motherboard заменил и программа не запускается. Отломают быстрее чем напишите.
Всю важную проверку на сервер, клиент при желании сломает все.
Логин-пароль должно хватать, или думать что нить, но при росте популярности обойдут.
VM - vmware есть настройки, обнаружение VM сработает если вы сами его напишите или не слишком распространенный способ использовать будите.
Клиент не должен подключаться к партнеру на прямую, узнают через wireshark/netstat/... ip, и вас обойдут в этой цепи.
Данные шифровать через https, проблем не будет, firewall пропустит.
Флаги установки программы на ПК обходят быстро, снимают снимок состояния ПК, ставят ваше ПО, удаляют его, делают еще 1 снимок. Сравниваются 2 снимка, находят флаг присутствия установки программы. У MS такая утилита даже есть, название забыл.
Хочется защиты - используйте виртуальные машины (~VMProtec), квалификация средняя и выше нужна для их взлома.

Худший ответ: Создавайте трехзвеньевую структуру, и реализуйте всю бизнес-логику у себя на сервере, клиент просто для просмотра. Как пример Diablo 3, все реализовано на сервере близардов, сама игра лишь рисует данные полученные от сервера, как итог, никто и не ломал, нет смысла.
Вопрос: Какой framework выбрать для обучения студентов?

Лучший ответ: Если бы у нас на курсе спрашивали, многие бы выбрали laravel
Сам пощупал несколько php фреймворков и остался на laravel, как и многие однокурсники

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

Лучший ответ: только покупать ещё один коммутатор на недостающее + n количество портов.

Худший ответ: При расширении парка оборудования прикидывайте теоретическую возможность роста количества узлов.
Например, сейчас хотят еще +11 камер подключить, потому что появился бюджет на них.
Но, допустим, посмотрев на планировку, понимаем, что могут запросить еще +10 при следующем поднятии этого вопроса. Сразу считайте порты на это расширение. Если не знаете, какое будет следующее расширение, то лучше добавить +10% портов к реально подключенным узлам прозапас.
Вопрос: Как посмотреть конфигурацию сервера на CentOS?

Лучший ответ: после установки граф. оболочки Ghome
На сервер? Зачем? Какой смысл в этом шаге - который какого хрема вечно делают все мимопроходил? 0_оВопрос: что делать с DHCP-сервером?
Нанять Админа.

Худший ответ: Saenara,
Борис Сёмов,
ТыжСисАдмин,
Всем спасибо за отсутствие советов и за объяснение нюансов - проблема решилась банальной yum install dhcp, то бишь переустановкой DHCP сервера - появился конфигурационный файл и все требуемые сети/настройки. Теперь буду разбираться в нюансах.
И да, вопрос про просмотр конфигурации всего сервера остаётся открытым.
Вопрос: Можно ли как-то динамически менять подключаемую библиотеку в c#?

Лучший ответ: www.vr-online.ru/content/c-plagin-za-5-sekund-3890
https://ru.stackoverflow.com/questions/428055/Сист...
msugvnua000.web710.discountasp.net/Posts/Details/3477

Худший ответ: www.vr-online.ru/content/c-plagin-za-5-sekund-3890
https://ru.stackoverflow.com/questions/428055/Сист...
msugvnua000.web710.discountasp.net/Posts/Details/3477
Вопрос: Как хранить краткосрочные данные?

Лучший ответ: Использование SQL, NoSQL и переменных в памяти очень зависит от конкретного случая!!!
SQL используется если вам нужны выборки данных в стиле SQL - например хитрые Join'ы c нескольких страниц.
NoSQL используется для оперативного хранения каких-то данных. Например у вас осуществляются какие-то активные простые табличные операции, но их очень много.
Память - в принципе тоже самое что и NoSQL. Разница лишь в том, что в памяти у вас одно приложение -> одна область памяти. SQL и NoSQL могут обслуживать несколько инстансов сервера (несколько серверов).прогер сказал, что я идиот
Идиотизм - взять NoSQL, а потом начать на ноде запиливать в него функционал SQL, чем зачастую народ и извращается.

Худший ответ: редис / тарантул / аэроспайк / другое хранилище в памяти подходящее под задачу
проблема с хранением в памяти процесса - такое решение не маштабируемо, стоит запустить 2й процесс ноды, и все, у Вас будет рассинхрон данных
Вопрос: Зачем нужны callback функции?

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

Худший ответ: В данном случае - разницы никакой.
Если нужно будет устанавливать разные обработчики для данных - появится преимущество.
То есть если будут вызовы:getInput({ name: 'Rich', speciality: 'JavaScript' }, logStuff);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logOther);
getInput({ name: 'Rich', speciality: 'JavaScript' }, logToDisk);
Имхо в данном случае это не совсем callback, это просто передача функции обработки как аргумента.
Callback, это когда вы вызываете какой-то метод, который когда-нибудь (через несколько секунд например) должен вызывать вашу функцию с результатом.
Вопрос: Как в fancyBox увеличивать картинки только конкретного блока?

Лучший ответ: Раньше это делалось через указание группrel="gallery1"
для ссылок

Худший ответ: Игорь Плотников, Вам уже не актуально наверное, но тем кто зайдет - используйте не rel а data-fancybox-group
В качестве примера приведу функцию, выводящую все прикрепленные к записи картинкиfunction get_estate_photos($post_id){ ?>
<p>
<?php
	$images = get_attached_media('image',$post_id );
	foreach ($images as $image) {	echo'<a class="fancybox" href="'.$image->guid.'" data-fancybox-group="images_'.$post_id.'" title=""><img class="estate_img" src="'.$image->guid.'" alt="" /></a>';	} ?>
</p>
<?php }
Вопрос: Javascript: как заменить href на onclick?

Лучший ответ: Говорят, в хорошем вопросе есть половина ответа. Ваш вопрос - идеальный. Вы сами на него ответили.div_innerHTML += "<p><a onclick=\"window.open('ссылка')\">Подробнее...</a></p>";

Худший ответ: есть еще один способ:<a href="javascript:alert()">Ссылка</a>
Вопрос: Как зафиксировать только одно событие, а остальные проигнорировать?

Лучший ответ: Просто как вариант:function listener() {
  console.log('This message will get logged only once');
  Element.removeEventListener(event, listener);
};
    
Element.addEventListener(event, listener);

Худший ответ: stopImmediatePropagation,
upd: не дочитал постановку, в твоем случае я бы рекомендовал использовать евенты вроде window.onunload т.е. при покидании страницы,
либо вариант 2 - таймауты
каждый раз при изменении поля запуская таймаут секунд на 20 например и перезапускай его при повторных событиях, а в случае срабатывания отправляй метрику
Вопрос: Как реассемблировать исполняемый .exe file?

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

Худший ответ: боюсь вас разочаровать, но реассемблирование как таковое для сколь-нибудь крупных бинарников на практике не применяется.  поскольку для этого потребуется дизассемблировать полностью корректно весь файл, что было бы слишком трудоёмко.  
если у вас изменение небольшое, проще будет найти нужное место отладчиком/дизассемблером и запатчить прямо в бинарнике.
Вопрос: Существуют ли реальные конкуренты на сегодняшний день у 1С-Битрикс?

Лучший ответ: Битрикс - говно. Лучше все, что угодно.

Худший ответ: Тема очень холиварная. Но вот мое имхо: мне не разу не встречалась задача которую было бы удобнее делать не в вордпресе. Это не касается случая когда на сервере вообще можно нечего не считать, тогда всю логику в js.
Вопрос: Как отключить замочек transform selection применяемый по умолчанию в Adobe Photoshop CC 2019?

Лучший ответ: Создайте файл "PSUserConfig.txt" с содержимым "TransformProportionalScale 0" в папке параметров Photoshop. [Диск установки]:\Users\[Имя пользователя]\AppData\Roaming\Adobe\Adobe Photoshop CC 2019\Adobe Photoshop CC 2019 Settings\﻿ 
Инструмент будет работать как раньше.

Худший ответ: В Photoshop 2020 есть опция в настройках
Вопрос: Трубки охлаждения моноблока нагарь?

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

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

Лучший ответ: Это будет адд. Правильное решение это нарисовать в СВГ и вставить просто фоном.

Худший ответ: Помоему изначально хреновая подача.
А так на таблицах и картинках))) или в сторону анимации на canvas смотреть. На css это можно сделать на страшных кастылях)
Вопрос: Что за хитроумные расчеты vw? Как делать офигенный резиновый текст?

Лучший ответ:  Т.е. это все просчитывается заранее. Как?
Элементарно:snippet

Худший ответ: Ну если говорить про расчет этих самых viewports 
то я находил подобную формулу
Размер элемента в макете / Ширина или высота макета * 100.
vw это view width
vh это view height
Вопрос: Будет ли анонимно работать VPN при подключении к серверу через SSH?

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

Худший ответ: Открыть лог и посмотреть с какого IP было подключение