50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

不愧是阿里资深架构师,这本“分布式架构笔记”写得如此透彻明了

钟奕礼

程序员 java面试 java编程 #java

星河璀璨 | 2022大数据“星河”案例入选公示

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

2023年上海等保测评机构名单看这里!

行云管家

等保 等级保护 等保测评 上海

[1.2.0新功能系列:三]Apache doris 1.2.0 Java UDF 函数开发及使用

张家锋

有奖征文 | “用 TDengine,写 TDengine”,万元大奖等你来瓜分!

TDengine

tdengine TDengine征文

能让Java开发者提高效率的10个工具

千锋IT教育

产品负责人 VS 产品经理

ShineScrum

产品经理 产品负责人

您有一封来神州云科冬季发布会的邀请函,请查收!

通明湖

精彩纷呈!亚信科技深度参与2022中国移动全球合作伙伴大会

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

Chaos 测试下的若干 NebulaGraph Raft 问题分析

NebulaGraph

分布式 分布式系统 raft 分布式图数据库

软件测试丨只需学会Docker,环境问题再也不是测开路上的「坑」

测试人

Docker 容器 软件测试 自动化测试 测试开发

Zebec正在以流支付的方式,推动加密资产支付走上正轨

西柚子

YOLOv5全面解析教程①:网络结构逐行代码解读

OneFlow

人工智能 深度学习 代码

[1.2.0新功能系列:二] Apache Doris 1.2.0 JDBC外表 及 Mutil Catalog

张家锋

一个随手就能画出小程序的工具

Towify

微信小程序 编辑器 无代码

超赞!阿里大牛熬夜纯手写的微服务架构笔记,肝完面试犹如开挂

钟奕礼

Java 程序员 java面试 java编程

面对复杂中国式报表,哪款BI商业智能工具适合你?

小偏执o

直播 | 新一代极速云原生湖仓的技术内核,StarRocks PMC 今天下午为你揭秘!

StarRocks

#数据库

可以保存ins照片的软件~距离实现ins图片下载自由只差这一个步骤!

frank

ins图片下载

降本增效: 蚂蚁在 Sidecarless 的探索和实践

SOFAStack

阿里巴巴技术官墙裂推荐,鸟哥的Linux私房菜,你是否吃过?

钟奕礼

Java 程序员 java面试 java编程

如何配置悬浮层滑动进入动画?

Towify

微信小程序 编辑器 无代码

裸辞美团花两月吃透这Java岗798道真题解析,定级阿里P7

钟奕礼

Java 程序员 java面试 java编程

详解视频中动作识别模型与代码实践

华为云开发者联盟

人工智能 图像识别 华为云 12 月 PK 榜

ubuntu18.04编译webrtc_android库

Geek_pwdeic

android WebRTC

多线程安全问题原理和4种解决办法

华为云开发者联盟

开发 华为云 12 月 PK 榜

如何快速构建企业级数据湖仓?

字节跳动数据平台

大数据 湖仓一体 12 月 PK 榜

网站等保三级怎么做?手续是怎样的?

行云管家

等保 等级保护 过等保 等保三级

kali linux忘记密码如何重置|在kali上重置密码

Sher10ck

kali Linux

[1.2.0新功能系列:一] Apache Doris 1.2.0 版本 Light Schema Change

张家锋

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