Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой SSD для Macbook Pro 2017?

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

Худший ответ:
MacBook Pro 13' (2016-2017) без сенсорной панели  использует новый проприетарный накопитель  и является единственным компьютером Apple с таким накопителем. В конце 2016 года MacBook Pro предлагал твердотельный накопитель емкостью 256 ГБ, 512 ГБ или 1 ТБ, а в выпуске середины 2017 года также была опция 128 ГБ. Все эти диски совместимы с обоими моделями 2016-2017 года.
Сейчас можно купить Б/У накопитель емкость 1Tb примерно за 40-50 т.р. (На конец 2018 года)Ссылка на Ali
Вопрос: Как организовать проект для сборки?

Лучший ответ:
"button__primary--hover.html" лол, мэн, никто так файлы не называет. Это БЭМ-классификация разметки, во-первых. 
Во-вторых, на html уже никто нормальные проекты не пишет.
Вот тебе хорошие ссылки.
бац https://habrahabr.ru/post/246349/
бац yeoman.io
бац https://github.com/larsonjj/generator-yeogurt (ну или просто npm i generator-yeogurt -g)

Худший ответ:
"на html уже никто нормальные проекты не пишет"  сори но можно объяснить?
Вопрос: В чём причина неработоспособности программы?

Лучший ответ:
Окно и все компоненты на нём постоянно перерисовываются графической подсистемой. Поэтому рисовать на компоненте надо в методе перерисовки:p = new JPanel() {
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.setColor(new Color(255, 255, 255));
        g.fillRect(0, 0, 1000, 1000);  
    }    
};

Худший ответ:
p.setBackground(new Color(0));
//p.setBackground(new Color(255, 0, 0)); << ЭТА СТРОКА НОРМАЛЬНО РАБОТАЕТ
закомментирован
поэтому чёрное окно
Вопрос: Что лучше использовать как корпоративный портал?

Лучший ответ:
ИМХО, если список 100% все прям наданадахачунимагу - вам дорога в собственную разработку.

Худший ответ:
"Мегаплан" не пробовали? Правда, там и CRM есть, и он платный. Есть варианты использования как в облаке, так и установки на свой сервер. В целом неплохо, хоть и не дешево (юзаем "коробку" - серверный вариант около года, полет нормальный, служба техподдержки на высоте).
Вопрос: Почему результат выводится inf?

Лучший ответ:
пс. факториал считается правильно.. проверяла. проблема именно в сумме ряда.
Проверьте еще раз, например на таком примере: factorial(36)
Вспомним, что факториал - число большое, а в int влезает не так много. А что у нас там является результатом знакового переполнения в C++, напомните?

Худший ответ:
У нас тут переполнение, 36! не влезает в тип int. Сделайте хотя бы double.
Inf («машинная бесконечность») — обычно результат дробного деления на ноль. Почему? Посчитаем, сколько двоек в 36!
Делятся на 2 — 18 сомножителей.
И ещё на 4 — 9 шт.
И ещё на 8 — 4 шт.
И ещё на 16 — 2 шт.
И ещё на 32 — 1 шт.
Итого в составе 36! будет 34 двойки, то есть 36! делится на 234. Разумеется, целочисленная арифметика, работающая в кольце остатков от деления на 232, даст ноль. При этом, разумеется, 32-битный регистр многократно и безнадёжно переполнится.
Более сложный способ расчёта ряда — рекуррентное соотношение. Очередное слагаемое поделим на две части: ai = (2i)! / i²! и bi = |x| / i²!. Постройте, как соотносятся ai−1 и ai, аналогично для b.
Вопрос: Веб сервер под фото. Какую архитектуру хранения выбрать с учетом масштабирования?

Лучший ответ:
Не рассматривали подключения хранилищей вроде S3?

Худший ответ:
Если миграция фото не предполагается, то Ваш вариант вполне надежен. При массовой миграции с сервера на сервер надо будет только сделать UPDATE колонки с названием сервера.
Если надо удалять/перемещать/добавлять файлы между серверами, то надо еще писать обработчик, котороый следит за местом на серверах и приоретизирует запись текущей фотки на нужный сервер на котором низкая загрузка IO и есть место. Аля балансировщик нагрузки.
Вопрос: Что у меня с памятью?

Лучший ответ:
А зачем вам чистить память?
Проверьте чем именно занято. WIndows7 не глупая система, она не тратит лишнее время на чистку памяти, наоборот использует всю доступную память под кеширование дисковых данных, чтобы по возможности реже его дергать. Если вы будете запускать какой-то софт, win7 сама распределит сколько памяти забрать у кеша для запуска ПО.
Почитайте подробнее про работу Win7 с памятью, и не занимайтесь "народным целительством".

Худший ответ:
Мне нужно найти инструмент, который сам будет отслеживать работу оперативки и очищать ееЭтим инструментом является операционная система.
Она полностью управляет памятью.
Более ничего делать не нужно.
Любой из сторонних  инструментов - в лучшем случае бесполезная утилита которая ничего не делает, в худшем случае делает много хуже.
Вопрос: Может ли одноядерный процессор выполнять несколько команд одновременно?

Лучший ответ:
1) Может ли одноядерный процессор выполнять несколько команд одновременно
Нет, одно ядро может выполнять только одну команту за такт.
2), иметь нессколько потоков? если да, то каким образом может это происходить? 
Да, например в такой технологии как hyper-threading. Реализовано тем, что в процессоре есть два набора регистров для двух потоков, ОС видит процессор с двумя логическими ядрами.
Если один поток что-то ожидает, то процессор может переключиться и выполнить команду другого потока.
Понятно, что это не так быстро, как реальные два ядра - просто процессор просто не будет простаивать, если один поток чего-то ожидает, и не будет затрачивать время для переключения с одного потока на другой, так как необходимые для работы данные - во втором наборе регистров.

Худший ответ:
Современные x86 процессоры устроены очень сложно. Они имеют внутри себя микропрограмму для декомпозиции и преобразования поступающих машинных слов на ещё более низкоуровневые опкоды (микроопкоды). Они включают в себя конвейерную архитектуру, когда независимые друг от друга команды исполняются частично параллельно. Есть специализированные SSE, MMX, AVX команды (да и Floating-point тоже сюда), их исполнение производится на сопроцессорах и также может быть произведено одновременно с исполнением основных команд (а ещё могут одновременно исполняться на частях сопроцессора, так возможно одновременное исполнение сразу двух MMX команд). Медленная работа с памятью ускоряется кэшированием, но все равно может быть отложена "в фон" в угоду более быстрым командам. Предикция переходов "угадывает", куда пойдёт исполнение логического ветвления, процессор может вычислить часть команд ещё до того, как туда дойдёт исполнение... Всё ради того, чтобы вы посидели вконтактике без тормозов.
Сейчас сложно сказать, сколько команд выполняет процессор за такт. В зависимости от самой исполняемой программы, некоторые Intel или AMD x86 процесоры способны выполнять до 32 floating-point инструкций за один такт и до 6 "стандартных" микроопкодов за такт.
К примеру, цифровой сигнальный процессор архитектуры TMS320 по документации умеет исполнять 8 команд за такт, и компиляторы это учитывают, расставляют флаги зависимостей, стараются оптимизировать параллельное исполнение.
Вопрос: Ширина контейнера bootstrap выше 1170px?

Лучший ответ:
На официальном сайте все заканчивается шириной 1170 px.
а также на официальном сайте есть такой раздел как getbootstrap.com/customize
и там ты можешь хоть 9999px ширину поставить

Худший ответ:
neat.bourbon.io 
Берёте вот это и делаете себе сетку какую вам только хочется.
Или 
susy.oddbird.net 
Если вам нужна бустраповская сетка с шириной как вы хотите то берёте исходники бустрапа и редактируете как вам нужно, это скорее всего лежит в какой-то sass переменной.
https://stackoverflow.com/questions/15884102/boots... 
Вот для вас нагуглил.
Вопрос: Где ошибка в вычисление произведения чисел в массиве?

Лучший ответ:
Нужно считать с 0 позиции, а у вас идет отсчет с 1, поэтому в первом случае единица на 0 позиции не учитывается и никак не влияет:function arrayElementsProduct(array) {

  var result = 1;

  for (var i = 0; i < array.length; i++) {
    result *= array[i];
  }
  return result;
}

Худший ответ:
Так должно работать:function arrayElementsProduct(array) {

  var result = 1;

  for (var i = 0; i < array.length; i++) {
    result *= array[i];
  }
  return result;
}
Вопрос: Правильны ли понятия трансляции, компиляции и интерпретации в книгах Таненбаума?

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

Худший ответ:
В том смысле, как эти термины подразумеваются Танненбаумом, различие между трансляцией и компиляцией в том, что в первом случае происходит взаимно-однозначное (и потенциально обратимое) преобразование операторов входного языка (исходника) в команды исполнителя, а компиляция — более «творческий» процесс, когда одному оператору входного языка будет соответствовать произвольное (обычно довольно существенное) число команд исполнителя, однозначность возможна лишь на уровне блоков кода, а обратимость практически утеряна (однозначная декомпиляция невозможна).
На практике трансляторами являются различные ассемблеры, а компиляторами — генераторы машкода языков высокого уровня (ЯВУ). Это отражено в литературе: ассемблирование программ ассемблером называют трансляцией, а трансляцию (каламбур!) в машкод языков высокого уровня — компиляцией. Иногда говорят «трансляция с ЯВУ», подразумевая неоднозначность процесса явно.
Другое использование термина «трансляция» — в качестве объединяющего для компиляции и интерпретации. В этом случае речь идет только о языках высокого уровня, ассемблеры остаются за скобками.У себя на форуме я неправильно использовал эти терминыПосле углубленного изучения темы выяснилось, что процесс генерации обратимого кода для дальнейшего добавления в базу правильней называть трансляцией и установкой, а не компиляцией. В окончательном документе это будет учтено.
Вопрос: Почему возникает ошибка при выполнении make?

Лучший ответ:
Потому что у вас новая версия openssl (1.1+), в которой чудо-разработчики кардинально поменяли интерфейс.
Поставьте старую версию и будет вам счастье.

Худший ответ:
Ошибка в том, что вы используете тип BIGNUM без декларации:bignum.h:51:24: error: invalid use of incomplete type ‘BIGNUM {aka struct bignum_st}’
Вопрос: Как проверить ОЗУ планку на исправность после сгорания материнской платы?

Лучший ответ:
Только воткнув в материнку и запустит многочасовой memtest

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

Лучший ответ:
Еще как подходит
Так же поддерживает многопоточность в CUrl
Кукисы и все прочее
Запускать нужно как консольное приложение
Из инструментов есть всякие эмуляторы браузеров
А либа dom поможет распарсить по дум элементам
А screen в линукс позволит запустить несколько парсеров
В общем изучайте
База городов вк выкачалась за неделю в 100 потоков и проверкой на ошиби при скачивании
аптайм не 100% оказался

Худший ответ:
а  какая  разница?
берешь  phpQuery  и парсишь  в свое  удовольствие
Вопрос: Как быстро и эффективно писать код css?

Лучший ответ:
https://www.browsersync.io + gulp
Или https://webpack.js.org умеют отслеживать изменения в файлах и сразу инжектить их на страницу.

Худший ответ:
Используйте Dreamviewer, там сразу отображаются изменения.
Вопрос: Genesis framework стоит ли использовать?

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

Худший ответ:
Я работал с данным фремвёрком. Я скажу вам что ничего особенного в нём не нашел. Он использует тот же самый wordpress функционал но только со своими экшинами и хуками. Придётся просто много лишнего смотреть что бы сделать свою тему для генезиса. Что бы работали ихние фичи. А так скорости разработки, к скорости загрузки сайта тоже.
Но это всёже моё мнение :)
Вопрос: Есть ли Linux для embedded устройств с минимальными пакетами, только OpenGL?

Лучший ответ:
нужен Linux без окон для встраиваемой техники, но с возможностью запуска OpenGL приложения что бы оно было основным и всё (Приложение на Qt)buildroot

Худший ответ:
Я в свое время брал пустой Debian, ставил openbox, Chromium в kiosk-mode, но у меня web-app был.
Если ваша прога тянет зависимости, то без них по логике она не запашет.
Вопрос: Винда сама регулирует звуки?

Лучший ответ:
Это из семерки скрин, но смысл такой-же

Худший ответ:
Или вы их не регулируете:
Вопрос: Какой wysiwyg редактор использовать с React?

Лучший ответ:
Лучший WYSIWYG-редактор - это редактор сделанный своими руками :-)

Худший ответ:
Мы на своем проекте испольузем https://n1ed.com
Очень мощная штука,и при этом быстрая. Если чего то не хватает, то можно написать свой плагин к нему.
Вопрос: Где хранить базу данных для сайта?

Лучший ответ:
Сделайте меню и мероприятия ссылками на google doc и откройте его для чтения всем.

Худший ответ:
PDF умеют все браузеры читать.
Вопрос: А как вы организовываете свою рабочую среду?

Лучший ответ:
Поставьте несколько мониторов.

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

Лучший ответ:
Создайте два идентичных блока и наложите их друг на друга (один скройте),
при наведении отобразите оба и раздвиньте их на нужное расстояние,
при этом их содержимое сдвиньте на 50% в нужном направление и через overflow закройте торчащие части.

Худший ответ:
.container {display:block; padding:5px; }
.left {width:50%; border-left:1px dotted black;}
.right {width:50%; float:right;}<div class="container">
<div class="left"></div>
<div class="right"></div>
</div>
Хотя скорее всего у вас в css есть разметка , просто разделить контейнер на six six
Вопрос: Как обновить страницу без мерцания?

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

Худший ответ:
instantclick.io (база Ajax + History API) если кому интересно, как-то забыл про него
Вопрос: Как грамотно чистить ПК от вейпа?

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

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

Лучший ответ:
Для малых офисов можно использовать продукцию Mikrotik. На 7 проводных клиентов подойдёт https://routerboard.com/RB2011UiAS-2HnD-IN
Однако, мне кажется, слишком много клиентов для одной точки. Возможно, стоит решить вопрос установкой роутера и дополнительной(-ых) ТД с ограничением максимального числа клиентов. Из SOHO, опять же, всё на Микротиках будет комфортнее строить. Capsman обеспечивает иллюзию безшовного WiFi
Либо, решать всё не силами продукции SOHO...
P.S. и выкиньте уже хабы! В каком мы году, по вашему?

Худший ответ:
Как и говорили выше, я бы посоветовал Mikrotik.
Но как более бюджетный вариант я бы для начала попробовал перепрошить роутер другой прошивкой.
DDWRT - более простая
OPENWRT - чуть замороченней, но и сделать с ней можно по больше.
По личному опыту, на OPENWRT TL-WR1043ND живет и радует, но есть нюансы с ноутами от Lenovo. Долго подбирал драйвера на которых не отваливался Wi-Fi.
Вопрос: Можно ли слишком широким функционалом проекта отпугнуть пользователей?

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

Худший ответ:
Все зависит от реализации, от удобства, от дизайна. Ну и если ресурс будет забагован то тоже утонет.
Без разницы сколько функционала вложете, если:
1. Не сможете нормально сделать дизайн ресурса
2. Пользователь не поймет что ему делать(юзабилити)
3. Долго будет загружаться страница
4. Забагованна
5. Удобство, допустим возьмем любой онлайн банк, вот у них у всех как под копирку, помню искал 1 кнопку пол часа, тупо из-за этого сменил банк т.к. с каждым заходом забывал где эта гребанная кнопка. ))
6.  Аудитория - т.е. вы должны понять для кого вы делаете данный ресурс и понимать их потребности и вы должны как-то донести до них, почему вас ресурс им вообще нужен, лично из описания я не вижу смысла от него.
7. Законы, это сейчас актуально как не когда, хранение информации, расшифровка данных, хранение файлов и т.п. чем придется вам заниматься т.к. я так понял что регистрация и авторизация у вас будет по номеру телефона, это хранение личной информации т.е. вы попадает под закон Яровой(если вы из РФ конечно).
Вопрос: В чем ошибка, почему при нажатии на кнопку «Бургер-меню» страница прокручивается наверх?

Лучший ответ:
$('.menu_btn').on('click', function(e){
  e.preventDefault();
  $('.menu_btn').toggleClass('menu_btn_active');
  $('.menu').toggleClass('menu_active');
})
забыли скобочки у preventDefault

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

Лучший ответ:
Вы в постановку вопроса хорошенько вдумайтесь. Вы спрашиваете про ТЕХНИЧЕСКОЕ решение, которое не позволит детям использовать телефоны КАК ФОТО- и ВИДЕО-КАМЕРЫ?
Ну, можно заклеивать объективы, например, и вешать плобмы на наклейки. Подойдёт? :-)
Из технических мер -- оборудовать в душевых и туалетах полностью изолированные крепкие кабинки, закрываемые изнутри на надёжные замки. Но я думаю, школа на это просто не пойдёт.
Здесь только административно:Требовать сдавать телефоны как минимум на время физкультуры;Если кому-то жизненно необходимо наличие телефона рядом постоянно -- ОК, приходите с самым простым телефоном, без камер и прочего;Самых рьяных рассылальщиков -- сдавать в полицию, по статье "нарушение неприкосновенности частной жизни" (Статья 137 УК РФ. Штрафы там, кстати, весьма весомые -- до 200 тысяч). Когда начнут более или менее регулярно прилетать штрафы -- многие сами задумаются, а надо ли оно им?

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

Лучший ответ:
посмотрите функцию EXTRACT (field FROM source), например 
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');

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

Лучший ответ:
Можно еще использовать UART.

Худший ответ:
Eсли Raspberry Pi 3 с Bluetooth, то можно докупить к ардуино модуль - 1мбит\с хватит?
Вопрос: К верстальщику: кого считаете профи? «средний час» верстки? Навыки?

Лучший ответ:
Для меня ориентиром являются сайты Студии Лебедева, CSSSR

Худший ответ:
1. Слишком много толковых специалистов на земле) Выбрать сложно. При это в основном крупные и интересные проект реализуются командой.
2. Сугубо личный вопрос, у каждого своя оценка своих трудозатрат.  Кому 500 рублей достаточно за LP, другому и 15.000 мало.
3. Каждый "инструмент" постигается со временем и нельзя сказать об увеличении КПД, ведь уровень и сложность проектов растет. Основной спектр и так используется почти всеми. Emmet, gulp, настроенный редактор, слепая печать, препроцессоры, автопрефиксер, различные zepplin( avocode, figma, invision) и т.д.
4. Лично занимаюсь всем, кроме натягивания шаблонов на движки cms. Эта специфика кажется слишком узкой и с минимальным развитием. Хотя и прибыльная.
5. В зависимости от проекта выбирается инструментарий. К примеру проекты на symfony по-умолчанию используют шаблонизатор twig, phalcon - volt. Если идти по БЭМ шаблонизатор HTML желателен. 
P.S. Знание чистого html/css/js  помогает работать над любым спектром задач. Ведь используя только какой-то фреймворк или библиотеку, можно поставить себя в тупик при не стандартных для него условиях.
Вопрос: Есть ли программа для мониторинга сети?

Лучший ответ:
wireshark мониторит все. Буквально. Записывает весь сетевой трафик по данному интерфейсу. А уже Ваше дело - его потом разобрать.

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

Лучший ответ:
Значит так.
Берёшь одну строку.
Прикладываешь к ней вторую.
Смотришь, хорошее ли у них корелирование.
Результат заносишь в куда тебе нужно.
Спрашивай еще, не стесняйся.

Худший ответ:
Вообще-то, без знаний статистики далеко не уедешь.
https://www.youtube.com/watch?v=4EXNedimDMs
Вопрос: Мобильная разработка приложений: Java или JavaScript?

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

Худший ответ:
js приблизительно в 100 раз легче изучить чем java
производительноть js постоянно растет - скоро WebAssembly и WebCl
сейчас - ускореная графика WebGl
api phonegap - достаточен для большинства задач
js это будущее
Вопрос: Как изменить элемент при hover на другой?

Лучший ответ:
вместо img:hover пусть будет a:hover > img

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

Лучший ответ:
Начните с хобби-проекта.
Не рандомный однотипный сайт, а реальный хоббипроект, где вам важен конечный результат, которым кто-то пользуется.
Сайт или раздел для школы/института с каким-то полезным функционалом.
Простую игру или приложение для анализа.
Важно не направление, важно понять смысл задачи и реализовать ее каким-либо инструментом. Так научитесь использовать инструменты, а не просто "учить" их.
Простой пример:
Нужно автоматически копировать файл с одного компа на другой с определенной периодичностью.
Нужно ли для этого учить ftp/ ssh/ какой-нить googledisk? Не обязательно. У вас цель не ftp изучить, а настроить процесс копирования. Любым способом. Настроите - посмотрите как оно работает - и это уже будет выполнена реальная задача. А минусы конкретного инструмента по ходу можно будет увидеть на практике.

Худший ответ:
начните с английского, без него обучение сильно замедлится, так же есть смысл изучать фундаментальные дисциплины, так как в том же вебе все быстро меняется и пока выучите новый js фреймворк на подходе будет уже другой