Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему все онлайн-сервисы геолокации гонят такой бред?

Лучший ответ:
Это нормально.
Адреса раздает RIPE, у него есть база данных.
Например адрес x.x.x.x выдан ООО "Рога и Копыта" юридический адрес -  Бостон.
Эта компания передала этот адрес своей дочерней фирме ООО "Шкуры" зарегистрированной на багамских островах.
В данный момент этот адрес выделен серверу этой компании который размещается в Новосибирском датацентре.

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

А завтра этот адрес назначат другому серверу, размещенному в Норвежском датацентре.
А через неделю решат перенести этот сервер вместе с адресом в Пекин.
А базы обновятся не у всех, и не сразу, а через месяц например.

И какой все таки адрес должен выдавать сервис геолокации???

Мораль - не стоит думать что сервис геолокации показывает реальный адрес размещения сервера с таким IP.
Хотя во многих случаях данные совпадают.

Бывает что один IP присвоен серверу который уже 30лет стоит по одному адресу.
А бывает что один IP за день назначается трем различным серверам  находящимся на разных континентах.
С утра в Европе,  к вечеру в Бангкоке, а ночью уже в Австралии.

Худший ответ:
ip геолокация (с адресами v4) это уже вчерашний день. Все базы давным давно устарели у сервисов определения геолокаций, актуальность RIPE и та под большим вопросом во многих случаях. В начале нулевых можно было с точностью до города определить локацию, теперь 1 ip адрес может оказаться в любом городе страны.
Вопрос: Как сократить код и сделать более понятным?

Лучший ответ:
Вы же прямо в вопросе написали условия, достаточно их прямо так в коде и повторить, чтобы он стал понятнее:
function sayHello(animal) {
    if (['dog', 'cat', 'cow'].includes(animal)) {
        latestFriendlyAnimal = animal;

        return 'Hello';
    }

    if (animal === 'lion' && check) {
        latestFriendlyAnimal = animal;
    }

    return check ? 'Hello' : 'Growl';
}

Можно ещё немного упростить:
function sayHello(animal) {
    let isKnownAndFriendly = ['dog', 'cat', 'cow'].includes(animal) || (animal === 'lion' && check);

    if (isKnownAndFriendly) {
        latestFriendlyAnimal = animal;

        return 'Hello';
    }

    return check ? 'Hello' : 'Growl';
}

Худший ответ:
так тоже можно 
let check = true;
let latestFriendlyAnimal = '';

function sayHello(animal) {

  if(check && !(['lion', 'cat', 'dog', 'cow'].includes(animal))) return "Growl"
  
  if((check && animal === 'lion') || ['dog', 'cat', 'cow'].includes(animal)) {
  	latestFriendlyAnimal = animal
    return animal
  }
  
  return 'Hello';
}

console.log(sayHello('dog'));

console.log(latestFriendlyAnimal);
Вопрос: Как создать имитацию нажатий клавишь?

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

Худший ответ:
AutoIT вам в помощь. Особенно если не сильны в C#.
Вопрос: Какие системные требования для пк при верстки сайтов 2019?

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

Худший ответ:
Главное что бы OS на ssd стояла или если под виндой, что бы ready boost был настроен с ssd или быстрой флешки. Видеокарту можно бюджетную. 
Оперативка минимум 8 гигов. 
2-3 монитора - обязательно! )
Винду только 10 64 бит, только pro или другую расширенную версию.
Вопрос: Почему со временем windows начинает проседать по производительности в играх?

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

Худший ответ:
Не заметил такого. Как поставил 8.0, потом только обновлял до более новых версий. Производительность в игрушках не падала. Следи за кучей софта, которая запущена.
Ой, да у тебя же i3 8100, вырубай весь софт и играй, на большее не рассчитывай.
Вопрос: A x B mod P на MCU?

Лучший ответ:
Базовые сложение, вычитание и сравнение реализуются стандартно для длинной целочисленной арифметики.
Далее, следует учесть, что
(A + B) mod P = ((A mod P) + (B mod P)) mod P
(A * B) mod P = ((A mod P) * (B mod P)) mod P
Тогда, реализовав умножение через операции сдвига (умножения на два) и сложения, можно получить результат, используя буфер всего на один бит (в реальной программе - на байт или слово) больше, чем длина P.

Худший ответ:
Прекрасная C-библиотека для длиной математики:
https://www.libtom.net/LibTomMath/
Вопрос: Как определить быстродействия сайта?

Лучший ответ:
В гугл хром -> f12 -> вкладка "Audits" -> Run auditsвот еще интересный сервис.

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

Лучший ответ:
Купаем норм копкуктер, пихаем его в мини блок.
Вставляем любые диски
Устанавливаем NEXTCLOUD.
Ваш личный гугл облако готов.
Райд массив используем - программный на linux raid10

Худший ответ:
Погуглил за вас
Вопрос: Что это значит: TypeError: _ref.data is undefined?

Лучший ответ:
({loading,error,data})=>
попробуйте вот так

Худший ответ:
В процессе решения данной задачи, нашел такое решение и заключалось оно, как не странно, именно в небольшой ошибке. А именно в неправильном использовании cors на API GrpaphQL-сервере: 
Вот код который был на сервере.......
app.use('/graphql', graphqlHTTP({
    schema,
    graphiql: true
}));

app.use(cors());
......
Я использовал cors, после самого запроса, почему-то мне казалось так логичным, хотя я на самом деле еще не до конца разобрался почему именно следующим образом работает, но именно таким образом у меня пропала данная ошибка:.......
app.use(cors());

app.use('/graphql', cors(), graphqlHTTP({
    schema,
    graphiql: true
}));
......
Вопрос: Есть ли у меня возможность программировать?

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

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

Лучший ответ:
gcc -L<путь до каталога с библиотеками> -l<имя библиотеки>

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

Вас ждёт много интересного.

А, ну да, сначала лучше получить базовые знания о процессе сборки C/C++ программ. "Как я понял для этого нужна линковка" - вот этот момент нужно сильно улучшить. Иначе вы ещё долго будете страдать.
Вопрос: Возможно ли реализовать запуск bash по факту инсерта в БД?

Лучший ответ:
самый джентльменский вариант это реализовать нужный вам функционал в коде проекта который отправляет insert/update в бд, для этого Вам будет достаточно повесить observer insert/update на модель связанную с нужной вам таблицей. Если такой возможности нет, то через триггер как-то так.CREATE or REPLACE FUNCTION NotifyTelegram() RETURNS text AS '
#!/bin/bash
echo say: $1 зачем тебе все это?
' LANGUAGE plsh;-- или AFTER
CREATE TRIGGER TriggerBefore BEFORE INSERT OR UPDATE ON table_observed
    FOR EACH ROW EXECUTE PROCEDURE NotifyTelegram();
Если есть джедаи postgres поправьте меня. 
Но сама идея дергания bash из триггера выглядит не очень.

Худший ответ:
не надо ничего вызывать , и по крону не надо сканировать базу, достаточно на таблицу вызывать sql LISTEN и pg_get_notify из бакэнда.
p.s. вариант с bash в тригере плох еще тем, что он отработает даже если транзакция будет отменена по какой-либо причине.
Вопрос: Раз и навсегда: JavaScript отступ 2 или 4 пробела?

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

Худший ответ:
Уточнять у того, кто дает деньги)
Вопрос: Оцените сборку пк для работы?

Лучший ответ:
Память лучше взять https://www.regard.ru/catalog/tovar280344.htm или https://www.regard.ru/catalog/tovar201416.htm
По деньгам разница мизерная, а частоту памяти Ryzen любит.
Ну и лично я бы взял камень попроще: 2700 или даже 2600/2600X. Разница в производительности будет сильно меньше, чем разница в цене (которую можно пустить на более объёмный SSD, например). Конечно если вам не нужно гонять одновременно десяток виртуалок с CPU-bound задачами.

Худший ответ:
Нормальная сборка, одобрямс.
Вопрос: Почему Emoji не сохраняется В БД?

Лучший ответ:
Задать utf8mb4 кодировку базы/таблицы и соединения к ней.

Худший ответ:
По тому что в этой кодировке нет этих символов, она появилась гораздо раньше того так emoji появились в природе. Для этого есть кодировка utf8mb4_general_ci (и вообще семейство utf8mb4)
Вопрос: Как сосчитать повторяющиеся буквы?

Лучший ответ:
const count = str => [...str]
  .reduce((acc, n, i, a) => (
    a[i - 1] !== n && acc.push([ n, 0 ]),
    acc[acc.length - 1][1]++,
    acc
  ), [])
  .flat()
  .join('');
или

const count = str => str.replace(/(.)\1*/g, m => m[0] + m.length);

Худший ответ:
Вариант с минимальными изменениями
function RST(str){
let arr = str.split('');
let num = 1;
let result = '';
for(let i = 1; i < arr.length; i++){
  if(arr[i] == arr[i-1]){
    num++;
  } else {
    result += arr[i-1] + num; // тут была ошибка
    num = 1;
  }
}
// Нужно допечатать последнее накопление num
if(arr.length > 0)
 result += arr[arr.length-1] + num;
return result;
}
Вопрос: Почему плохо писать код в шаблонах?

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

Худший ответ:
Конечно, писать код в шаблонах не очень хорошая идея. Но обращаться к базе, почему нет? Вопрос реализации шаблона и уровня абстракции. 
Например, так:<ul data-wb='{
   "role":"foreach",
   "from":"news",
   "where": {
         "active":"on",
         "author":"admin"
    }
   "limit":"10",
   "sort":"data:d"
}'>
<li>{{datetime}}: {{header}}<br>{{short_text}}</li>
</ul>
Вопрос: Легально ли платить налог как самозанятый при выпуске приложения в Google Play?

Лучший ответ:
Вам будет проще учредить ООО. Документы на регистрацию можете скачать с сайта Эльбы, Моего Дела, Тинкофф банка и т.п. Доли делите как 50.1% и 49.9%. Не советую делать именно 50/50, кто-то из Вас должен быть лидером, пусть хоть и формально на бумаге. Затем, назначайте одного директором. Второго, можете на полставки взять программистом, саппортом или менеджером. Бухгалтером оформлять его второго учредителя не рекомендую, только если он реально не финансист, но тогда бы этого вопроса тут на было. 
Оформляйте взаимоотношения с Гуглом, подписывайте шаблоны, которые они там предоставляют. Деньги с продаж в PlayMarket получайте на р/с своего ООО. Затем, платите директору и второму нанятому человеку з/п, которая очерчена в трудовом договоре и остаток выводите себе как дивиденды учредителям. 

В таком случае, Ваши налоги:

Налог на прибыль ООО на упрощёнке с объектом "Доходы" = 6%
Налоги с з/п сотрудников(НДФЛ + ПФР + ОМС + ФСС) = 33,6%
Налог на дивиденды = 13%


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

Вариант с регистрацией самозанятости или ИП отлично подходит соло работникам. В этом случае один из Вас юридически берет проект под полное свое покровительство, а со вторым просто делиться наликом. Вариант, особенно если Вы только-только начинайте бизнес. Минусы в том, что банк может легко по 115-ФЗ ИП причесать, если будут большие сумму обналичиваться. Попросят показать, куда ты наличку тратишь. Второй минус - не ИП может легко соскочить, как только запахнет жареным, или ИП может второго послать без каких-либо юр.последствий. Вообще, когда между друзьями появляются бабки, у людей начинаются проблемы, особенно когда денег начинает не хватать... Так что, думай сам. Я ООО считаю лучшей идеей в твоем случае.

UPD: Большое дополнение в моем комментарии ниже

Худший ответ:
ООО на усн 6% где у вас по 50% не вариант?
Вопрос: Что значит откомментировать код?

Лучший ответ:
не нужно гадать – спросите. уточнять – вполне нормально.

Худший ответ:
Расписать логику приложения. Комментировать куски кода, где логика хоть как то сложнее 2+2.
Вопрос: Возможно самому собрать монитор из комплектующих?

Лучший ответ:
Да, но это настолько непростой вопрос, что проще сказать нет.

Мониторы не появляются из воздуха. Их разрабатывают, пишут прошивки, тестируют. Для этого часто могут использоваться инженерные незалоченные материнки, в которых можно менять прошивку, что-то обновлять.

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

Но все это ковырять - весьма непростая задача, не совсем на уровне проводков и дорожек. Обычно требуется человек, который либо работал в сервис центре этого производителя, либо непосредственно в инженерном R&D. Ну либо вообще давно с мониторами и как-то получилось разобраться.

То, что такой монитор будет дешевле чем из магазина - ну это разве что за счет того, что он БУ и не нужен тому, кто его перековырял. Надежность может быть не 100%, гарантии тем более нет никакой, случаи слишком единичны, потому что просто нет смысла таким заниматься на потоке.

Худший ответ:
Проще БУ взять
Вопрос: Когда использовать Function Declaration, а когда Function Expression?

Лучший ответ:
Нет общих причин использовать тот или иной синтаксис для объявления функций.
В Реакт стрелочные функции используются для того, чтобы в обработчике событий не потерять контекст и не использовать bind. Если к контексту внутри функции не обращаются или нет шанса его потерять - рекомендуется не использовать стрелочные функции. 
Это один из примеров, серебрянной пули нет, руководствуйтесь здравым смыслом и style guide конкретного фреймвока или конкретного проекта.

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

Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file. This harms readability and maintainability. 

В остальном плане все как сказал Владимир.
Вопрос: Как работать удаленно?

Лучший ответ:
RDP самый удобный вариант.

Худший ответ:
Teamviewer будет достаточно.
Вопрос: При просмотре видео с ютуб и вообще онлайн видео блютуз наушники почему заикаются?

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

Худший ответ:
Экстрасенсы ушли в длительный запой. Хрустальный шар разбили.

Адаптер какой (чип)?
Где установлен? Есть ли прямая видимость между его антенной и устройством?
Наушники какие?
Какое расстояние между адаптером и устройством?
Вопрос: Как сделать программу,которая будет компилировать данные в exe?

Лучший ответ:
Разобрать что такое exe формат, это на самом деле контейнер, который хранит и исполняемый код и данные в виде иконок, диалогов и так далее.
spoiler
Написать свой сборщик и сохранить данные в .exe

При этом запускать его будет невозможно, если там будут ТОЛЬКО данные.

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

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

Худший ответ:
При разработке на Typescript будет уходить немного больше времени.
Но он сэкономит недели и месяцы на отлове и правке багов.
(Если он в режиме strict, когда он ругается на всё что может)
Вопрос: Что изучить после базового курса по python?

Лучший ответ:
профильный курс

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

Лучший ответ:
Хостинг  провайдер. В общем случае имеет доступ к вашей виртуалке. 
Значит видит все. 
Кстати если не доверяете ему смените его срочно

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

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

Худший ответ:
https://ru.wikipedia.org/wiki/HP_Data_Protector 
Дорого. Мощно.

Можно глянуть на https://en.wikipedia.org/wiki/Backup_Exec
сто лет назад работал с ним, но понятия не имею, в каком состоянии этот продукт сейчас. В вики пишут, вроде есть версия за 2020 год.
Вопрос: Как правильно отфильтровать данные из $_POST?

Лучший ответ:
Ответ на ваш вопрос зависит от того, как именно и какие именно переменные в POST-запросе вы хотите фильтровать. Самый простой способ - напишите несколько условий if и удаляйте неподходящие значения, если они вас не устраивают по каким-то критериям. Или выбрасывайте исключения, если это уместно. В вашем вопросе не хватает подробностей, чтобы дать более конкретный ответ.

Худший ответ:
Никак.
Вопрос: Можно ли задать высоту для бордера?

Лучший ответ:
tosster22, Нужно padding оставить такой же, а при наведении добавить рамку которая в 10px
Подойдите к вопросу иначе. Рамка всегда есть, но ее не видно.
При наведении, рамка меняет цвет и ее видно.
Добавив transition: border-color 0.3s; сделаем смену цвета плавной.a {
/*  padding: 20px; // Было */

  padding: 10px;
  border: 10px solid transparent;
}

a:hover {
  border-color: red;
}

Худший ответ:
tosster22, вам нужно сразу добавить прозрачный бордер, а при наведении менять цвет, что бы не прыгал блок. Еще вариант использовать box-shadow
https://codepen.io/michelre/pen/EoPMGv
Вопрос: Сборка нового пк?

Лучший ответ:
Я видимо очень плохо разбираюсь в железе, но неужели в 2019 году можно что-либо адекватное собрать с нуля за 700$? Если вы собираетесь заниматься 3D моделлингом, который включает в себя "дизайн", вам уже нужен хороший монитор от 23 дюймов с IPS матрицей и нормальной цветовой передачей. А это уже монитор 300$+, и туда же закинуть SSD, блок питания видеокарту\проц. Если 700$ это именно та сумма, я буду восхищена ценовой политикой рынка железа.

Худший ответ:
Я где то 4000$ потратил... Вот ведь знать бы что можно уложиться в 700...  Ээххх
Вопрос: Где могут быть заданы перенаправления сайта на другой домен?

Лучший ответ:
1. Конфиг сервера. Это может быть .htaccess в корне проекта, а также кконфигурация самого virtual host. Еще вполне может оказаться что перед Apache стоит Nginx, тогда смотреть и его конфиг.
2. Если п.1 мимо - смотрим wp-config.php, константы WP_HOME и WP_SITEURL
3. Если п.2 мимо - константы не определены, то смотрим в базу данных, таблица wp_options, опции с такими же названиями (только в нижнем регистре).
4. Если и в БД все ок, пробуем добавить выше упомянутые константы в конфиг и указать там нужные значения.
5. Если это все не помогло - ищем по всему коду слово redirect.

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

Лучший ответ:
Ну пускай дизайнер рисует как он видит адаптацию этого дела хотяб для трёх основных размеров и от туда уже плясать.
Иначе влепи картинкой с width: 100% и вёрстка готова.)

Худший ответ:
1. Enlish club это, бесспорно, круто.
2. Бутстрап не панацея и не надо пытаться под него все подогнать.
3. Применяй mobile-first подход + бэм (номер и позиция «листка» более чем легко описываются модификаторами).
4. На десктопе делай либо абсолютное, либо гриды.
5. Декоративные рисульки можно как фоновой картинкой (которой на мобилке быть не должно, ну или должна быть другая), но лучше спозиционировать их относительно блоков-пунктов.
6. Со стрелками и пунктирными линиями да, придется заморочиться, но так как это все же секция, которую врядли будут по контенту дергать каждый день, то рассчетами можно пренебречь и задать проценты и соотношения. Ну и SVG для упрощения жизни.

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

Лучший ответ:
Просто в качестве хоста для подключения к БД в wp-config.php (DB_HOST) следует указывать не localhost или 127.0.0.1, а адрес того хоста, где находится база данных.

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

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

Худший ответ:
3. Есть вариант качать n байт и сравнивать хеш с тем же количеством из локального файла.
А если изменение произошло после этих N байт?
Имхо самое надёжное - сверять дату и размер + в любом случае перекачивать файл раз в некоторое время. Ну а вообще лучше всего такую проверку делать на сервере, если к нему есть доступ.
Вопрос: Сервисы для тестирования email рассылки?

Лучший ответ:
https://www.mail-tester.com/

Просмотра с разных устройств и ящиков нет, зато полная картина по настройке smtp сервера, spam asassin и репутации.

Худший ответ:
Для проверки письма с точки зрения спам фильтров:
spamtest.smtp.bz
www.mail-tester.com
Для проверки на спам слова
spamtester.bazaaremail.com
Для проверки репутации домена и доставляемости писем
Если отправка по рунету
postmaster.mail.ru
postoffice.yandex.ru
postmaster.google.com
Если отправка по Европе и США, основной постмастер - Google
Есть какое то подобие у 
Майкрософт https://sendersupport.olc.protection.outlook.com/pm/
iCloud postmaster.icloud.com
Mail Com - postmaster.mail.com но они не дают такой информации
Аналогичный постмастер создается на AOL и Yahoo https://postmaster.verizonmedia.com/, но я с ним пока не разбирался, жду окончания бета-тестирования. 
Лучший все же все равно постмастер майл ру, который видит каждое письмо и очень все наглядно представляет
Да и какую то информацию можно получать, правильно настроив DMARC