Curso online Node JS

Associated Courses

$2.999

Node.js es un entorno Javascript del lado del servidor, basado en eventos. El  javascript se ejecuta utilizando el motor V8, desarrollado por Google. Es de código abierto, y se ejecuta en Mac OS X, Windows y Linux. Node.js es una librería y entorno de ejecución de E/S dirigida por eventos

Inscripción cerrada curso completo – Próxima inscripción a programar

Duración: 2 meses – dedicación 60 hs

Modalidad: Curso virtual sincrónico con docente online

Certificado digital UTN

Agotado

SKU: course-21 Categoría:

Descripción

Contenidos

UNIDAD 1: INTRODUCCION A JAVASCRIPT

Qué es Javascript, para qué sirve y en dónde se usa. Qué es un lenguaje compilado y que es un lenguaje interpretado. En qué se diferencia de otros lenguajes. Diferencias entre ejecución del lado del cliente y ejecución del lado del servidor. En qué se distingue un desarollador frontend de uno backend.

Instalando un IDE. Ejecutando nuestro primer script. Debuggeando el script con el inspector del navegador. Adelanto de los temas de la unidad.

Tema 1) VARIABLES Y FUNCIONES

Qué es una variable. Diferencias entre var, let, cons. Tipos de datos. Qué es una función. Declarando y llamando una función. Pasándole parámetros y devolviendo valores.

Ejercicios prácticos con variables y funciones.

Tema 2) OPERADORES LOGICOS, COMPARACIONES Y CONDICIONALES

Cómo realizar comparaciones. Qué son los operadores lógicos: AND, OR y NOT. Control de flujo con condicionales IF, ELSE IF, ELSE y SWITCH.

Ejercicios prácticos con operadores lógicos, comparaciones y condicionales.

Tema 3) ARRAYS Y BUCLES

Qué es un array. Cómo se declara. Cómo agregarle elementos y acceder a ellos. Qué es un bucle y cómo se ejecuta. Diferencias de bucles WHILE, FOR y DO…WHILE.

Ejercicios prácticos con arrays y bucles.

Tema 4) INTEGRANDO LAS BASES

Desafío práctico integrando las bases fundamentales de Javascript.

UNIDAD 2: OBJETOS

Qué es un objeto. Propiedades y métodos. Cómo se define y cómo se accede a ellos. Getters y setters. Constructores. Herencia. Las funciones como objetos. La keyword this. El objeto de datos JSON.

Desafíos diarios poniendo en juego los conceptos aprendidos sobre objetos.

UNIDAD 3: JAVASCRIPT ASINCRONO

Diferencias entre ejecución síncrona y asíncrona, bloqueante y no bloqueante.

Adelanto de los temas de la unidad.

Tema 1) CLOSURES AND CALLBACKS

Qué es una closure. Funciones inmediatamente invocables. Qué es un callback. Funciones de flecha.

Ejercicios prácticos con callbacks, setTimeOut y setInterval.

Tema 2) PROMESAS

Qué es callback “hell”. Qué son las promesas y por qué solucionan el callback hell.

Ejercicios prácticos con promesas.

Tema 3) ASINC Y AWAIT

Nueva sintaxis para las promesas. Cómo utilizarlas y cómo debuggearlas.

Ejercicios prácticos con ASINC y AWAIT.

UNIDAD 4: INTRODUCCION A NODE Y NPM

Qué es y para qué sirve Node.js. Qué es el event loop y cómo funciona. Qué es NPM. Qué son las dependencias. Cómo usar el package.json.

Instalando el entorno. Creando y corriendo nuestro primer server. Adelanto de los temas de la unidad.

Tema 1) MODULOS

Qué es un módulo y para qué se usa. Diferencia entre module.exports y exports.

Creación, exportación e importación de un módulo.

Tema 2) APLICACIÓN CLI Y MANEJO DE ARCHIVOS

Qué es una aplicación CLI. Ejecutando una aplicación desde línea de comandos. Cómo leer parámetros. Cómo leer input del usuario. Módulo de archivos. Cómo leer un archivo y parsear los datos. Cómo crear directorios y cómo escribir y mover archivos. Cómo generar logs.

Creación de una aplicación CLI que permita manejar archivos, parsear datos y generar logs. Generando un módulo para la aplicación.

Tema 3) MANEJO DE ERRORES

Qué es el manejo de errores. Errores operacionales vs errores programáticos. Distintas formas de lidiar con errores síncrona y asíncronamente. Cómo crear excepciones custom.

Creando excepciones customs. Agregando manejo de errores a nuestra aplicación cli.

Tema 4) EVENTOS

Qué es un evento. El patrón observador. Cómo crear un evento y suscribirse al mismo. Cómo comunicar módulos con eventos.

Tema Extra) GIT

Qué es un sistema de versionado y para que se usa. Qué es un repositorio. Diferencias entre fork y clone. Cómo hacer un commit. Cómo escribir comentarios de commit útiles. Comandos básicos: merge, push, pull. Qué es un pull request. Qué son y cómo resolver conflictos.

Haciendo un fork del proyecto. Creando nuestro primer commit.

UNIDAD 5: EXPRESS Y API REST

Qué es Express. Qué son los web services y para qué sirven. Diferencias entre SOAP y REST. Qué es una API REST. Qué es una ruta de API y cómo se compone. Cuáles son los métodos HTTP. Cuáles son los códigos HTTP. Qué es un header y cómo mandar metadata. Construyendo nuestra primera API con Express. Cómo leer parámetros y body de una request. Instalando Postman y testeando nuestra API.

Tema 1) ROUTING

Qué es el router de Express, para qué sirve y cómo funciona.

Generando las API REST para el proyecto.

Tema 2) COOKIES Y SESIONES

Qué son las cookies. Cómo crear y obtener datos de cookies. Qué es una sesión. Como manejar sesiones con cookies.

Agregando manejo de sesiones a nuestro proyecto.

Tema 3) MIDDLEWARES Y AUTENTIFICACION

Qué es un middleware. Para qué sirve. Creando un middleware para loguear todas las requests. Creando un middleware para restringir el body de las requests. Qué es un token. Cómo funciona la autentificación por token.

Agregando autenticación a nuestras APIs mediante middlewares.

UNIDAD 6: BASES DE DATOS NO SQL CON MONGO DB / MONGOOSE

Qué es un base de datos y para qué se usa. Diferencia entre bases de datos SQL y no SQL. Qué es un ODM y qué función cumple. Introducción a Mongo DB y Mongoose. Conceptos principales: colección, documento.

Instalando Mongo DB. Generando una conexión con Mongo DB. Generando nuestra primera consulta. Adelanto de los temas de la unidad.

Tema 1) ESQUEMAS Y MODELOS

Qué es un esquema y qué es un modelo. Para qué sirven. Cómo se declaran. Cuáles son los tipos de datos que acepta.

Generando los modelos para nuestro proyecto. Adaptación de nuestra aplicación CLI para importar los datos iniciales.

Tema 2) OPERACIONES CRUD

Qué son las operaciones CRUD. Operaciones CRUD con MongoDb.

Adaptación de nuestras APIs y conexión con nuestra base de datos para el alta, modificación y borrado de registros.

Tema 3) ALTA DE USUARIO Y LOGUEO

Cifrado y hasheo de contraseñas. Creación de token de sesión.

Adaptación de nuestras APIs para permitir el alta logueo de usuarios y en nuestro proyecto.

Tema 4) QUERIES

Qué son las queries. Cómo armar una query. Cuáles son los operadores lógicos. Cómo devolver resultados de búsqueda.

Adaptación de nuestras APIs para devolver resultados de búsqueda dependiendo de los filtros seleccionados.

UNIDAD 7: CONSIDERACIONES FINALES

Repaso de temas dados, respuestas a preguntas y correcciones finales de errores. Consideraciones finales, cómo seguir practicando y avanzando, tips para armar un buen portfolio y proyectos posibles para encarar, consejos sobre cómo armar un cv y aplicar a ofertas de trabajo.

Tema 1) TESTS UNITARIOS CON MOCHA

Qué son los tests unitarios. Qué son las aserciones. Por qué es importante tener test unitarios.Agregando tests a nuestro proyecto.
Tema 2) DEPLOYANDO NUESTRO PROYECTO CON HEROKU
Qué es Heroku. En qué consiste un deployeo.

Instalando Heroku CLI. Cómo configurar nuestra app en Heroku. Deployando nuestra app.

Tema 3) BUENAS PRÁCTICAS

Buenas prácticas de programación. Guías de estilos. Qué es el linting y cómo aplicarlo con ESLint.

Instalando ESLint y corriendo una prueba.

Modalidad didáctica

Curso online sincrónico

Una clase virtual semanal en la que se introducirá la unidad, se presentará los temas de la semana y se resolverán dudas de la anterior, 3-4 clases semanales con material de apoyo escrito y ejercicios prácticos a resolver. Proyecto integrador final, consistente en un tablero online de ofertas de empleo, con alta, baja y modificación de ofertas, alta de usuario, guardado de ofertas favoritas y postulación a empleos.

  • Sala de videoconferencia con el docente en linea
  • Material multimedia
  • Foro de Consultas

Sobre los materiales didácticos:

Las videoconferencias se graban y estarán disponibles  junto a los materiales de estudio y la información de los foros durante todo el tiempo que dure el curso.

Una clase virtual semanal en la que se introducirá la unidad, se presentará los temas de la semana y se resolverán dudas de la anterior, 3-4 clases semanales con material de apoyo escrito y ejercicios prácticos a resolver. Proyecto integrador final, consistente en un tablero online de ofertas de empleo, con alta, baja y modificación de ofertas, alta de usuario, guardado de ofertas favoritas y postulación a empleos.

Aprobación del curso

La evaluación forma parte del proceso didáctico donde el alumno se confronta con lo aprendido. Para aprobar el curso los alumnos deben aprobar las evaluaciones que el docente plantee

Requisitos:

Conocimientos básicos-intermedios de OS a nivel usuario. PC, Notebook o netbook con Windows 10 y conexión a internet.

Docente Pablo Hoc

Apasionado por las tecnologías y el mundo de la informática, trabaja desde hace más de 6 años como programador profesional. Ha desarrollado múltiples sitios de ecommerce, web y mobile apps y aplicaciones de escritorio y de servidor, entre otros. Defensor de la democratización del conocimiento, cree en el potencial transformador de la tecnología y considera que hay que facilitar a todos el acceso a la misma. Siempre al tanto de las novedades y en busca de nuevos desafíos, aprovecha sus ratos libres para seguir perfeccionándose y divertirse con lo aprendido en proyectos personales.