May 22, 2009
框架是现在许多人谈论的词了,或许很多人没有写过几行程序,就可以大谈框架。也或许很多人谈对框架的感想,说我是在哪个框架个做的东西,框架有什么好处。但是到底什么叫框架,框架的作用又是什么呢?
框架是什么:
框架是一个平台。开发者可以在这个平台上迅速地开发对应的系统应用。框架可以给用户提供一些底层不必实现的代码,可以为开发者自动生成一些基本的逻辑框条,开发者只需要在对应的接口实现填入自已的代码就可以完成系统开发。
框架是为谁提供的:
框架是为开发者提供的。框架不是一个具体的产品,可以说框架不是一个拿出来就可应用的系统,它只是为开发者提供了基础的平台,这个平台为用户提供了基本的框条和规范。
框架的作用:
框架有两个作用:代码复用和代码规范。代码复用就是为用户得供了基本的框条程序,用户可以复用这些程序;另外用户可以在这基础上做一些二次库开发,这样可扩展性更强。代码规范概念更广,它可以规范用户代码;可以协条多用户之间的开发。这个协条有时候作用更大,因为如果系统积累到一定程度,那么这个协条的作用就更大了。
我们以下面的一个小框架为实例再做具体详解:
class service
{
protected $arr_input;
protected $arr_output;
protected function __construct($input)
{
$this->arr_input = $input;
}
[...]
May 22, 2009
无限幻化,借假修真,这句话原本源自佛学。它想告诉世人的是世间的万物是人的幻境而已,但是这些幻境不是无用的,我们正是通过这些虚幻的东西来修正自已对人生、对世界、对万事万物的真谛的理解,参悟人生。当然,这里的无限幻化还有另一种含义,那就是幻化是无限的,世间的万物是无限多样的,它可以对外表现出来是水、火等不同形式,但真只有一个。万物归一。
理解到这些的时候,一个人对自已的要求也就有所不同了。比如作为一个工程师,我们不再一味的为作产品而作产品了。需要思考的事挺多,对于程序的真又在哪儿呢?是外在的产品,还是一些对程序,系统之间的联系,一些真正意义上的思考呢?
呵呵,说的有些玄乎了。真虽只有一个,但是它仍旧需要我们通过一天一天的苦修得来,因此踏踏实实过好每一天,认真思考自已的每一天,这才是真正获取真的方法。
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 22, 2009
一个系统的源代码积累到一定程度,那么就一定要有一些原则的东西。
如果这些原则能够得到很好的遵从,那么“敌人”再怎么折腾,也翻不出自已的手掌心。
但是,如果这些基本的原则不能得到很好的贯彻的话,那么发现一个bug,修一个bug,
系统始终处于一个不可控状态。
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 18, 2009
搜狐IT消息】5月17日消息,近日来,阿里高层多次表示“网货”的核心是反对暴利。在今天网交会的专题演讲中,马云明确表示,反对暴利的方向就是向传统的推广和销售渠道开战,“打掉”传统渠道,使电子商务成为主流。
今天上午,网交会举办了”内外兼修,共赢天下”主题论坛,马云发表演讲 ,号召广大中小企业和淘宝卖家共同努力,把握“网货”发展的时机,创造新的 商业文明。
在演讲中,马云重申了“网货”反对暴利,将利润和实惠返还制造商和消费 者的观点。他举例说,在传统的市场上,一瓶酒的成本只有10块钱,却可能卖900 块钱,其中的200块钱用于电视广告,300块钱用于渠道。马云认为,这种传统渠 道的暴利存在对制造商和消费者来说都不公平,也不值得尊重。他尤其反对既得 利益者对现存暴利的种种维护。未来十年,电子商务将向传统渠道开战,消灭暴 利,“打掉”这些渠道。
马云说,目前阿里巴巴的反对者,已经不再是竞争对手,而是目前商业格局 下的成功者。但他认为,电子商务才刚刚开始,随着网络交易规则的明确,新的商业文明会诞生,未来十年,以柔性生产、按需定制为特征的网络销售方式将取 代传统方式而成为主流。
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 18, 2009
【赛迪网讯】5月18日消息,对于谷歌是坏事的东西对于整个互联网也是一件坏事。《信息周刊》称,谷歌上周四上午发生的服务中断造成整个互联网通讯下降了5%。这种状况表明互联网用户和其它网站依赖谷歌的情况。
Arbor Networks首席科学家Craig Labovitz在博客中发表了有关这次网络故障的评论。
人们会注意到:如果你碰巧使用谷歌,你的内容将占到网络总流量的5%。
据Web基础设施管理公司Gomez称,由于谷歌网站出现了故障,依靠谷歌分析工具的企业网站的平均网页打开时间增加了一倍,无法访问这些网页的比例增加一倍。在一些在线零售商中,完成交易的时间比正常状态下的交易时间增加了四倍。
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 18, 2009
网商、网货和网规
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 18, 2009
C2C,B2C和C2B
If you enjoyed this post, make sure you subscribe to my RSS feed!
May 17, 2009
版权声明:http://hi.baidu.com/learncpp/blog/item/d2a7b42b04384afbe7cd4064.html
“4.3 if 语句
if 语句是C++/C 语言中最简单、最常用的语句,然而很多程序员用隐含错误的方式
写if 语句。本节以“与零值比较”为例,展开讨论。
4.3.1 布尔变量与零值比较
l 【规则4-3-1】不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。
根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。
假设布尔变量名字为flag,它与零值比较的标准if 语句如下:
if (flag) // 表示flag 为真
if (!flag) // 表示flag 为假
其它的用法都属于不良风格,例如:
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)
if (flag == 0)
4.3.2 整型变量与零值比较
l 【规则4-3-2】应当将整型变量用“==”或“!=”直接与0 比较。
假设整型变量的名字为value,它与零值比较的标准if 语句如下:
if (value == 0)
if (value != 0)
不可模仿布尔变量的风格而写成
if (value) // 会让人误解 value 是布尔变量
if (!value)
4.3.3 [...]
May 17, 2009
一段字符串拷贝的代码,相来了相关朋友的讨论,本人感到十分开心。因为许于许多细节上,应该讨论越多,对问题的本质认识就越清楚。现在笔者把相关讨论专门总结为一篇日志。
经过:
首先笔者写了字符串拷贝的代码,没有经过调试,也存在bug和效率问题,如下:
char * strlcpy(char *dest, const char *src, size_t dest_buf_size)
{
int i = 0;
int src_len = 0;
if (NULL == dest || NULL == src) {
return NULL;
}
src_len = strlen(src);
for (i = 0; i < src_len && i < dest_buf_size; i++) {
dest[i] = src[i];
}
if (i == dest_buf_size) {
dest[dest_buf_size [...]
May 17, 2009
本人转载:http://hi.baidu.com/learncpp/blog/item/d2a7b42b04384afbe7cd4064.html
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bigwhite.blogbus.com/logs/4738221.html
C程序员和C++程序员在声明空指针时做法常常是不相同的。
C程序员常常如下做:
int *ptr = NULL;
C++程序员则是听从Bjarne Stroustrup或者其他C++大师的教诲,坚定地如下做:
int *ptr = 0;
也许没有谁对谁错之分,也许只是习惯不同罢了,毕竟C语言是老大哥,诞生的早;而在早期C编程时人们也许不习惯在程序里使用0这样的magic number,转而使用了#define NULL ((void*)0)来统一进行空指针的声明或者赋值。
在’Effective C++’中明确提出避免使用使用macro的issue,广大C++信徒自然也就将NULL抛掷脑后,并逐渐形成习惯,用0给指针赋值以意会这是个空指针的方式就流传了下来。
还是那句话没有谁对谁错,在’The C++ Programming Language Special Edition’中Bjarne Stroustrup在5.1.1小节用了不到200个words来说明了关于’0′或NULL的问题,这段叙述也是堪称经典,我们可以来回顾一下:
Zero(0) is an int. Because of standard conversions, 0 can be used as a constant of any integral, floating-point, pointer, or pointer-to-member type. The type of zero will be determined by context. Zero(0) will typically (but not necessarily) be represented [...]