写点什么

Atomist 发布 Alpha 版本程序

  • 2017-02-15
  • 本文字数:1105 字

    阅读完需:约 4 分钟

Atomist 为想要尝试 Rug 语言的人们发布了一个 Alpha 测试版程序,Rug 是 Atomist 公司的元 - 元编程语言(meta-meta-programming language)。

Atomist 将 Rug 描述为一种自动化开发工作流的编程语言。Rug 是由 Atomist 精心设计的,它通过产生重复代码、样板代码来自动化开发工作流。

Rug 的目标是提高像微服务这样的分布式系统的工作效率。它关注于下列类型的结构中的一些问题,例如,跨服务的重复性编码任务:类库的升级、项目构建的配置、框架项目的生成等等。

Atomist 的首席工程师 Russ Miles 在 Jax London 2016 上首次披露了 Rug,他展示了 Rug 如何被用于项目的创建中。在 Rug 中有些类型被称作"发生器(generators)",它们能够被用于在项目开始时创建微服务。例如,你能够通过执行一条命令来得到一个类似 Spring Boot 的微服务框架。它包括了许多组件,例如 Gradle 的构建配置,包结构甚至还有 Dockerfiles

Miles 还展示了 Rug 和 Git 以及 GitHub 的结合。Atomist GitHub 有着创建 commit 和提出 pull requests 的能力,它就像一个真实存在的人在进行操作。Miles 解释道,由于很难将它和一个普通的开发者区分开来,所以它能使得融入一个团队更加容易。这是因为产生的 Git 历史记录和 GitHub 使用记录就像是一个真实存在的人在整个过程中手动完成的。

Miles 提到的另一个结合是与 Slack 的结合。Atomist Slack 机器人使得你能够通过提交命令来创建 GitHub 项目,设置权限然后生成项目框架。这就意味着你只需要在 Slack 的 channel 中敲上一个简单的短语就能立刻克隆出一个新的、完整配置的服务。

除了创建项目,Miles 还展示了 Rug 是如何在已经存在的代码库中做修改的。这被称为"编辑器"。展示的例子是 Rug 能够在多个项目之间升级类库。展示的使用案例是,在多个不同微服务的常用类库中应用一个安全补丁。

Rug 提供了它自己的测试框架。它采用的是 BDD 方法,它使得用户能够由外而内地描述应用的行为。它的目标是使得用户创建的 Rug 尽可能的健壮和可靠。

Miles 强调,Rug 不是限制你为某种特定编程语言编辑和创建代码。Rug 是语言无关的,它的目标是将你所使用的微服务中的不同架构更加容易地融合到一起。事实上,Rug 更加适用于那些复杂的系统和分布式系统,而这个是与传统的独立应用恰恰相反的。

Atomist 是由 Rod Johnson 缔造的,他也是 Spring 框架的创造者。你可以在线看一下这个十分钟的针对Miles 的采访

查看英文原文: http://www.infoq.com/news/2017/02/atomist-rug-metaprogramming


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-15 18:001399

评论

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

推荐一款 Python 微服务框架 - Nameko

星安果

Python 微服务 Nameko

内部群炸了!字节同事写了一篇Leetc刷题心得,高管看见之后,直接给他涨了20K

算法 算法题

[微服务] You built it.You fix it.

baiyutang

微服务 9月日更

吃串串,数签签,这个AI神器一秒搞定

百度大脑

人工智能 EasyDL

JavaScript “上层”语言

Augus

JavaScript 9月日更

Linux之常见的存储架构

在即

9月日更

密码学系列之:1Password的加密基础PBKDF2

程序那些事

算法 加密解密 密码学 程序那些事

什么是低代码自动化以及它如何使你受益?

低代码小观

程序员 自动化 工具 低代码 低代码开发平台

网络攻防学习笔记 Day149

穿过生命散发芬芳

9月日更 网络管理

我仅用了3个月就成功破茧成蝶!从简历被拒到收割8个大厂offer的辛酸历程!

编程 Java、 计算机

自研ISP芯片背后:手机厂商的目光在影像之外

脑极体

考试试卷存储设计

guangbao

回帖抽大奖——5分钟极速体验AI技术能力

百度大脑

人工智能

MLOps生产中的机器学习:为什么你应该关心数据和概念漂移 易筋 ARTS 打卡 Week 67

John(易筋)

ARTS 打卡计划

p3c 插件,是怎么检查出你那屎山的代码?

小傅哥

小傅哥 代码规范 p3m pmd 开发手册

带你读论文丨基于视觉匹配的自适应文本识别

华为云开发者联盟

损失函数 视觉 文本识别 文档识别 视觉匹配

靠着狂刷这份面试题跟答案!我从 15K 变成了 30K!

Java 编程 程序员

Redis核心原理与实践--散列类型与字典结构实现原理

binecy

数据结构 源码阅读 Redis 6.0

linux之秘钥登录

入门小站

Linux

低代码平台的功能及其用处

低代码小观

程序员 低代码 开发工具 低代码开发平台 无代码

在线985,211高校查询

入门小站

工具

高扩展的系统通常会有什么特性

卢卡多多

系统、 9月日更

字节内部不传之秘:1298页算法刷题笔记(附源码可直接运行)

Java 程序员 面试

如何做到监控告警的管理?

睿象云

运维 告警 监控告警 运维平台 告警管理

2B 销售系统设计需要考虑的 3 个层面

boshi

团队管理 销售管理

大厂面试喜欢考算法,该怎么破?

博文视点Broadview

天壤完成新一轮战略融资 加速构建数字化转型通用智能平台

InfoQ 天津

一文带你了解经典的Java垃圾回收机制

华为云开发者联盟

Java JVM 对象 垃圾回收机制 垃圾收集器

腾讯高工终于把操作系统、TCP/IP、线程与进程、CPU全部讲明白了

Java 架构 面试 操作系统 计算机

内卷把同事逼成了“扫地僧”,把 Github 上所有面试题都整理了一遍~足足 24W 字!

Java 程序员 面试

数据安全与隐私系列08:大数据与电影《少数派报告》

Databri_AI

人工智能

Atomist发布Alpha版本程序_语言 & 开发_Andrew Morgan_InfoQ精选文章