`
mryufeng
  • 浏览: 977515 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

lighty2.0沙箱版本的协议和配置分析采用ragel 成功案例

阅读更多
今天发现lighty2.0的 url, config, httprequest 全部用ragel。 ragel http://www.complang.org/ragel/

这个东西我去年的时候非常兴趣. 用它写的atoi函数比标准库的快了好几倍,有点不可思议,主要是它产生的代码大量根据编译器的特点做了大量的优化。 从此以后协议分析告别手工时代,步入机械化生产。

类似的工具有lex/yacc, boost spirit, lua lpeg, lemon, bison. ragel最快最简单。推荐大家使用。

分享到:
评论
8 楼 mryufeng 2008-12-24  
protocol buffer是个google专有的协议的编解码器 和ragel是2码概念。
7 楼 spartaman 2008-12-24  
单纯的协议定制和解析还是考虑google protobuf比较好
6 楼 mryufeng 2008-12-24  
lemon是完整的文法语法分析  而ragel是偏重于文法分析 性能要比lemon高很多。
5 楼 spartaman 2008-12-24  
A little assembler that uses Ragel for scanning and Lemon for parsing.
这是ragel网站上的一个链接说明。看来还是各有所长。


http://www.mail-archive.com/sqlite-users@sqlite.org/msg28840.html
这里也指出可以两者同用。
Tue, 06 Nov 2007 01:46:37 -0800

For those reading this thread, I could solve my problme by using ragel
(http://www.cs.queensu.ca/~thurston/ragel/). You can define leaving
actions but also 'any change' actions. It was also easier to include
in a C++ project then lemon/flex. If my grammar becomes more
complicated, I heard it is possible to make a good collaboration
between ragel and lemon (ragel is then used as a tokenizer).
4 楼 spartaman 2008-12-24  
有和lemon比较过吗?
3 楼 codeall 2008-12-06  
ruby界的三个webserver都用了ragel做request parser
2 楼 mryufeng 2008-12-04  
lighty20 http://redmine.lighttpd.net/repositories/show/lighttpd-sandbox
据说是团队开发。
1 楼 robbin 2008-12-04  
lighty1.5还没有发布, 2.0代码都开始写了?给个源码link看看吧

相关推荐

    Lighty:Lighty是一个免费的基于PHP和MVC的开源框架,提供了非常轻巧的可重用代码-mvc source code

    当前版本为v.1.0 ,于2019年5月8日发布,提供了非常轻巧的可重用代码,并将在即将发布的版本中对其进行改进,包括体系结构和添加新功能。 安装 要求 PHP> = 7.2 适用于Argon2i散列的Python 3.4 启用mod_rewrite ...

    lighty:ES5 的匿名函数组合器

    lighty:ES5 的匿名函数组合器基于 ES5 并受 Scala 的启发,lighty 旨在为在 JavaScript 中创建匿名函数提供舒适的语法。例子ex 1:拆分一个字符串,然后修剪每个字符串,然后过滤非空字符串。 在 vanilla ES5 中是...

    lighty:轻量级OpenDaylight运行时库

    lighty.io 13 lighty.io是一个由支持的软件开发工具包,用于支持,简化和加速Java中的软件定义网络(SDN)解决方案的开发。 由开发。 它利用了核心组件,这些组件可以作为一组库使用,并且可以在纯Java SE环境中运行...

    Digital watermarking_luckwt2_matlab_watermarking_lighty96_

    数字水印技术是一种在数字媒体(如图像、音频或视频)中嵌入不可见的标记,用于保护知识产权、验证内容的原始性和完整性...对于这个压缩包中的具体实现,进一步的分析和代码阅读将是理解"luckwt2"和"lighty96"的关键。

    基于C_接口的CLIPS专家系统的嵌入式编程实现.rar_CLIPS C接口_CLIPS专家系统_lighty96_made1r

    9. **lighty96_made1r** 和 **previousc3t**:这些可能是项目参与者或特定版本的标识符,具体含义可能需要进一步的信息来解读。 通过这个项目,开发者可以学习如何将复杂的推理逻辑集成到现有的C/C++应用中,实现...

    技术架构文档

    淘宝网技术架构深入解析 淘宝网作为亚洲最大的购物网站,其技术架构的复杂性和先进性是业界关注的...淘宝网的成功案例,无疑为其他企业提供了宝贵的参考和借鉴,证明了开源技术在构建世界级电商平台中的可行性和优势。

    lighttpd和nginx比较

    - **代理服务**:Nginx在反向代理和负载均衡方面的功能十分强大,支持多种协议和服务。 - **缓存机制**:内置的缓存机制能够有效提高站点的响应速度。 - **安全性和配置灵活性**:提供了丰富的安全特性,如SSL/TLS...

    电子商务网站的系统架构解析

    ### 电子商务网站的系统架构深度剖析 在当今数字化经济时代,电子商务...综上所述,电子商务网站的系统架构设计需综合考虑技术先进性、成本效益、安全性与用户需求,淘宝网的成功实践为我们提供了宝贵的经验和启示。

    解密淘宝网的开源架构.docx

    淘宝网的开源架构是其成功的关键之一,它利用开源软件构建了一个高效、可扩展的电商平台。以下是关于淘宝网开源架构的详细说明: 1. **操作系统**:淘宝网选择了Linux作为应用服务器的操作系统,主要是因为Linux的...

    c web server library

    6. **配置与使用**:学习如何配置Lighttpd和启用ModFastCGI,是将Web服务器用于实际项目的关键步骤。这涉及到理解配置文件的语法、设置虚拟主机、调整性能参数等。 7. **开发与扩展**:除了基本的使用,开发者还...

    lighty-colorpicker::artist_palette:完整的JS颜色选择器

    lighty-colorpicker是一个普通JavaScript颜色选择器,可与RGB,HEX和HSL一起使用。 演示: : 警告:源代码中的所有注释都是用法语编写的,就像我很久以前编写此代码一样,它并不认为全世界的人们都可以使用它。 ...

    实验报告关于淘宝网架构设计

    标题:实验报告关于淘宝网架构设计 描述:淘宝网,作为亚洲最大的购物网站,拥有...通过上述分析,我们可以看到,淘宝网的成功不仅在于其庞大的用户基础和商品数量,更在于其背后坚实的技术支撑和不断创新的技术实践。

    企业应用:解密淘宝网的开源架构

    然而,近年来,轻量级的Lighttpd(简称Lighty)因其低内存占用和优异的性能,也成为某些场景下的优选。相比之下,微软的IIS通常运行在Windows系统上,适合ISAPI、ASP或ASP.NET开发。 在数据库层面,淘宝网采取了...

    解密淘宝网的开源架构.pdf

    尽管如此,Lighttpd(Lighty)作为一个轻量级、低内存消耗的Web Server,近年来也成为许多场景下的优秀替代品。而微软的IIS则主要适用于Windows环境,通常与ISAPI、ASP或ASP.NET结合使用。 在数据库系统上,淘宝网...

    淘宝电子商务平台架构设计

    ### 淘宝电子商务平台架构设计相关知识点 #### 一、引言 淘宝作为亚洲最大的购物网站之一,其系统架构的设计对于确保平台...这些技术的选择充分考虑了成本、性能和安全性等因素,为其他大型电商提供了宝贵的参考案例。

    51-电子商务网站(淘宝网)的系统架构解析[参考].pdf

    Apache以其强大和稳定的特性成为首选,尽管Lighty这样的轻量级Web服务器在某些情况下可能更具性能优势,但在淘宝这种大型电商环境下,Apache的全面功能更为可靠。 数据库方面,淘宝网采用了混合策略,结合了Oracle...

    大型网站架构-高性能网站架构

    以下是对大型网站架构的详细分析: 选择高性能 OS 在选择操作系统时,我们需要考虑多个因素,包括性能、稳定性、易用性等。Linux 是一个非常优秀的选择,但其发行版太多,例如 Red Hat、Ubuntu、红旗、openSUSE、...

    淘宝网架构;解密淘宝网的开源架构

    然而,随着技术发展,Lighttpd(简称Lighty)等轻量级Web服务器因其低资源消耗和高并发能力,逐渐受到青睐,特别是在对性能有极高要求的场景下,Lighty的表现甚至优于Apache。 ### 数据库:Oracle与MySQL的双剑合璧...

    解密淘宝网的开源架构

    淘宝网,作为亚洲最大的购物平台,其背后的技术架构和开源软件的应用是许多IT专业人士关注的焦点。本文将深入探讨淘宝网在操作系统、应用服务器、Web服务器、数据库等方面的开源选择。 首先,淘宝网选择了Linux作为...

Global site tag (gtag.js) - Google Analytics