在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

文章:使用 Ruby DSL 实现敏捷素材管理

  • 2007-09-26
  • 本文字数:606 字

    阅读完需:约 2 分钟

领域特定语言(Domain Specific Language,简称 DSL)是一个面向语言的工具,用于解决某个特定领域的编程任务。DSL 的一般语言特征和它所被用到的问题领域,关系是非常密切的,并且在一个非常高的抽象层面上起作用。Martin Fowler 在他介绍 DSL 的文章中,将 DSL 划分为外部 DSL 和内部 DSL 两类(参见原文链接)。外部 DSL 是一门需要编译或者解释运行的编程语言,而内部 DSL 则构建于一门通用编程语言(general-purpose programming language)之内。实际上,内部 DSL 对于其宿主通用编程语言来说,就是它的一套层次非常高的 API。本文讲述了了在 PLANET ARGON 公司的一个开发项目中,用 Ruby 实现的一个内部 DSL 如何给项目带来巨大贡献。

文章从实际出发,先介绍 PLANET ARGON 公司近期要完成的一个项目。这个项目的目标是,使用 Ruby on Rails 构建一个一次性的内容管理系统,这个系统要支持 18 种语言,并且管理大约 1000 个的图像文件。这些文件中有许多都是专业摄影图片,每个文件大小都超过 1MB。而另外的图片文件则是一些细碎的线条艺术,图片里面显示的就是许多不同的国旗。这些图片所具备的相同特点,就是它们都还不能直接投入产品使用。

听起来这个项目就够复杂的了,作者开始的时候使用了钩子在模型内部操作 API,但随着需求的不断被调整,即使在项目中使用批处理脚本也不能满足这些变化。在本文中,作者提供了一个解决此问题的可持续发展的方式。

阅读全文:使用 Ruby DSL 实现敏捷素材管理

2007-09-26 04:571234
用户头像

发布了 117 篇内容, 共 21.4 次阅读, 收获喜欢 0 次。

关注

评论

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

转:浏览器的同源策略

小江

JavaScript 同源策略

Java 8的新特性

琦彦

java8 10月月更

火山引擎在行为分析场景下的ClickHouse JOIN优化

字节跳动数据平台

数据库 数据分析 OLAP Clickhouse 数据研发

Log4j2远程执行代码漏洞如何攻击? 又如何修复

琦彦

log4j2 Log4j2 漏洞 10月月更

CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

OneFlow

人工智能 前沿动态

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题

阿里巴巴云原生

阿里云 Serverless 云原生

带你了解5个幽灵攻击与编译器中的消减方法

华为云开发者联盟

后端 开发 编译器 企业号十月 PK 榜

玩转分布式架构下的可观测性

博睿数据

可观测性 Skywalking Bonree Server 博睿数据数据链DNA 智能运维AIOps

Mysql开发实践:加载共享库时出错:libaio解决方案

华为云开发者联盟

数据库 后端 企业号十月 PK 榜

非常好用统计接口耗时小工具,Java程序员强烈推荐

一灯架构

Java Java 面试 10月月更

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

太神了!阿里p7大佬总结的Java面试心得,起始—进阶—突击,一应俱全!

Geek_0c76c3

Java 数据库 开源 程序员 架构

openGauss 社区 2022 年 8 月运作报告

zookeeper-watcher、事务、分布式锁的API使用

zarmnosaj

10月月更

技术分享 | 实战演练

测吧(北京)科技有限公司

测试

JVM——内存泄漏与内存溢出

琦彦

JVM 内存泄漏 内存溢出 10月月更

挑选文档协作工具的技巧

Baklib

实现企业内部知识流通?搭建企业内部Wiki

Baklib

易宝正式加入openGauss社区

图尔兹正式加入openGauss社区

神州数码正式加入openGauss社区

中科星图正式加入openGauss社区

喜报!霍格沃兹第二届火焰杯软件测试高校选拔赛荣获大奖

测吧(北京)科技有限公司

测试

企业知识分享|如何设计产品手册/产品说明书?

Baklib

新零售SaaS架构:中央库存系统架构设计

AI架构师汤师爷

SaaS 架构设计 新零售 库存系统

共筑计算新生态共赢数字新时代,云和恩墨大讲堂 x openGauss Meetup x 鲲鹏生态孵化营(成都站)圆满落幕

人保科技正式加入openGauss社区

微服务的设计模式,你用了几个

琦彦

微服务架构 设计模式 10月月更

openGauss企业级开源数据库获第十届中国电子信息博览会金奖

东方大唐正式加入openGauss社区

对比传统数据仓库,实时数仓的四大优势

雨果

数据仓库 实时数仓

文章:使用Ruby DSL实现敏捷素材管理_Ruby_Jeremy Voorhis_InfoQ精选文章