代码改变世界

http的请求流程

2013-05-17 23:58 by 掸尘, 1920 阅读, 2 推荐, 收藏, 编辑
摘要:最近在看《http 权威指南》,个人 认为还是很值得一读,但是书很贵,花了哥80多大洋!实在心疼。 园子里有很多优秀的文章介绍http协议,http的请求流程说的很粗糙,就像下图: 这个流程隐藏很多细节,下面听我扯扯。 可以看出,HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要所谓的"三次握手": 何为三次握手: 第一次 : 请求新的TCP连接时,客户端要向服务器发送一个小的TCP分组(通常是40~60个字节)。在这个分组中设置了一个 阅读全文

说说php 的反射

2013-05-07 19:39 by 掸尘, 487 阅读, 1 推荐, 收藏, 编辑
摘要:最近在看java编程思想,看到类型信息这一章,讲到了类的信息以及反射的概念。顺便温故一下php的反射东西。手册是这样说的:"PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。"当然手册上说的有些抽象!所谓的逆向说白就是能获取关于类、方法、属性、参数等的详细信息,包括注释! 文字总是那么枯燥,举个例子class Foo { public $foo = 1; protected $bar = 2; private $baz = 3; /** ... 阅读全文

大话 jquery deferred

2013-04-25 20:05 by 掸尘, 1058 阅读, 0 推荐, 收藏, 编辑
摘要:今天在jquery找获取实际元素的高度方法,就是scrollHeight的属性,但是没找到! height()方法返回的是元素的可视高度,就是offsetHeight。不知道哪位大侠有么有知道的。else if ( elem.nodeType === 9 ) { // Either scroll[Width/Height] or offset[Width/Height], whichever is greater return Math.max( elem.documentElement["client" + nam... 阅读全文

php 单元测试

2013-04-23 19:14 by 掸尘, 6360 阅读, 1 推荐, 收藏, 编辑
摘要:前几天把个人上半年计划拿出来看了一下,有学习单元测试的内容,今天没什么事情,就看了一下phpunit!安装phpunit是件很蛋疼事情,尤其在window下面,记得当初费了很大劲才装上,这里就不介绍怎么装的了,你可以去百度一下,首先装上pear,再装phpunit。 装好了phpunit,可以写个例子练习!require_once 'PHPUnit/Framework/TestCase.php';/*** test*/class TestAdd extends PHPUnit_Framework_TestCase { /** * */ public functio... 阅读全文

backbone 之事件(code 分析)

2013-04-21 17:15 by 掸尘, 2304 阅读, 2 推荐, 收藏, 编辑
摘要:四川地震了,表示默哀!也许你们再也不用敲代码或者为了生存而发愁。据说地震表示上天震怒了,要警示什么。我等凡夫俗子无法理解!总之,你们要坚强! 这个星期,在小组内分享了backbone的东西,想表达东西太多,结果一个也没表达清楚。不管自己的表达能力还是对backbone的理解还都还不够!backbone的自定义事件处理机制还是很强大的,翻着源码看了一下,也没弄清楚什么意思。结果看了一下backbone的单元测试,算是看明白了。所以写单元测试很有必要的。只要不是一次性的项目,在公司还是写写单元测试。不然再过几个月让你看以前项目,会陷入自己写的代码自己都不知道什么意思,那时候会骂自己怎么会写如... 阅读全文

backbone 之事件(events)

2013-04-16 20:07 by 掸尘, 4626 阅读, 2 推荐, 收藏, 编辑
摘要:最近用 backbone 做了一个项目,加深了对前端mvc理解。同时也很多的收获。纠正了我对阅读源码的认识。一定要应用的熟练后,了解其思想后,再去阅读源码!千万不要本末倒置。想写写自己对backbone的感悟!接下来第一步就是backbone的event。 backbone的event 是其核心。是model和view的纽带。了解event 是必要的。举个例子:var User = function(name) { this.name = name;}User.records = [];User.bind = function(ev, callback) { var calls... 阅读全文

java 变量的初始化顺序

2013-04-07 19:51 by 掸尘, 3954 阅读, 2 推荐, 收藏, 编辑
摘要:先看一下代码class Insect { private int i = 9; protected int j ; public Insect() { System.out.print("i=" + i + ",j = " + j +"\n"); j=39; } private static int x1 = printInt("Inset.x1 init\n"); static int printInt(String s) { System.out.print(s); ... 阅读全文

如何学习设计模式

2013-03-20 19:45 by 掸尘, 3959 阅读, 0 推荐, 收藏, 编辑
摘要:好吧,最近比较闲!心里发虚,担心被fire 。this isa 打工者。 发现了一个矛盾,当你很忙于做项目的时候,总是奢望能有时间自己学习,当你有时间学习的时候,发现这也想学那也想学,又在迷茫不知道如何学习!时光在蹉跎中流失,而我却还徘徊。于是抓住一个目标,学学设计模式。 以前自己接触设计模式,网上搜一下各个模式,学了也不用,都忘记了!最近有抽时间学习了一下。说说自己学习的感悟! 首先面向对象的几大原则这个必须了解,至少要知道。因为无论哪个设计模式,都遵循这几大原则一点或几点。不少网友说叫设计模式是很不对的,这个东西其实翻译成《面向对象设计23招》或者《面向对象的实例教程》!其实就是这... 阅读全文

uml 类图聚合与组合

2013-03-17 14:15 by 掸尘, 6249 阅读, 2 推荐, 收藏, 编辑
摘要:聚合 聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分 组合 组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分; ... 阅读全文

uml 类图依赖与关联的区别

2013-03-17 01:03 by 掸尘, 32097 阅读, 12 推荐, 收藏, 编辑
摘要:最近研究设计模式,看类图有点发虚!有些关系搞的不是很清楚。所以整理一下: 类与类之间由弱到强关系是: 没关系 >依赖 >关联 > 聚合 > 组合。 类和类之间八竿子打不着那就是没关系,这个没啥歧义。 依赖(dependency) 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用。用带虚线的箭头。 关联(association) 他体现的是两个类、或者类与接口之间语义级别 阅读全文