Creo que has respondido la pregunta más o menos por tu cuenta. Me gustaría poder priorizarlos y simplificarlos.
1. HTTP: absolutamente debe comprender el paradigma del cliente y el servidor a través de HTTP. No podrá programar en ninguna pila de tecnología del lado del servidor si no comprende los conceptos básicos. No le pido que comprenda toda la especificación, sino solo los verbos como GET, POST, PUT, DELETE y REST para invocar código en el lado del servidor.
2. Conocimiento de javascript: este es un requisito imprescindible; de lo contrario, ni siquiera puede programar en Node.js 🙂 Es javascript del lado del servidor, por lo que debe estar familiarizado con los matices del lenguaje de programación y su modelo.
- ¿Hay mejores funciones hash que SHA-512?
- Cómo crear una red neuronal para la detección de Alzheimer
- A partir de 2016, ¿es cierto que el navegador Safari de Apple es un navegador más rápido que el navegador Chrome de Google?
- ¿Cómo va a explicar la paravirtualización a un laico?
- ¿Cómo puede un estudiante de informática prepararse para la industria?
3. Bucle de eventos: ¿qué es? ¿Por qué debería ser usado? ¿Cuál es el beneficio de esto? Si comprende la semántica, podrá escribir fácilmente los programas Node.js
4. Programación asíncrona: es un modelo de programación muy diferente. Debe comprender el concepto de delegados que se invocaría una vez que una rutina se haya ejecutado con éxito o no se haya podido ejecutar. Sin comprender el modelo asíncrono, no podría escribir código eficiente.
Eso es todo 🙂
También me gustaría compartir el libro en línea que me ayudó enormemente a aprender Node.js. Espero que lo encuentres útil también – The Node Beginner Book