AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Prismatic 向 Schema 0.2 中添加了数据类型强制转换

  • 2014-02-25
  • 本文字数:1158 字

    阅读完需:约 4 分钟

Prismatic 向其 Clojure 数据描述库即 Schema 0.2 版本中添加了数据类型强制转换。强制转换的添加意味着该库不会只是简单地拒绝类型错误的数据,而是可以将它配置为修改实例以符合模式。

在Clojure 中,习惯用关键词作为Map 的键,也就是说,当收到 JSON 对象时,通常有若干样板代码来执行转换。以前,这种转换需要在试图验证请求之前执行。现在,如果模式使用关键字定义键, Schema 会为开发人员处理上述过程。当然,开发人员可以编写他们自己的满足特定需求的强制转换器。伴随这项新功能,Prismatic 声称这项变化使数据验证的时间减少到五分之一。

Schema 是去年九月份发布的,其目标是“获得Clojure 类型系统的诸多好处,而麻烦更少。” Clojure 的 core.typed 库也是该语言的一个类型系统,Schema 发布的时候,似乎与它形成了竞争。那时,core.typed 的作者 Ambrose Bonnaire-Sergeant 反驳了这个观点,指出它们实际上是互补的,并在之后接受InfoQ 关于core.typed 的采访时重申了这一点。

Jason Wolfe 是该库的主要作者。InfoQ 获得了就 Schema 的未来与他进行交谈的机会。

InfoQ:当 Schema 最初发布的时候,有人认为 core.typed 和 Schema 的组合将非常强大。从那以后,您想过发展这一想法吗?

几年前,从我看到我的第一个 Qi 项目开始,我就一直因为 Clojure 的进阶类型而兴奋,而且我认为,Ambrose 在促成这点方面做得非常棒。我们已经谈过,有若干方式可以使 Schema 与 core.typed 完美地结合,其中最有趣的可能是将 Schema 作为 core.type-checked 代码与未经检查的代码之间的桥梁。

那就是说,我很遗憾,我们还没有时间对 core.typed 做更深入地探究,所以,我现在没有更多的内容可谈了。

InfoQ:通过扩展实现测试数据生成听上去充满挑战,您会集成 simple-check ,利用 test.generative ,还是说 Schema 需要一种不同的方式?

我们还在考虑该问题。关于 simple-check,我读过许多非常棒的东西,我认为这应该可行,但我们还在设法理解其实现,并弄清楚如何将额外的限制加入生成过程。此外,还可能是一个简单的生成器,用于伪随机地充实部分基准,这是我们最终在测试中经常用的东西。

InfoQ:关于从 Schema 定义中提取值,您有什么进一步的想法吗?

强制转换和转换极其强大,我想我们还在寻找所有因为它们而变得可行的应用。我的同事 Dave Golland 将在 Clojure West 大会上就新库“fnhouse”发表演说,该库将 graph 和 schema 结合在一起,简化了 Web API 构建。“coax”也会随之发布,该库会自动生成 Objective C 和 ClojureScript 模型类,以及从 fnhouse API 生成客户端 API 库。

之后,我们还有许多疯狂的想法,但我们还没有准备好谈论它们。

Graph 是个 Prismatics Clojure 库,在2013 年发布,用于以声明式样式表达结构化计算。

查看英文原文:**** Prismatic Adds Data Type Coercion to Schema 0.2

2014-02-25 20:071037
用户头像

发布了 256 篇内容, 共 91.3 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

嵌入式软件开发为什么需要DevOps?

DevOps和数字孪生

DevOps 嵌入式

T2T2撸毛攻略,以Bitget Wallet为例

股市老人

PyTorch从精通到入门01:线性回归

王玉川

人工智能 神经网络 机器学习 线性回归 PyTorch

PyTorch从精通到入门04:CNN实现图像分类

王玉川

人工智能 神经网络 深度学习 CNN PyTorch

异常报错甚至崩溃?

矩视智能

深度学习 机器视觉

GPT-4 Turbo 发布 | 大模型训练的新时代:超算互联网的调度与调优

GPU算力

云服务器玲琅满目的时代,为什么我独爱Amazon EC2 云服务器?

熬夜磕代码、

服务器 运维‘ 亚马逊云

产品化的GPT,能否为“百模大战”照亮未来?

脑极体

AI

厌恶不确定风险?这款轻量云服务器助力企业稳中向好

平平无奇爱好科技

PyTorch从精通到入门02:多项式回归

王玉川

人工智能 神经网络 深度学习 PyTorch 多项式回归

PyTorch从精通到入门03:全连接层实现图像分类

王玉川

人工智能 神经网络 深度学习 图像识别 PyTorch

如何利用华为云耀云服务器L实例搭建个人博客网站?

平平无奇爱好科技

里程碑式技术与应用突破!YashanDB V23.1三大新品重磅发布

YashanDB

数据库 国产数据库 yashandb

ERP管理屡不见效?记住这些秘诀助企业拨云见日

平平无奇爱好科技

新手必看:Bitget Wallet 上购买 ETH 的步骤解析

BlockChain先知

BRC-20代币sats和ORDI为什么突然火起来了

币离海

SATS Ordinals BRC20

不止于“初见成效”,阿斯利康要让数据流转,以 AI 带动决策智能

Kyligence

数据智能

Amazon CodeWhisperer(亚马逊云AI大模型下应用创新——自动代码生成插件:AWS toolkit)以IntelliJ IDEA 2023.1为例的实测使用

淼.

AWS

Python 数据库应用教程:安装 MySQL 及使用 MySQL Connector

小万哥

Python 程序员 软件 后端 开发

Bitget Wallet:使用 Base 链购买 ETH 的简明教程

石头财经

Mac电脑备份软件 BeLight Get Backup Pro 3激活最新版

胖墩儿不胖y

Mac软件 备份软件 备份工具

强大好用的shell:什么是shell?

小齐写代码

Linux tail命令:显示文件结尾的内容

芯动大师

BES 在大规模向量数据库场景的探索和实践

百度Geek说

数据库 AI 企业号11月PK榜

使用 promise 重构 Android 异步代码

巫山老妖

android 异步编程

康士柏新能源汽车检测解决方案走向市场化

极客天地

小程序游戏创业大热,找对入局方式方能出奇制胜

平平无奇爱好科技

这就是访问者模式

千羽

Java 面试 后端 设计模式 实际应用

Kyligence Copilot 亮相第六届进博会,增添数智新活力

Kyligence

数据智能 决策智能

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

阿里技术

音视频 音视频技术 直播间 淘天 淘宝内容

Prismatic向Schema 0.2中添加了数据类型强制转换_后端_Tom Coupland_InfoQ精选文章