10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

YashanDB表的闪回

YashanDB

数据库 yashandb

企业要如何做好内容风控管理

易成研发中心

压测实战 | 微信小程序商城“双11”的压测实践

优测云服务平台

小程序 性能测试 接口测试 接口测试工具 压力测试、

IP纯净度检测工具Scamalytics使用指南

Ogcloud

海外直播 海外社媒运营 海外IP代理 海外IP节点

摆脱电子表格固有思维,采用现代化的预算管理软件

智达方通

数字转型 全面预算管理 财务管理

Sandisk闪迪发布首款车规级UFS 4.1存储解决方案,助力先进车载AI系统创新

极客天地

YashanDB表的存储空间

YashanDB

数据库 yashandb

YashanDB USERS表空间集管理

YashanDB

数据库 yashandb

YashanDB用户表空间管理

YashanDB

yashandb

如何在手机上绘制CAD虚线?

在路上

cad cad看图 CAD看图王

全球汽车轻量化巅峰对决!Altair Enlighten Award 征集启动,谁将引领绿色出行新时代?

Altair RapidMiner

汽车 仿真 产品的可持续发展 altair hyperworks

Netty基础—Netty实现RPC服务

不在线第一只蜗牛

Netty

人工智能丨当AI三小时"抄作业"成真:测试工程师的护城河该往哪挖

测试人

人工智能

MongoDB 可观测性最佳实践

观测云

mongodb

米哈游蔡浩宇新游戏:角色语音、情绪、动作实时生成;Argmax 端侧说话人分离框架:10M 大小 1 秒识别 4 分钟音频丨日报

声网

MySQL查询建表规范

秃头小帅oi

社区动态 | KWDB 体验官火热招募中

KaiwuDB

招募 数据库、 KaiwuDB

【Redis技术进阶之路】「原理分析系列开篇」揭秘分析客户端和服务端网络通信交互实现(客户端篇)

码界西柚

redis 底层原理 网络通信

WebGL开发VR软件的注意事项

北京木奇移动技术有限公司

VR开发 软件外包公司 webgl开发

依赖倒置 DIP、依赖注入 DI、控制反转 IoC 和工厂模式

不在线第一只蜗牛

依赖

1688拍立淘图片搜索接口全攻略

tbapi

1688API 1688图片搜索接口 1688拍立淘接口

产教融合、科教融汇激发世界级成果,西安交通大学鲲鹏昇腾科教创新孵化中心揭牌

极客天地

人工智能丨AI质量攻坚战:2025年测试工程师的生存法则

测试人

人工智能

什么是大数据风控

易成研发中心

YashanDB USERS_AIM表空间集管理

YashanDB

.NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

秃头小帅oi

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