
基础技术
文章平均质量分 82
ywk253100
这个作者很懒,什么都没留下…
展开
-
得墨忒耳定律 (Law of Demeter,缩写LoD)
前言这篇文章中,我想谈一谈得墨忒耳定律(Law of Demeter,缩写LoD)。我觉得这个主题对于写出一手简洁、精心设计和易于维护的代码,是极其重要的。根据我的经验,看到这条规则被打破,往往意味着我可以嗅到一股糟糕的设计在其中。而依据此定律去编写/重构,会使代码改善,清晰易懂且更易于维护。得墨忒耳定律是什么?我们从下面这几条基本规则开始:得墨忒耳定律--对象 O 的 M转载 2014-03-31 21:02:21 · 2242 阅读 · 0 评论 -
浏览器缓存技术
在介绍缓存技术之前,我们先看一张LAMP网站的价格图,通过架构图我们可以很清晰的对网站整体缓存有一定认识 LAMP网站结构图 上面是一种经典的LAMP网站结构图,通过上图我们很清楚的看到一个网站从前台到服务端的整体关系,下面是我根据上图画的一张LAMP缓存图:转载 2014-05-28 10:54:35 · 700 阅读 · 0 评论 -
Nginx负载均衡
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器.下面简单的介绍下我使用Ngi转载 2014-05-28 17:36:09 · 595 阅读 · 0 评论 -
服务器缓存技术
对服务器在网站中位置作用有个大概了解:lamp架构图上图主要介绍了三种服务器,也是比较常用的服务器,下面就介绍这三种服务器的缓存配置。apache是作为正向代理服务器缓存,nginx和squid主要作为反向代理服务器缓存. 服务器缓存工作原理 上面是一个简单的流程图:我先描述一下:用户1访问A页面,服务器解析A页面返回给用户1,同时在服务器内存上做一定映射,转载 2014-05-28 10:55:55 · 1502 阅读 · 0 评论 -
TCP的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相转载 2014-05-28 10:00:04 · 1180 阅读 · 0 评论 -
TCP的那些事儿(下)
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资转载 2014-05-28 10:01:30 · 3262 阅读 · 0 评论 -
工厂模式
一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类: 1)简单工厂模式(Simple Factory):不利于产生系列产品。 2)工厂方法模式(Factory Method):又称为多形性工厂。 3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于转载 2014-05-26 10:29:09 · 548 阅读 · 0 评论 -
gzip原理与实现
gzip 使用deflate算法进行压缩。zlib,以及图形格式png,使用的压缩算法也是deflate算法。从gzip的源码中,我们了解到了defalte算法的原理和实现。我阅读的gzip版本为 gzip-1.2.4。下面我们将要对deflate算法做一个分析和说明。首先简单介绍一下基本原理,然后详细的介绍实现。 1 gzip 所使用压缩算法的基本原理gzip 对于要压缩的文件,首先转载 2014-06-07 12:54:58 · 764 阅读 · 0 评论 -
DAO模式
DAO(Data Access Object)模式实际上是两个模式的组合,即DataAccessor 模式和 Active Domain Object 模式。其中DataAccessor模式实现了数据访问和业务逻辑的分离,而Active Domain Object 模式实现了业务数据的对象化封装,一般我们将这两个模式组合使用。Data Accessor模式实现了数据访问和业务逻辑的分离:就转载 2014-05-23 11:26:40 · 1231 阅读 · 0 评论 -
RESTful API 设计最佳实践
数据模型已经稳定,接下来你可能需要为web(网站)应用创建一个公开的API(应用程序编程接口)。需要认识到这样一个问题:一旦API发布后,就很难对它做很大的改动并且保持像先前一样的正确性。现在,网络上有很多关于API设计的思路。但是在全部案例中没有一种被广泛采纳的标准,有很多的选择:你接受什么样的格式?如何认证?API应该被版本化吗?在为SupportFu(一个轻量级的Zendesk替换实转载 2014-05-15 09:52:47 · 791 阅读 · 0 评论 -
如何设计好的RESTful API之安全性
导读:安全是恒久的话题,对于基于WSDL和SOAP的Web Service,我们有WS-Security这样的安全规范来指导实现认证、授权、身份管理等安全需求。如何保证RESTful API的安全性呢。关键词:RESTful API API安全性 前面讲了好的RESTful API具有的一些特征,本文会继续探讨RESTful API的安全性问题。InfoQ:安全是恒久的话题,对于基转载 2014-05-12 21:32:34 · 31159 阅读 · 0 评论 -
如何设计好的RESTful API 之好的RESTful API 特征
导读:设计好RESTful API对于软件架构的可扩展性、可伸缩性和消费者的体验都具有至关重要的作用。本次虚拟研讨会的主题是,如何设计好的RESTful API。关键词:RESTful API REST OAuth协议 REST架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞转载 2014-05-12 21:31:09 · 2765 阅读 · 0 评论 -
理解HTTP幂等性
基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javascr转载 2014-05-12 17:18:47 · 559 阅读 · 0 评论 -
雅虎团队的23条网站性能优化军规
1. 减少HTTP请求次数 合并图片、CSS、JS,改进首次访问用户等待时间。 2. 使用CDN 就近缓存==>智能路由==>负载均衡==>WSA全站动态加速 3. 避免空的src和href 当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。测试 4. 为文件转载 2014-05-16 10:15:03 · 722 阅读 · 0 评论 -
什么是字符串常量池
在理解字符串常量前,我们先熟悉一下如何创建一个字符串,在Java中有两种方法可以创建一个字符串对象:使用new运算符。例如:1String str = new String("Hello");使用字符串常量或者常量表达式。例如:12String str="He转载 2014-04-21 14:29:57 · 738 阅读 · 0 评论 -
进程的虚拟地址空间
32位机器,每个程序有4G的虚拟地址空间。大致分为4块,从低地址到高地址依次是:NULL区,用户区,隔离区,核心区。用户私有的数据都在用户区(当然这个区里又可以细分,其中也包括一部分可以共享的内容),系统内核等东西都在核心区。总体来说,A进程的虚拟地址空间中的内容和B进程相比,只有各自的用户区不一致。通常用户区中,进程又会将exe文件(由头数据和段数据组成)中定义的代码段、堆栈段、数据段等各个段映原创 2014-04-20 11:45:03 · 614 阅读 · 0 评论 -
Etag、Expires、Last-Modified
本文对页面中Etag和Expires标识处理,使得页面更加有效被Cache1、Etag和Expires中Client 端Http Request Header及Server端Http Reponse Header工作原理。2、静态下Apache、Lighttpd和Nginx中Etag和Expires配置3、非实时交互动态页面中Etag和Expires处理在客户端转载 2014-05-14 20:26:52 · 683 阅读 · 0 评论