Introducing OData
Posted by quentin 在 Tuesday, 18 June 2013Introducing OData
Data Access for the Web, the cloud, mobile devices, and more
David Chappell
Chappell & Associates
Published: May 2011
Download this whitepaper (PDF)
Describing OData
求知若渴,虚心若愚!
居安思危,积极进取!
Introducing OData
Data Access for the Web, the cloud, mobile devices, and more
David Chappell
Chappell & Associates
Published: May 2011
Download this whitepaper (PDF)
排版引擎(Layout Engine)
主要是是用来让网页里浏览器绘制网页。目前流行的排版引擎如下:
WebKit
- Apple Safari
- Google Chrome
Trident
- Internet Explorer
Gecko
- Firefox
JS引擎(JS Engine)
顾名思义,JS engine是专门用来处理JS脚本的程序。
主流的浏览器的JS engine如下:
Mozilla
SpiderMonkey - Firefox 1.0~3.0
Rhino - 由Mozilla基金会管理,open source,完全以java编写的。
TraceMonkey Firefox 3.5~3.6
JaegerMonkey Firefox 4.0 +
IonMonkey Firefox 18.0+
比特:
位或者比特(Bit)也简称小b(b)。
字节:
Byte简称大B(B)。
1个字节(B) = 8个比特(b)
所以:
常说的16位电脑,它是以: 16b/8 = 2个字节 为一个存储单元存储的。
常说的32位电脑,它是以: 32b/8 = 4个字节 为一个存储单元存储的。
常说的64位电脑,它是以: 64b/8 = 8个字节 为一个存储单元存储的。
字:
字是由一个或多个字节组成的。
因为计算机里最小的处理单位是:字节(B),所以字肯定是字节的整数倍。一般来说,英文状态下,键盘上能敲出来的字都是一个字节的。但是如果是中文或者日文,一般是2个字节的。
但是,如果你是UTF8编码格式的话,字节数是1-6范围内的。因为UTF8是由1-6字节编码UNICODE字符。
什么是二维码:
http://baike.baidu.com/view/132241.htm
使用PHP生成二维码:
http://www.phpernote.com/php-function/638.html
http://hi.baidu.com/ylf575/item/98267014cef49a25f7625c71
在线生成二维码:
http://cli.im/url?run&id=426501
1、单一职责原则(Single-Resposibility Principle):
对一个类而言,应该仅有一个引起它变化的原因。本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范。同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性;如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个职责的履行。其实OOD的实质,就是合理地进行类的职责分配。
2、开放封闭原则(Open-Closed principle):
"软件实体应该是可以扩展的,但是不可修改。"本原则紧紧围绕变化展开,变化来临时,如果不必改动软件实体裁的源代码,就能扩充它的行为,那么这个软件实体设计就是满足开放封闭原则的。如果说我们预测到某种变化,或者某种变化发生了,我们应当创建抽象类来隔离以后发生的同类变化。在Java中,这种抽象是指抽象基类或接口;在C++中,这各抽象是指抽象基类或纯抽象基类。当然,没有对所有情况都贴切的模型,我们必须对软件实体应该面对的变化做出选择。
3、Liskov替换原则(Liskov-Substituion Principle):
一、钱是给内行人赚的——世界上没有卖不出的货,只有卖不出的货的人。
二、想干的人永远在找方法,不想干的人永远在找理由;世界上没有走不通的路,只有想不通的人。
三、销售者不要与顾客争论价格,要与顾客讨论价值。
四、带着目标出去,带着结果回来,成功不是因为快,而是因为有方法。
五、没有不对的客户,只有不够的服务。
六、营销人的职业信念:要把接受别人拒绝作为一种职业生活方式。
七、客户会走到我们店里来,我们要走进客户心里去;老客户要坦诚,新客户要热情,急客户要速度,大客户要品味,小客户要利益。
八、客户需要的不是产品,而是一套解决方案,卖什么不重要,重要的是怎么卖。
九、客户不会关心你卖什么,而只会关心自己要什么。没有最好的产品,只有最合适的产品。
一个人坐在空荡荡的办公室,思绪在儿时,中学,大学和现在来回的穿梭。
儿时的童真,无拘无束的嬉戏打闹,总是有那么多天真灿烂的笑脸;
青春期的叛逆,冲动,骄傲,悔恨编织了青春期一幕幕往事;
曾经的兄弟朋友是那么的贴心纯朴,一个电话,一句问候就可以心领神会。
可是,人慢慢长大了,童年的玩伴,曾经的兄弟们渐渐淡出视线,为了各自的理想和追求默默打拼着。无奈,生活面前再强的人都要学会低头。
可如今的同事,真正能做兄弟的有多少?谁真的是在用心说话?还是只是客套罢了?
慢慢的习惯一个人挣扎,一个人肩负一切。习惯躲在自己的世界里,慢慢就会散失一些基础的交际能力。
笔记
——周笔畅
我看见天空很蓝 就像你在我身边的温暖
生命有太多遗憾 人越成长越觉得孤单
我很想飞 多远都不会累 才明白爱的越深心就会越痛
我只想飞 在我的天空飞 我知道你会在我身边
回忆的画面 记录的语言 爱始终是你手中长长的线
看到一篇关于双向绑定的blog:
http://www.lucaongaro.eu/blog/2012/12/02/easy-two-way-data-binding-in-javascript/
可以帮助你弄清楚JS是如何实现双向绑定的。
问题描述
Chrome & Opera 中使用 for-in 语句遍历对象的属性时,遍历出的属性顺序与对象定义时不同。所以在使用 for-in 来处理属性顺序依赖的问题时常常会出错。
问题分析
Chrome Opera 中使用 for-in 语句遍历对象属性时会遵循一个规律,它们会先提取所有 key 的 parseFloat 值为非负整数的属性, 然后根据数字顺序对属性排序首先遍历出来,然后按照对象定义的顺序遍历余下的所有属性。其它浏览器则完全按照对象定义的顺序遍历属性。
示例:
在web中实现无刷新上传文件有几种方式:
1. 使用HTML5中的FormData和fileReader实现。但是这种方式受限于浏览器。如:IE只适用于IE10。
可参考:http://net.tutsplus.com/tutorials/javascript-ajax/uploading-files-with-ajax/
2. 使用隐藏的iframe提交。
可参考:http://confi.blog.51cto.com/5271328/1174071
最近,在Drupal 7里发现内容类型(content type)为image的字段都可以实现无刷新上传。所以很想知道它是怎么实现的。经过研究发现,其实Drupal7内引入了一个js lib——jquery.form.js。
使用挺简单的:
index.html