Azure, Chatgpt, SQL, Power apps, Scrum, Cobit, Ciberseguridad

Intuition.com
Inicio
Cloud Academy
Office
IA
Buenas Prácticas
Power BI
JAVASCRIPT AVANZADO
Ayuda
Contacto
Políticas Internas
Política Cookies
Nosotros
Intuition.com
Inicio
Cloud Academy
Office
IA
Buenas Prácticas
Power BI
JAVASCRIPT AVANZADO
Ayuda
Contacto
Políticas Internas
Política Cookies
Nosotros
Más
  • Inicio
  • Cloud Academy
  • Office
  • IA
  • Buenas Prácticas
  • Power BI
  • JAVASCRIPT AVANZADO
  • Ayuda
  • Contacto
  • Políticas Internas
  • Política Cookies
  • Nosotros
  • Inicio
  • Cloud Academy
  • Office
  • IA
  • Buenas Prácticas
  • Power BI
  • JAVASCRIPT AVANZADO
  • Ayuda
  • Contacto
  • Políticas Internas
  • Política Cookies
  • Nosotros

Desarrollo Full Stack Moderno con JavaScript AVANZADO

Descripción del curso

Este curso brinda una formación integral para diseñar, desarrollar, probar y desplegar aplicaciones web modernas utilizando tecnologías JavaScript tanto en el front-end como en el back-end.

Las personas participantes aprenderán a construir aplicaciones completas, seguras, escalables y mantenibles, integrando interfaces dinámicas, APIs RESTful, bases de datos SQL y NoSQL, autenticación, pruebas automatizadas y procesos básicos de despliegue en la nube.


Duración: 36 horas, distribuidas en 9 sesiones de cuatro horas.


Fecha: 21-22-23-24-25-28-29-30 de set y 1 de oct de 8:00 am a 12:00 pm


Modalidad: Virtual en vivo, con acompañamiento del instructor, demostraciones, prácticas guiadas y laboratorios.


Objetivo general

Desarrollar las competencias necesarias para diseñar, construir, integrar, probar y desplegar aplicaciones Full Stack modernas, aplicando buenas prácticas de arquitectura, seguridad, rendimiento, calidad de software y administración del ciclo de vida de una aplicación web.


Objetivos específicos

Al finalizar el curso, las personas participantes estarán en capacidad de:

  • Comprender la arquitectura y los componentes de una aplicación Full      Stack moderna.
  • Diseñar interfaces web dinámicas mediante frameworks modernos de front-end.
  • Construir APIs RESTful utilizando Node.js.
  • Implementar mecanismos seguros de autenticación y autorización.
  • Integrar aplicaciones con bases de datos SQL y NoSQL.
  • Aplicar técnicas de validación, manejo de errores y protección de datos.
  • Desarrollar pruebas unitarias y de integración.
  • Utilizar Git como herramienta de control de versiones.
  • Preparar y desplegar aplicaciones en servidores o plataformas cloud.
  • Implementar mecanismos básicos de monitoreo, registro y diagnóstico.


Dirigido a

  • Desarrolladores de software.
  • Programadores web.
  • Profesionales de tecnologías de información.
  • Analistas de sistemas.
  • Personal técnico responsable del desarrollo o mantenimiento de aplicaciones.
  • Personas con conocimientos de programación interesadas en evolucionar hacia el desarrollo Full Stack.


Prerrequisitos recomendados

  • Conocimientos básicos de programación.
  • Manejo básico de HTML, CSS y JavaScript.
  • Comprensión general de bases de datos.
  • Familiaridad con comandos básicos de terminal.
  • Conocimientos introductorios sobre desarrollo web y protocolo HTTP.


Experiencia laboral recomendada

Se recomienda contar con experiencia básica en programación o participación previa en proyectos de desarrollo de software. No es indispensable haber trabajado anteriormente como desarrollador Full Stack.


Metodología

El curso tendrá un enfoque práctico, progresivo e interactivo. Cada tema será abordado mediante:

  • Explicaciones conceptuales.
  • Demostraciones realizadas por el instructor.
  • Ejercicios prácticos.
  • Laboratorios guiados.
  • Análisis de arquitecturas y casos reales.
  • Resolución de problemas frecuentes.
  • Aplicación de buenas prácticas de desarrollo.
  • Desarrollo progresivo de una aplicación Full Stack.
  • Proyecto final integrador.


Contenido temático


Módulo 1. Arquitectura Full Stack moderna

1.1 Fundamentos del desarrollo Full Stack

  • Concepto y alcance del desarrollo Full Stack.
  • Componentes principales de una aplicación web moderna.
  • Responsabilidades del front-end, back-end y capa de datos.
  • Flujo de información entre navegador, servidor y base de datos.
  • Aplicaciones monolíticas, modulares, distribuidas y basadas en servicios.
  • Ventajas y desafíos de las arquitecturas modernas.

1.2 Arquitecturas cliente-servidor

  • Funcionamiento del modelo cliente-servidor.
  • Solicitudes y respuestas HTTP.
  • Métodos HTTP:      GET, POST, PUT, PATCH y DELETE.
  • Encabezados, parámetros, cuerpo de la solicitud y códigos de estado.
  • Comunicación síncrona y asíncrona.
  • Separación de responsabilidades entre cliente y servidor.
  • Aplicaciones renderizadas en el cliente y en el servidor.
  • Introducción a SPA, SSR y aplicaciones híbridas.

1.3 Diseño de APIs RESTful

  • Concepto de API y servicio web.
  • Principios de la arquitectura REST.
  • Diseño de recursos, rutas y endpoints.
  • Uso correcto de métodos y códigos de estado HTTP.
  • Parámetros de ruta, consulta y cuerpo.
  • Paginación, ordenamiento y filtrado.
  • Versionamiento de APIs.
  • Convenciones para nombres y estructuras de respuesta.
  • Diseño de respuestas consistentes.
  • Manejo estructurado de errores.
  • Introducción a la documentación con OpenAPI y Swagger.

1.4 Patrones de diseño para aplicaciones web

  • Importancia de los patrones de diseño.
  • Separación de responsabilidades.
  • Arquitectura por capas.
  • Patrón Modelo-Vista-Controlador.
  • Repository Pattern.
  • Service Layer.
  • Dependency Injection.
  • Componentización y reutilización.
  • Principios SOLID aplicados al desarrollo web.
  • Selección de patrones según el tamaño y complejidad del proyecto.

1.5 Organización y estructuración de proyectos

  • Organización de carpetas y módulos.
  • Separación de componentes, servicios, controladores y modelos.
  • Archivos de configuración.
  • Administración de dependencias.
  • Convenciones de nombres.
  • Código reutilizable y mantenible.
  • Configuración de herramientas de calidad.
  • Documentación técnica del proyecto.
  • Preparación de una estructura escalable.


Módulo 2. Desarrollo front-end avanzado

2.1 Arquitectura de una aplicación SPA

  • Funcionamiento de una Single Page Application.
  • Componentes, vistas y servicios.
  • Ciclo de vida de los componentes.
  • Propiedades, eventos y comunicación entre componentes.
  • Componentes reutilizables.
  • Composición frente a herencia.
  • Separación entre lógica, presentación y acceso a datos.

2.2 Gestión avanzada del estado

  • Estado local y estado global.
  • Flujo de datos dentro de la aplicación.
  • Administración del estado compartido.
  • Contextos, stores y gestores de estado.
  • Acciones, reductores y selectores.
  • Inmutabilidad y actualización predecible.
  • Persistencia del estado.
  • Sincronización con almacenamiento local.
  • Manejo del estado proveniente del servidor.
  • Estrategias para evitar estados duplicados o inconsistentes.

2.3 Manejo de rutas

  • Configuración de rutas públicas y privadas.
  • Rutas dinámicas y parámetros.
  • Rutas anidadas.
  • Navegación programática.
  • Carga diferida de vistas.
  • Manejo de páginas no encontradas.
  • Conservación del estado durante la navegación.
  • Protección de rutas según permisos y roles.

2.4 Autenticación desde el front-end

  • Formularios de ingreso y cierre de sesión.
  • Administración segura de sesiones.
  • Manejo de tokens de acceso y actualización.
  • Interceptores de solicitudes.
  • Renovación de credenciales.
  • Control de acceso basado en roles.
  • Protección de componentes y funcionalidades.
  • Riesgos del almacenamiento inseguro de tokens.
  • Manejo de expiración y sesiones no autorizadas.

2.5 Consumo eficiente de APIs

  • Solicitudes HTTP asíncronas.
  • Uso de Fetch, Axios o herramientas equivalentes.
  • Manejo de estados de carga, éxito y error.
  • Cancelación de solicitudes.
  • Reintentos y control de tiempo de espera.
  • Consultas, paginación y filtros.
  • Caché de información.
  • Prevención de solicitudes duplicadas.
  • Debounce y throttle.
  • Manejo de formularios y envío de datos.
  • Validación de respuestas.

2.6 Optimización del rendimiento

  • Identificación de renderizados innecesarios.
  • Memoización de valores y componentes.
  • Lazy loading y división del código.
  • Optimización de listas extensas.
  • Optimización de imágenes y recursos.
  • Reducción del tamaño de los bundles.
  • Caché en el navegador.
  • Análisis del rendimiento con herramientas del navegador.
  • Introducción a Core Web Vitals.
  • Estrategias para mejorar la experiencia del usuario.


Módulo 3. Desarrollo back-end con Node.js

3.1 Fundamentos de Node.js

  • Arquitectura y funcionamiento de Node.js.
  • Event Loop.
  • Operaciones asíncronas.
  • Promesas y async/await.
  • Administración de paquetes con npm.
  • Módulos y reutilización de código.
  • Manejo de archivos y procesos.
  • Configuración inicial de un proyecto.

3.2 Creación de APIs con Express

  • Configuración de un servidor web.
  • Creación de rutas y controladores.
  • Parámetros de ruta y consulta.
  • Procesamiento del cuerpo de solicitudes.
  • Construcción de operaciones CRUD.
  • Separación entre rutas, controladores y servicios.
  • Estructuración modular de la API.
  • Validación y transformación de datos.
  • Respuestas HTTP consistentes.
  • Documentación de endpoints.

3.3 Middleware

  • Concepto y funcionamiento del middleware.
  • Middleware global y específico.
  • Creación de middleware personalizado.
  • Validación de solicitudes.
  • Registro de actividad.
  • Control de autenticación.
  • Manejo de archivos.
  • Limitación de solicitudes.
  • Configuración de CORS.
  • Orden de ejecución de los middleware.

3.4 Manejo centralizado de errores

  • Errores operativos y errores de programación.
  • Captura de errores síncronos y asíncronos.
  • Clases de errores personalizadas.
  • Middleware centralizado de errores.
  • Mensajes para desarrollo y producción.
  • Registro de errores.
  • Ocultamiento de información sensible.
  • Respuestas de error estandarizadas.

3.5 Autenticación y autorización

  • Diferencia entre autenticación y autorización.
  • Registro e inicio de sesión.
  • Protección de contraseñas mediante hashing.
  • Uso de JWT.
  • Tokens de acceso y actualización.
  • Expiración y revocación de sesiones.
  • Autorización basada en roles y permisos.
  • Protección de endpoints.
  • Introducción a OAuth 2.0 y OpenID Connect.
  • Integración con proveedores externos de identidad.

3.6 Seguridad en aplicaciones Node.js

  • Principales riesgos de seguridad en aplicaciones web.
  • Validación y sanitización de entradas.
  • Prevención de inyección SQL y NoSQL.
  • Protección contra XSS y CSRF.
  • Configuración segura de CORS.
  • Encabezados HTTP de seguridad.
  • Limitación de solicitudes y ataques de fuerza bruta.
  • Protección de secretos y credenciales.
  • Administración segura de cookies.
  • Actualización y auditoría de dependencias.
  • Aplicación práctica de recomendaciones OWASP.


Módulo 4. Bases de datos e integración

4.1 Bases de datos SQL y NoSQL

  • Diferencias entre modelos relacionales y documentales.
  • Casos de uso de cada tecnología.
  • Tablas, documentos, colecciones y registros.
  • Claves primarias y foráneas.
  • Índices y rendimiento.
  • Transacciones y consistencia.
  • Selección de la base de datos según el proyecto.
  • Estrategias de integración con Node.js.

4.2 Modelado de datos

  • Identificación de entidades y atributos.
  • Relaciones uno a uno, uno a muchos y muchos a muchos.
  • Normalización de bases de datos relacionales.
  • Desnormalización en bases NoSQL.
  • Integridad referencial.
  • Restricciones y reglas de negocio.
  • Modelado orientado a consultas.
  • Diagramas entidad-relación.
  • Diseño para escalabilidad y mantenimiento.

4.3 ORM y ODM

  • Concepto y propósito de ORM y ODM.
  • Configuración de la conexión.
  • Definición de modelos y esquemas.
  • Operaciones CRUD.
  • Consultas, filtros y ordenamiento.
  • Validaciones.
  • Relaciones y carga de información asociada.
  • Consultas avanzadas.
  • Transacciones.
  • Comparación entre consultas nativas y abstracciones ORM/ODM.

4.4 Migraciones y carga de datos

  • Concepto de migración.
  • Creación y ejecución de migraciones.
  • Modificaciones controladas del esquema.
  • Reversión de cambios.
  • Datos iniciales y procesos de seeding.
  • Consistencia entre ambientes.
  • Control de versiones del esquema.
  • Recomendaciones para migraciones en producción.

4.5 Integración entre API y base de datos

  • Separación de la lógica de persistencia.
  • Implementación de repositorios y servicios.
  • Manejo de conexiones.
  • Consultas eficientes.
  • Prevención del problema N+1.
  • Paginación desde la base de datos.
  • Manejo de concurrencia.
  • Transacciones para operaciones críticas.
  • Control de errores y recuperación.


Módulo 5. Testing, calidad y control de versiones

5.1 Estrategia de pruebas

  • Importancia de las pruebas automatizadas.
  • Pirámide de pruebas.
  • Pruebas unitarias, de integración y funcionales.
  • Definición de casos de prueba.
  • Cobertura y calidad de las pruebas.
  • Organización de archivos de pruebas.
  • Datos de prueba y aislamiento.

5.2 Pruebas unitarias

  • Configuración de un framework de pruebas.
  • Pruebas de funciones, servicios y componentes.
  • Aserciones.
  • Hooks de preparación y limpieza.
  • Mocking, stubs y spies.
  • Simulación de dependencias externas.
  • Pruebas de casos exitosos y excepciones.
  • Evaluación de cobertura.

5.3 Pruebas de integración

  • Pruebas de endpoints.
  • Simulación de solicitudes HTTP.
  • Integración con bases de datos de prueba.
  • Pruebas de autenticación y autorización.
  • Validación de códigos y estructuras de respuesta.
  • Preparación y eliminación de datos.
  • Automatización de escenarios completos.
  • Introducción a pruebas end-to-end.

5.4 Calidad del código

  • Convenciones de codificación.
  • Uso de linters y formateadores.
  • Detección de código duplicado.
  • Refactorización.
  • Complejidad y mantenibilidad.
  • Revisión de código.
  • Documentación de funciones y componentes.
  • Administración de deuda técnica.

5.5 Entornos de desarrollo y producción

  • Diferencias entre entornos.
  • Configuración por ambiente.
  • Dependencias de desarrollo y producción.
  • Bases de datos independientes.
  • Datos simulados.
  • Manejo seguro de configuraciones.
  • Estrategias para reproducir errores.
  • Preparación de aplicaciones para producción.

5.6 Versionamiento con Git

  • Repositorios locales y remotos.
  • Commits claros y consistentes.
  • Creación y administración de ramas.
  • Estrategias de branching.
  • Integración de cambios.
  • Resolución de conflictos.
  • Pull requests y revisión de código.
  • Uso de etiquetas y versiones.
  • Versionamiento semántico.
  • Buenas prácticas para archivos ignorados y datos sensibles.


Módulo 6. Despliegue y DevOps básico

6.1 Preparación de builds

  • Construcción del front-end para producción.
  • Transpilación y empaquetado.
  • Minificación de archivos.
  • Eliminación de código no utilizado.
  • División de bundles.
  • Optimización de recursos estáticos.
  • Validación previa al despliegue.
  • Integración del front-end con la API.

6.2 Variables de entorno y secretos

  • Uso de archivos de configuración.
  • Variables para desarrollo, pruebas y producción.
  • Protección de claves, tokens y contraseñas.
  • Exclusión de secretos del repositorio.
  • Configuración de variables en plataformas cloud.
  • Rotación básica de credenciales.
  • Principio de mínimo privilegio.

6.3 Despliegue de aplicaciones

  • Opciones de alojamiento para front-end y back-end.
  • Despliegue en servidores tradicionales.
  • Plataformas como servicio.
  • Despliegue en entornos cloud.
  • Configuración de dominios y certificados HTTPS.
  • Integración con bases de datos administradas.
  • Procesos de actualización.
  • Rollback ante errores.
  • Introducción a contenedores con Docker.

6.4 Integración y despliegue continuo

  • Conceptos básicos de CI/CD.
  • Automatización de pruebas.
  • Validación de calidad antes del despliegue.
  • Construcción automática de la aplicación.
  • Pipelines básicos.
  • Despliegue desde un repositorio.
  • Administración de ambientes.
  • Buenas prácticas para entregas frecuentes.

6.5 Monitoreo y manejo de logs

  • Importancia de la observabilidad.
  • Logs de aplicación, acceso y errores.
  • Niveles de registro.
  • Logs estructurados.
  • Identificación de solicitudes.
  • Monitoreo de disponibilidad y rendimiento.
  • Métricas básicas de uso de recursos.
  • Alertas ante errores.
  • Manejo de excepciones en producción.
  • Diagnóstico de incidentes.
  • Buenas prácticas para evitar registrar información sensible.

Recursos y herramientas sugeridas

  • Visual Studio Code.
  • Git y GitHub.
  • Node.js y npm.
  • Express o framework equivalente.
  • React, Angular o Vue.
  • PostgreSQL, MySQL o SQL Server.
  • MongoDB.
  • ORM u ODM compatible.
  • Postman o herramienta equivalente.
  • Jest, Vitest o      framework similar.
  • OpenAPI y Swagger.
  • Docker.
  • Plataforma cloud para el despliegue.


Resultado esperado

Al finalizar el curso, cada participante contará con una aplicación Full Stack completa y desplegada, así como con una estructura de trabajo reutilizable para futuros proyectos, basada en criterios de seguridad, rendimiento, calidad, mantenibilidad y escalabilidad.

CONVERSEMOS

Si te interesa participar en los cursos JAVASCRIPT llena este formulario

Envíanos tus datos

Este sitio está protegido por reCAPTCHA y aplican las Política de privacidad y los Términos de servicio de Google.

Copyright © 2022 Isintuition.com - Todos los derechos reservados.

Con tecnología de

Este sitio web utiliza cookies

Usamos cookies para analizar el tráfico del sitio web y optimizar tu experiencia en el sitio. Al aceptar nuestro uso de cookies, tus datos se agruparán con los datos de todos los demás usuarios.

RechazarAceptar