Artículo
· 29 jul, 2019 Lectura de 4 min
Búsquedas en campos de texto libre de forma rápida

¡Hola a tod@s!

Hoy os traigo un artículo de Kyle Baxter sobre búsquedas de texto libre que vale la pena guardar como referencia :)

¿Os gustaría buscar de forma eficiente campos de texto libres almacenados en vuestra aplicación? ¿Lo habéis intentado alguna vez pero no habéis encontrado una manera que os ofrezca un buen rendimiento? Hay un truco especial que resuelve el problema :)

0 1
0 256
Artículo
· 24 mayo, 2019 Lectura de 18 min
Uso de expresiones regulares en ObjectScript

Al igual que con Pattern Matching, se pueden utilizar Expresiones Regulares para identificar patrones en textos en ObjectScript, sólo que con una potencia mucho mayor.

En este artículo se proporciona una breve introducción sobre las Expresiones Regulares y lo que puede hacerse con ellas en ObjectScript. La información que se proporciona aquí se basa en varias fuentes, entre las que destaca el libro “Mastering Regular Expressions” (Dominando las expresiones regulares) escrito por Jeffrey Friedl y, por supuesto, la documentación online de la plataforma.

4 3
1 861
Artículo
· 21 dic, 2019 Lectura de 2 min
Demo de SUDOKU

Para aquellos expertos que no pueden parar después del concurso "Advent of Code" (AoC2019), he publicado un código bastante antiguo en estilo tradicional para mejorarlo.

Fue escrito en base a una prueba previa en .XLS. Está lejos de ser perfecto. Es más bien un desafío para mejora en todas las direcciones (código, interfaz, ...). Así que cualquiera está invitado a mejorarlo.

3 0
0 187
Artículo
· 6 dic, 2019 Lectura de 12 min
Tutorial de WebSockets

¡Hola Comunidad!

La mayor parte de las comunicaciones servidor-cliente en la web se basan en una estructura de solicitud y respuesta. El cliente envía una solicitud al servidor y el servidor responde a esta solicitud. El protocolo WebSocket ofrece un canal bidireccional de comunicación entre un servidor y un cliente, lo que permite a los servidores enviar mensajes a los clientes sin antes haber recibido una solicitud. Por más información sobre el protocolo WebSocket y su implementación en InterSystems IRIS, vea los siguientes enlaces:

3 0
0 1.2K

¡Hola desarrolladores!

Siempre que desarrollamos una biblioteca, herramienta, paquete o lo que sea en InterSystems ObjectScript, nos surge una pregunta: ¿cómo desplegar este paquete en la máquina destino?

Adicionalmente, en muchas ocasiones se supone que debe haber otras bibliotecas instaladas de las que depende nuestro código y a menudo de una versión particular de las mismas.

Cuando uno programa en javascript, python, etc., el rol de despliegue de paquetes con gestión de dependencias se realiza por el package manager o gestor de paquetes.

Por eso, me complace anunciar que ya está disponible nuestro administrador de paquetes, el InterSystems ObjectScript Package Manager .

0 0
0 195

¡Hola!

Creo que lo más sencillo es (trabajando con un csv delimitado por ";"):


set file = ##class(%File).%New( "data.csv" )
    set sc = file.Open( "R" )
    if $$$ISERR(sc) quit    ; or do smth
    while 'file.AtEnd {
        set str=file.ReadLine()
        for i=1:1:$length( str, ";" ) {
            set id=$piece( str, ";" ,i )
            write !, id  // or do smth
        }
    }
    do file.Close()

Opciones posibles:

Distintas variantes de manejo de errores con código sc.

Introducir un bucle while dentro de un bloque try/catch.

0 0
0 261

¡Hola a tod@s!

Como sabéis, durante el Global Summit de este año en Boston celebramos una Reunión de Desarrolladores de InterSystems. ¡Y ya podéis descubrir qué desarrollos sobre InterSystems IRIS se discutieron!

El vídeo de la reunión está disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés:

Reunión de Desarrolladores de InterSystems - Global Summit 2019

https://www.youtube.com/embed/PUnZwDxqEZM
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

1 0
0 110

¡Hola Comunidad!

Tengo una pregunta para todos: en ObjectScript tenemos la variable cls para las clases y mac para el código, y ambas se compilan dentro de int en el código. ¿Hay alguna razón para utilizar mac en lugar de cls para las clases no-persistentes?

En mi opinión, los beneficios de utilizar cls son:

1. Herencia y otras funciones de la Programación Orientada a Objetos (POO)

2. Código auto-documentado

0 0
0 140

¡Hola Comunidad!

Tenemos un nuevo vídeo en el canal de YouTube de la Comunidad de Desarrolladores en inglés, grabado por @Stefan Wittmann:

Acceso a Bases de datos relacionales y a Objetos

https://www.youtube.com/embed/i6AkBtB3F-M
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

0 0
0 132
Artículo
· 14 ago, 2019 Lectura de 5 min
Jugando con la Sincronización de Objetos

La funcionalidad de Sincronización de Objetos no es nueva, estaba presente en Caché, pero quería explorar un poco más en profundidad cómo funciona. Siempre he pensado que la sincronización automática de una base de datos es compleja en sí misma pero, para algunos escenarios muy particulares quizá no sea tan difícil. Así que he considerado un caso de uso muy simple (OK, quizá el caso típico, no descubro nada...

2 0
1 149


¡Hola a tod@s!

Este artículo es una pequeña descripción general de una herramienta que permitirá entender las clases y su estructura, dentro de los productos de InterSystems: desde IRIS hasta Caché, Ensemble y HealthShare.

En resumen, con esta herramienta se visualiza una clase o un paquete completo, se muestran las relaciones que existen entre las clases y proporciona toda la información que se encuentra disponible para los desarrolladores y líderes de equipos sin necesidad examinar el código, utilizando el Studio.

Si estás aprendiendo a utilizar los productos de InterSystems, o simplemente estás interesado en aprender algo nuevo sobre las soluciones que ofrece la tecnología de InterSystems, ¡eres más que bienvenido a leer la descripción general de ObjectScript Class Explorer!

0 0
0 443
Artículo
· 17 jul, 2019 Lectura de 12 min
Clases de consulta en InterSystems Caché


Las clases de consulta en InterSystems Caché son una herramienta muy útil que separa las consultas SQL del código Object Script de Caché. Básicamente funciona de la siguiente manera: supongamos que quiere utilizar la misma consulta SQL con distintos argumentos en varios lugares diferentes. En este caso, puede evitar la duplicación del código si declara el contenido de la consulta como una clase de consulta y después llama a esta consulta por su nombre. Este método también es conveniente para las consultas personalizadas, donde el desarrollador define con cuál de las tareas obtendrá la siguiente fila. ¿Esto le parece interesante? Entones, ¡siga leyendo!

1 0
0 692

¡Hola chicos!

Como saben, hay dos (al menos) formas de obtener el valor almacenado de una propiedad de una clase InterSystems IRIS si se conoce el ID de una instancia (o un registro).

1. Obtenerlo mediante la propiedad de una instancia con "Acceso a objetos":

 ClassMethod GetPropertyForID(stId As %Integer) As %String

{

set obj=..%OpenId(stId)

return obj.StringData

} +++ ++ 
 

2. Obtenerlo mediante una columna del registro con "acceso SQL":

 ClassMethod GetColumnForID(stId As %Integer) As %String

{

&sql(select StringData into :sd from Ideal.StoredData where id = :stId)

return sd

} 
 
 

1 1
0 148

¡Hola Comunidad!

En este artículo encontrarán algunos ejemplos de conversiones y operaciones que les pueden resultar útiles. También incluyo enlaces a la documentación donde se puede obtener más información.

Cuando escribí esto, la hora del Este "Eastern Daylight Time" estaba activa en el Caché de mi sistema.

1 0
0 732

Hola a todos,

Nuestro compañero en la Comunidad @Dmitry Maslennikov liberó la última versión de la extensión VSCode para ObjectScript hace ya un tiempo, y es momento de hacer alguna revisión de lo que aporta esta versión.

¿Qué hay de nuevo en esta versión?

  • Se ha añadido una propiedad a export, "objectscript.export.addCategory" si se habilita utiliza el comportamiento previo, añade la carpeta categoría a la carpeta de exportación, se encuentra deshabilitada por defecto
  • Se ha añadido un menú de acciones en el Servidor, haciendo clic en la información del servidor desde la barra de estado. Abre el Portal de Gestión, la referencia de clases de la documentación y alterna la conexión.
  • Sugerencias a nivel de clases: en ##class, Extends, As, CompileAfter, DependsOn, PropertyClass
  • Sugerencia al usar $SYSTEM con clases del paquete %SYSTEM
  • Importar y compilar carpeta o fichero desde el menú de contexto en el explorador de ficheros
  • Explorador del Servidor, ahora es posible abrir cualquier otro Namespace
  • Sugerencia en el uso de Macros

Para más detalles, pueden ver los siguientes ejemplos:

0 0
0 172
Artículo
· 17 jun, 2019 Lectura de 2 min
GitHub ahora soporta ObjectScript

¡Hola a tod@s! Hoy traigo buenas noticias para la Comunidad:

Hace unos días, GitHub se actualizó con la última versión del proyecto linguist, que se utiliza para reconocer los tipos de código fuente en los repositorios. Ayuda a determinar qué lenguaje de programación se ha utilizado en cada archivo del repositorio. La sección de estadísticas del repositorio muestra los resultados del trabajo de este módulo.

Además, se puede buscar en todos los repositorios disponibles de GitHub para cualquier idioma elegido.

0 0
0 255

¡Hola Comunidad!

Echad un vistazo al nuevo vídeo "Coding Talk" ("Charlas sobre programación") en el Canal de YouTube de la Developer Community:

Crea tu primer código con InterSystems ObjectScript, usando IRIS Community, Github, Docker and VSCode

https://www.youtube.com/embed/G93HBywyaSY
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

0 0
0 148

¡Hola Comunidad!

Echad un vistazo al nuevo webinar disponible en el Canal de YouTube de la Developer Community: herramientas para trabajar con Intersystems IRIS en proyectos de Machine Learning. El webinar ha sido grabado por dos Ingenieros de Ventas de InterSystems: @Sergey Lukyanchikov y @Eduard Lebedyuk.

"Herramientas de Machine Learning (Python, ObjectScript, Interoperability, Analytics) para InterSystems IRIS"

https://www.youtube.com/embed/z9O0F1ovBUY
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

0 0
0 89

¡Hola a todos!

Hoy es miércoles y por eso tenemos un nuevo video en nuestro Canal de YouTube, grabado en un nuevo formato, "Coding Talks":

https://www.youtube.com/embed/L77K9oAgexQ
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

Autor del vídeo: @Evgeny Shvarov

Objetivo del vídeo: Cómo implementar una solución sobre InterSystems IRIS mediante ObjectScript utilizando Docker, con un ejemplo de un repositorio de código dockerizado.

1 0
0 113

Hace algunas semanas estaba leyendo un libro de Stephen Hawking y Leonard Mlodinow, El Gran Diseño. En un momento dado, intentando definir cosas como ¿por qué existimos?, ¿por qué utilizamos los modelos que utilizamos en física?,... bueno, ya sabéis, ese tipo de cosas... los autores se refirieron al ejemplo del Juego de la Vida inventado por el matemático John Coward en 1970... Básicamente el quería mostrar que un sistema con unas leyes fundamentales realmente simples (Física) podría evolucionar y "vivir" hasta convertirse en un sistema más complejo (Química) en el cual "algo" (humanos) podría descubrir su propio modelo y reglas complejas que explicasen su realidad... las reglas para este modelo determinista que el expuso eran tan básicas que pensé que sería divertido implementarlas en ObjectScript cuando tuviera un rato libre... hay otras implementaciones en JavaScript y en otros lenguajes... pero no en ObjectScript… y ¡!había que corregir eso!!… así que ¡aquí lo tienes!

1 0
0 241
Artículo
· 16 abr, 2019 Lectura de 3 min
Copiar parte de las propiedades de un objeto a otro

A veces, necesitamos copiar parte de las propiedades de un objeto en otro diferente.

La forma mas facil sería hacer lo siguiente:

Set obj1.FirstName = obj2.FirstName

Set obj1.SecondName = obj2.SecondName

¿Que sucede si el objeto contiene un gran número de propiedades? ¿Y si solo necesitamos extraer un importante grupo de datos, y complementar la información en otro objeto?

Tenemos las siguientes clases:

3 0
0 216