С чего подступиться к бекенду?

Привет. Знаю верстку, основы js, могу делать несложный фронт, и очень хочу научиться делать полноценные сайты, а для этого нужен бекенд.

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

И понимаю, что я ничего не понимаю. Я не знаю, что такое сервер, что такое запросы (гуглю, конечно, по ходу), примеры node js в книгах объясняют с помощью аналогичных действий на php, например, а я этого не знаю... Я просто совершенно не понимаю, что проиходит в беке в принципе. :)

Хочу развить в себе это понимание, но просто не знаю как к этому подступиться. Про что читать?
  • Вопрос задан
  • 900 просмотров
Пригласить эксперта
Ответы на вопрос 3
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
знаю только, о существовании node.js - фреймворка
Не могу быть уверенным до конца, но по моему, NodeJS - это не фреймворк.

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

Если говорить про уровень "чуть попроще", я бы посоветовал начать с "начала", т.е. с того, с чего начинается работа веб-приложения, а именно с HTTP-протокола, от него можно плавно переходить к веб-серверам, от веб-серверов к тому, к чему эти самые веб-сервера передают "динамические" HTTP-запросы на обработку, т.е. к "бекенд-программам" и... дальше уже сориентируетесь, чего ещё не хватает.

Хотя, всё зависит от целей конечно, если Ваша первичная и основная цель научиться "клепать сайты" - для скорости подобного обучения - лучше максимально абстрагироваться от всех технический особенностей, например - не забивать себе голову "ерундой" о техническом устройстве, предположим, cookies'ов, а просто выяснить в общих чертах как они работают (зачем нужны) и как их можно использовать. Такой подход позволяет максимально быстро приступить к процессу "сайтоклепания", сэкономить массу времени и памяти (нейронных связей в голове) для других важных дел, например, просмотра зомбоящика :)))

P.S. Максимальную скорость возведения бекенда обычно обеспечивают готовые решения, например, CMS. В большинстве случаев они существуют для самых разных языков, в т.ч. должны быть и для JS'а. Прелесть подобного подхода в том, что имея минимальный набор знаний о бекенде, можно делать довольно красивые/функциональные решения (сайты), при умении, хотя бы неплохо верстать :)
Ответ написан
Комментировать
daemonhk
@daemonhk
ПсиХоПат
Начинайте с азов: что такое сервер, в чем отличие Apache от Nginx, как работает php, что такое кэширование, какие БД бывают. При этом пока не обязательно даже кодить, просто почитайте профильные статьи, чтобы попытаться понять саму суть. Потом и на ноду можно будет переходить.
Ответ написан
Комментировать
alexiusp
@alexiusp
senior frontend developer
я бы предложил не забивать раньше времени голову азами, хотя без этого конечно в итоге не обойтись. И не начинать с бэкенда. Попробуйте сначала сделать сайт с более-менее инетересным фронтендом (хотя бы игру крестики-нолики или что-то такое) безо всякого бэкенда. Выложите этот сайт на хостинг. Думаю до сих пор должны существовать бесплатные варианты хостингов, где можно статичные странички выкладывать. Пока будете выкладывать эту свою страничку на сервер вы заодно познакомитесь, как оно это всё приблизительно работает в плане хостинга. Как сервер отдаёт файлы. Чем отличается URL, по которому вы страничку открываете от пути, где лежит ваша страница на сервере. Ну а потом уже потихоньку начнёте соображать, что вместо статичной странички сервер может и какие-то произвольные данные отдавать. И понеслось.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы