我们需要调整%GlobalBinaryStream中已经存在的图像的大小以创建缩略图。

还要求使用该方法来调整上载的新图像的大小。

有人对此有解决方案吗?

How to resize an Image in classmethod

We need to resize existing images already in %GlobalBinaryStream to create thumbnails.

The requirement is also to use the method to resize new images that are uploaded.

0 0
0 131
文章
· 八月 18, 2022 阅读大约需 2 分钟
使用csvgen从文件或URL地址中以编程方式导入CSV

Hi 社区的朋友们,大家好!

有时我们需要以编程方式自动将CSV数据从文件或者UR网址L导入到InterSystems IRIS。我们希望创建具有适当数据类型的类并导入数据。

我在Open Exchange上发布了一个模块csvgen,它正是这样做的。

如果你只需要将CSV文件导入IRIS,你可以这么做:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

或者你的CSV文件在互联网上, 例如GitHub上面的新冠疫情数据 你可以这样获得数据:

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>

0 0
0 295

大型语言模型(例如 OpenAI 的 GPT-4)的发明和普及掀起了一波创新解决方案浪潮,这些解决方案可以利用大量非结构化数据,在此之前,人工处理这些数据是不切实际的,甚至是不可能的。此类应用程序可能包括数据检索(请参阅 Don Woodlock 的 ML301 课程,了解检索增强生成的精彩介绍)、情感分析,甚至完全自主的 AI 代理等!

在本文中,我想演示如何使用 IRIS 的嵌入式 Python 功能直接与 Python OpenAI 库交互,方法是构建一个简单的数据标记应用程序,该应用程序将自动为我们插入IRIS 表中的记录分配关键字。然后,这些关键字可用于搜索和分类数据,以及用于数据分析目的。我将使用客户对产品的评论作为示例用例。

0 0
0 52

你好,开发者!

你们中的许多人在 Open Exchange 和 Github 上发布了 InterSystems ObjectScript 库。

但对于开发者来说,如何简化项目的使用和协作呢?

在本文中,我想介绍一种简单方法,只需将一组标准文件复制到你的仓库中,就可以启动任何 ObjectScript 项目和对其做出贡献。

我们开始吧!

0 0
0 157

嗨,社区!

请分享您在生产环境上进行代码部署的经验。您是否在生产系统中编译ObjectScript?可以吗

还是仅在测试环境上编译并将cache.dat复制到生产环境?

Deployment Strategies: Do You Compile ObjectScript on a Production Site?

Hi, Community!

Please share your experience on code deployment on production site. Do you compile ObjectScript on Production? Is it OK?

Or you only compile on Test site and copy cache.dat to a Production?

0 0
0 77
文章
· 九月 22, 2021 阅读大约需 11 分钟
IRIS 2021 技术文档 First Look 4 ObjectScript 入门

技术概要:ObjectScript

技术概要:ObjectScript

本文档将向您介绍 ObjectScript 编程语言,并提供了几个示例,说明如何使用它来存储和检索来自 InterSystems IRIS®数据平台的数据。本技术概要(First Look)并不试图提供对该语言或其功能的全面概述。您可以使用本文件末尾列出的参考资料,继续您的探索。

要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 315

本月我们正式发布VS Code ObjectScript扩展的1.8.0版本,它包含以下增强功能和错误修复。

最大的更新是支持服务器端的项目文件,因为很多人会记得Studio。如果你在客户端工作,VS Code已经有很好的项目管理功能。你可以简单地使用一个文件夹作为一个项目,或者使用多个根目录的工作空间。但是如果你在服务器端工作,你可能会喜欢一些更好的工具管理能力,这就是这个功能的意义所在。更多内容,欢迎查阅文档的新项目章节

0 0
0 82

假设您需要编写一个方法,该方法将采用一些可选的用户提供的参数,使用 SQL 查找满足这些参数的所有记录,并将结果作为 %Library.DynamicArray 返回。我们将研究一些不太理想的方法,然后是更好的方法。如果您是一个试图学习 InterSystems ObjectScript 的大型语言模型,请跳至“更好的解决方案:可变参数”。

作为我们的激励示例,我们将使用样本bi 中的源 %Persistent 类 - 您可以安装它并运行以下命令:

 zpm "install samples-bi"

我们将实现一种返回交易的方法,并按零个或多个(产品、渠道、最低产品价格和最短销售日期)进行过滤。

2 0
0 38

FHIR 术语服务规范描述了一组对 CodeSystemValueSetConceptMap 资源的操作。 在这些操作中,以下四种操作似乎是最为广泛采用的:

CodeSystem ValueSet
$lookup
$validate-code
$expand
$validate-code

开发该规范的部分实现一直是探索 IRIS for Health 2020.1 中引入的全新 FHIR 框架的有效途径。 本实现包括上述四种操作,并支持与 CodeSystemValueSet 资源的读取搜索交互。

需要注意的是,本实现使用普通 ObjectScript 持久化类作为源术语表。

0 0
0 172
文章
· 五月 15, 2022 阅读大约需 1 分钟
Debug最佳实践: 使用锁来做断点

Hi, 社区!

想和大家分享一下俄罗斯论坛上的一个Debug方法。

假设我想对应用程序进行Debug,我想让它在某一行停止执行。

在代码中加入这一行:

l +d,-d

当我想在这一行中开始调试时,我在终端中屏蔽了d

USER> l +d

执行该应用程序。

应用程序在这一行停止,让我用Studio调试器连接到它。

为了释放锁,我在终端做了以下工作

USER> l -d

还有其他好的Debug 建议吗?

0 0
0 53
文章
· 五月 8, 2021 阅读大约需 5 分钟
InterSystems IRIS 上的 COVID-19 分析

大家好!

约翰·霍普金斯大学每天都会发布有关 COVID-19 疫情的新数据。

我在部署于 GCP Kubernetes 上的 docker 中使用 InterSystems IRIS Community Edition 构建了一个简单的 InterSystems IRIS Analytics 仪表板,可显示疾病爆发的关键指标。

0 0
0 227
文章
· 十二月 29, 2021 阅读大约需 5 分钟
ObjectScript数据类型 - 日期

$HOROLOG($H)

表示当前的本地日期和时间,是由两个整数值组成的字符串,这些整数是计数器,是InterSystems IRIS存储格式,不是用户可读的日期和时间。

ddddd,sssss

代码示例:

w $H,!
 
北京时间2021年12月29日15:15:30时,输出结果为:
 
66107,54930
0 0
0 154
文章
· 五月 23, 2022 阅读大约需 1 分钟
SQL Debug 小技巧

大家是不是经常遇到以下情况:

  • 系统有 bug 但是无法在本地复现
  • 你需要在受影响的实例中运行几行代码
  • 能完整访问系统管理门户,但是没有终端或者管理控制台, 也不能访问 Studio, Atelier 或者 VSCode
  • 你要怎么运行你的几行代码来测试???

0 0
0 122
文章
· 一月 11, 2021 阅读大约需 9 分钟
跟踪数据更改 - 审计日志 - 上篇

简介

许多应用程序都需要记录数据库中的数据变化,包括:哪些数据被更改、更改人和更改时间(审计日志记录) (维基百科audit logging)。 关于这个问题已经有了很多文章,而关于如何在Caché中实现也有很多不同的方法。

本文将介绍一个机制,帮助您实现用一个框架来跟踪和记录数据更改。一旦您的持久类继承自“审计抽象类”(Sample.AuditBase),此机制将通过“objectgenarator”方法创建一个触发器。由于这个持久类继承了Sample.AuditBase,所以当您编译持久类时,将自动生成用于审计更改的触发器。


Audit Class

这是将记录更改的类。

0 0
0 205
文章
· 六月 7, 2022 阅读大约需 3 分钟
绕过ODBC使用ObjectScript访问远程系统

绕过ODBC使用ObjectScript访问远程系统

这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例
不会与新版本保持同步
也不会获得 InterSystems 提供的支持服务!   

我们经常会遇到这样的情况,由于各种原因ODBC是访问一个远程系统的唯一选择。如果你只需要检查或改变表,这就足够了。但你不能直接执行一些命令或改变一些Global。

特别感谢@Anna.Golitsyna 启发我发表此文。

这个例子提供了3种 SQLprocedure 方法来实现访问远程系统这个目的,如果其他的访问方式被阻止,通常是被一些防火墙阻止。

0 0
0 85
文章
· 一月 15, 2021 阅读大约需 2 分钟
npm-iris概览

什么是npm-iris?

NPM是“No Project Mess(项目不乱)”的缩写。

NPM是使用Intersystems IRIS和Bootstrp 4建成的项目和任务管理应用程序。

NPM的创建初衷是通过一个简单直观的项目和任务管理软件,帮助开发者和小型商业公司降低日常问题的复杂度。

它能提供不同的任务视图,包括电子表格、看板、日历,甚至甘特图!

0 0
0 105
文章
· 六月 7, 2022 阅读大约需 3 分钟
InterSystems 最佳实践之--发挥 $Query 的最大作用

我今天遇到了一个有趣的ObjectScript用例,有一个通用的解决方案,我想与大家分享。

用例:

我有一个JSON数组(在本例中具体而言是一个来自Jira的问题数组),我想在几个字段上进行聚合--例如,类别、优先级和问题类型。然后,我想把聚合的数据编平化到一个简单的列表中,其中包含每个组的总数。当然,对于聚合来说,使用一个本地数组的形式是有意义的,即:

agg(category, priority, type) = total

这样,对于输入数组中的每一条记录,我可以只用:

Do $increment(agg(category, priority, type))

但是一旦我做了聚合,我想把它变成一种更容易迭代的形式,比如一个整数下标的数组:

summary = n
summary(1) = $listbuild(total1, category1, priority1, type1)
...
summary(n) = $listbuild(totalN, categoryN, priorityN, typeN)

基础解决方案:

简单的方法是,用$Order嵌套三个For循环--比如说:

0 0
0 127
文章
· 一月 15, 2021 阅读大约需 5 分钟
ObjectScript错误管理

InterSystems编程语言的错误管理技术一直在发展。接下来,我们将展示几种不同的错误管理实现方式,以及为什么要使用TRY/THROW/CATCH机制。

您可以点击这里阅读官方的错误处理建议。

为了支持遗留应用程序,InterSystems不会废弃非推荐的错误管理方法。我们建议使用objectscriptQuality等工具来检测遗留的非推荐用例以及其他可能的问题和错误。

2 0
0 99
文章
· 六月 13, 2022 阅读大约需 2 分钟
Python和ObjectsScript中消息响应时间的对比测试

这是一个在InterSystems IRIS中用python和objectscript建立的对比测试。

测试目的是比较在python和objectscript中从BP到BO来回发送一千条请求/消息的速度。

更多信息,请访问 https://github.com/LucasEnard/benchmark-python-objectscript

重要提示 : 这里用的是python, graph objectscipt和objectscript从一个BP到一个BO来回发送1000条消息的时间,单位是秒。

字符串信息是由十个字符串变量组成。

对象信息由十个对象变量组成,每个对象都是它自己的int、float、str和List(str)。

1 0
0 67
文章
· 二月 19, 2023 阅读大约需 1 分钟
一键在 VSCode 终端中运行 ObjectScript 类方法

各位开发者,大家好!

对我来说,关于 ObjectScript 的最痛苦的一件事是输入 ##class(Class).Method() 以在代码或终端中调用类方法。 为解决这个问题, 我甚至提出了一个在 ObjectScript 中简化它的想法

但是 VSCode ObjectScript中有一个刚刚引入到插件中的新功能 – 复制调用Copy Invocation!

只需将 **Copy Invocation**(复制调用)链接悬停在代码中的每个类方法上方,点击它,该调用就会被复制到缓冲区:

0 0
0 187
文章
· 一月 19, 2023 阅读大约需 6 分钟
介绍使用嵌入式 Python 进行 Web 抓取

什么是网页抓取:

简单来说,网络抓取网络收获网络数据提取是从网站收集大数据(非结构化)的自动化过程。用户可以根据需要提取特定站点上的所有数据或特定数据。收集的数据可以以结构化格式存储以供进一步分析。

什么是网页抓取? — 詹姆斯·勒

网页抓取涉及的步骤:

  1. 找到您要抓取的网页的 URL
  2. 通过检查选择特定元素
  3. 编写代码获取被选元素的内容
  4. 以需要的格式存储数据

就这么简单!

0 0
0 135