Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Автоматизация процесса создания JSON

Лучший ответ:
Эмм, ну просто построчно парсить и конвертировать в JSON, в чем сложность?

Худший ответ:
На каком языке то хоть нужно решение? Нужно ли будет это решение интегрировать куда нибудь или будет использоваться в ручную?
Вопрос: Почему не работают шорткоды плагинов wordpress в моей теме?

Лучший ответ:
Приучайтесь пастить такой код куда нибудь на codeshare.io или jsfiddle.com или codepen.io
По факту:
У вас вот тут какая-то функция фильтрации the_content() :function mytheme_content_filter( $content ) {
// Do stuff to $content, which contains the_content()
// Then return it
return $content;
}
add_filter( 'the_content', 'mytheme_content_filter' );
Очевидно, что где-то в теме при выводе контента страниц он отрезает ваш шорткод.
Если не найдете причину - можно такой костыль:После установки и активации плагинов "для входа и регистрации" (theme my login, wp-recall) автоматически создаются некоторые страницы на которых написан только сам шорткод ( например [theme-my-login] )
Вот вы сами создайте страницу логина со слагом my-login, далее клонируйте ваш page.php с именем page-my-login.php. В нём найдите кусок кода, где выводится the_content или $content и замените его на вот такое:<?php echo do_shortcode("[theme-my-login]");?>

Худший ответ:
Для тех, кто возможно попадёт на этот вопрос: ответ в том, что наличие шорткода в содержимом страницы недостаточно, чтобы переходя по ссылке-якорю этой страницы что-нибудь отображалось. Всё равно необходим соответствующий php файл. Например page-simplepage.php в котором будет вывод содержимого страницы. Например в цикле вордпресса с помощью функции the_content (wp-kama.ru/function/the_content)
Вопрос: Каким свойством события можно узнать позицию элемента в массиве?

Лучший ответ:
Вот так: https://jsfiddle.net/edfgg6jw/1/<div>
    <div class="div2"></div>
    <div class="div2"></div>
    <div class="div2"></div>
</div>function el(e) {
    var target = e.target
        , arr = target.parentNode.children
        , len = arr.length
        , i = 0
        , elementIndex = null
    ;
    for(; i<len; i++){
        if(arr[i] === target){
            elementIndex = i;
            break;
        }
    }
    console.log('elementIndex: ', elementIndex);
}
window.addEventListener("click", el);

Худший ответ:
Можно вот такfunction el(e) {
    var parent = e.target.parentNode; //Узнаем родителя текущего элемента
    var children = parent.childNodes; //Получаем ВСЕХ детей родителя
    var count = 0; //Счётчик
    //Пробегаем по детям
    for (i=0; i < children.length ; i++) {
        //Если текущий ребёнок является узлом элемента
        if (children[i].nodeType === document.ELEMENT_NODE ) {
            //Увеличиваем счётчик
            count++;
            //Выводим текущую позицию элемента, если на нём сработало событие
            if(children[i] === e.target) {
                console.log(count);
            }
        }
    }
}
window.addEventListener("click", el);
Вопрос: Помогите разобраться в терминологии

Лучший ответ:
Как так вариант «размером не приветствуется»? 

«Главными характеристиками ЦПУ являются: тактовая частота, производительность, энергопотребление, нормы литографического процесса используемого при производстве (для микропроцессоров) и архитектура.» wiki; микро, нано это характеристики размерности литографии.

Я так понял, что вас интересует механизм используемый для вычислительных возможностей, тогда процессор — это транзисторы, микропроцессор — это транзисторы на графитовой подложке, нанопроцессор — это графеновые транзисторы, однако и там есть предел возможностей, для этого рекомендую ознакомиться с понятием Half Shrink

Для увеличения вычислительной мощности скорее всего нужно смотреть в сторону квантовых вычислительных систем.

Худший ответ:
У нас в институте классификация велась (на процессоры и микропроцессоры) по плотности и количеству транзисторов (тех. процессу)
Вопрос: Не работает модуль python-instagram, что не так?

Лучший ответ:
Решение найдено здесь. Необходимо в файле hmac.py заменить строчку return HMAC(key, msg, digestmod)
наreturn HMAC(key.encode(), msg.encode(), digestmod)

Худший ответ:
Делай по инструкции https://github.com/Instagram/python-instagram
-
https://github.com/Instagram/python-instagram/issu...
+
https://github.com/mitsuhiko/itsdangerous/issues/41
Стоит разве что попробовать перейти временно на 2
Если не поможет, то клонировать репу и пофиксить баг
https://github.com/Instagram/python-instagram/blob...
Вопрос: На каком ресурсе купить курсы по IT?

Лучший ответ:
Youtube -- очень дешево и очень сердито, многие курсы уже полностью выложены

Худший ответ:
https://webbooks.com.ua - можно купить, а можно и не покупать
Вопрос: Регулярное выражение для проверки поддомена

Лучший ответ:
Возможно в самом данное ограничение было, но одном из последнующих RFC было отменено.
RFC 1035 Updated by RFC 1101, RFC 1183, RFC 1348, RFC 1876, RFC 1982, RFC 1995, RFC 1996, RFC 2065, RFC 2136, RFC 2181, RFC 2137, RFC 2308, RFC 2535, RFC 2673, RFC 2845, RFC 3425, RFC 3658, RFC 4033, RFC 4034, RFC 4035, RFC 4343, RFC 5936, RFC 5966, RFC 6604.

Худший ответ:
Не сочтите за рекламу, пожалуйста! Просто первый домен, который нашла, не подпадающий под Вашу регулярку:
2000.ru/
Парфюмерный магазин
Вопрос: Каким багажом знаний должен обладать go программист, чтобы суметь найти работу?

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

Худший ответ:
Вы слишком серьезно относитесь к языку. Язык программирования - это не человеческий язык. Он изучается быстро. Для программиста знание очередного языка программирования - это ерунда. Это такая же элементарная база как владение слепым десятипальцевым методом набора на клавиатуре или умение делать git add, git commit, git push, git pull.
Для Go:
Технологии Google AppEngine хорошо описаны, есть примеры (endpoint, очереди)
git (базовые вещи)
хотя бы в общих чертах знать что такое вендоринг, а лучше уметь glide/godeps/gb
Gorilla Toolkit (mux, websocket, schema)
RESTful/RPC
gometalinter, golint
Умение пользоваться специализированным редактором или IDE, настроенными под Go. И умение его настроить под себя.
знакомство с Martini, Revel или т.п.
знакомство с gizmo, go-micro
А вообще - см. тут список в разделе "Related projects"
https://github.com/go-kit/kit
Вопрос: Увеличивают ли стойкость пароля спецсимволы?

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

Худший ответ:
Конечно увеличат если взлом будет идти через bruteforce,т.к. вы увеличите алфавит для подбора.А ещё буквы из разных локализаций тож увеличат
Там же вроде количество вариантов= количество букв в степени количество символов.
Вопрос: Нормально ли будет использовать wifi вместо lan в офисе?

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

Худший ответ:
Несколько раз клиенты пытались сделать сеть "целиком на Wi-Fi".
В принципе оно работает до каких-то пределов нагрузки и числа сотрудников.
После чего - ложится очень даже легко и запросто.
А еще есть Wi-Fi соседей, который мешает.....
P.S.:
На новом 5ГГц еще можно попробовать.
На старом 2.4 ГГц - не стоит.
Вопрос: Реально сделать проект по схеме, где фронтенд работает на Node.JS, а бэкенд на php?

Лучший ответ:
Как уже сказали, нода - это тоже бекенд. Используются вместе путем разделения запросов к ноде и пхп по урлу или имени сервера.
Например, по урлу. Запросы вида /api/что-то/ идут на пхп, все остальные - на ноду. Т.е. запрос клиента приходит на nginx, тот перенаправляет его на ноду, она отрабатывает логику и делает запрос в nginx на /api/что-то/, который, используя правила location - перенаправлет его в php.
По домену - аналогично. Просто в nginx будет для разных типов запросов разные server блоки со своими site_name (и, возможно, своими listen, если мы хотим разнести эти точки входа по разным портам или ip адресам). Если запрос на www.domain.com - запрос на ноду. Если запрос на localhost - запрос в php. Соответсвенно, нода делает запросы на localhost (тоже через nginx).
Теоретически, нода может работать напрямую с PHP без промежуточного nginx, по протоколу FastCGI, но такая схема почти не используется. И из-за того, что работать из ноды с http проще, и из-за гораздо большей гибкости управления конфигурацией, тогда как дополнительные накладные расходы из-да nginx между нодой и пхп - весьма малы относительно общего времени обработки запроса.

Худший ответ:
Ну если в качестве браузера у вас будет фантом.жс ) "Фронтенд" работает в браузере, какбе.
Вопрос: Интеграция Python'а в С/С++ для написания нейросети и последующее встраивание в микроконтроллеры?

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

Худший ответ:
Если перейдёте на MatLab, то там есть и нейронные сети и (в Симулинке) embedded coder, позволяющий переводить код в С / С++ для разных процессоров. Ещё один вариант: перевести фунции Матлаба в dll (встроенное средство) и запускать на target-системе, установив предварительно Matlab Runtime (бесплатная).
Вопрос: Чем измерить скорость света

Лучший ответ:
Кстати не знаю будит ли это в тему но помница два студня измеряли скорость света шоколадкой! И вполне убедительно ведь звучит.

Худший ответ:
А вам именно скорость света измерять? Не проще ли длину волны измерить и, зная частоту (для лазера ее несложно вычислить), определить скорость света в данной среде?
И интерферометр небольшой нужен, а не уйма зеркал на огромных расстояниях…

Ну, а если таки именно скорость — можно выбрать одну из классических схем.
Вопрос: Как добавить текст поверх изображения?

Лучший ответ:
Так?

Худший ответ:
Ну так засунь его в основной div и дай position: absulute;
Потом центрируй как надо.
Вопрос: Как разрешить редактировать файл hosts в windows 8.1?

Лучший ответ:
ССЗБ. Не нужно самому открывать потенциальную дыру в системе.

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

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

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

Лучший ответ:
Если речь идет о коммерческой разработке я иду на fl.ru и нанимаю спецов

Худший ответ:
Я тоже иду на fl.ru
Создаю проект, а потом уже общаемся в скайпе. Уже есть приличная команда работающая удаленно)
Вопрос: Как преобразовать «System.String» к типу «System.Net.IPAddress»?

Лучший ответ:
Как я понял, надо плясать в сторону ParseDim ServerIP = "127.0.0.1"
Dim  address As IPAddress = IPAddress.Parse(ServerIP)
Dim ServerPort As Integer = 50000
TextBoxServerIP.Text = ServerIP
TextBoxServerPort.Text = ServerPort
Dim Server As New TcpListener(address, ServerPort)
Server.Start()

Худший ответ:
Использовать IPAddress.Parse:  https://msdn.microsoft.com/ru-ru/library/system.ne...
Вопрос: Fix очень мелких багов в чужой open source библиотеке, как лучше сделать?

Лучший ответ:
Форкнуть->Исправить->Отправить пулл реквест.бага буквально одна строчка
Размер не имеет значения.

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

Лучший ответ:
1. Можно, как один из вариантов — goo.gl/QYbbI
2. Можно руками выделить разделы, скачать необходимые файлы, прописать загрузку с нового раздела в GRUB.
3. Не во всех дистрах поддерживаеться: прописать в GRUB загрузку с ISO-образа, предварительно имея свободное место(раздел) на HDD.
Но проще найти носитель для установки.

Худший ответ:
Любой линукс на самом деле ставится так: грузится live-система, в ней запускается инсталлятор. Т.е. всегда происходит как бы установка «из уже запущенного линукса».

Все дистрибутивы делают это автоматически, кроме некоторых, для которых при установке админ делает это вручную. Среди последних нужно отметить Gentoo, в котором есть внятный handbook, и процесс установки там расписан по шагам. Фактически же этот мануал годится для любого дистрибутива, не только для Gentoo.

Так что читайте Gentoo Handbook и думайте, как это адаптировать для своего случая. Можете, кстати, и поставить — хуже не будет, зато поймёте, что и как при установке происходит.
Вопрос: Хотим писать сайт — как работать вместе через Интернет?

Лучший ответ:
Skype
Git
И любой TODO (todoist, trello)

Худший ответ:
Может я чего не понял. Вопрос как то размыто звучит.
Разделите задачу на обязанности, вы например верстаете, она js пишет, он натягивает.
Создаете репозиторий с ветками вида:
master => testdev => 3 ветки на каждого из вас из ветки testdev. Локально для себя можете ветки тоже сделать. Потом сливаете все свои ветки с веткой testdev, тестите, все ок, сливаете с master.
Вопрос: Почему стабилизатор напряжения стал постоянно щелкать?

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

Худший ответ:
Чего тут удивляться. У большинства тупейшая логика. До 237в на прямки, 238в уже включается и напруга на выходе падает почти до 203в. И вот вопрос от чего быстрее сдохнет агрегат? От скачков 2-3в 237-239в или от скачков >20в 203-237в? Когда часто щелкать начинает просто советую взять мультиметр и посмотреть что в розетке происходит. Возможно просто небольшие колебания 2-3 в на пороге срабатывания...
И вообще такие штуки без присмотра оставлять опасно. Был у меня Uniel. Года 3 назад за 3,5 к брал. Через неделю работы ловил какой то загон и на табло начинал неправильно показывать напряжение, потом как то раз отключил выхода и начал дико греться, прилично подплавился, хорошо что в это время дома был...
Вопрос: Как сделать возврат значения из callback?

Лучший ответ:
Используйте промисы:function user_params(id, param) {
 return new Promise((resolve, reject) => {
    vk('users.get', {user_ids: id, fields: param}, function(error, response){
      if (error) {
        reject(error);
      }
      resolve(response[0][param]);
    });
  });
}

user_params(123, {}).then(res => {
  // ваши действия
}).catch(error => {
 console.error(error);
});
Про async/await я думаю не буду забивать вам голову))

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

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

Худший ответ:
Как абсолютно верно отметил камрад Виталий Пухов  электромагнитный замок весьма прожорлив. Так что если проект не стационарный (не "прикручен к столу") лучше посмотреть в сторону электромеханических замков/защелок. Тот-же соленоид от центрального замка в машине.  Или защелка, которую двигает серва. 
Ну по личному горькому опыту, если "это" для квеста - то лучше все-же такие вещи делать стационарными. уронят/поломают  в миг. 
сама логика в 5 минут реализуется на ардуине. Надо будет скетч - стучитесь, поделюсь.
Вопрос: Видеокарта подключена в слот PCI-E x16, но работает в режиме x1?

Лучший ответ:
Очевидно что видео карта подсдохла.
Несите в сервис и меняйте.

Худший ответ:
Хах, будете смеятся но после сборки нового компьютера в январе 2011, в конце года я обнаружил что видеокарта работает в x1 вместо x16. Долго пытался решить проблему, писал знакомым, читал форумы, в итоге оказалось что видеокарту надо вставлять в слот который ближе к процессору. Когда собирал, радиатор его перегородил и я его не заметил. В итоге переставил свою GTX 480 в нужный слот и всё заработало :)

Вот такая вот cool story :D
Вопрос: Какой курс по MySQL (вид/онлайн книга) посоветуют знатоки для зеленого?

Лучший ответ:
sql-ex.ru/?Lang=0
+ 2  книги: SQL. Сборник рецептов; MySQL  сборник рецептов

Худший ответ:
Рекомендую вот эту книгу: Уроки MySQL (+CD-ROM), купил бумажную версию, отзывы хорошие, всего 125 рублей.
Без "воды", пошагово, лучший учебник по MySQL, который я читал.
Вопрос: Разработка Unix-приложений?

Лучший ответ:
Сходите один раз на собеседование и всё узнайте.

Худший ответ:
Такие вакансии характерны для некоторых телекоммуникационных компаний в которых установлено оборудование SUN(ныне Oracle), а поверх него Solaris ( который является разновидностью Unix), там есть некоторые свои примочки в работе, но все равно будет написание каких-то демонов, но суть таже. Многие HR не могут отличать Solaris от Linux от Unix, поэтому пишут обобщенно, хотя в вашем примере возможен абсолюно другой вариант =)
Вопрос: Что делать после того как решил создать стартап?

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

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

Лучший ответ:
Затем чтобы люди научились читать книги, мануалы, инструкции. RTFM.
Выучили слово Маршрутизация, Модель OSI, Классы IP сетей. И на совещаниях можно хвастаться умными словами. Ну или отдать все на аутсорсинг. :)
Еще как вариант чтобы люди платили немалые деньги за свое обучение. Стартовая CISCO ICND стоит сейчас 52 тысячи рублей. Если углублятся в VPN еще 52 тысячи.
Давай сэкономим тебе 104 тысячи. :)
Сделав VPN ты и так получишь доступ в домашнюю сеть.
Просто домашняя сеть становится доступной через сеть VPN, поэтому его еще называют туннелем.
Пакет ушел в подсеть ВПН и вышел уже в твоей домашней сети.
В общем начнем сначало, с тех времен когда были еще динозавры.
Сидишь ты в кафе, достал ноут подключился к wifi у тебя появился интернет и маршрутизация в сеть интернет
твой ip 10.0.0.250 роутер 10.0.0.1 и маршрутизация на твоем ноуте
0.0.0.0/0 через 10.0.0.1
Теперь ты запускаешь VPN на своем ноуте. 
Туннель у тебя 172.17.100.0/24 
Домашняя сеть 192.168.0.0/24
При подключении VPN тебе присваивается ip 172.17.100.2 через который доступна сеть 192.168.0/24
В твоей таблице маршутизации появляется путь
192.168.0.0/24 через 172.17.100.2
И вот все подключено.
Теперь когда ты хочешь посмотреть котиков в контакте ты смотришь котиков через маршрут 
0.0.0.0/0 10.0.0.1
Когда ты хочешь получить доступ к домашней сети, например на комп 192.168.0.33
передача данных осуществляется по маршруту.
192.168.0.0/24 172.17.100.2
Вот цепочка маршрутизации
10.0.0.250-->(192.168.0.33) через 172.17.100.2-->(принял данные отправил дальше)172.17.100.1-->192.168.0.1(роутер домашней сети)-->192.168.0.33
Без VPN тоже можно обойтись если например соединять 2 офиса в одну сеть C класса.
Маршрутизация сетей C класса возможна, на уровне оборудования провайдера и через VLAN, но это совсем другая история и стоит денег.

Худший ответ:
Так как VPN это отдельный сервис, который потенциально опасный и трафик от него необходимо фильтровать, а также такая схема настраивается намного проще чем схема когда VPN клиент находится в тойже подсети
Вопрос: Необычный выпадающий список?

Лучший ответ:
https://jsfiddle.net/6y1fjc37/ так (точка всегда по центру)
https://jsfiddle.net/6y1fjc37/1/ или так (точка фиксированная)
https://jsfiddle.net/6y1fjc37/3/ и так (скрываем части полоски)

Худший ответ:
Ну как раз бордер-лефт и решает твою задачу -)
Каждому li задаешь высоту строки и через before делаешь кругляши.
Вопрос: Лучший конкурент Sketch, но под Windows?

Лучший ответ:
Fireworks - сохраняет в PSD. Есть мелкие баги, давно заброшен Адобом. Скорость работы и создания макетов высочайшая, но баги надо знать, и постоянно бороться.
Figma - отлично передается верстальщикам. Они заходят в саму фигму и копируют CSS и меряют отступы. Работает как если бы верстальщик открывал в Sketch и брал все оттуда. (Кто не знает в скетче есть измерение отступов и копирование css, цветов в HTML и текста, проблем нет.). Минус - фигма не пригодна для веба, ужасно экспортирует шрифт и буквы в SVG. Результаты мутные и страшные. Техподдержка утверждает, что они это не починят.
Affinity - открывает PSD, импорт из Sketch через svg. Работает шикарно. Есть минус - при передаче верстальщикам надо сохранять в PSD или Afinity -> SVG -> Sketch -> Zeplin.
Кто знает работа c SVG это боль. Большинство редакторов разобьют параграф на отдельные изолированные  строки текста.
Adobe XD кормит обещаниями. И скорость разработки и внедрения фич никакая. Но - последняя версия на удивление пригодна для работы. Передача макетов никакая.
Xara тоже хороша (передача макетов решается, с удовольствием сам бы послушал как?)
Для себя сделал вывод - от фотошопа отказался давно, Sketch под Mac, Affinity под винду.

Худший ответ:
Возможно Zeplin https://zeplin.io/
Есть под Windows
https://habrahabr.ru/company/uteam/blog/315542/