#竞赛

0 关注者 · 80 帖子

竞赛标签汇集了 InterSystems 开发者社区上举办的各种编码竞赛相关的帖子。

公告 Michael Lei · 一月 23, 2023

嘿开发者,

我们想邀请您参加我们的下一场比赛,该比赛致力于创造有用的工具,让您的开发伙伴们的生活更轻松

🏆 InterSystems 开发者竞赛:Tool(工具)🏆

提交有助于加快开发速度、贡献更多定性代码并有助于使用 InterSystems IRIS 测试、部署、支持或监控您的解决方案的应用程序。

时间: 2023 年 1 月 23 日至 2 月 12 日(美国东部时间)

奖金池: 13,500 美元

 

0
1 273
公告 Claire Zheng · 九月 27, 2022

社区成员们,大家好!

我们开心地宣布一种全新类型的比赛——寻找最聪明的创意比赛!欢迎了解:

💡 InterSystems Idea 创意马拉松 💡

在9月26日至10月16日期间提出一个与InterSystems产品和服务相关的想法,即可获得达成奖。

最重要的是,此次赛事InterSystems的员工和社区成员都可以参与!

>> 点击提交你的想法吧! <<

0
0 221
公告 Claire Zheng · 九月 22, 2022

中文社区的同学们大家好!

如你所知,从2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章

截至目前,我们已收获了20余篇佳作yesyesyes

作为此次大赛重要奖项“专家提名奖”评比的重要部分,我们的专家评审团已组建成团!

0
0 123
公告 Claire Zheng · 九月 4, 2022

嗨,开发者们!

秋高气爽之际,我们很高兴地宣布启动🏆InterSystems开发者社区中文版首届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)!

从2022年9月5日-10月24日(北京时间),欢迎热爱InterSystems技术的你来投稿,撰写与InterSystems技术相关的文章。

🎁参与奖 我们为每一位成功参赛的作者准备了礼品!

🏆优秀文章大奖 Apple iPad; Beats Fit Pro; HUAWEI WATCH; Logitech键盘; WD固态硬盘;KEEP智能手环

0
0 341
公告 Claire Zheng · 八月 22, 2022

亲爱的开发者们!

到了展示互操作性技术的时候了!来参加我们最新的竞赛吧!

🏆 InterSystems开发者大赛:以互操作性技术为可持续发展构建解决方案 🏆

时间: 8月29日-9月19日(北京时间)

奖金更高: $13,500 – 请留意,奖金分配跟以往有所不同!

0
0 173
文章 Muhammad Waseem · 八月 11, 2022 2m read

嗨社区,

这篇文章公开介绍我的 iris-fhir-client 客户端应用。

 iris-fhir-client 可以可以借助嵌入式 python 连接到任何开放的 FHIR 服务器 fhirpy 图书馆.

通过终端和使用 CSP Web 应用程序获取资源信息。

0
0 177
公告 Claire Zheng · 六月 23, 2022

嗨,开发者们!欢迎加入第二届InterSystems技术写作大赛!

🐍 InterSystems技术写作大赛:Python 🐍

6月20日至七月20日 延长至7月31日,在社区撰写一篇利用InterSystems技术使用Python的文章,主题自定。

🎁 撰文即得奖  我们为每一位参与此次写作大赛的作者准备了一份特殊礼品!

🏆 优秀文章大奖  AirPods Max; Apple Watch SE; Apple HomePod mini / Apple Pencil 

0
0 118
文章 Michael Lei · 六月 2, 2022 1m read

IRIS Interoperability互操作性/HealthConnect(前身是Ensemble)有许多内置的适配器。但是没有一个接收邮件的服务或适配器。我洗的了一个电子邮件服务,通过SMTP接收邮件,这些邮件可以被传递到电子邮件操作。

现在我想对一个使用电子邮件操作向外部邮件服务器发送邮件的Production进行负载测试。邮件服务器团队不希望我向他们发送成千上万的信息。

我创建了iris-mail应用程序来替代邮件服务器。我更新了电子邮件操作中的服务器和端口设置。外发的邮件被发送到替代的邮件服务器,我能够计算出iris-mail中收到的邮件数量,并将其与邮件操作发送的邮件数量进行比较。

应用程序的源代码:https://openexchange.intersystems.com/package/iris-mail

0
0 125
文章 Michael Lei · 六月 1, 2022 1m read

InterSystems Production 监控是管理门户中的一个页面,用于显示当前运行的Production监控信息。我喜欢这个页面的样子,但这并不适合所有人。

2022年5月13日,我在开发者社区上看到这个帖子。

https://community.intersystems.com/post/creating-custom-monitoring-page

我同意马克的观点,Production监控很复杂。我想创建一个更漂亮干净的监控页面。

我开始着手制作一个利用类方法提供Production数据的 CSP(Cache Server Page)页面。

我与马克分享了我的第一次尝试。他根据自己的想法定制了这个页面。我喜欢他对页面的布局,使其在视觉上更有吸引力。我把他的设计整合到我的应用程序Production监控中。

我看到马克对业务服务的显示进行了过滤,只显示需要注意的服务。他在页面的底部添加了服务器的名称和它的镜像状态。

你可以在Open Exchange和当前的竞赛中找到我的Production监控器的应用。

https://openexchange.intersystems.com/package/production-monitor

0
0 123
文章 Michael Lei · 五月 30, 2022 1m read

我的团队在在红帽OpenShift容器平台上运行IRIS互操作性解决方案。我想在数据被存储在Mirror的数据pods中的情况下,测试运行中的webgateway pods和计算节点 pods能处理多少消息。

为了增加测试难度,我部署了多个feeder容器,并在每个feeder上安排了任务,以在同一时间发送大量的消息。为了进入下一阶段的测试,我希望有多种类型的测试文件可以按需使用。我创建了test-data应用程序,能够请求生成大量的多种类型的文件。

我早期的一些测试依赖于复制一个样本文件和处理它。这在一次只复制一份的情况下效果不错。为了获得同一样本文件的许多副本,MakeFile函数获取一个样本文件、保存其副本、并以唯一的时间戳进行重命名。MakeFiles函数有一个参数,用于确定要制作的文件数量。

我找到了一个样本文件,它的输入和输出都是带分隔符和固定符的。我把它包含在我的应用程序中,并添加了一个转换来操作测试数据文件。在这种情况下,我把测试文件中的识别ID号替换成在一个类方法中生成的识别ID号,并且是随着文件而递增的。

我想在处理后审查测试文件中的数据,我喜欢看到一系列有顺序的数字,而不是一系列随机数字。

具体代码下载:https://openexchange.intersystems.com/package/test-data

0
0 92
公告 Michael Lei · 四月 29, 2022

年度InterSystems IRIS开发者大赛来了,我们特别兴奋能够邀请大家参加我们今年的年度大奖赛,利用InterSystems IRIS数据平台创建开源解决方案!

🏆 InterSystems2022年度编程大奖赛 🏆

时间: 2021年5月9日 - 6月5日(美东时间)

总奖金超过$22,000美金,比去年提高37%!!! 

0
0 161
文章 Michael Lei · 四月 13, 2022 7m read

image

这篇文章是对我的  iris-globals-graphDB 应用的介绍。
在这篇文章中,我将演示如何在Python Flask Web 框架和PYVIS交互式网络可视化库的帮助下,将图形数据保存和抽取到InterSystems Globals中。

建议

第一步 : 通过使用Python 原生SDK建立与IRIS Globals的链接

 #create and establish connection
  if not self.iris_connection:
         self.iris_connection = irisnative.createConnection("localhost", 1972, "USER", "superuser", "SYS")
                                     
  # Create an iris object
  self.iris_native = irisnative.createIris(self.iris_connection)
  return self.iris_native

 

第二步 : 使用 iris_native.set( ) 功能把数据保存到Globals 里     

#import nodes data from csv file
isdefined = self.iris_native.isDefined("^g1nodes")
if isdefined == 0:
    with open("/opt/irisapp/misc/g1nodes.csv", newline='') as csvfile:

reader = csv.DictReader(csvfile) for row in reader: self.iris_native.set(row["name"], "^g1nodes", row["id"])

#import edges data from csv file isdefined = self.iris_native.isDefined("^g1edges") if isdefined == 0: with open("/opt/irisapp/misc/g1edges.csv", newline='') as csvfile: reader = csv.DictReader(csvfile) counter = 0                 for row in reader: counter = counter + 1 #Save data to globals self.iris_native.set(row["source"]+'-'+row["target"], "^g1edges", counter)  

第三步: 使用iris_native.get() 功能把节点和边缘数据从Globals传递给PYVIS

 #Get nodes data for basic graph    
  def get_g1nodes(self):
        iris = self.get_iris_native()
        leverl1_subscript_iter = iris.iterator("^g1nodes")
        result = []
        # Iterate over all nodes forwards
        for level1_subscript, level1_value in leverl1_subscript_iter:
            #Get data from globals
            val = iris.get("^g1nodes",level1_subscript)
            element = {"id": level1_subscript, "label": val, "shape":"circle"}
            result.append(element)            
        return result

    #Get edges data for basic graph       def get_g1edges(self):         iris = self.get_iris_native()         leverl1_subscript_iter = iris.iterator("^g1edges")         result = []         # Iterate over all nodes forwards         for level1_subscript, level1_value in leverl1_subscript_iter: #Get data from globals             val = iris.get("^g1edges",level1_subscript)             element = {"from": int(val.rpartition('-')[0]), "to": int(val.rpartition('-')[2])}             result.append(element)                     return result

 

Step4: Use PYVIS Javascript to generate graph data

<script type="text/javascript">
    // initialize global variables.
    var edges;
    var nodes;
    var network;
    var container;
    var options, data;
  
    // This method is responsible for drawing the graph, returns the drawn network
    function drawGraph() {
        var container = document.getElementById('mynetwork');
        let node = JSON.parse('{{ nodes | tojson }}');
        let edge = JSON.parse('{{ edges | tojson }}');
     
        // parsing and collecting nodes and edges from the python
        nodes = new vis.DataSet(node);
        edges = new vis.DataSet(edge);

        // adding nodes and edges to the graph         data = {nodes: nodes, edges: edges};

        var options = {           "configure": {                 "enabled": true,                 "filter": [                 "physics","nodes"             ]             },             "nodes": {                 "color": {                   "border": "rgba(233,180,56,1)",                   "background": "rgba(252,175,41,1)",                   "highlight": {                     "border": "rgba(38,137,233,1)",                     "background": "rgba(40,138,255,1)"                   },                   "hover": {                   "border": "rgba(42,127,233,1)",                     "background": "rgba(42,126,255,1)"                 }                 },

                "font": {                   "color": "rgba(255,255,255,1)"                 }               },             "edges": {                 "color": {                     "inherit": true                 },                 "smooth": {                     "enabled": false,                     "type": "continuous"                 }             },             "interaction": {               "dragNodes": true,                 "hideEdgesOnDrag": false,               "hideNodesOnDrag": false,                 "navigationButtons": true,                 "hover": true             },

            "physics": {                 "barnesHut": {                     "avoidOverlap": 0,                   "centralGravity": 0.3,                   "damping": 0.09,                     "gravitationalConstant": -80000,                     "springConstant": 0.001,                     "springLength": 250                 },

                "enabled": true,                 "stabilization": {                     "enabled": true,                     "fit": true,                     "iterations": 1000,                     "onlyDynamicEdges": false,                     "updateInterval": 50                 }             }         }         // if this network requires displaying the configure window,         // put it in its div         options.configure["container"] = document.getElementById("config");         network = new vis.Network(container, data, options);       return network;     }     drawGraph(); </script>

 

第五步: 从app.py 主文件调用上面的代码

#Mian route. (index)
@app.route("/")
def index():
    #Establish connection and import data to globals
    irisglobal = IRISGLOBAL()
    irisglobal.import_g1_nodes_edges()
    irisglobal.import_g2_nodes_edges()

    #getting nodes data from globals     nodes = irisglobal.get_g1nodes()     #getting edges data from globals     edges = irisglobal.get_g1edges()

    #To display graph with configuration     pyvis = True     return render_template('index.html', nodes = nodes,edges=edges,pyvis=pyvis)    

下面是关于此项目的 介绍视频:

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" scrolling="no" src="//player.bilibili.com/player.html?aid=256588464&bvid=BV1LY411w7MU&cid=718938724&page=1" width="560"></iframe>

0
0 258
公告 Claire Zheng · 一月 4, 2022

亲爱的社区开发者们,大家好!

欢迎积极参与新一轮InterSystems开发者竞赛!

随着 InterSystems IRIS 2021.2 预览版 的发布和全新的 LOAD DATA 功能,我们希望将其与最新的竞赛(数据集)结合起来! 

🏆 InterSystems 数据集竞赛🏆

竞赛时间: 2021年12月27日-2022年1月16日

奖金总额: $9,450

0
0 196
公告 Claire Zheng · 十一月 18, 2021

亲爱的社区开发者们,大家好!

我们欢迎您来参加 2021年欧洲医疗编程马拉松 ,这一赛事时间为2021年11月19日-21日,免费参赛,线上赛道(On-line Track)的申请截止日期延长至11月15日。

我们将有一个InterSystems的挑战:“用FHIR创新”。InterSystems赛道的奖金设置如下:

🥇第一名: 1500 EUR
🥈第二名: 1000 EUR
🥉第三名: 500 EUR
我们为所有参加InterSystems挑战的人准备了奖品!
参考下图,了解我们的挑战细节:)你愿意参加吗?请在下面的投票中告诉我们!

 

0
0 94
公告 Claire Zheng · 九月 15, 2021

亲爱的社区开发者们,大家好!

我们诚挚地邀请您参加与InterSystems开发者竞赛(InterSystems IRIS Analytics)竞赛优胜者交流 online meetup!

日期 & 时间: 美国东部时间2021年9月17日(周五)12:00;北京时间2021年9月18日(周六)0:00-1:00

在此次线上交流会上,您将了解到: 

  • 优胜者简介
  • 优胜者提交项目的简短demo
  • 关于项目中使用到的技术的开放探讨、问答,以及下一场开发者竞赛的安排。
0
0 159
公告 Claire Zheng · 七月 30, 2021

亲爱的社区开发者们,大家好!

我们真诚邀请您参加 Online Meetup:InterSystems 开发者竞赛(人工智能与机器学习)!

时间: 2021年7月30日(周五) 11:00 AM (美东时间)23:00 (北京时间)

在这场在线Meetup,您将了解到:

  • 此次优胜者的个人履历;
  • 获奖Application的简短Demo;
  • 有关应用技术的开放探讨、问答,以及下次竞赛的一些计划。
0
0 115
公告 Jeff Liu · 七月 12, 2021

嗨,开发者们, 

你准备好迎接新的挑战了吗? 我们很高兴地宣布第一届InterSystems技术文章写作比赛:

🏆 InterSystems技术文章写作大赛 🏆

从2021年7月15日至8月15日,写一篇与InterSystems技术有关的任何主题的文章!

每个人都有奖品: 在此期间,每个在DC上发表文章的人都将获得一个特别的奖品包!

大奖: Apple iPad

参加我们的新比赛,你的内容将被超过55K的月度读者看到! 详情如下。

0
0 221
公告 Claire Zheng · 五月 12, 2021

亲爱的社区开发者们,大家好!

InterSystems开发者竞赛:FHIR加速器 已于5月10日开启! 我们邀请所有FHIR开发者们在AWS上使用InterSystems IRIS FHIR加速器服务 (FHIRaaS)上开发或测试您的应用。

现在,我们为您提供绝佳机会,您可以在AWS上免费访问FHIRaaS! 那么,掌握FHIRaaS的第一步,是使用URL的特殊code在ISC Dev FHIR Portal 门户注册,链接如下:👉🏼 https://portal.trial.isccloud.io/account/signup

点击上面的链接,遵循相应步骤,即可掌控InterSystems FHIRaaS!

关于此次竞赛的任何疑问,请随时跟帖提问,或在 discord-contests channel 中提问。

再次欢迎大家加入此次竞赛,成为InterSystems FHIRaaS 大师! ✌🏼

Happy coding! :)

1
0 129
文章 Michael Lei · 五月 13, 2021 2m read

2020 年席卷全球的新冠疫情使每个人都在关注与 COVID-19 有关的新闻和数字。

为什么不趁这个机会去创造一些简单直观的东西,来帮助关注全球的疫苗接种数量呢?

为了应对这一挑战,我使用了 Our World in Data 提供的数据,他们的使命是提供解决全球最大问题所需的研究和数据。

他们在 Github 上有一个专门的 COVID-19 数据仓库,我采用了疫苗接种数据来完善我的跟踪器。

如果你不了解他们,去调查一下吧,这值得你花上一些时间。 Github 仓库

应用程序 iris-vaccine-tracker 有三个不同页面。

  1. 主仪表板
  2. 数据表,其中包含仪表板中呈现的数据的详细信息。
  3. 热图

仪表板

主仪表板提供全球疫苗接种情况的快速概览。

第一个小组件提供以下信息:

  • 用于接种人群的疫苗数量
  • 提供疫苗接种信息的国家/地区数量
  • 迄今已接种的疫苗总数。

第二个小组件提供了一个疫苗接种时间线视图,其中包括疫苗接种数量最多的前 10 个国家/地区。

第三个小组件提供了排名靠前的国家/地区的条形图,显示迄今为止的疫苗接种总数。

最后一个小组件展示疫苗的分布情况,哪些疫苗正在被使用以及所占的百分比。

数据表

数据表显示主仪表板汇总数据的详细信息。

热图

0
0 236