静态分页算法解决方案收集

作者 : admin 于 2008年08月14日, 11:36:13
2008
08-14

曾经看过动易CMS的代码,曾经在官方论坛上也讨论过分页算法的问题。主要的瓶颈在于,如果一个分类页数过多,那么每更新一个文件,需要生成 count/pagesize 个静态页面,这样再算上分发的话,消耗了大量的cpu,io,带宽。因此门户级的网站,设计一个好的分页算法或者说新闻组织结构是非常必要的。

这里考虑的是全静态网站,并且使用分发形式更新的,也就是在前端只有html静态文件。首页,板块首页,分类首页,这样当然就是由编辑即时更新并且分发。

而子分类,无下级的时候,就得考虑分页,对照以下门户级网站,看他们如何解决。

http://news.sina.com.cn/china/gd/2008-08-13/index.html

可以看出,新浪按照每天的新闻为一页,分页自然容易解决,使用天做为页数,这是天然纯净的算法。另外新浪新闻的实时性比较好,流量集中在当天新闻,这样也比较容易做负载的均衡和过期资源的回收。

http://news.163.com/special/00011SG2/shList.html

网易的每个分类只显示10页,这样就不会有大量分页列表的问题,顶多10页,我感觉比新浪少次。

http://news.cctv.com/china/index.shtml

cctv用的是TurboCMS,这个分页挺有意思,一个模板,但从数据库取500条记录,生成静态。因为记录只是一个标题,一个链接,字节数不会太大,那么用js去用这个大数组进行分页,貌似不错。很节约带宽的做法。赞一个!

sohu的100个分页,暂没看出他怎么做的,反正sohu有钱,大不了加机器。

常见文件http中content-type头值-(MIME类型)

作者 : admin 于 2008年08月12日, 13:37:38
2008
08-12

.ppt - application/mspowerpoint
.ai - application/postscript
.aif - audio/x-aiff
.aifc - audio/x-aiff
.aiff - audio/x-aiff
.asc - text/plain
.au - audio/basic
.avi - video/x-msvideo
.bcpio - application/x-bcpio
.bin - application/octet-stream
.c - text/plain
.cc - text/plain

阅读全部 »

在windows在安装FreeTDS,让mssql支持UTF-8

作者 : admin 于 2008年07月22日, 15:27:47
2008
07-22

本人有个项目使用php+mssql,而mssql只支持gb2312和utf-16编码,而php又要求使用utf-8编码,想到了freetds.而freetds是个在unix下开发的工具,我下载freetds最新版后,发现里边有windows下的编译脚本,在DEV-C++里进行编译后,不支持,后又从鬼子论坛里找到达人编译好的组件,安装配置后,正常,大喜。

; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
mssql.charset = “UTF-8″

在php.ini里设置这里,即可让FreeTDS生效。This is only used when compiled with FreeTDS。mssql默认是不支持设置字符集的,只有安装freetds的时候才能生效。

其实,PHP官方早就在系统里留出了freetds的接口,windows下的PHP.INI文件就为freetds留出接口参数。

在linux下,编译php的时候,有这样的日志

configure:68696: checking whether to enable pcntl support
configure:69264: checking whether to enable PDO support
configure:69689: checking for PDO_DBLIB support via FreeTDS
configure:70399: checking for Firebird support for PDO

在linux下,同样为php留出了接口

白盒测试与黑盒测试

作者 : admin 于 2008年06月24日, 21:34:51
2008
06-24

所谓白盒,指透明的盒子,你知道盒子里的内容,可以针对具体的内容进行测试。

黑盒,就是封闭的盒子,你不知道盒子的内容,只能知道这是个盒子,我只能猜测,或者根据盒子的外形,特征,去研究我该怎么用它。

程序开发中,白盒测试,一般是根据程序的功能进行有针对性的测试。

针对具体功能模块进行测试。首先,软件基本完成后,程序不能有研究bug,就是功能性的缺陷,这是必须的。

针对一些逻辑进行测试。程序走通后,针对不同的逻辑进行测试。尽量去测试逻辑的每一个分支,比如,用户上,测试管理员跟普通用户的不同权限下程序的使用。

数据准确性的测试。数据在程序中经过重重计算,输入数据跟最终表现数据未必是一致。这样就得测试数据在各个环节进行传递是否正确。

数据合法性测试。合法性主要在于各个模块中数据输入的合法性。比如数据类型,字段长度,范围等。

而黑盒,一般是指功能基本完成后,交付给测试部门进行业务的测试。测试人员不知道程序是如何构建,而只是根据功能说明或者一些模块测试说明书进行测试。黑盒测试人员要求对业务比较熟练,能够考虑多种实际发生的业务数据进行测试。

 Page 3 of 3 « 1  2  3