CursosWorkshop IAEmpresasPreciosBlogNewsletter
  • Cursos
  • Workshop IA
  • Empresas
  • Precios
  • Blog
  • Newsletter
Suscríbete

Suscríbete a nuestra newsletter

No te pierdas los avances que realmente merecen la pena:

Suscribiéndote aceptas la política de privacidad
  • Cursos
  • Empresas
  • Comunidades
  • Blog
  • Tarjeta regalo
  • Newsletter
  • Soporte
  • Tienda
  • ConfAiBot
  • Contacta
  • Aviso legal
  • Condiciones generales
  • Política de privacidad
  • Política de cookies
¿Qué pasa cuando los IDs NO pueden ser UUIDs?

¿Qué pasa cuando los IDs NO pueden ser UUIDs?

23 de octubre de 2025

Suscríbete a nuestra newsletter

No te pierdas los avances que realmente merecen la pena:

Suscribiéndote aceptas la política de privacidad

¡Hola!

Resumen de este email:

  • ¿Qué pasa cuando los IDs NO pueden ser UUIDs? (+ contenido extra añadido a cursos)
  • ¡Hoy hacemos un directo desde la TRGx! (desde aquí lo puedes seguir)

Tiempo estimado de lectura: 2 minutito.


🔑 ¿Qué pasa cuando los IDs NO pueden ser UUIDs?

Algo así pasa con la numeración de facturas en España por ejemplo. Las series de facturas deben tener una numeración secuencial y consecutiva. Sin saltos ni duplicidades.

Con lo cuál, fantasía 🌈.

Si tenemos una restricción de dominio como esta, no tenemos más alternativa que asumirlo. Seguiremos modelando el "invoice.id" como UUID, pero además tendrá el "invoice.serie" e "invoice.number" que son los datos que realmente entiende el usuario como "identificador" de la factura. Ese ID podemos generarlo dentro de una transacción.

Además, efectivamente en ese caso no lo puede decidir el frontend porque se podrían producir condiciones de carrera en las que se duplicase un número de factura por ejemplo.

Otro caso es cuando no tenemos este tipo de restricciones, pero sí que se nos hace bola tener un ID que sea tan largo. Nos pasa también en Codely por ejemplo con los identificadores de cursos.

Por ejemplo esta URL: codely.com/cursos/mcp-a-fondo-crea-tu-servidor-siguiendo-buenas-practicas-3cp2

Ahí estamos viendo el "url_id" (3cp2), que nos permite tener "self-healing URLs". Es decir, que si mañana cambia el nombre del curso a "MCP", la URL será: codely.com/cursos/mcp-3cp2, pero los enlaces que hubiéramos podido publicar por ejemplo en tweets apuntando a la URL anterior, codely.com/cursos/mcp-a-fondo-crea-tu-servidor-siguiendo-buenas-practicas-3cp2, seguirán funcionando porque con el ID 3cp2 ya hace la redirección.

Lo puedes probar: codely.com/cursos/hola-caracola-3cp2

El tema es que ahí no queremos "ensuciar" la URL con un churro como el UUID que es el "course.id" real. Hacemos otro campo con un ID mucho más corto que, en este caso sí que puede generar el frontend porque es random, y palante. 😊

De hecho esta duda es tan buena, que hemos ampliado el curso de Agregados (y otros) para darle respuesta a preguntas interesantes:

  • Modelado del dominio: Agregados
    • Qué pasa cuando los IDs NO pueden ser UUIDs
  • Modelado del dominio: Repositorios
    • ¿Un repository tiene que devolver siempre la misma entidad?
    • No todas las dependencias de tu código son un Repository: El Patrón Gateway
  • IA: Embeddings y RAG
    • Qué criterios seguir para comparar diferentes modelos de embeddings
    • Cómo migrar entre diferentes modelos de embeddings

🔴 ¡Hoy hacemos un directo desde la TRGx!

Hoy, a las 20h CEST estaremos haciendo un show en directo: 10 años en coma tech.

Donde veremos que es lo que hubiera pasado si un dev se hubiera perdido los últimos +10 años de avances tecnológicos.

Lo estaremos haciendo desde la TRGx, una conferencia sobre diseño, desarrollo y comercialización de servicios digitales que nace alrededor de la hiperactiva Comunidad de suscriptores de La Bonilista.

Si no puedes estar en el evento, el directo podrás seguirlo desde nuestro canal de YouTube. Dale a la campanita para que te avise cuando empiece. 😊


Y ya que has llegado hasta esta parte de la newsletter, te dejamos aquí el chiste de la semana, qué sé que lo estabas esperando:

> - Toc toc > - Una función asíncrona > - ¿Quién es? 😂 😂 😂

¡Un saludo!

SuscríbeteInicia sesión