Node.js learning roadmap

Кто может посоветовать составленный roadmap по изучению Node.js?
Если можно напишите что, и в каком порядке нужно учить. К стати я не понимаю, почему именно MongoDB? SQL не очень подходит?

Вот нашел Node.Js Roadmap – A Route From Beginners To Become Expert Developer

А что ты хочешь на нем писать мочь в итоге? Там разные направления: утилиты, веб сервера, десктопные приложения. Или основы, которые общие для всего выше перечисленного?

Я не знаю, наверное то, что самое распространенное на рынке труда.

А фиг его понять что самое распространенное. Это целая отдельная отдельная история выяснить что на рынке популярно, что полезно и на каком именно рынке, и останется ли оно таким когда ты доучишься.

Ты смотришь на случаи где чисто nodejs нужен или где он нужен в связке с frontent?

Нужно наверное посмотреть вакансии? Как отличить где что? Что в вакансии пишут по тому или другому?

Не вдаваясь в детали подхода, если в итоге ты скажешь: хочу уметь разрабатывать REST API на nodejs, то для такой цели проще придумать что нужно учить. Или хочу уметь писать сборщик frontend проекта.

Либо так: на стримах что рассмотрено, второй вариант?
Timur Shemsedinov чему учит, или всему?

где пригодятся знания Angular?

Этот плейлист в начале про общую часть, которую нужно знать для любой деятельности с nodejs.

В смысле “где”? Уточни вопрос. На работе, в схожих системах, когда будешь писать свой код и структурировать его похжим образом.

Наверное мне удобнее учить то, что у Тимура и то, что на стримах.

Ты о моих или каких-то других стримах?

Твоих

Тогда имей в виду что нужно спрашивать любой непонятный момент. Я для того стримлю чтобы иметь возможность отвечать на походу появляющиеся вопросы на основании реальных задач

Так что для этого нужно учить и в какой последовательности?

Нужно знать синтаксис javascript, понимать базово как работать с command line (как запустить программу, как остановить, как найти папки-файлы, перейти в нужную директорию).

Nodejs

  • запуск программ
  • минимальный сетап для работы (автоматический перезапуск при изменениях файлов)
  • использование стандартной библиотеки (не всю, но достаточно чтобы понять как работает мезанизм, как читать документаци)
  • использование зависимостей
  • работа с файлами, в смысле на файловой системе
  • package.json
    • запуск скриптов, менеджмет зависимостей
  • понять ограничения платформы
    • динамическая типизация
    • event-loop и хорошие/плохие практики, связанные с ним. Эту тему нужно будет освежить во время изучения express.

Дальше смотреть конкретные фреймверки/библиотеки с которыми ты хочешь работать.

Точно не помешает знать

  • expressjs
    • запрос, ответ, middleware, сделать пару простых страниц. В авторизацию, аутенитификацию, как строить REST пока не углубляться: это можно доучить когда понадобится.
  • интеграция любой БД (mysql, mongodb). Просто чтобы почувствовать как это.
    • добавить динамики сайту, считывая данные из БД
  • хотя бы один фреймверк для тестирования
    • написать несколько тестов. Попробовать TDD
  • реализовать пару AJAX API точек входа для клиента
  • интегрировать хотя бы 2 API в серверный код
    • например бесплатное API перевода от яндекса или проверку орфографии

На закуску

  • websockets
  • async/await - намного удобнее писать асинхронный код используя такой синтаксис
  • HTTP прочитать про протокол, методы, принципы (GET vs POST), куки (защищенные, серверные)
  • написать коммандлайновую утилиту
    • можно не в express интегрировать левые API (перевод или орфографию), а в утилиту. Например, запилить коммандлайновый переводчик.

После этого изучение новых технологий и API для nodejs будет проще и понятнее.

1 лайк

MongoDB может в начале изучить, или на каком этапе?

На этапе когда будешь писать веб приложение. В плане это секция с БД, после express.

Тебя интересует первый уровень понимания инструмента: умение использовать. Понять как она работает, как ее настраивать итд можно позже, по требованию ситуации.

1 лайк

Что-то я не понял как пользоваться NODESCHOOL. По ссылкам отправляет на гитхаб, а там не понятно что от меня хотят.

Похоже эти распространяют модули обучения как npm пакеты. На какой конкретный репозиторий тебя кидает?