0% encontró este documento útil (0 votos)
11 vistas4 páginas

Resumen Final

El documento detalla tecnologías clave para el desarrollo backend, incluyendo Prisma ORM para la interacción con bases de datos, JOI para la validación de datos, y NestJS como framework para aplicaciones del lado del servidor. También se abordan pruebas unitarias, Socket.IO para comunicación en tiempo real, y conceptos de gestión de sesiones y autenticación mediante JSON Web Tokens (JWT). Cada tema incluye definiciones, características y ejemplos básicos de uso.

Cargado por

dilucalucas.dev
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas4 páginas

Resumen Final

El documento detalla tecnologías clave para el desarrollo backend, incluyendo Prisma ORM para la interacción con bases de datos, JOI para la validación de datos, y NestJS como framework para aplicaciones del lado del servidor. También se abordan pruebas unitarias, Socket.IO para comunicación en tiempo real, y conceptos de gestión de sesiones y autenticación mediante JSON Web Tokens (JWT). Cada tema incluye definiciones, características y ejemplos básicos de uso.

Cargado por

dilucalucas.dev
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

Final Backend

Temas:

1. Prisma ORM
• Definición: Prisma es un ORM (Object-Relational-Mapping) moderno
para Node.js que facilita la interacción entre tu aplicación y la base de
datos.
• Características principales:
o Modelo declarativo: Usa un archivo schema.prisma para definir
tu base de datos, incluyendo tablas, relaciones y tipos.
o Autogeneración de código: Prisma genera un cliente (Prisma
Client) para realizar consultas a la base de datos.
o Compatibilidad: Soporta bases de datos como MySQL,
PostgresSQL, SQLite, SQL Server, y MongoDB.
o Ventajas:
▪ Aumenta la productividad al simplificar consultas.
▪ Reduce errores gracias al tipado fuerte.

2. Base de datos con Prisma Client:


• Prisma Client: Es una biblioteca generada automáticamente para
realizar operaciones CRUD (Create, Read, Update, Delete) sobre la base
de datos.

• Uso básico:
I. Definir el esquema en schema.prisma.
II. Ejecutar migraciones para sincronizar el esquema con la base de
datos.
III. Usar Prisma Client en tu aplicación:

• Operaciones Avanzadas:
o Relaciones entre tablas (1-m, m-n, 1-1)
o Filtrados, ordenamiento y paginación.
3. Esquema JOI
• Definición: JOI es una biblioteca para validar datos en JavaScript.
• Simplifica la verificación de datos de entrada en APIs o formularios.
• Ejemplo básico:

4. Nest
• Definición: NestJS es un framwork de NodeJs para construir
aplicaciones del lado del servidor.
• Características:
o Basado en TypeScript: Aprovecha tipado fuerte y modularidad.
o Arquitectura modular: Organiza aplicaciones en módulos,
controladores y servicios.
o Soporte para herramientas modernas: Incluye integración con
GraphQL, WebSockets, Prisma, entre otros.
o Ejemplo de estructura básica:
▪ Controlador: Define las rutas y las acciones asociadas.
▪ Servicio: Contiene la lógica.
▪ Modulo: Agrupa los controladores y servicios.
5. Pruebas Unitarias:
Definición: Son pruebas que validan unidades individuales de código
(como funciones o métodos para garantizar que funcionan como se espera)
• Herramientas populares:
o Jest: Ideal para NodeJS, con soporte para aserciones y mocks.
o Mocha + Chai: Configuración más flexibles.
• Ventajas :
o Detectan errores en etapas tempranas.
o Facilitan el mantenimiento del código.
6. Socket.IO:
• Definición: Biblioteca que facilita la comunicación bidireciconal en
tiempo real entre el servidor y el cliente.
• Usos comunes:
o Chats en tiempo real.
o Actualizaciones en vivo (notificaciones, datos en tiempo real.)
• Características:
o Usa WebSockets como protocolo base.
o Soporta degradación a HTTP Long Polling si WebSockets no
están disponibles.
• Ejemplo básico:
o Servidor:

o Cliente:

7. Cookies, Sesiones y Storage


I. Cookies:
o Pequeños archivos almacenados en el navegador, enviados con
cada solicitud al servidor.
o Usos:
▪ Identificación del usuario.
▪ Persistencia de sesiones.
o Propiedades importantes httpOnly, secure, sameSite.
II. Sesiones
o LocalStorage:
▪ Almacena datos sin fecha de expiración.
o SessionStorage:
▪ Similar, pero los datos se borran al cerrar el navegador.

8. JSON Web Token (JWT):


• Definición: Método para transmitir información segura entre partes
como un token firmado.
• Componentes:
o Header: Tipo de token y algoritmo de cifrado.
o Payload: Datos del usuario o metadatos.
o Signature: Firma que asegura la integridad del token.
• Uso típico:
o Autenticación en APIs.
o Acceso controlado a recursos.

También podría gustarte