以图明志

计算机算法

[专题] 漫谈递归:从汇编看尾递归的优化

尾递归的编译器优化
对于尾递归,很多人的理解仅局限于它是递归和尾调用的一个合体,比普通递归效率高。至于效率为什么高,高在哪,可能没有深究过。 在执行函数B时,函数A的栈帧其实是已经大部分没用了,可以被修改或覆盖。编译器可以利用这一点进行优化,函数B执行后直接返回到函数A的调用者。

计算机算法

[专题] 漫谈递归:PHP里的尾递归及其优化

PHP编译器没有对尾递归进行优化
事实证明,尾递归在php中是没有任何优化效果的。一般的线性递归修改成为尾递归最大的优势在于减少了递归调用栈的开销。从php那个例子就明显看出来递归开销对程序的影响。但是并不是所有语言都支持尾递归的,即使支持尾递归的语言也一般是在编译阶段对尾递归进行优化,比如C语言对尾递归的优化。

软件架构技术

谈谈对一些软件架构设计箴言的理解

对软件的过早地优化是万恶的根源
在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源。这里就简单的说几条重要的软件名人哲学。在软件开发过程中需求是不停的变化的,随着客户对系统的认识,和现有开发功能和软件的认识,也许一开始他提出的需求就是背离的。

搜索引擎优化

从SEO的角度看豆瓣的成功

豆瓣的SEO优化措施
豆瓣SEO能成功,页面的布局以及内链是一方面,但是最重要的还是其高质量原创内容的产生。 整个页面的信息架构可以说是用户体验非常好,同时也是兼顾到搜索引擎体验。 搜索引擎一直推崇的内容为王,在豆瓣这用的淋漓尽致。用户粘性强,贡献内容质量高。 内容是豆瓣SEO成功的核心竞争力,也是相当难以撼动的。

搜索引擎优化

前端优化,搜索引擎不为人知的秘密

更快的页面速度有利于提高收录量
大家有的时候是否发现过一个网站运营过一段时间之后,发现网站收录的页面不再增长,而是一直保持在一定的数值之间,不管你怎么更新你的页面,怎么去卖力的做外链,收录都没有多大变化。你有没有考虑过这是什么原因吗?爬虫每天来你网站的时间,其实是一个固定值,是根据你网站的权重来决定它的爬取时间。

软件架构技术

网站性能优化策略的选择

性能优化到何处为止?
人生三苦:选择,后悔,绝望。为了避免后两项,所以才绞尽脑汁去做出明智的选择。人人都无时无刻不面临选择。做软件开发的,从初级,到中级,到高级,所掌握的知识和技术越来越多,面临的选项越来越多,对选择进行评估也越来越困难和复杂,一项选择所造成的影响也越来越大。所以,做软件做到架构师,就是和人生三苦之一的“选择”整天打交道的职业。

搜索引擎优化

搜索引擎是如何收录你的网站的?

搜索引擎收录原理
对网站进行推广优化中,都是针对搜索引擎进行的,了解搜索引擎的一些收录规律,进而采取相应的措施,可以让我们的网站更好的获得引擎的好评,这样你的网站排名就是靠前同,给你带来更多的流量。搜索引擎收录页面实际上就是在互联网上进行数据采集,这是搜索引擎最基础的工作,而搜索引擎的内容编辑认为都来自后台的庞大的URL列表。

Web设计理念

一些简单有效的前端优化技巧

6种方法加快你的网站访问速度
把你的 .js 库文件地址替换成 Google CDN的地址,精简和优化你的 js 和 CSS,GZIP 压缩你的 JS 和 CSS 文件,缓存你的 js 和 CSS 文件,使用css sprites合并图片,优化你网站图片(图片)。以上6种优化方法都是前端的,前端优化的意义在于减少http请求,减少网站前端程序组成的体积。

数据库技术

实用MySQL数据库优化技巧

你需要了解的MySQL特性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间。

数据库技术

关系数据库的一些性能优化技巧

一些提升数据库性能的经验
对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考。

Web设计理念

优化js脚本设计,防止浏览器假死

解放你的浏览器
Nicholas C. Zakas认为不论什么脚本,在任何时间、任何浏览器上执行都不应该超过100毫秒,否则一定要将脚本分解成若干更小的代码段。那么我们该如何来做呢:第一步,优化你的循环,循环体中包含太多的操作和循环的次数过多都会导致循环执行时间过长,并直接导致锁死浏览器。

Web设计理念

不容小看的网站性能优化

WPO网站性能优化的基本概念
WPO就是 Web Performance Optimization 也就是网站性能优化。就是让你的网站访问更快一些。还有一种情况,虽然你的网站访问不快,但能通过技术手段让访客感觉快,这也是WPO。建设网站的时常听到如下名词:SEO(搜索引擎优化),浏览器兼容性,网站可用性,Web应用的可拓展性……但很少网站设计者提到WPO这个词。而在用户层面,却经常听到这样的抱怨……

数据库技术

优化数据库查询的一些原则

让你的网站数据响应更加迅速
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。

数据库技术

一些SQL性能优化的实用经验

让你的SQL执行得更有效率
查询的模糊匹配,尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用。其实只需要对该脚本略做改进,查询速度便会提高近百倍。把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商。

Web设计理念

大规模高性能Web服务器部署

大规模网站的一些性能优化技巧
对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离, 在处理静态页面或者图片、js等访问方面,可以考虑使用lighttpd[注意尽量使用linux或unix系统]代替Apache或IIS,它提供了更轻量级和更高效的处理能力。

HTML

不能忽视的HTML优化绿色规则

HTML是真正的展示“前端”
随着Web2.0技术的不断发展,Web前端的优化受到越来越多的关注,特别是JavaScript和CSS优化的讨论一直是热点,工具也相对丰富,而对HTML优化则有所忽视,最近,来自百度泛用户体验团队的工程师Miller(chenminliang)撰文强调了HTML优化的重要性和相关技巧。
1 / 2 首页 < Prev 1 2 Next > 尾页 页码: