查找

Resumo
· Set. 29

Publications des développeurs d'InterSystems, semaine Septembre 22 - 28, 2025, Résumé

Septembre 22 - 28, 2025Week at a GlanceInterSystems Developer Community
Anúncio
· Set. 29

Nouveau tutoriel pratique : RAG avec InterSystems IRIS Vector Search

Bonjour à la communauté,

Nous sommes ravis de vous présenter un tout nouveau tutoriel Instruqt :

🧑‍🏫 RAG avec InterSystems IRIS Vector Search

Ce laboratoire pratique vous guide dans la création d'un chatbot IA basé sur la génération augmentée de récupération (RAG) et optimisé par InterSystems IRIS Vector Search. Vous découvrirez comment la recherche vectorielle peut être exploitée pour fournir des réponses actualisées et précises, en combinant les atouts d'IRIS et de l'IA générative.

✨ Pourquoi l'essayer ?

  • Découvrez le fonctionnement pratique d'IRIS Vector Search.
  • Explorez comment RAG peut améliorer la fiabilité et la pertinence des réponses fournies par Vector Search.
  • Accédez pas à pas à la création d'une solution basée sur l'IA.

>> Démarrez le tutoriel ici <<

Votre avis nous intéresse ! N'hésitez pas à laisser un commentaire à la fin du tutoriel ou à partager vos impressions.

Bon apprentissage !

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 29 5min de leitura

Best Curtains Shop in Dubai – Stylish, Durable & Affordable

Finding the right Curtains Shop in Dubai is essential if you want to upgrade your interiors with elegance, comfort, and functionality. Curtains and blinds are more than just window coverings – they enhance privacy, control natural light, improve sleep quality, and add a decorative touch to your living or working space. With countless styles, fabrics, and designs available, choosing the best curtains can be overwhelming. That’s why we have compiled this detailed guide highlighting the top types of curtains, blinds, and services you can expect from a professional curtains shop in Dubai.

1. Eyelet Curtains Dubai – Modern & Minimalist Style

Eyelet Curtains Dubai are one of the most popular choices for modern homes. Their sleek metal rings make them easy to slide on the rod, offering a neat, elegant look. Perfect for living rooms and bedrooms, they allow natural light while maintaining a contemporary aesthetic.

2. Silk Curtain Dubai – A Touch of Luxury

For homeowners who love luxury and sophistication, Silk Curtain Dubai is the perfect choice. The smooth, shiny texture of silk fabric adds glamour to any space. They are often chosen for villas, hotels, and high-end apartments where style matters as much as function.

3. Linen Curtains Dubai – Natural & Breathable

Linen Curtains Dubai are lightweight, airy, and perfect for maintaining a natural vibe in your interiors. They allow fresh air to flow in and keep your rooms bright and welcoming. Ideal for both residential and commercial spaces.

4. Outdoor Curtains Dubai – Style Beyond Indoors

Outdoor spaces deserve style too! Outdoor Curtains Dubai are crafted from durable, weather-resistant fabrics designed to withstand heat, dust, and humidity. They are perfect for balconies, patios, gardens, and outdoor sitting areas.

5. Curtain Alteration Dubai – Perfect Fit for Every Window

Not every curtain fits perfectly. That’s why Curtain Alteration Dubai services are essential. Whether your curtains are too long, too short, or need custom adjustments, professional alteration ensures a flawless finish.

6. Blackout Blinds Dubai – 100% Light Control

When you need complete darkness, Blackout Blinds Dubai are the answer. They block out sunlight, making them ideal for bedrooms, nurseries, media rooms, and hotels. These blinds improve sleep quality and help save energy by keeping rooms cooler.

7. Curtain Fixing Dubai – Professional Installation Services

Hanging curtains may look simple, but professional Curtain Fixing Dubai services ensure that your drapes and blinds are installed correctly, aligned perfectly, and function smoothly. Expert fixing guarantees durability and aesthetic appeal.

8. Venetian Blinds Dubai – Sleek & Contemporary

Venetian Blinds Dubai are timeless window treatments that add a touch of elegance and flexibility. With adjustable horizontal slats, you can control both light and privacy. Available in wood, aluminum, and PVC, they suit homes and offices alike.

9. Motorized Curtains Dubai – Smart Living Solutions

Technology has changed the way we decorate our homes. Motorized Curtains Dubai bring convenience to a whole new level. With just a remote or smartphone, you can open or close your curtains without effort. Similarly, Motorized Blinds Dubai add smart automation for modern apartments, offices, and villas.

10. Pinch Pleat Curtains Dubai – Classic Elegance

For those who love traditional interiors, Pinch Pleat Curtains Dubai are a timeless choice. Their structured pleats provide a graceful, formal look suitable for living rooms, hotels, and dining areas.

11. Curtain Accessories Dubai – Complete Your Look

No curtain setup is complete without the right accessories. From rods and tiebacks to hooks and rails, Curtain Accessories Dubai ensure that your window treatments are both functional and stylish.

12. Roman Blinds Dubai – Timeless Fabric Style

Roman Blinds Dubai are fabric blinds that fold into neat pleats when raised. They add sophistication to interiors and are available in various fabrics, making them a popular choice for bedrooms and lounges.

13. Roller Blinds Dubai – Simple & Practical

Roller Blinds Dubai are one of the most versatile and easy-to-use window coverings. They are compact, practical, and perfect for offices, kitchens, and modern homes. Available in blackout, sunscreen, and decorative fabrics.

14. Sheer Curtains Dubai – Soft & Elegant Ambience

Want natural light but with privacy? Sheer Curtains Dubai are lightweight, translucent curtains that create a soft, romantic atmosphere. They pair beautifully with blackout curtains for a layered look.

15. Vertical Blinds Dubai – Best for Large Windows

Large windows and sliding doors need special solutions. Vertical Blinds Dubai are practical, stylish, and easy to maintain. They are widely used in offices, clinics, and modern apartments.

16. Blackout Curtains Dubai – Perfect Sleep Solution

Unlike blackout blinds, Blackout Curtains Dubai offer the same light-blocking benefits but with soft, decorative fabric. Ideal for bedrooms, hotels, and nurseries where complete darkness is needed.

17. Hospital Curtains Dubai – Hygienic & Durable

Healthcare facilities require special fabrics. Hospital Curtains Dubai are made with antibacterial and fire-retardant materials, ensuring hygiene, safety, and durability. Perfect for clinics, hospitals, and medical centers.

Why Choose Our Curtains Shop in Dubai?

When you choose a trusted curtains supplier, you get:

  • Premium fabrics (silk, linen, cotton, polyester & more).
  • Custom-made curtains tailored to your windows.
  • Motorized solutions for modern lifestyles.
  • Professional curtain fixing and alteration services.
  • Affordable pricing without compromising on quality.

Final Thoughts

From Eyelet Curtains Dubai to Hospital Curtains Dubai, the choices are endless when shopping for window coverings. The best Curtains Shop in Dubai offers not only a wide collection but also professional services like fixing, alteration, and motorization to meet your needs. Whether you are furnishing a home, upgrading an office, or decorating a villa, choosing the right curtains and blinds will transform your interiors with style and functionality.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 29 3min de leitura

Todos cometemos errores

Todavía recuerdo el primer código que escribí en Object Script

Viniendo de Python, al principio me resultó muy extraño, pero con el tiempo empecé a ver por qué el lenguaje está construido de esa manera.

Si estáis empezando, tened en cuenta que ObjectScript puede parecer un poco de nicho y ligado sobre todo a los productos IRIS, pero la forma de trabajar con él realmente compensa: desarrollo rápido, una base de datos potente y una plataforma sólida para aprender.

A veces se siente como si hubierais entrado en un mundo que es a la vez familiar y diferente.

Reconoceréis partes de SQL, conceptos orientados a objetos, pero todo mezclado en un estilo propio. Y, como con cualquier lenguaje, los principiantes suelen caer en algunas trampas comunes.

El alcance importa

Muchos errores vienen de saltarse lo básico, cosas como cómo se delimitan las variables o cómo persisten los datos no son simples detalles: son la base. He visto a desarrolladores novatos sobrescribir valores sin querer porque no se daban cuenta de que las variables locales y globales se comportan de manera diferente. Id despacio, dedicaos a entender bien esos fundamentos y os ahorraréis muchos dolores de cabeza más adelante.

¿Funcional u orientado a objetos (OOP)?

Object Script es una mezcla única, algunos intentan tratarlo como si fuera un lenguaje puramente funcional, otros como un lenguaje orientado a objetos estándar. Ninguno funciona del todo bien. La verdadera fortaleza está en usar ambos: cada tarea tiene su propia solución. Apoyaos en SQL cuando tenga sentido, escribid código funcional rápido y cambiad a patrones orientados a objetos cuando sea la mejor opción.

No lo compliquéis de más

Otra trampa que he visto es escribir demasiado código para un problema sencillo. Como Object Script se siente diferente, a veces se fuerzan patrones de otros lenguajes sobre él. Pero la mayoría de las veces ya hay una forma más simple incorporada. Antes de escribir ese bucle enorme o esa clase extra, preguntaos: ¿hay aquí una manera más fácil de hacerlo? Normalmente la respuesta es sí.

No ignoréis la gestión de errores

Cuando solo queréis “hacer que funcione”, es fácil saltarse la gestión de errores adecuada. Pero cuando algo falla —y creedme, fallará— es cuando se nota el dolor. Aprender pronto a capturar, registrar y manejar errores hace que depurar sea mucho más fácil y ahorra a vuestros compañeros (y a vuestro yo futuro) muchísima frustración.

Los globals permanecen

Los globals son potentes, pero también son persistentes: eso significa que vuestros datos se quedan ahí hasta que los limpiéis. Los desarrolladores nuevos, e incluso los intermedios, suelen olvidarlo y terminan con restos desordenados que contaminan sus resultados. Tratad los globals con cuidado y aseguraos de no dejar basura de datos atrás.

Escribid código que se pueda leer

Una cosa es hacer que algo funcione, otra es asegurarse de que alguien más pueda entenderlo después. La consistencia en los nombres, los comentarios y mantener las cosas simples marcan una gran diferencia. Podéis pensar que recordaréis lo que hace vuestro código, pero no lo haréis.

El código limpio es un acto de amabilidad hacia vosotros mismos y hacia cualquiera que tenga que trabajar con él después.

Disfrutad del camino, que al final es lo que realmente importa.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 29 3min de leitura

Importar datos CSV en InterSystems IRIS y preservar los IDs

¡Hola a todos!

Es muy fácil importar datos CSV en IRIS. Pero, ¿qué pasa si queremos preservar los IDs originales del CSV?

Recientemente me encontré con la situación en la que necesitaba importar dos CSVs en IRIS que estaban vinculados por una columna que hacía referencia a la columna de otro CSV: una situación típica de clave primaria y clave externa, donde csv1 contiene esta columna como clave primaria, y csv2 como clave externa con IDs relacionados con csv1.

La imagen fue generada por ChatGPT, así que no lo culpéis: hizo lo mejor que pudo al generar países como claves primarias con una relación countries.csv–cities.csv :)

Conozco al menos tres utilidades prácticas para importar CSV: csvgencsvgen-python, y bdb-sql-utils. Pero si importo ambos CSVs, por ejemplo mediante csvgen, habrá dos clases en IRIS con los datos importados, un ID interno generado y un IDKey. Y no es posible cambiar el IDKey a otro índice en la clase una vez que ya tiene datos. Así que resulta que no es tan obvio cómo importar un CSV y preservar una columna con datos de ID como IDKey en IRIS.

Por supuesto que es posible, y estoy seguro de que conocéis muchas maneras de hacerlo. De hecho, ahora es posible importar y preservar los IDs existentes en el CSV como claves ID tanto en csvgen como en csvgen-python. Para generar una clase en IRIS e importar datos desde un CSV dado con una clave primaria, proporcionad el nombre de la columna en el parámetro pkey (el último). De este modo, la utilidad añadirá un índice IDKey, PrimaryKey a la clase.
Por ejemplo, si importamos countries.csv y queremos que la columna Name sea un IDKey y clave primaria, llamad a csvgen de la siguiente manera:

//primary key name is the 11th parameter :)
zw ##class(community.csvgen).Generate("path/to/countries.csv,",","package.Countries",,,,,,,,"Name")

Lo que hace internamente puede describirse de la siguiente manera:

  • genera la clase con las propiedades como siempre,
  • borra todos los datos,
  • elimina el índice DDLBEIndex bitmap si existe (esto impide crear un IDKey alternativo al ya existente),
  • establece (temporalmente) la opción global del sistema DDLPKeyNotIDKey=0,
  • añade un índice Primary Key para la columna indicada con el nombre proporcionado.

Y como resultado, tendréis una clase recién generada con datos y la clave primaria IDKey para el nombre de columna dado.

Aquí está el código en csvgen.

Entonces, ¿cómo conectáis dos clases generadas? En mi caso necesitaba tener swizzling de instancias de class1 en class2.property. Así que simplemente cambié el tipo de dato en la clase generada a una clase con Primary Key–IdKey.

Aquí está la aplicación demo de ejemplo que analiza el consumo de patatas y la importación en distintos países (no me preguntéis por qué inventé este ejemplo; quizá tenía hambre). Los países son reales, pero el consumo fue generado por gpt, él/ella dijo que está cercano a la realidad, ya que resultó bastante difícil conseguir estos datos.

Aquí están countries.csv y potatos_sales.csv.

Así es como importo los datos y genero las clases:

    zpm "install csvgen"
    set file="/home/irisowner/dev/data/countries.csv"
    zw ##class(community.csvgen).Generate(file,",","esh.csvpkey.Countries",,,,,,,,"Name")
    set file="/home/irisowner/dev/data/potato_sales.csv"
    zw ##class(community.csvgen).Generate(file,",","esh.csvpkey.Potatos",,,,,1)

Genera una clase countries con PrimaryKey:

Class esh.csvpkey.Countries Extends %Persistent [ ClassType = persistent, DdlAllowed, Final, Owner = {irisowner}, ProcedureBlock, SqlRowIdPrivate, SqlTableName = Countries ]
{

Property Name As %Library.String(MAXLEN = 250) [ SqlColumnNumber = 2 ];
Property Code As %Library.String(MAXLEN = 250) [ SqlColumnNumber = 3 ];
...

Index COUNTRIESPKEY1 On Name [ IdKey, PrimaryKey, SqlName = COUNTRIES_PKEY1, Unique ];
...

}

Luego cambié la propiedad generada countries de %String a referencia a la clase countries:

Property Country As esh.csvpkey.Countries [ SqlColumnNumber = 2 ];

Y he creado una demo muy evidente de IRIS BI/DSW para ver cómo va el consumo de patatas en los distintos países a lo largo de los años:

Espero que os fuera interesante y os sirviera de ayuda :)

Discussão (0)1
Entre ou crie uma conta para continuar