VSCode插件开发

概述

通过给visual studio code安装插件的形式为公司提供一站式基于数据的解决方案,包括不限于数据采集,数据计算,数据抽取,数据展现等,平台提供javascript(支持es6语法),python3,ss(原创数据处理领域语言)三种开发语言,让您可以轻松编写数据处理脚本。该脚本的执行触发形式支持以下方式:

  • 手动任务:需要用户手动触发
  • 定时任务:基于cron表达式的定时任务触发;
  • 表触发任务:基于mysql表数据实时变动时触发,可灵活定义表/字段触发范围和数据合并滑动窗口(秒)触发;
  • 流数据订阅任务:基于其他流数据形式变动的触发,流数据来源包括但不限于kafkarabbitmq,rocketmq,redis

脚本可以被发布成RestAPI,这样您提取的数据被其他人引用或做成UI界面供其他用户浏览。

image.png

技术要点

vscode插件开发可参考:https://code.visualstudio.com/api/get-started/your-first-extension

  • 语言服务:包括如何定义自定义领域语言语法高亮,Hints,自定义类调用的代码提示,代码模板等;


    image.png
  • websocket通信:用于将代码中的打印信息推送到vscode的output区域,输出区文字颜色区分


    image.png
  • restapi:所有与后台交互的请求服务都依赖于它,UI中几乎所有数据都基于该接口请求数据

  • 外部页面引用:目前看只能基于WebView,并发布在插件本地


    image.png
  • 自定义面板:树的动态加载与渲染,按需加载不同右键菜单,树节点图标和样式


    image.png
  • 工具栏按钮扩展:整合运行按钮,自定义工具按钮等


    image.png
  • 事件底层联动交互


    image.png

亮点功能

运行环境隔离

数据开发是一项非常严谨的工作,需要严格的上线流程,否则针对数据的物理修改和删除会引起致命性生产问题,所以,针对数据开发的流程,首先就要做到环境隔离,写脚本的工程师需要在测试环境调测脚本(包括危险的DML操作),测试环境验证通过后,提交脚本上线申请,由专员审核脚本,确保没有危险操作,在兼顾开发效率的同时,也确保脚本安全。

规范上线流程

vscode提供了体验友好的编程环境,插件提供了脚本上线统一的流程,包括:代码编写 -> 测试环境调测 -> 申请发布 -> 脚本上线/拒绝。

多种执行方式

提供了脚本四种模式的触发执行,几乎涵盖所有数据业务处理场景:

  • 手动任务:跑批或一次性数据处理任务。
  • 定时任务:定时触发的数据任务,如每日数据清盘,爬虫抓取等。
  • 表触发任务:可用于数据实时计算,复杂触发器的编写,缓存更新等
  • 流数据订阅任务:异步分步数据处理任务,流数据来源包括但不限于kafkarabbitmq,rocketmq,redis等,通过侦听相关队列实现数据的实时计算。

sqlone语言

为进一步降低提取数据的使用门槛,我们在平台中统一使用sqlone语言(标准SQL语句)来提取包括kafkarabbitmq,rocketmq,redis等的流数据和mysql,oracle,clickhouse,ElasticSearch等的数据库数据。

image.png

代码提示与模板

数据开发平台提供了一系列内置API库,详见文档:https://sdp-ui.idbhost.com/apidoc2/#/

平台除了对指定语言进行语法提示外,还支持对内置类/函数调用的语法提示,如下图:


image.png

关于ss语言

有了jspython脚本语言,为什么我们还需要原创ss数据处理领域语言,这是一门语法更简单、灵活、智能的数据处理语言,主要面向产品部和数据部人员,可方便他们快速更面向可视化的提取数据,大大降低编程门槛。如它可以采用混编语言更快速提取数据,利用??操作符可更安全处理空值,内置死循环判定等。如果要体验ss语言可访问:http://coding.sumslack.com

image.png

对外接口发布

调测好的脚本通过发布API操作可将接口返回的数据提供对外服务,在后续制作表单和自定义报表时提供服务,这样就可以开发自定义UI页面供外部使用。

可视化动态页面开发

通过简单的拖拉服务开发属于自己的UI页面,页面中的动态内容可由本平台开发的脚本语言通过发布API提供。

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容