https://ru.godaddy.com/web-security/ssl-certificat...
Let's Encrypt выдает (DV) SSL первого уровня. Остальные (OV) SSL и (EV) SSL проверяют домен и организацию, что снижает риск подлога. Плюс зеленая плашка с названием.
Webpack из коробки дает интеграцию кучи инструментов: транспиляторы и препроцессоры, линтеры, live и hot reload, проксирование AJAX-запросов, минификацию. В grunt и gulp собирать все это в одну кучу было иногда довольно утомительно.
У webpack очень небольшой оверхед при сборке.
Если вам чем-то не нравится именно вебпак, то на нём свет клином не сошелся: grunt, gulp, browserify, rollup.
PHP - по количеству заказов явный лидер, я работаю на нем (в основном на framework yii2)
Python - меньше заказов, но и конкуренция меньше, более интересные, но и сложные проекты, чем на php. На php горы однотипного барахла, где работа больше на усидчивость, чем на подумать.
Node.js - не юзаю, и знаю краями, поэтому воздержусь от комментариев
Идти в разработку только ради денег - дохлый номер. Денег можно заработать только на том, что тебе лично интересно. В противном случае выгарание будет моментальным.
Если ты хочешь бэкендом заняться, то начинать надо не с выбора фреймворка, а с того, чтобы узнать как этот бэкенд вообще устроен и работает.
.addClass() - это метод (функция) из библиотеки jQuery, а не из чистого Javascript.
В JS есть classList.
ClassList является геттером. Возвращаемый им объект имеет несколько методов:
.add()
.remove()
.toggle()
.contains()
все они принимают в качестве аргумента имя класса.
Собственно, на том ресурсе, на который я привёл ссылки (MDN - Mozilla Developer Network) в первую очередь стоит искать ответы, и прочитать описание остальных методов (в левой колонке обычно весь список, относящийся к какой-то теме)
sudo echo "121.0.0.1 test.dev" >> /etc/hosts
sudo применяется только к вызову команды echo, запись в файл выполняется от имени обычного пользователя
правильно сделать так echo "121.0.0.1 test.dev" | sudo tee -a /etc/hosts
echo выполняется от обычного пользователя, ее вывод перенаправляется на вход команды tee, запущенной от имени рута, она входной поток дописывает (-a опция) в конец файла, ну и дублирует в stdout.
получается запись в файл от имени рута.
Выше правильно ответили, на фрилансе занимаешься кучей смежной фигни, не связанной с разработкой. Ты и продажник, и проджект, и маркетолог в одном лице. В студии этим занимаются отдельные специально обученные персонажи. Не говоря уже о разделении даже технарей между собой. Ну не верю я в полноценных фулстэков, это всегда компромисс.
Фрилансер должен найти заказ, провести переговоры, согласовать все аспекты задачи, изучить клиента на предмет адеватности, взять на себя риски и еще куча всего и только потом может начинать кодить. А офисный работник начинает кодить сразу, а для решения остальных задач есть другие отделы.