Producto

Corte, inicio del corte y fin del corte en 4D

Cuando se trabaja con entradas de usuario, limpieza de datos o formateo de texto, una de las tareas más habituales es eliminar los espacios en blanco no deseados. Ya sea un espacio escrito accidentalmente antes de una dirección de correo electrónico o un caracter de nueva línea dejado al final de un copiar-pegar, estos caracteres aparentemente invisibles pueden causar un comportamiento inesperado en sus aplicaciones.
Afortunadamente, 4D 21 ofrece métodos fáciles de usar para las cadenas de caracteres: Trim, Trim start, Trim end.

Producto blank

4D NetKit: descodificación, generación y validación de JWT

Los tokens web JSON (JWT) se han convertido en una norma esencial para la autenticación segura y el intercambio de información entre sistemas. Los JWT, puede transmitir datos de forma segura, verificable y estandarizada, lo que reduce la complejidad al tiempo que mejora la seguridad. En particular, los JWT son esenciales cuando se trabaja con OpenID Connect, donde le permiten validar y decodificar la información devuelta por el proveedor OpenID.

En 4D 21, 4D NetKit ofrece una API sencilla para manejar estos tokens: decodificación, generación y validación.

Producto blank

4D AIKit: Salidas estructuradas

Traducido automáticamente de Deepl

Cuando se utiliza IA en una aplicación, a menudo se necesitan resultados que el código pueda analizar, no sólo texto sin formato. Tanto si está generando datos para una interfaz de usuario, automatizando la lógica de negocio u orquestando un razonamiento de varios pasos, las respuestas predecibles y legibles por la máquina son esenciales.

Por eso 4D 21 AIKit introduce el nuevo atributo response_format que le permite definir la estructura exacta de la salida del modelo para garantizar la coherencia, la validación y la integración sin problemas en la lógica de su aplicación.

Producto blank

Editar y gestionar el código de los componentes directamente en el proyecto anfitrión desde 4D Explorer

En 4D 20 R9, introdujimos la posibilidad de editar y depurar métodos y clases de componentes directamente desde un proyecto anfitrión. Comenzando con 4D 21, ahora vamos más allá haciendo de 4D Explorer el eje central para editar tanto el código del proyecto como el de los componentes. Para que: trabaje mejor, trabaje más rápido, con sus componentes.

Producto blank

4D NetKit: simplificación de los redireccionamientos OAuth 2.0 tras la autenticación

4D NetKit acaba de facilitar la redirección de usuarios después de la autenticación OAuth 2.0 con 4D 21. La clase OAuth2Provider en 4D NetKit ahora permite URLs reales para authenticationPage y authenticationErrorPage. Esto significa que ahora tiene más opciones de redirección después de la autenticación, como páginas Qodly o HTTP Handlers. Tanto si la autenticación tiene éxito como si fracasa, usted mantiene el control de la experiencia del usuario con opciones de redirección flexibles y sin problemas.

Producto blank

Rastrear, auditar, optimizar: Controle sus sesiones web 4D

Traducido automáticamente de Deepl

Desde la introducción de las sesiones escalables, la gestión de sesiones del lado del servidor se ha convertido en un componente importante de las arquitecturas 4D modernas. Estas sesiones permiten un ajuste fino de la escalabilidad de las aplicaciones web, pero también requieren una supervisión más estricta para garantizar el rendimiento, la estabilidad y el control de licencias. Con 4D 21, ahora tiene un medio completo para inspeccionar todas las sesiones web abiertas, ya sea que se originen de conexiones REST, llamadas SOAP o solicitudes 4DACTION.

Producto blank

Búsqueda semántica: consulta por similitud vectorial

Traducido automáticamente de Deepl

Con la creciente importancia de la búsqueda basada en vectores en aplicaciones de IA como la búsqueda semántica, los motores de recomendación y el procesamiento del lenguaje natural, 4D introduce soporte nativo para consultas vectoriales en la función query(). Esta mejora introduce las comparaciones de similitud vectorial directamente en el lenguaje de DataClass.query() y EntitySelection.query().