¡Hola Comunidad!

Me gustaría compartir con vosotros un ejercicio que he hecho para crear "mi propio" chat con ChatGPT en Telegram.

Ha sido posible gracias a dos componentes de Open Exchange: Telegram Adapter, de @Nikolay Solovyev e IRIS Open-AI, de @Kurro Lopez

Así que con este ejemplo podréis configurar vuestro propio chat con ChatGPT en Telegram.

¡Veamos cómo hacerlo funcionar!

0 0
0 127

En la primera parte de esta serie de artículos hablamos sobre cómo leer un gran fragmento de datos del cuerpo sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad stream de una clase. En la segunda parte comentamos cómo enviar archivos y sus nombres envueltos en un formato JSON.

Ahora analizaremos más de cerca la idea de enviar al servidor grandes archivos por partes. Para ello, podemos utilizar varios enfoques. En este artículo se analiza el uso del encabezado Transfer-Encoding para indicar una transferencia fragmentada. La especificación HTTP/1.1 introdujo el encabezado Transfer-Encoding, y la sección 4.1 RFC 7230 lo describió, pero está ausente en la especificación HTTP/2.

1 0
0 123

Esta es la cuarta parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde Microsoft SQL Server.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

1 0
0 123
Artículo
· 13 jun, 2023 Lectura de 8 min
Mi primera experiencia usando IAM

Experiencia & comentarios del curso online "Hands-On with InterSystems API Manager for Developers"

Con mis conocimientos básicos de contenedores Docker y API REST, me gustaría probar el uso del administrador de APIs de InterSystems para gestionar las API y los microservicios. Completé este curso en línea utilizando mi instancia local de IRIS como host (sistema operativo Windows) e IAM ejecutándose en una máquina virtual Linux.

1 0
0 123

En este artículo, compartiré el tema que presentamos @Rochael Ribeiro y yo en la Convención Anual (Global Summit) 2023, en la sala "Tech Exchange".

En esa ocasión hablamos de los siguientes temas:

  • Herramientas de Open Exchange para Fast APIs (APIs rápidas)
  • Especificación OpenAPI
  • Desarrollo tradicional vs. Fast API
  • APIs Compuestas (Interoperabilidad)
  • Enfoque Spec-First o Api-First
  • Gobernanza y Monitorización de APIs
  • Demo (vídeo)
0 0
0 122

¡Volvemos al ataque con la Quiniela! 8ª jornada en Primera y Segunda División y con la QuinielaML deseando resarcirse de los 4 aciertos del pasado fin de semana. Aquí tenemos el boleto de esta jornada:

Y estas son las predicciones para Primera División:

Y ahora para Segunda División:

1 1
0 120

Continuando con la serie de análisis de rendimiento, en este artículo voy a mostrar un método para dimensionar los requisitos de memoria compartida para aplicaciones de base de datos que se ejecutan en plataformas de datos de InterSystems, incluyendo los Global y Routine Buffers, gmheap y locksize. También daré algunos consejos de rendimiento que se deberían tener en cuenta al configurar servidores y al virtualizar aplicaciones de Iris. Como siempre, cuando hablo de Iris o Caché , me refiero a toda la plataforma de datos. Este artículo tiene algunos años pero mantiene su esencia, por lo que me referiré a Iris o Caché indistintamente ya que la teoría es exáctamente igual para todos los productos con kernel Caché/Iris.

1 0
0 119
Artículo
· 11 jul, 2023 Lectura de 3 min
Utilizando JSON en IRIS

¡Hola Comunidad!

El otro día vi un artículo sobre el uso del paquete %ZEN cuando se trabaja con JSON y he decidido escribir un artículo para describir un enfoque más actualizado. Hace no mucho se dio el paso de usar %ZEN.Auxiliary.* a clases JSON dedicadas. Esto permite trabajar con JSONs de forma más orgánica.

Llegados a este punto hay básicamente 3 clases principales para trabajar con JSON:

  • %Library.DynamicObject - proporciona una manera simple y eficiente de encapsular y trabajar con documentos JSON estándar. También nos da la posibilidad de, en vez de escribir el código habitual para crear la instancia de una clase como
set obj = ##class(%Library.DynamicObject).%New()

usar la siguiente sintaxis

set obj = {}
  • %Library.DynamicArray - proporciona una manera simple y eficiente de encapsular y trabajar con matrices JSON estándar. Con los arrays se puede usar el mismo enfoque que con los objetos, lo que significa que o bien se puede crear una instancia de la clase
set array = ##class(%DynamicArray).%New()

o se puede hacer usando corchetes []

set array = []
  • %JSON.Adaptor es una utilidad para mapear objetos de ObjectScript (registrados, serial o persistentes) a textos JSON o entidades dinámicas.
1 1
0 119

Después del éxito de la pasada jornada en la que QuinielaML acertó 10 resultados y obteniendo un premio de 10€ volvemos una jornada más, ¡dispuestos a reinvertir las ganancias!

Veamos los partidos de esta jornada:

Ahora las predicciones para los partidos de 1ª División:

Y para 2ª:

0 2
0 113

Preguntas frecuentes de InterSystems

En el siguiente ejemplo, un archivo de imagen se codifica en una cadena Base64 en una propiedad de clase, se guarda, se decodifica la cadena en Base64 y se restaura en otro archivo.

【Classe ejemplo】

Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}


【Cuando se importa】

0 0
0 112

Hay una nueva funcionalidad muy interesante en la recientemente anunciada versión de prueba 2024.1 de InterSystems IRIS - JSON_TABLE. JSON_TABLE forma parte de una familia de funciones introducidas en la versión 2016 del estándar SQL (ISO Standard, publicado a principios de 2017). Permite que valores JSON se mapeen a columnas y se consulten usando SQL. JSON_TABLE puede usarse en la cláusula FROM de algunas sentencias SQL.

La sintaxis de JSON_TABLE es bastante extensa, permitiendo condiciones excepcionales cuando los valores JSON proporcionados no cumplen las expectativas, estructuras anidadas, etc.

La sintaxis básica es bastante sencilla. El primer argumento pasado a JSON_TABLE es el valor JSON que se va a consultar. Puede ser un literal, una referencia a una columna o una llamada a una función. El segundo argumento es una expresión JPL (JSON Path Language), que permite filtrar el valor proporcionado. Después va la cláusula COLUMNS - justo en medio de la llamada a la función. La cláusula COLUMNS se parece mucho a las definiciones de columnas en una sentencia CREATE TABLE pero con un añadido muy necesario - el PATH. PATH es una expresión JPL que se aplica al valor JSON para producir el valor de la columna.

0 0
0 108
Artículo
· 18 sep, 2023 Lectura de 10 min
Cómo desarrollar en Tableau y PowerBI

Power BI

Conectar a una Fuente de Datos

Para conectarse a AtScale, utilizaremos la base de datos de SQL Server Analysis Services. Vamos a abrirla en el editor de Power Query. Para hacerlo, hay que seleccionar Transform Data en la pestaña Home.



En la ventana que aparece, id a Home, New Source y seleccionad Analysis Services.

0 1
0 107

Venga que tenemos ya encima la siguiente jornada de la Quiniela. Esta vez nos adelantamos un día para que luego no digáis que se os echa el tiempo encima.

Para esta jornada tenemos novedades y es que, como en todo proyecto que implica el uso de Machine Learning, la calidad de los datos es elemental y para nuestro caso esa calidad se refleja en el "frescor" de los mismos, no son igual de relevantes los resultados de hace 2 años que los obtenidos en esta temporada, para ello he hecho una pequeña modificación que descarta los partidos de la temporada 21/22 y se ha conseguido una mejora en el acierto del modelo de un 2% ascendiendo de un 56% a un 58%.

Aquí tenéis el análisis de nuestro modelo obtenido desde IRIS:

0 0
0 106

¡Hola Comunidad!

Hace poco me impresionó el artículo de @Dan Pasco donde comparte cómo usa los alias de terminal.

Los alias de terminal son una herramienta muy poderosa para desarrolladores y administradores de sistemas, si con frecuencia necesitan llamar a algunas expresiones de terminal engorrosas y hacerlas más cortas y limpias. Aquí está la documentación.

Pero ¿qué pasa con los entornos Docker? ¿Qué sucede si sois fanáticos de los entornos de desarrollo de Docker, pero también queréis seguir usando vuestros alias favoritos con Docker?

Resulta que es muy posible.

0 0
0 104
Artículo
· 27 jun, 2023 Lectura de 12 min
Predicciones con IntegratedML e IRIS

Como sabréis, si leeis habitualmente los artículos que se publican en la Comunidad, el pasado mes de mayo InterSystems organizó el Hackaton del JOnTheBeach2023 celebrado en Málaga. El tema que se propuso fue el del uso de las herramientas de análisis predictivo que InterSystems IRIS pone a disposición de todos los desarrolladores con IntegratedML.

1 0
0 103

Interactuar con usuarios en la terminal: una guía para usar %Library.Prompt en IRIS

¿Alguna vez te has preguntado cómo comandos como ^DATABASE atraen a los usuarios en la terminal? O tal vez esté escribiendo una rutina de automatización y desee formas de especificar opciones directamente desde la terminal. Afortunadamente, la clase %Library.Prompt en IRIS ofrece una forma sencilla de hacerlo.

1 0
0 102

Bueno, intentemos recuperarnos de la desastrosa jornada pasada de la Quiniela con una nueva predicción. Esto empieza a ser como la Lotería de Navidad, ¡cómo no vas a jugar si tu compañero de trabajo ha jugado! Imagina que le toca y a ti no...

A ver que nos dice para Primera División:

Y para Segunda:

0 0
0 101

En InterSystems no descansamos ni los días festivos, así que aquí va una nueva predicción de la Quiniela, en esta ocasión con la jornada 16ª de Primera División y la 19ª de Segunda División.

Estos son los partidos que conforman la jornada:

Veamos la predicción correspondiente a Primera División:

1 1
0 99
Artículo
· 20 mar, 2024 Lectura de 2 min
SOAP SII

En el proceso de consumir los servicios del SII me encontré con algunas dificultades y quiero compartirlas para facilitar el trabajo posterior.

El contexto es bastante local, por eso no expondré documentación comprometedora, solo los detalles de cómo adaptarse a los requerimientos del Servicio.

0 0
0 95

Ahora que estamos en veranito vamos a adentrarnos en el apasionante mundo de las producciones Ensemble / Iris, donde los procesos son los protagonistas y los cuelgues de servidor se vuelven el tema de conversación en la máquina de café, que por supuesto acaban en llamadas desesperadas a soporte con servidores saturados de memoria y cpu. Esos servidores calentando aún más el ambiente sin sentido alguno. Aquí es donde entra el Pool Size y su magia cuando está bien configurado.

4 0
1 94