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

Intuition.com
Intuition.com
  • Inicio
  • IA
  • Office
  • Buenas Prácticas
  • Cloud Academy
  • Power BI
  • JAVASCRIPT AVANZADO
  • Ayuda
  • Contacto
  • Políticas Internas
  • Política Cookies
  • Nosotros
  • Más
    • Inicio
    • IA
    • Office
    • Buenas Prácticas
    • Cloud Academy
    • Power BI
    • JAVASCRIPT AVANZADO
    • Ayuda
    • Contacto
    • Políticas Internas
    • Política Cookies
    • Nosotros
  • Inicio
  • IA
  • Office
  • Buenas Prácticas
  • Cloud Academy
  • 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: 32 horas, distribuidas en 8 sesiones de cuatro horas.


Precio: 550.000 colones IVAI


Próximas Fechas:

  • 25-26-27-28-29- enero y 1-2-3 febrero de 8:00 am a 12:00 pm
  • 29-30-31 marzo y 1-2-5-6-7 abril de 8:00 am a 12:00 pm
  • 24-25-26-27-28-31 mayo y 1-2 junio 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.

Mujer concentrada trabajando frente a varias pantallas.

CONVERSEMOS

Si te interesa participar en los cursos JAVASCRIPT llena este formulario

Envíanos tus datos

Este sitio está protegido por reCAPTCHA y aplica la 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