【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:373718
用户头像

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

关注

评论

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

戏说代理模式

编程三昧

随笔 设计模式 开发 代理模式

【云原生AI】Fluid + JindoFS 助力微博海量小文件模型训练速度提升 18 倍

阿里巴巴云原生

你知道 Redis 可以实现延迟队列吗?

xcbeyond

队列 延迟队列 6月日更

公司战略:要不要多元化发展?

石云升

创业 职场经验 6月日更

设计微博系统中”微博评论“的高性能高可用计算架构

方堃

膜拜!首次公布Java10W字面经,Github访问量破百万

Java 程序员 架构 面试

区块链与物联网的强强联合将带来巨变

CECBC

C/C++学习:C++并发与多线程

奔着腾讯去

c++ 并发 多线程并发 POSIX线程 C++11线程

Pandas之:Pandas简洁教程

程序那些事

Python 大数据 数据分析 pandas 程序那些事

16:阿里、京东、美团、电通等电商行业营销模型汇总

punkboy

营销 模型 市场营销 营销数字化 电商营销

模块五 作业

夏日

架构实战营

Go并发编程-channel多路复用

Rayjun

Go 语言 select

宏碁亮相2021西洽会,以绿色智能“洽谈未来”

科技热闻

从天而降的AI“青云梯”,开发者们准备好了吗?

脑极体

技术管理简单说

蛋先生DX

技术管理 6月日更

Kubernetes手记(2)- 核心组件/附件

雪雷

k8s 6月日更

高级软件工程师必备的五大技能

架构精进之路

6月日更 软素质

【译】JavaScript 代码整洁之道-函数篇

KooFE

JavaScript 大前端 函数 6月日更 整洁代码

音频和视频流最佳选择?SRT协议解析及报文识别

明儿

音视频 协议 流媒体开发

Golang Profiling: 关于 pprof

hedzr

Go 语言 profiling

直呼内行!阿里大佬离职带出内网专属“高并发系统设计”学习笔记

Java 程序员 架构 面试

15:需求沟通的灵魂拷问:人与人之间的信任呢?

punkboy

需求管理 需求 需求落地 信任 信任机制

不惧面试:HTTP协议(一)基础扫盲

悟空聊架构

面试 HTTP post GET 6月日更

MySQL基础之三:条件查询

打工人!

MySQL 6月日更

微博评论高性能高可用计算架构设计

Lane

17:为什么说海澜之家是“男人的货仓”和“服装的搬运工”?

punkboy

品牌 电商 电商平台 服装行业 男友力

(内含福利)不想成为咸鱼,我们怎样找到自己的未来之路呢?

刘华Kenneth

招聘 职场成长 云技术

2017-2020(4周年)读书年度总结及书单

punkboy

程序员 书单 书单推荐 推荐书单

网络攻防学习笔记 Day36

穿过生命散发芬芳

网络攻防 6月日更

Linux网络编程-UDP和TCP协议详解

Linux服务器开发

TCP 网络编程 udp 网络协议栈 Linux服务器开发

区块链+印章,区块链技术的长期潜力正在释放

CECBC

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