Jul 9
在Web 2.0 时代,XML格式由于AJAX的风行以及RSS的普及而异军突起。不过随着Python和Ruby On Rails的走红,以及各种API的发布,YAML,JSON也逐渐成名。此次,Google推出了Protocol Buffers,是想让广大编程者方便地使用Google网络传输数据的格式。



什么是Protocol Buffers?

这是Protocol Buffers主页上的一段代码:

message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;

enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
} message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}

repeated PhoneNumber phone = 4;
}

而Protocol Buffers的作用,就是将以上格式的数据类型,自动生成Java, Python, and C++的代码,然后以下一系列代码就可以直接调用了:(C++中)

Person person;
person.set_name("John Doe");
person.set_id(1234);
person.set_email("jdoe@example.com");
fstream output("myfile", ios::out | ios::binary);
person.SerializeToOstream(&output); fstream input("myfile", ios::in | ios::binary);
Person person;
person.ParseFromIstream(&input);
cout << "Name: " << person.name() << endl;
cout << "E-mail: " << person.email() << endl;

相信所有C++编程者都为定义set,get之类的函数感到烦人过吧,而Google做的就是帮助你省去这些麻烦,构造更利于网络传输的数据结构。

与XML的比较 优势

更简单
比XML小3到10倍体积
比XML快20到100倍
更不容易引起歧义
自动生成可编程的类代码
比较:
cout << "Name: " << person.name() << endl;

cout << "E-mail: " << person.email() << endl;
cout << "Name: "
       << person.getElementsByTagName("name")->item(0)->innerText()
       << endl;
cout << "E-mail: "
       << person.getElementsByTagName("email")->item(0)->innerText()
       << endl; 劣势

没有层次,所以无法和HTML标记语言打交道
如果没有message的定义,根本无法知道message的意思,而XML是自解释型的。
Protocol Buffer主页    Protocol Buffer下载
Jul 7

一个小故事 不指定

Wudi , 01:20 , 软件编程 , 评论(0) , 引用(0) , 阅读(450) , Via 本站原创
我听过一个故事,说一个地方非常贫穷,政府是尽心尽力的帮助村民致富,找一个忒贫困的做扶持典范。为其买猪,买种子。都没使其富裕。政府十分纳闷,问其原因,答曰:不用资助。给个官当既可。政府曰:然。其后这贫困户飞黄腾达。
Jul 6

不指定

Wudi , 22:43 , 软件编程 , 评论(1) , 引用(0) , 阅读(951) , Via 本站原创
梦到敌我两方在2住宅楼上开战,全部配备狙击步枪,我杀敌两敌,但敌方的火力更强,当我最后一战友阵亡后,我拿起他的枪(俺的没子弹鸟,同时只剩我一个人),深呼一口气,准备抬头瞄准的时候,这时候又给了个敌方的特写,很多虎视眈眈的枪口指向我,当我转身的一刹那..............我的电话响了...梦结束鸟..
May 21

关于捐款 不指定

Wudi , 23:52 , 软件编程 , 评论(0) , 引用(0) , 阅读(671) , Via 本站原创
1.地震以来,网络开天辟地的在讨论一个事情,捐献排名。国人总希望把任何东西都搞个排名,比如,企业捐款排名,个人捐款排名。又如,某某企业,某某个人是铁公鸡,一毛不拔。

2.在我看来(以下言论纯属个人想法,请不要拍砖,要拍就轻点……),大家都是万众一心,众志成城,不论是企业还是个人,都希望灾难早日过去,灾区的同胞,家园的重建,孩子的教育。国家有灾难的时候,对企业给于厚望无可厚非,并且对真正的“铁公鸡”进行批评也很正常,但要建立在了解的基础之上,不能让流言伤了那些真心捐助者的心。

3. 我要讨论2个企业,一个是万科,后者是王老吉。嗯,有些代表性的2个。

前者,国内房地产的老大,王石的名字是乎生来就是搞地产的?(那我的名字不是来搞江山社稷的了。。)起初,王石说了句他现在后悔的话,他说“200万是个适当的数额。中国是个灾害频发的国家,赈灾慈善活动是个常态,企业的捐赠活动应该可持续,而不应成为负担”。我觉得,王石不是个吝啬的人,看过他的一些报道与专题,就应该可以知道,他在大大小小的慈善活动都会出席,当他说出200万的时候,是5月12号,大家想想,当天捐赠的企业有多少呢?能当前决定200万的,又有多少。而正是这200万,一石激起千层浪,造成了公众对他的信任危机。也许他本人也后悔对媒体说了那样的话,但今天王石确做了个聪明的决定,“急批1亿义务灾后重建”,仔细思考下,的确很聪明,一方面解决了信任危机,又能利用着1亿赚取更多的钱,一举两得。当然,他本人也是亲自考察了四川的情况,才做了这样的决定。

后者,王老吉,王老吉的创业经历,我在本文就不提了,大家可以搜索下,一个只靠一个“王老吉”致富的企业,竟然捐赠了1个亿,但我们回想一下06年的世界杯,是不是还记得那“怕上火就喝王老吉”的广告词呢,其实,爱国与救灾是一方面,但我觉得王老吉,还想到的是广告效应与口碑相应,之后的几天,网络上就传播了“以后咱不喝可乐,雪碧了。咱就喝王老吉”,“我也把楼下超市的王老吉买光之类的话语”,当这一亿既给灾区带了继续的资金又给自己活生生的做了个免费的广告。

我想不论是王石还是"王老吉"的加多宝,他们首先是个企业家,做任何决定都是要考虑到企业本身,这也是正是为什么会有王石200万之后的事以及那王老吉的1个亿。

4.我写这些只是想到的一些观点,也许不正确,但是我内心想的。

5.祈祷那些四川灾区同胞与奋战在抗震一线所有的人们,你们辛苦了!
May 13

好运四川 不指定

Wudi , 19:10 , 软件编程 , 评论(0) , 引用(0) , 阅读(697) , Via 本站原创
四川,我的1/3的故乡(爷爷是四川人后在沈阳工作,生活。我的影响里,爷爷一口四川话。)。

昨天2点40左右,大脑突然晕的厉害,起初以为是没睡好,结果发现大地似乎摇晃了一下,接着此起彼伏的电话听见地震,接着是网络上到处都说地震了,东南西北,第一个想法肯定是大地震,而且级别不低。没过多久,qq提示四川地震,7.8级。

在这24小时内,新闻里到处都是地震的信息,伤亡人数直线上升,刚刚统计的数字是,“四川在线消息 本网记者正在四川省政府召开的新闻发布会上获悉,截止今(13)日下午4点,汶川地震死亡人数已超过12000人,受伤26206人,94004人被掩埋 ”。

先默哀1分钟。

时间托的越久,死亡的人数越大,震中的汶川几乎被夷为平地,数字更是没办法统计,加上倾盆的暴雨,更加大了救援的难度。下午捐了钱给红十字会,只希望我的微薄之力能帮助你们,一定要挺住,一定,一定。

看着一张张图片,一个个无辜的人,一个个更加无辜的孩子,还在读着书,憧憬着未来的时候,被深埋在废墟里,心里有是怎样的滋味……

现在不是讨论地震局的责任还是什么领导的责任,救人要紧。

好运四川,挺住……
分页: 6/14 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]