写点什么

文章:使用 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:571018
用户头像

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

关注

评论

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

小步发布、验收测试和完整团队

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

28天瞎写的第二百四十四天:冥想的种类

树上

冥想 28天写作 正念

手把手教你爬取优酷电影信息-2

happlyfox

学习 28天写作 2月春节不断更

克服云安全挑战的5种方法

云计算

敏捷技术实践之TDD

Teobler

敏捷 敏捷开发 TDD 极限编程 测试驱动开发

我凭借这份“2021全网最全Java面试清单”彻底征服阿里面试官

比伯

Java 编程 程序员 架构 面试

1.2 Go语言从入门到精通:编写第一个Go程序

xcbeyond

28天写作 Go 语言

【Python】关于 Type Hints 你应该知道这些

zhujun

Python

关于个人认知的一些碎碎念「Day 6」

道伟

心理学 认知 28天写作

视频号直播和 PageRank 算法 [待完善]

小匚

机器学习

手把手教你爬取优酷电影信息-1

happlyfox

学习 爬虫 28天写作 2月春节不断更

微信小程序开发笔记(一)

陈飞

小程序

为您收录的操作系统系列 - 线程小常识

鲁米

线程

只有两颗糖,什么时候给——再谈峰终定律

Justin

心理学 28天写作 游戏设计

山东区块链赋能农产品溯源平台解决方案

源中瑞-龙先生

基于SpringBoot实现文件的上传下载

Java鱼仔

springboot

Kafka.08 - 消息交付可靠性保障

insight

kafak 2月春节不断更

Linux入门篇 —— Linux软件安装(YUM & RPM & 源码)

若尘

Linux 源码 RPM安装 rpm yum

使用 Tye 辅助开发 k8s 应用竟如此简单(六)

newbe36524

Docker Kubernetes 微服务 dotnet

Selenium 自动化前的补充知识,Frame操作、多窗口切换、模糊定位、复合定位

梦想橡皮擦

Python 28天写作 2月春节不断更

前端HTML5面试官和应试者一问一答

我是哪吒

html 程序员 大前端 28天写作 2月春节不断更

当深度学习遇上图: 图神经网络的兴起!

博文视点Broadview

话题讨论 | 各地都有什么特别的元宵节活动?

happlyfox

社会话题 话题讨论 28天写作 2月春节不断更 话题王者

泰康和百度智能云为何相互需要?

吴俊宇

百度 保险数字化 泰康

Elasticsearch 一个 field 两个索引

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

“定义”

Nydia

让听见炮火的人来做决策,做决策的要好好听听炮火

数列科技杨德华

28天写作

(28DW-S8-Day6)区块链如何解决双重支付及防篡改

mtfelix

比特币 区块链 防篡改 28天写作 双重支付

水墨屏开发设备,旧 Kindle 改造而成

HelloGitHub

开源 硬件 kindle

敏捷团队实践

Teobler

项目管理 敏捷 敏捷开发 工程实践 敏捷开发管理

爬虫知识记录之一

头号摄影师

爬虫

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