惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
Y
Y Combinator Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
博客园_首页
小众软件
小众软件
I
InfoQ
J
Java Code Geeks
月光博客
月光博客
S
Secure Thoughts
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
N
News and Events Feed by Topic
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Cloudflare Blog
T
Threat Research - Cisco Blogs
A
About on SuperTechFans
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Latest news
Latest news
G
GRAHAM CLULEY
IT之家
IT之家
C
Cisco Blogs
Last Week in AI
Last Week in AI
Engineering at Meta
Engineering at Meta
L
LangChain Blog
The Register - Security
The Register - Security
SecWiki News
SecWiki News
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
T
Tenable Blog
博客园 - Franky
美团技术团队
I
Intezer
U
Unit 42
雷峰网
雷峰网
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
SegmentFault 最新的问题
C
Cyber Attacks, Cyber Crime and Cyber Security

监控宝

100-300 元之间有哪些户外监控推荐? - V2EX 算命的应该已经开始使用人脸识别了吧。 - V2EX K8s 监控是真的难做呀,感觉没有啥头绪 - V2EX 求问国内第三方监控平台有哪些? - V2EX 想给家里整套监控 - V2EX 有奖体验 赢畅销书|体验透视宝业务监控 一眼定位业务故障 - V2EX [重磅新品]自动发现业务拓扑,精准定位根源问题 - V2EX 邀请体验|从业务拓扑图开始 搞定业务运维 - V2EX 游戏平台运维自动化扩展之故障自愈 - V2EX 不容错过 | 一大波新功能来袭 坑爹双十一零点秒杀背后的 API 性能问题初探 - V2EX 不容错过 | 一大波新功能来袭 大促之前 必先压测--压测宝助您决战双 11 - V2EX 监控宝的销售来一发,我们谈谈企业版的 Api 功能 - V2EX B 站运维团队成长的血泪史 - V2EX 感受真实性能压测的“洪荒之力” 压测宝有奖体验中 - V2EX 重磅 | 打造云端压力测试产品,准确感知性能瓶颈 - V2EX 互联网金融网站性能排行榜 - V2EX 来一场说聊就聊的压测分享 - V2EX 选择合适的监控指标 确保跨境电商网站业务稳步增长 - V2EX Hadoop 大数据生态系统及常用组件简介 - V2EX 十大性能监控技巧 全面提升你的应用体验 - V2EX 监控宝新增国内 7 地监控节点,看看有没有覆盖你们的业务地区~ - V2EX 无压测 不狂欢 压测宝助您决战 618 - V2EX 监控宝经常轰炸我邮箱啊。。 - V2EX 透视宝 H5 性能管理新鲜出炉 免费体验 - V2EX 支付宝付款的时候, 手机闪关灯依旧会亮一下 - V2EX 服务器宕机后自动重启的简化方法 - V2EX 监控宝新增马来西亚等 7 个监控点 - V2EX 文轩在线:如何让 IT 部门成为企业的价值中心 - V2EX 监控宝妙招:批量修改告警通知联系人 - V2EX 监控宝的日报、周报的取消在哪里?(一图胜千言) - V2EX | 监控宝产品满意度调查 |即可得 20 元话费。 - V2EX 监控宝新增国内及海外监测点--请戳这里~~ - V2EX 监控宝产品功能:一键暂停/开启群组成员短信告警 - V2EX 监控宝 API 监控全面升级 - V2EX 监控宝国际版正式上线 龙珠直播使用透视宝性能管理服务的案例分享 [云干货分享] 发布自动化技术 Release Automation 详解 - V2EX 云智慧透视宝 PHP 应用性能监控实现原理 - V2EX 云智慧透视宝 Java 代码性能监控实现原理 - V2EX 运维生存时间呕血之作:网站运维黑锅如何甩 - V2EX [干货] 前方高能!如何保障 Python 应用的高性能 - V2EX 监控宝同类产品还有哪些?或者说竞争对手有哪些相近的产品 - V2EX [干货] 解密监控宝 Docker 监控实现原理 - V2EX 干货 | Docker 文件系统的分层与隔离 - V2EX 监控宝惹火 Docker 监控,开放试用中 - V2EX 全球顶级应用性能监控管理服务商分析 - V2EX 云智慧首席架构师-从西直门立交桥谈 IT 架构与重构 - V2EX
Google 对象描述语言 Jsonnet 应用经验谈 - V2EX
cloudwise · 2016-07-25 · via 监控宝

Jsonnet 是 Google 开源的一门配置语言,用于增强 JSON 暴露出来的短板,它与 JSON 完全兼容并加入了一些新特性,包括注释、引用、算术运算、条件操作符、数组和对象深入、引入函数、局部变量、继承等, Jsonnet 程序被编译为兼容 JSON 的数据格式,简单来说 Jsonnet 就是 JSON 的增强版。

JSON 的应用场景和缺陷
为什么要用 Jsonnet 取代 JSON 呢,就要从 JSON 的功能说起了。 JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,是基于 ECMAScript 的一个子集,采用完全独立于语言的文本格式,同时也使用了类似于 C 语言家族的习惯(包括 C 、 C++、 C#、 Java 、 JavaScript 、 Perl 、 Python 等),由于 JSON 在各语言间支持友好、可读性强、数据性能上相比 xml 有很大优势,所以使 JSON 成为理想的数据交换语言。
JSON 的使用场景主要有三类:
Web 工程师最为熟悉的服务端和 javascript 的数据交换,常见 ajax ;
各语言之间的数据交换,通常以 Webservice 的形式出现,常见的范式如 jsonrpc, 和 restful ;
应用的配置文件,很多应用采用 json 作为配置文件,比如前端 bower.-> bower.json. node.js 的包管理器 package.json , PHP 的包管理器 composer.json 。
但是在用 JSON 做数据交换和配置文件时, 也会遇到很多问题:
不能加注释;
对象或数组最后一项后面不能有逗号;
不支持变量、函数;
不能用算术和逻辑运算;
不能划分,不能复用,各个 json 文件之间彼此孤立;
语法有些时候不太友好;
key 必须要加双引号;
value 是字符串时,不能用单引号。
JSONNET 的优势和应用
JSONNET 的一些特性间接弥补了 JSON 的先天不足:
key 的双引号不是必须的;
对象和数组最后一个属性后面可以有逗号;
支持单行或多行注释;

引用
self: 当前对象
$:根对象

操作数据,支持常用的算术与逻辑运算符
+: 数组(拼接)、字符串(连结)、对象(溶化)

数组和对象深入

模块化
项目配置文件过大或数据文件过大,需要拆分,通过 import 引入

函数与变量

面向对象--继承
{supper2} + {supper1} + {self}

通过上面特性,我们可以发现 JSONNET 使 JSON 拥有了语言的特性:
优点
有注释,和后端开发协商接口很方便,模拟数据的文件可以直接作为接口文档
制造模拟数据更加高效自然
数据文件的可以切分和复用
缺点
Web 场景下不能作为直接的数据交换格式
学术型代码, 比较小众
使用场景不多
标准库不够完善,存留的 issue 较多
比如排序问题
不支持 IO 操作,不具备替代脚本语言的可能性
使 JSON 变得更为复杂
JSONNET 提供内置的标准库(官网地址: http://jsonnet.org/docs/stdlib.html ),包括了一系列对象,字符串, BASE64 的标准库,大家有兴趣可以自行下载。
目前 JSONNET 的主要应用场景还是用来组织和生成 JSON 数据:
有生成大批量 JSON 文件的需求
作为 JSON 的模板引擎
接口测试中模拟数据接口,通过 JSONNET 文件生成动态的 JSON 数据
JSONNET 在透视宝的应用场景
最后介绍一下 JSONNET 在透视宝中的应用场景,透视宝在做数据呈现时主要依赖于后端的 ElasticSearch 构建的检索服务, ElasticSearch 对外提供一组 Webservice 作为数据 API 接口,数据交换格式是 JSON 。
ElasticSearch 官方的 QUERY DSL 代码,相比透视宝实际需求的查询语法并不复杂,但是我们前端在构建这个请求时却不太方便,往往要通过拼接数组的方式将 JSON 序列化来构建这个 QUERY 。针对这种情况可以将语法抽象,用 oo 去构建这样的语法,借助 elastica ( elastic search 的一个客户端)实现。但是在代码调试中发现,为了构建一个 json 的查询,我们的程序员在这上面浪费了大量时间,因为要进行大量的语法对照翻译,既不直观,也影响效率。最后我们借助 JSONNET 生成 JSON 文件,将每个查询制作为模板固化下来,复用性大大增加,这种方法在实际工作中效率很高,更加直观:
JSON 模板引擎
透视宝前端 es query 查询
模拟数据接口,通过 JSONET 动态生成 JSON 数据
大数据场景
数据自行解释
数据压缩
注: PHP 的 JSONNET 实现是由云智慧的 Neeke 完成: http://pecl.php.net/package/jsonnet
大家可以参考源码学习一下。