Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как удалить файл .swp?

Лучший ответ:
В корневой директории проекта:killall vim
find ./ -name *.swp -exec rm {} +
Более надёжно решение:mkdir -p ~/.vim/backup
echo 'set dir=$HOME/.vim/backup' >> ~/.vimrc
vim
[выйти из вима]
find ./ -name *.swp -exec rm {} +

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

Лучший ответ:
View Composer решают вашу проблему. Читайте доки прежде чем писать код

Худший ответ:
https://laravel.ru/docs/v5/views#%D0%BF%D0%B5%D1%8...
или
https://laravel.ru/docs/v5/views#%D0%BF%D0%BE%D1%8...
Вопрос: Отличия продвижения Google и Yandex?

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

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

Лучший ответ:
DPI, любовь к MITM нешифрованного DNS-трафика, вот это всё.

Худший ответ:
Надо чтобы держатели зон TLD поддерживали DNSSEC и предоставляли API для добавления записей для регистраторов доменов а те, в свою очередь, имели бы желание их реализовывать. Я так понимаю, что главный вопрос именно в последнем.
Опыт https://www.gandi.net показывает что проблем с поддержкой DNSSEС при наличии вышеперечисленного нет никаких.
Вопрос: Как в js кликнуть по a-->href?

Лучший ответ:
На jquery можно так $('a[href^="/work/"]').trigger('click');

Худший ответ:
Как можно программно кликнуть по ссылке через javascript? вот ответ уже есть<p onclick="return location.href = 'http://www.yandex.ru/'">Я-ссылачка))</p>
	<a onclick="javascript:document.location.href='http://www.yandex.ru/'"> Перейти на главную</a>
Вопрос: Как выбрать правильное количество ОЗУ?

Лучший ответ:
Банальный браузер Mozilla спокойно кушает 4гб памяти.
Есть еще множество постоянно запущенных приложений вроде мессенджеров и программ синхронизации которые потребляют немного памяти но, их много и памяти под них нужно прилично.
Мощные программы для фото, видео обработки, вроде adobe photoshop при работе с крупными файлами спокойно потребляют по 20гб памяти.
Банальный архиватор WinRar при сжатии с большим словарем потребляет около 8гб памяти, а уж у архиватора 7z аппетит до памяти вообще отличный, он и 32скушает.
В общем любые программы манипулирующие большими объемами информации требуют памяти.

Худший ответ:
Скорее не вид деятельности, а масштаб.
Взять те же адобовские продукты (ФШ, Илл и пр). Если просто открыть программу и нарисовать квадратик - вполне хватит и 2 гб оперативки. А бывают такие макеты, которые только на 16 гб начинают более-менее нормально шевелиться (это из реальной практики, ничего не выдумываю).
Вопрос: В кого можно перерости будучи тех сапортом?

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

Худший ответ:
Привет.
Несколько примеров роста сотрудников поддержки в моей компании:
- Оператор --> Системный администратор
- Оператор --> DevOps
- Оператор --> Тестировщик
- Оператор --> Разработчик (в другую организации)
- Оператор --> ... --> Руководитель департамента и топ-менеджер компании
Перспективы самые разные, зависит от ваших пожеланий, от возможностей компании. Самое главное, если кажется, что перспектив нет, возможно, вы ошибаетесь, обращайте внимание на темпы роста и развития организации.
Вопрос: Какой используется метод для обнаружения аномалии в случайной последовательности?

Лучший ответ:
Эх, поздно увидел вопрос - не тот тег вы ему дали.
Тут уже напридумывали-насоветовали такого.... В то время, как задача у вас абсолютно классическая, хорошо изученная, описанная и даже в учебники включенная.  Другое дело, что и методов ее решения много - в зависимости от особенностей данных с которыми вы работаете.
Называется то, что вы хотите сделать - "поиск аномалий во временных рядах". По этой фразе гуглится легко. Для входа в тему можно начать, например, вот отсюда:
https://dyakonov.org/2017/04/19/поиск-аномалий-ano...
или вот отсюда
https://www.datascience.com/learn-data-science/fun...
Есть и более серьезные описания. Если заинтересует - подскажу.
P.S. Забыл сказать - правильные теги для вашего вопроса - "Машинное обучение", "Data science", "Математическая статистика", "Data mining", ну, может еще с большой натяжкой - "Нейронные сети".

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

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

Худший ответ:
Для авторизации в API можно использовать JWT.
Вопрос: Как обеспечить безопасность для API?

Лучший ответ:
Так как API простенький, она будет выполнять эти запросы, если конечно они будут валидными.
Дак этим апи и должен заниматься. Безопасность то в чем пострадает ? Если боитесь наплыва запросов, ставьте ограничение на токен или с помощью чего-то вроде https://github.com/koajs/ratelimit

Худший ответ:
От такого нету защиты. Только если CSRF который затрудняет такое, либо каптча. https://www.owasp.org/index.php/REST_Security_Chea...
Вопрос: В чем заключается релевантность на хабре по тегу php?

Лучший ответ:
поиск на хабре/тостере живет вообще своей жизнью. иногда очень далекой от реальности.
поэтому лучше/проще пользовать поиск от гугла. он и релевантней и даты можно поставить.
https://encrypted.google.com/search?q=php+site%3Ah...

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

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

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

Лучший ответ:
Можно, но это некрасиво/плохо читаемо. Много лишнего "шума": плюсы, кавычки, экранирование, все это вперемешку с переменными, а значит более error prone...
Судите сами:>>> name = "NAME"
>>> input_path = "INPUT_PATH"

>>> print("\""+name+"\" - ERROR! File not found in \""+input_path+"\"")
"NAME" - ERROR! File not found in "INPUT_PATH"

# не лучше ли, "мальчики-налево, девочки-направо" ?
>>> print('"{0}" - ERROR! File not found in "{1}"'.format(name, input_path))
"NAME" - ERROR! File not found in "INPUT_PATH"
Плюс ко всему, допустим, вам нужно добавить пусть даже всего одну переменную между словами "File" и "not". Ну, к примеру, пусть еще раз имя ненайденного файла name. В приведенном вами варианте, мы еще больше "устрашим" себя и своих коллег кодом, осознание которого требует нечеловеческой концентрации:>>> print("\""+name+"\" - ERROR! File \""+name+"\" not found in \""+input_path+"\"")
"NAME" - ERROR! File "NAME" not found in "INPUT_PATH"
В то время как применяя метод format() все, что нам нужно - добавить дополнительную пару curly braces:>>> print('"{0}" - ERROR! File "{0}" not found in "{1}"'.format(name, input_path))
"NAME" - ERROR! File "NAME" not found in "INPUT_PATH"
Согласитесь, выгода очевидна.

Худший ответ:
Не надо учится плохому. Надо сразу писать программы правильно. Используя "Var={}".format(var) или "Var=%s"%(var)
Так:print('"%s" - ERROR! File not found in "%s"'%(name,input_path))
Вопрос: Почему в git обычно игнорируют картинки? Разве нормально, что если кто-то скачает и развернет мой сайт, у него поедет верстка и все будет некрасиво?

Лучший ответ:
Странный совет, если рассматриваеть его категорично.
Скажу тривиальную мысль: версионировать нужно то, что является предметом версионирования.
То есть, если конкретная картинка является неотъемлемой частью самого проекта, а не внешней зависимостью или внешним ресурсом, то она должна быть в репозитории.
Сходу нашёл пример в Github: https://github.com/rancher/ui/tree/master/public/a...
Единственно только нужно понимать, что версионирование бинарников обычно сопровождается большими накладными расходами и есть проблемы со слиянием, поэтому если есть возможность исключить картинки из [версионируемого части] проекта, ею стоит воспользоваться. То же касается базы данных: не комильфо держать дамп базы в том же репозитории, что и сам код, поскольку слишком дорогой становится история.

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

Лучший ответ:
Стандартный выбор для десктопных приложений под Windows  - WPF, язык программирования C#.
Изучение можно начать например здесь https://metanit.com/sharp/wpf/ , но предварительно нужно знать сам язык C#

Худший ответ:
Указанная программа на Delphi была написана.
Новую написать можно на чем угодно, хоть на javascript+html5+css :)
Я подобную делал на AutoIT (только работал не через звуковую карту, а через com порт).
В данном случае может быть есть смысл сделать на Java, одновременно с мобильной версией для android.
Все же микрофон и аудио выход у смартфона как и у ноутбука есть, а носить его с собой легче, главное не спалить ничего при подключении :)
Вопрос: Как избавиться от нежелательных артифактов при запуске phonegap приложения?

Лучший ответ:
Что я сделал:
1. Сразу после тега body добавил блок прелоаедера 
2. В header добавил стили к нему
        #page-preloader {
            position: fixed;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            background: #fff;
            z-index: 100500;
        }
        #page-preloader .spinner {
            width: 192px;
            height: 192px;
            position: absolute;
            left: 50%;
            top: 50%;
            background: url('img/logo.png') no-repeat 50% 50%;
            margin: -96px 0 0 -96px;
        }
3. И обработчик события полной загрузки страницы
$(window).on('load', function () {
        var $preloader = $('#page-preloader'), $spinner = $preloader.find('.spinner');
        $spinner.fadeOut();
        $preloader.delay(350).fadeOut('slow');
    });

Худший ответ:
Вы можете выводить, например, лого на весь экран, на время загрузки стилей.
Тогда, верстки без css видно не будет.
Вопрос: Как выгрузить CISCO IOS на FTP?

Лучший ответ:
Сначала надо задать настройки ftp, а потом уже заливать:
(config)#ip ftp username ftp_user
(config)#ip ftp password ftp_password
и дальше уже copy flash:file.name ftp://1.1.1.1/file.name

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

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

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

Лучший ответ:
Первый, способ приведенный вами в вопросе, единственно верный.
Чтобы ссылка "начиналась" с <li>, не нужно <li> в CSS давать padding. Давайте его для <a>. А для того, чтобы вертикальные отступы то же сработали дайте для <a>display: block или display: inline-block.

Худший ответ:
<ul>
        <li>
           <a href="адрес_обязателен">Что-то</a>
        </li>
 </ul>
Вопрос: Зачем разбивать код на функции, если код короткий (~30 строчек) и нет повторяющегося кода?

Лучший ответ:
Потому что так проще покрывать тестами

Худший ответ:
Повысится самодокументируемость.
Не нужно будет в уме разбивать код на части, чтобы понять что они делают. Все равно как минимум 5-8 строк кода должны выполнять определенную задачу, а не только общую
Вопрос: Как работают сайты, позволяющие запускать код в playground (исполнение на их сервере)?

Лучший ответ:
https://nodejs.org/api/vm.html и ограничение по времени исполнения

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

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

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

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

Худший ответ:
Благодарю ребята. Тоже убеждаюсь в том что необходимо постоянно практиковаться.
Вопрос: Ошибка в Mysql. Что делать?

Лучший ответ:
обратные кавычки используются для имён таблиц\столбцов в бд, для текста вам нужны простые одинарные кавычки:SELECT `avatar` FROM `users` WHERE `nickname` = 'test';

Худший ответ:
значение test оберните в обычные одинарные кавычки 'test'
кавычки формата `` это исполняющие кавычки,  считайте как служебные
Вопрос: Нужно ли прикладывать к резюме свои самые старые проекты?

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

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

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

Худший ответ:
Брудкастом или мультикастом шли данные, потому что иначе надо знать адрес тому, кому слать. На точке - там где датчик используется клиентский сокет на определенном порте: обработал данные от датчика, отправил.  На ноуте (другую есп кладем на полочку у ноута есть вайфай)  - серверный сокет, который слушает на определенном порте. Там уже как программу напишите так и будет обрабатываться.
Вопрос: Чем проще всего отсортировать файлы в папке по формату а не расширению?

Лучший ответ:
Если у вас Windows 10 и вы не против извращений, то можно использовать подсистему Windows для Linux:user@DESKTOP:/mnt/d/TEMP$ find .
.
./archive.zip
./document.pdf
./picture.jpg

user@DESKTOP:/mnt/d/TEMP$ for F in *; do T=`file -b --mime-type "$F"`; mkdir -p "$T"; mv "$F" "$T/$F"; done

user@DESKTOP:/mnt/d/TEMP$ find .
.
./application
./application/octet-stream
./application/octet-stream/archive.zip
./application/pdf
./application/pdf/document.pdf
./image
./image/jpeg
./image/jpeg/picture.jpg

Худший ответ:
Total Commander или Far.
Это же классика.
Вопрос: Как наиболее кратко и понятно передать в один аргумент функции одну из двух переменных, которые могут быть либо массивом, либо логическим выражением?

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

Худший ответ:
Может вам подойдет тернарный оператор
Причем короткая версия
f($x ?: $y)
В этом случает если $x имеет значение TRUE, то в f передастся $x и $y в другом случае.
Примерыtrue ?: 'test' - будет true
false ?: 'test' - будет 'test'
'' ?: true - будет true
'test' ?: true - будет 'test'

// Комбинирование
false ?: [] ?: 'test' - будет 'test'
Вопрос: Минимальная допустимая температура для эксплуатации ПК?

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

Худший ответ:
Зависит от числа разъемных контактных соединений и их изношенности. Для компонентов рабочая темпиратура до -40С. Так что для одноплатников(все компоненты распаяны на плате) - она будет такой.
А обычный бытовой тупо не включится или включится но будет зависать, либо будет работать (если совсем новый, бп качественный с 3-ным  запасом ).
Скорее всего нижний предел будет у дисплея - так как ЖК не работает при минусе.
Вопрос: NodeJs веб сервер и Cloudflare. Удастся ли победить?

Лучший ответ:
Cloudflare нельзя использовать бесплатно для чего-то кроме сайтов и их трафика т.е. порты 80/443 и т.п..
Если хотите пробрасывать любые порты и трафик - платите овердохрена денег - нужен Enterprise план.
https://support.cloudflare.com/hc/en-us/articles/2...

Худший ответ:
На сервере с NodeJS устанавливаете Nginx, создаете там виртуальный хост с редиректом на локальный порт 5000, домен прописываете тот, который в Cloudflare у NodeJS указан.
Вопрос: Как соединенить два генератора?

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

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

Лучший ответ:
https://www.chipdip.ru/catalog/popular/atmega328
>>P.S да я знаю что его нужно програмировать отдельным usb програматором 
А про пайку SMD ты уже нашел в гугле? 
>>P.P.S если вы знаете чем его можно заменить то говорите 
ATtiny, STM8, MSP, i8051 и прочее - вариантов тысячи.

Худший ответ:
Если в Вашем городе есть магазин радиодеталей, то идёте туда. У тех, кто рассылает почтой, либо задано минимальное количество заказа, либо минимальная сумма, да и просто доставка денег стоит. Результат может оказаться дороже Китая. У нас, например, на барахолке мужик по выходным детальками торгует. Тот же Китай с наценкой, но поштучно и без месячного ожидания.
Про замену вопрос непонятен. Микроконтроллер выбирается исходя из его характеристик под конкретную задачу из тех серий, которыми Вы умеете пользоваться. Так что только Вы знаете, что Вам подходит. Впрочем, любой другой мк так же искать по магазинам будете. Зачем тогда чего-то менять?
Про программатор Вам уже отписали. Раз у Вас ардуина уже есть, то считайте, что простой программатор у Вас уже тоже есть.
Вопрос: Кому принадлежат симкарты?

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

Худший ответ:
Симкарты оформляются на юридическое лицо. Компания получает тысячи симкарт. Затем продает их не обременяя покупателя переоформлением. Барыги покупают у таких компаний симкарты оптом примерно по 15руб/шт. Но если хочешь войти в подобный бизнес, то не забудь взять с собой аргумент ввиде ак-47, когда пойдешь на вокзал. Правил нет. Чеков тоже. Не успеешь ничего продать, как проломят голову или подойдут полицейские, которые всегда там прикормленные где-нибудь за углом и будет статья 14.1 КоАП осуществление предпринимательской деятельности без государственной регистрации.
Вопрос: Можно ли с помощью normalize.css или reset.css добиться полной кросбраузерности или для этого обязательно нужен JavaScript?

Лучший ответ:
Причем тут сброс дефолтных стилей и кроссбраузерность?

Худший ответ:
Отсыпьте.
Вопрос: Как правильно клонировать репозиторий на сервер с помощью SSH?

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

Худший ответ:
выделите свою папку app в отдельный репозиторий. подругому никак
Вопрос: MacBook Pro 2015 VS MacBook Pro 2016 (вопрос о производительности и важности дискретной карты)?

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

Худший ответ:
Уже третий мак с интегрированной видюшкой. Занимаюсь дизайном (AI, PS, ID), обработкой фотографии (PS, LR, C1), порой делаю монтаж видео в финал кате. НИКОГДА, никогда не испытывал не удобство и тормозов от интегрированной видеокарты. На все хватает с головой. Конечно, дискретка никогда не бывает лишней, но мне на 15шке 2015 сейчас очень комфортно в плане производительности.
К ответу выше +. Новая 15 в плане охлаждения и шума лучше, но не скажу что это кардинально. Если деньги есть берите 2017 года.