📚 Diccionario Técnico
Este diccionario contiene todos los términos técnicos utilizados en Rial AI, explicados de manera simple y clara para desarrolladores que están comenzando en el mundo de la programación.
🔤 A - C
Backend
¿Qué es? La parte del servidor de una aplicación web que maneja la lógica de negocio, base de datos y APIs.
En términos simples: Es como la “cocina” de un restaurante - donde se prepara todo lo que el cliente (frontend) va a recibir, pero el cliente no la ve directamente.
En Rial AI: Nuestro backend está construido con NestJS y maneja toda la lógica de generación de imágenes, autenticación de usuarios y gestión de datos.
CI/CD
¿Qué significa? Continuous Integration / Continuous Deployment (Integración Continua / Despliegue Continuo)
¿Qué es? Práctica de desarrollo donde los cambios de código se integran y despliegan automáticamente.
Beneficios:
- 🔍 Detección temprana de errores
- 🚀 Despliegues más rápidos y seguros
- 🤖 Automatización de tareas repetitivas
- 📊 Feedback inmediato para desarrolladores
En Rial AI: Usamos GitHub Actions para automatizar testing, building y deployment.
Cloud
¿Qué es? Servicios de computación que se ejecutan en servidores remotos accesibles por internet.
Analogía: Es como alquilar una oficina en lugar de comprar un edificio completo. Pagas solo por lo que usas y no te preocupas por el mantenimiento.
Ventajas:
- 💰 Costo-efectivo: Solo pagas por lo que usas
- 📈 Escalable: Crece según tu necesidad
- 🌍 Accesible: Disponible desde cualquier lugar
- 🔧 Mantenimiento: El proveedor se encarga del hardware
En Rial AI: Usamos Google Cloud Platform (GCP) para toda nuestra infraestructura.
Commit
¿Qué es? Un “snapshot” o fotografía de tu código en un momento específico.
Analogía: Es como guardar una versión de un documento de Word, pero con un mensaje explicando qué cambios hiciste.
Estructura:
git commit -m "feat: add user login functionality"Mejores prácticas:
- 📝 Mensajes descriptivos: Explica qué hiciste y por qué
- 🔬 Commits pequeños: Un cambio específico por commit
- 🎯 Commits frecuentes: No acumules muchos cambios
🔤 D - F
Docker
¿Qué es? Plataforma que permite empaquetar aplicaciones con todas sus dependencias en contenedores.
Analogía: Es como una caja de mudanza que contiene todo lo necesario para que tu aplicación funcione en cualquier lugar.
Docker Image (Imagen)
¿Qué es? Una plantilla inmutable que contiene todo lo necesario para ejecutar una aplicación.
Ejemplo: Una imagen de nuestro backend incluye Node.js, nuestro código, y todas las librerías necesarias.
Docker Container (Contenedor)
¿Qué es? Una instancia ejecutable de una imagen Docker.
Analogía: Si la imagen es el molde de una galleta, el contenedor es la galleta horneada.
Docker Volume (Volumen)
¿Qué es? Almacenamiento persistente que sobrevive cuando el contenedor se elimina.
¿Por qué es importante? Los contenedores son temporales, pero a veces necesitas guardar datos permanentemente.
Frontend
¿Qué es? La parte de una aplicación web que interactúa directamente con el usuario.
En términos simples: Es como el “salón” de un restaurante - lo que el cliente ve y con lo que interactúa.
Tecnologías comunes:
- HTML: Estructura de la página
- CSS: Estilos y diseño visual
- JavaScript: Interactividad y lógica
En Rial AI: Nuestro frontend está construido con Next.js (React) y maneja toda la interfaz de usuario.
🔤 G - L
GitHub Action
¿Qué es? Herramienta de automatización integrada en GitHub que ejecuta tareas cuando ocurren eventos específicos.
Ejemplos de uso:
- 🧪 Ejecutar tests cuando se hace un push
- 🚀 Desplegar aplicación cuando se fusiona código
- 🔍 Verificar calidad de código en pull requests
Configuración básica:
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests
run: npm testKANBAN
¿Qué es? Sistema visual para gestionar trabajo y flujo de tareas.
Estructura típica:
📋 To Do → 🔄 In Progress → 👀 Review → ✅ DonePrincipios clave:
- 👁️ Visualizar trabajo: Todo el equipo ve qué se está haciendo
- 🚫 Limitar WIP: No sobrecargar con demasiadas tareas simultáneas
- 🔄 Flujo continuo: Las tareas fluyen de izquierda a derecha
- 📊 Medir y mejorar: Usar métricas para optimizar el proceso
En Rial AI: Usamos Notion con tableros Kanban para organizar nuestro trabajo.
Linter
¿Qué es? Herramienta que analiza código para encontrar errores, problemas de estilo y malas prácticas.
Analogía: Es como un corrector ortográfico, pero para código.
Beneficios:
- 🐛 Encuentra errores antes de ejecutar el código
- 🎨 Mantiene consistencia de estilo en el equipo
- 📚 Enseña mejores prácticas a desarrolladores nuevos
- ⚡ Ahorra tiempo en code reviews
En Rial AI: Usamos ESLint para JavaScript/TypeScript.
🔤 M - P
Migraciones
¿Qué son? Scripts que modifican la estructura de la base de datos de forma controlada y versionada.
¿Por qué son importantes?
- 📈 Control de versiones: Cada cambio está documentado
- 🔄 Reproducibilidad: Mismo esquema en todos los ambientes
- ↩️ Rollback: Posibilidad de revertir cambios
- 👥 Colaboración: Sincronización entre desarrolladores
Ejemplo de migración:
-- Crear tabla de usuarios
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);Comandos útiles:
# Crear nueva migración
yarn prisma migrate dev --name add_users_table
# Aplicar migraciones
yarn prisma migrate deployORM
¿Qué significa? Object-Relational Mapping (Mapeo Objeto-Relacional)
¿Qué es? Herramienta que permite interactuar con bases de datos usando objetos en lugar de SQL directo.
Ventajas:
- 🔒 Type Safety: Previene errores de tipos
- 💡 Auto-completion: IntelliSense en el IDE
- 🛡️ Prevención de SQL Injection: Consultas seguras automáticamente
- 🔄 Abstracción: Mismo código funciona con diferentes bases de datos
Sin ORM (SQL directo):
SELECT * FROM users WHERE email = 'user@example.com';Con ORM (Prisma):
const user = await prisma.user.findUnique({
where: { email: 'user@example.com' }
});Pull Request
¿Qué es? Solicitud para fusionar cambios de una rama a otra en un repositorio.
Proceso típico:
- 🌿 Crear rama para tu funcionalidad
- 💻 Desarrollar y hacer commits
- 📤 Push de la rama al repositorio
- 📋 Crear PR con descripción detallada
- 👀 Code review por otros desarrolladores
- ✅ Merge una vez aprobado
Beneficios:
- 🔍 Revisión de código: Otros desarrolladores revisan tu trabajo
- 📚 Documentación: Historial de cambios y decisiones
- 🧪 Testing automático: CI/CD ejecuta tests automáticamente
- 🚫 Control de calidad: Previene que código problemático llegue a producción
🔤 T - Z
TypeScript
¿Qué es? Superset de JavaScript que añade tipado estático opcional.
JavaScript vs TypeScript:
// JavaScript - sin tipos
function greet(name) {
return "Hello " + name;
}
// TypeScript - con tipos
function greet(name: string): string {
return "Hello " + name;
}Ventajas:
- 🐛 Menos errores: Detecta problemas en tiempo de desarrollo
- 💡 Mejor IntelliSense: Auto-completado más inteligente
- 🔧 Refactoring seguro: Cambios de código más confiables
- 📚 Auto-documentación: Los tipos sirven como documentación
En Rial AI: Todo nuestro código está escrito en TypeScript.
Variables de Entorno
¿Qué son? Valores de configuración que se definen fuera del código de la aplicación.
¿Por qué son importantes?
- 🔒 Seguridad: API keys y secretos no están en el código
- 🌍 Configuración por ambiente: Diferentes valores para desarrollo/producción
- 👥 Flexibilidad: Cada desarrollador puede tener su configuración
Ejemplo:
# .env file
DATABASE_URL="postgresql://localhost:5432/rial_dev"
JWT_SECRET="mi-secreto-super-seguro"
GOOGLE_CLOUD_BUCKET="rial-images-dev"Uso en código:
const dbUrl = process.env.DATABASE_URL;
const jwtSecret = process.env.JWT_SECRET;En Rial AI: Usamos Doppler para gestionar variables de entorno de forma segura.
📦 Librerías y Dependencias
¿Qué son las Librerías/Dependencias?
Definición: Paquetes de código reutilizable que proporcionan funcionalidades específicas.
Analogía: Son como ingredientes pre-preparados que usas para cocinar. En lugar de hacer todo desde cero, usas componentes que otros ya crearon y probaron.
Tipos de dependencias:
- 📦 Dependencies: Necesarias para que la aplicación funcione
- 🛠️ DevDependencies: Solo necesarias durante desarrollo
- 👥 PeerDependencies: Dependencias que debe proporcionar el proyecto padre
Gestión con Package Managers:
# Instalar dependencia
yarn add express # Para producción
yarn add -D jest # Solo para desarrollo
# Instalar todas las dependencias
yarn install
# Actualizar dependencias
yarn upgradeEn Rial AI:
- Backend: NestJS, Prisma, Jest
- Frontend: Next.js, Tailwind CSS, shadcn/ui
🔍 Recursos Adicionales
Documentación Relacionada
- Stack Tecnológico - Detalles de todas las tecnologías
- Configuración - Guía paso a paso para setup
- Flujo de Trabajo - Metodología de desarrollo
Glosarios Externos
- MDN Web Docs - Glosario web completo
- Git Glossary - Términos específicos de Git
- Docker Glossary - Terminología de Docker
¿No encuentras un término? ¡Pregunta al equipo o sugiere agregarlo a este diccionario!