AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Wee:基于 Continuation 的 Ruby Web 框架

  • 2009-03-28
  • 本文字数:669 字

    阅读完需:约 2 分钟

Wee(Web Engineering Easy 的简称)是一个类似 Seaside 的 Web 框架,它使用 Continuation,这使得开发者可以“轻松漂亮地完成任务”,Wee 的作者 Michael Neumann 如此形容到。Wee 也提供可复用组件,这种组件“和GUI 中的Widgets 类似,开发一次,就可以随处使用”,它的目标是让HTML 的GUI 应用可以组建化,而不是让其REST 化。即将发布的2.0 版本也将完全基于Rack。

Neumann 在一篇关于 Wee 的博文中示例说明了使用 Continuation 的代码在可读性上有多么明显的优势。使用 Continuation,简单的序列流就可以写成这样:

复制代码
callcc page1
callcc page2
callcc page3

还有另一种连续传递风格(Continuation Passing Style)的写法:

复制代码
call page1 do
call page2 do
call page3
end
end

如果 Continuation 这么有用,那为什么不是所有框架都采用 Continuation 呢?没有出现更多基于 Continuation 的 Ruby Web 框架,其中一个原因就在于:Ruby 1.8 存在内存泄露。虽然 Brent Roman 的 MBARI 补丁已经修复了这个问题,但是还没有引入到官方的 Ruby 1.8 中(一旦 Engine Yard 开始接管 Ruby 的维护工作,应该就会引入这个补丁)。Ruby 1.9.1b 不再存在内存泄露的问题,Wee 也得益于这一点

Ruby 1.9.1 中 10000 个请求(1 个线程中)需要花费 16 秒,内存占用为 12MB,而同样的请求在 Ruby 1.8.7 中会占用多达 329MB 的内存,时间上也长达 56 秒。

看来 Wee 是人们选择升级到 Ruby 1.9 的一个有力理由,而由于 Merb 也将合并到 Rails 3.0 之中,所以 Wee 很可能成为取代 Rails 的最佳选择。

查看英文原文: Wee: Continuation Based Ruby Web Framework

2009-03-28 21:374084
用户头像

发布了 80 篇内容, 共 22.0 次阅读, 收获喜欢 5 次。

关注

评论

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

袋鼠云代码检查服务,揭秘高质量代码背后的秘密

袋鼠云数栈

大数据 数据中台 代码检查

2000字说清音视频在社交娱乐场景中的应用!

X2Rtc

音视频 RTC 社交娱乐 融合通信

开辟ICT新视野 直通华为云专家:一堂华为云Astro低代码启蒙课 ——华为云HCSD校园沙龙之西安站

云计算 软件开发 低代码 华为云

重磅发布|博睿数据IT运维最佳实践白皮书

博睿数据

运维 可观测性 白皮书

DeFi 集成:扩大加密货币交易平台开发的视野

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 区块拉开发

公共卫生的未来:智慧公厕来了

光明源智慧厕所

智慧厕所 智慧公厕

软件测试 | AI大模型应用开发实训营来啦~ 大模型学习资料免费领

测试人

人工智能 程序员 AI 软件测试 大数据模型

打造次世代分析型数据库(四):几十张表关联?小Case!

腾讯云大数据

数据库

专业私有化视频会议软件,WorkPlus Meet助力企业构建高效协作的沟通平台

BeeWorks

IM系统,WorkPlus如何成为企业即时通讯协作的首选?

BeeWorks

IM聊天系统

产品解读 | 数据服务平台:KDP

KaiwuDB

根据人类反馈进行强化学习的5大关键步骤

澳鹏Appen

大模型 数据训练 生成式AI LLM RLHF

支持私有化部署的WorkPlus,助您构建定制化的即时通讯平台

BeeWorks

2023 Bonree ONE 秋季产品发布会:亮点抢先看!

博睿数据

运维 可观测性

兴业数金:基于悦数图数据库的智能大数据云平台获 “2023 IDC中国 未来企业大奖”

最新动态

一文教你理解Kafka offset

越长大越悲伤

kafka

兼顾集群与个人实践环境,和鲸聚焦 AI4S 科研算力高效调度管理

ModelWhale

人工智能 算力 数据驱动 AI for Science 计算资源

腾讯大牛耗时1个月整理的"JVM学习笔记"深入底层,面面俱到!

小小怪下士

Java JVM

玩转 CODING 自动化助手,助力高效研发!

CODING DevOps

Docker 入门教程(简明易懂、零基础篇)

程序员万金游

#运维 #后端 #docker

如何选择适合企业的移动应用管理平台?

BeeWorks

低代码开发框架 助力企业打造新时代技术底座

力软低代码开发平台

基于低代码平台少量编码完成软件开发

互联网工科生

系统开发 低代码开发 JNPF

测试流程复现第二弹!IoTDB 在国际数据库性能测试排行榜结果如何?

Apache IoTDB

企业即时通讯解决方案,WorkPlus助力高效沟通与协作

BeeWorks

企业即时通讯

免费但很全能,Amazon CodeWhisperer 让编程更快

科技热闻

基于Java+vue开发的企业级人力资源管理系统

金陵老街

2023-09-27:用go语言,在一个 n x n 的国际象棋棋盘上,一个骑士从单元格 (row, column) 开始, 并尝试进行 k 次移动。行和列是 从 0 开始 的,所以左上单元格是 (0

福大大架构师每日一题

福大大架构师每日一题

企业沟通平台私有部署,让沟通更高效数据更安全

BeeWorks

Wee:基于Continuation的Ruby Web框架_Ruby_Mirko Stocker_InfoQ精选文章