我看过的书:
-
近期文章
近期评论
文章归档
友链
链接表
分类目录
功能
分类目录归档:WEB
WEB前端优化
刚刚读完了《高性能网站建设指南》,作者给出了网站前端优化的14条建议,第一次系统的了解到了前端性能优化需要做的事情。 简单说来,这14条建议是下面这些: 减少HTTP请求(因为HTTP1.1协议规定同一域名下默认有两个HTTP同时下载,这条是最基本的,最应该去做的) 使用内容发布网络(主要是针对静态内容,具体请搜索CDN) 添加Expires头。(告诉浏览器来缓存那些不容易变化的内容,来加快“回头客”的访问速度) 压缩组件。(使用gzip来压缩组件降低数据传输量) 将样式表放在顶部(避免白屏和闪屏等情况发生) 将脚本放在底部(脚本会阻塞并行下载,所以某些脚本可以放到底部,让页面先显示出来) 避免CSS表达式(CSS表达式计算频繁,用其他方式来实现需要CSS表达式的效果) 使用外部JavaScript和CSS(利用缓存来减少这些组件的下载) 减少DNS查找(DNS查询是要耗时间的,减少DNS查找和增加并行下载是相悖的,这点需要权衡一下) 精简JavaScript(使用工具删掉不必要的空格,注释等) 避免重定向(redirect需要耗时间,尽量避免这种方式) 移除重复脚本(大网站,开发人员多,可能会带来重复脚本的问题,可以借助服务端程序来消除) 配置ETag(ETag经常会破坏缓存规则,他比Expires头权限高。合理配置或者禁用之) 使Ajax可缓存(分析Ajax请求,缓存可以缓存的,同时合理使用一些主动Ajax,以及参照前面指导原则优化Ajax请求) 作为前端开发人员,应该具有前端优化的技能,这些优化花不了多少成本,却相当有效,比改进后台代码的某个算法带来的性能增强性价比要高多了。 网站打开速度快才是王道,速度是用户接触到这个网站的第一体验!!! 上面这些指导原则在实际生产的时候都是需要好好分析的,看自己的网站适合怎么样。
uchome二次开发中的feed发送问题
对于SNS来说,feed是个必不可少的东西,有了feed才可以让SNS有黏性,让应用有黏性,同时也是一个在站内推广应用的好方法。(只想知道怎么使用的,请跳到本文的最后面吧) 于是今天要为我给普特英语听力开发的应用添加feed发送功能了,但是uchome没有官方的开发文档,所以只好自己看代码了。先分析了踩日志后,发送feed的这个过程,在 /home/source/cp_blog.php 这个文件里,关于踩日志的feed相关代码在111行。 $feed_title = cplang(‘feed_trace’); $feed_data = array( ‘username’ => “<a href=\”space.php?uid=$blog[uid]\”>”.$_SN[$blog['uid']].”</a>”, ‘blog’ => “<a href=\”space.php?uid=$blog[uid]&do=blog&id=$blog[blogid]\”>$blog[subject]</a>” ); feed_add(‘trace’, $feed_title, $feed_data); $feed_title = cplang(‘feed_trace’); $feed_data = array( ‘username’ => “<a href=\”space.php?uid=$blog[uid]\”>”.$_SN[$blog['uid']].”</a>”, ‘blog’ => “<a href=\”space.php?uid=$blog[uid]&do=blog&id=$blog[blogid]\”>$blog[subject]</a>” ); feed_add(‘trace’, $feed_title, $feed_data); … 继续阅读
昨晚写的丑陋的聊天室程序发上来了
想了解一下长连接的可以下载下来,老鸟就不要下载来笑话我了。 试玩地址,真的是太简陋了。 下载源代码地址 页面没指定编码,请自行用浏览器强制UTF-8编码。懒得改了,只是拿来试验而已
发表在 javascript, PHP
4 条评论
收到google wave邀请了
实际上已经收到3天了,但是这几天一直比较忙,没时间写日志。 初步体验感觉还不错,只是这个东西应该是需要学习一段时间才能掌握怎么使用,加上还是内测,还有很多东西都没开放。 而且在目前的这种硬件下,爆卡,google还需要进一步优化才行,或者要等硬件进一步升级,或者浏览器js引擎进一步快才行。 今天上午一个两个人的wave聊了一会儿后,就很卡很卡。对方和我都很卡。 这个东西确实很先进,只是出来后还是会比较小众吧,因为需要一定的时间学习摸索才行。 PS:现在我们这些刚被邀请进入的人还没邀请名额,所以邀请不了别人。
十一假期第三天记录
今天中秋节,上午给爸妈打了电话,还给姐姐打了电话,这些我认为是必须的,中国人嘛,在这种节日里,就是应该这样。虽然没有团聚,但是总该电话聊上几句。 今天一天没有出宿舍大门,一直在宿舍,吃饭就在楼下食堂。 上午和下午看了GAE的相关内容,主要是数据存储部分,目前用的大多都是关系型数据库,但是GAE给了一种不同的数据存储方式,按照google的说话,这种方式SELECT的时候应该效率比较高吧,比较适合做WEB应用。我还不是完全掌握,现在不便随便说,应该要等我想用GAE做什么时候的时候,才会慢慢的来更深入的理解吧。 晚上开始看《 core python programming》 这本书,开始看的中文版的,但是总是感觉翻译很蹩脚,只好看英文版的了,虽然看的要慢一点,但是要比中文版的看的要舒服的多了。 然后晚上解决了我的这个博客不能发送邮件的问题,现在访客已经可以选择自己的评论被回复后是否有邮件提醒了。 现在感觉身体不大舒服,很想运动,看看明天天气这么样吧,另外看有没有时间吧。虽然十一没什么必须要干的事情,但是还是有很多书要看,很多事情要干。 这肯定是一个很充实的假期,虽然我的心情目前还是不好,在等待着一个结果,希望那个结果对我来说是个很好的结果。
解决wordpress发不了邮件的方法
很多wordpress博客都有可以用email订阅评论的功能,游客在这里发表的评论,如果主人回复了,或者其他人回复了,都会发送一个email到原来的游客,这样可以很好的加强这种“对话”,要不然很可能回复的内容,别人看不见。 但是我这个虚拟主机虽然支持smtp,但是我一直发送不成功,因为PHP的mail()函数其实是不支持设置smtp参数的,是靠系统设置的,我想我这个发不出去的原因,是因为我的域名的Mx记录没有指向这里吧。具体的我也不是很清楚。 但是wordpress有插件可以解决这个问题,可以用其他支持smtp的邮箱,甚至GMAIL来发送邮件。 我现在用的是 config smtp 这个插件,设置很简单,我本来打算想用163的邮箱来发送,但是失败了,不知道是我的163不支持smtp,还是我设置错误了。只好改用GMAIL,设置就很简单了,设置完测试了一下,可行。 现在你在我的博客comment,就可以选择是否有邮件通知了。
晚上去了川大的腾讯宣讲会,腾讯的这次校园招聘的第一场
本来明天在我们学校的,但是在清水河,太远了,就跑到川大去了,还是腾讯第一场呢。只是陪川大歧视了,开始不让外校人进,要凭学生证才能进,不过最后还是让我们进来,而且由于前段时间我和那个负责人说好话,让我在外校人中第一个进来,还好,找了个座位,要不会很累的。 腾讯的CDC还是很牛的,一直在关注他们的博客。现在给我的感觉是,腾讯已经开始发力,在努力改变中国互联网,不再像以前只是模仿,而是要为互联网的技术做出贡献。 另外今天腾讯透露了一下腾讯的下一个版本的QQ,据说这是第一次向外界透露。据说版本号叫Q7,应该是只能在WIN7下才能有那些效果的吧,效果很炫,加上了Multi touch功能,另外我最喜欢的是,几个聊天窗口可以合在一个里面,成标签的形式,这个其实在QQ for LINUX中早都有了,只是在for win的版本里一直没出现,倒是有人开发外挂来实现这个,但是总是没有原生的好嘛。另外这段时间经常使用WEB QQ,还是做的很成功的,RIA技术做的很牛了。 我很看好腾讯在未来的发展,这个公司正在转变,已经开始在互联网领域做出自己的贡献,有自己的创意了,相信这些东西会越来越多。另外赞一下腾讯邮箱的功能,在国内确实可以算第一了。
javascript预加载技术
今天在遇到AJAX响应过慢的时候,我当是突然有个想法,因为我的这个应用,是明确的可以知道下一个XHR传递的参数的,所以,我可以先加载下下一个的,然后,需要加载下一个的时候,实际上,要马上显示出来的已经读取过来的,我就可以马上拿来用了。 当时为这一闪念感到高兴呢,但是想想,这个应用又不负责,不应当这么慢的,还是去找瓶颈优化去了,把数据库优化了。而且这个想法应该很多前人都想到了,毕竟也不是什么负责的技术。 从川大听完腾讯的宣讲会,回来的公交车上,我想了想,好像听说过一个预加载技术的名字,我想的应该就是这个吧,回来后上网查了一下,一般这个用来预加载图片,因为加载图片是比较慢的,像我这种加载200B左右的json的,估计没人用。
MySQL的optimize的效果太震惊了
今天写的一个页面,用的AJAX,但是总是感觉很慢,查看了一下消耗的时间,600ms左右,太长了,有明显的延迟感。不能这样发布啊,太慢了,于是找哪块消耗的时间最长,发现后台的一条的SQL语句很慢,大概500多ms,但是看上去那条SQL语句不会消耗太多的时间,于是想着想优化表结构,设置索引,正在想要不要做额外的索引的时候,突然想到尝试一下optimize试试看。结果用来之后,时间只有40多ms了,一下子就没有那种延迟感了,效果很明显。 回来后在网上查了一下,有段对optimize的描述: OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] … 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改, 则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。 您可以使用OPTIMIZE TABLE来重新 利用未使用的空间,并整理数据文件的碎片。 在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次 即可,只对特定的表运行。 OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。 注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。 因为我那个表,里面有VARCHAR字段,而且,那个表是分了三步生成的,后期有大量的update操作,所以optimize后效果很明显。
google索引的真迅速,我这个pr=1的博客,写完博客很快就被索引了
看图,这个是我发完博客几分钟后无聊用Google搜索了一下我的博客,就可以看见这个博文了。 这就是google现在隐蔽的开放了实时搜索的结果?google在往真正的实时搜索努力,要能完全做到实时搜索也太牛了吧。
