许式伟 ID:xushiweizh
408838次访问,排名111好友3人,关注者35
xushiweizh的文章
原创 123 篇
翻译 0 篇
转载 10 篇
评论 915 篇
许式伟的公告

本博客内容除非特殊说明均属原创,如需转载、引用其中的部分文字,请注意以下几点:

1)请在转载(引用)的内容开始添加本人署名,并提供本博客中相应文章的链接。如你的作品为非电子读物或纯文本,请给出链接的url。

2)请勿用于商业用途。

3)如果愿意,请给我邮件:xushiweizh@gmail.com,让我知道我的东西到哪去了。谢过。

重要链接


订阅

最近评论
christanxw:sgi stl的allocator是线程安全的。它提供了3种分配器:
1. alloc,默认的分配器,线程安全的,通常也是性能最佳的。
2.pthread_alloc,也是线程安全的,是每个线程一个分配器,因此不用任何锁机制。速度自然比alloc更快快,但在这个线程deallocate的内存不能在另一个线程使用。
3.single_client_alloc,不是……
lidaobing:刚才错了一个字,重发

我只了解过 django 的模板引擎, django 的做法是用户自定义函数不在模板里,而是属于你程序的一部分,这些函数在导入你的模块后可以被使用。

我觉得一个好的模板引擎不应当对写模板的人有任何程序能力上的要求,一个专注的美工人员能使用的模板引擎才能算是有效的引擎。
lidaobing:我只了解过 django 的模板引擎, django 的做法是用户自定义函数不在模板里,而不是属于你程序的一部分,这些函数在导入你的模块后可以被使用。

我觉得一个好的模板引擎不应当对写模板的人有任何程序能力上的要求,一个专注的美工人员能使用的模板引擎才能算是有效的引擎。
xushiweizh:这里我补充一下我认为“模板引擎”变成“另一个PHP”的界限:当模板引擎支持用户自定义函数时,那么我就认为,它其实是“另一个PHP”。避免这一事件的发生,模板引擎唯一可以做的事情,就是不断扩展它的函数库,来适应新的格式化需求。
xushiweizh:这里我补充一下我认为“模板引擎”变成“另一个PHP”的界限:当模板引擎支持用户自定义函数时,那么我就认为,它其实是“另一个PHP”。避免这一事件的发生,模板引擎唯一可以做的事情,就是不断扩展它的函数库,来适应新的格式化需求。
文章分类
收藏
相册
DocX预览图
Google vs. 百度
WinX相关
WINX团队
ebasil的专栏(RSS)
VisualFC/WINX专栏(RSS)
任风行(一路奔跑)(RSS)
绅士亦花心之WINX相关(RSS)
许伟群的专栏(RSS)
友情链接
QWL1996的专栏(RSS)
Sting的专栏(RSS)
SunHui的专栏(RSS)
不亦快斋(RSS)
于无声处(RSS)
手机开发论坛
珠穆朗玛(老汉)(RSS)
福&柯实验室(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

C++

原创 stdext Relation: 数据表(DataTable)收藏

Relation是一个复杂容器。简单来说,它是一个数据表(DataTable)。它类似于数据库(Database)中的表,当然,是一个简化的表:简化在于没有复杂的SQL语句,只是支持基于关键字(索引)的select。应用场景:如果你的数据有多列,并且需要相互查找(多对多关系),那么Relation容器非常适合。著名的GLib(GNOME Library)有一个GRelation,和stdext Relation的功能类似。但stdext Relation的功能更加强大。这表现在: * stdext的Relation是真正的数据表(DataTable),可以创建任意多列的数据,而不只是2列。创建2列的表,可以使用stl的std::pair(当然也可以用boost::tuple)。创建超过2列的表,使用boost::tuple。 * 可以为任意列创建索引,并且各列独立指定使用map(红黑树)还是hash map(哈希表)作为索引表是可能的。阅读全文>

发表于 @ 2008年07月23日 01:53:00|评论(loading...)|收藏

原创  TPL + Json + PHP = ?收藏

这里,JSPT 是我发明的名词。它代表了 Json PHP Transformations = Json (Data) + PHP (Transformation Template)。为什么有这个词,是因为这个世界上还有一个著名的词:XSLT = XSL Transformations = XML (Data) + XSL (Transformation Template)。阅读全文>

发表于 @ 2008年07月07日 12:13:00|评论(loading...)|收藏

原创 TPL文法(1):基础文法(TPL Basic Syntax)收藏

TPL顾名思义,是文本处理库(或者你也可以理解为文本处理语言Text Processing Language,因为尽管它依附于C++语言,但是实际上你使用它时并不按照C++的思维考虑问题)。TPL目前主要关注文本处理中I的问题。即将文本Parse为内存数据结构(DOM)。TPL可以做什么?TPL有很强的适应性。可以做简单的如进行文本分割,复杂的可以做一个语言的编译器。TPL的典型使用场景: * 字符串分割 * 信息抽取(Information Retrieval) * 命令行分析(Command Line Analyzer) * 编译器(Compiler) * …TPL-1.0.00TPL的核心目前主要包含: * tpl/RegExp.h - 正则匹配文法 * tpl/Emulator.h - 一个通用虚拟机 (从根本上来讲,虚拟机和文本处理并无相关,但是一般虚拟机用于实现一门语言,而实现一门语言必然需要进行文本处理)TPL的扩展组件,包括: * tp阅读全文>

发表于 @ 2008年07月03日 01:44:00|评论(loading...)|收藏

原创 文本处理库 tpl-1.0.00 正式发布!收藏

TPL的核心目前主要包含: * tpl/RegExp.h - 正则匹配文法 * tpl/Emulator.h - 一个通用虚拟机 (从根本上来讲,虚拟机和文本处理并无相关,但是一般虚拟机用于实现一门语言,而实现一门语言必然需要进行文本处理)TPL的扩展组件,包括: * tpl/c/Lex.h - C/C++词法 * tpl/boost/Lambda.h - TPL与Boost Lambda的粘合剂 * tpl/ext/Calculator.h - 计算器辅助模块(计算器定义:一门简单语言,它不能定义由用户来定义函数/过程,但可以有变量)阅读全文>

发表于 @ 2008年06月24日 00:27:00|评论(loading...)|收藏

原创 bcp: 给boost瘦身收藏

boost是一个非常优秀的库。问及多数C++程序员为什么最终没有选择Boost的原因,均回答:Boost太大,过于Heavy。是的。这也是我多数在用与不用Boost之间徘徊的原因。现在给大家介绍的这个bcp也许可以部分消除这样的不良影响,让我们有机会得以使用Boost这样优秀的库。阅读全文>

发表于 @ 2008年06月20日 16:22:00|评论(loading...)|收藏

原创 TPL: 一个新的正则表达式(regex)库收藏

C++ 中正则表达式(regex)库已经很多。光 boost 中就有3个:regex、spirit、xpressive。那么我们为什么还需要一个新的呢?多数正则表达式库都需要一个编译(compile)过程。即:通过解释一个正则表达式的字符串(pattern)来生成该正则表达式的内部表示(字节码)。例如 boost regex 就是这样。这类我们称之为动态正则表达式库。spirit、xpressive 例外。他们直接通过重载 C++ 的操作符来表达一个正则表达式。在你用C++语法描述完一个正则表达式,它已经是内部表示(被C++编译器编译成了机器码)。这一类我们称之为静态正则表达式库。阅读全文>

发表于 @ 2008年05月29日 01:23:00|评论(loading...)|收藏

原创 一个我不知道的C++语法收藏

gcc居然支持:int a = ({int i = 0; ++i; i;}); 这是C++标准吗?阅读全文>

发表于 @ 2008年04月23日 14:50:00|评论(loading...)|收藏

原创 C/C++字符串处理(5):std::deque与std::TextPool收藏

通过 vector, list, deque 的时间、空间性能对比,我们可以看出,应该提倡尽可能使用 deque 这个容器。特别是,如果要承受海量数据,deque 是最合适的人选了。阅读全文>

发表于 @ 2008年04月04日 01:06:00|评论(loading...)|收藏

原创 C/C++字符串处理(4):std::vector与std::StringBuilder收藏

std::StringBuilder 基于 std::vector 实现。所以尽管本文讨论 std::vector,但是所有的结论对 std::StringBuilder 同样有效。阅读全文>

发表于 @ 2008年03月28日 02:59:00|评论(loading...)|收藏

原创 C/C++字符串处理(3):String ADT - 字符串只是抽象数据类型收藏

字符串是什么?我们认为,与其说它是一个类,不如说它只是一个ADT(抽象数据类型)。阅读全文>

发表于 @ 2008年03月26日 22:31:00|评论(loading...)|收藏

Csdn Blog version 3.1a
Copyright © 许式伟