Archive for August, 2008

优化你的smarty(二) 处理include标签

此文章主要针对在使用中,在不改变smarty代码的基础上,增加一些我们自己的东西,而达到一些优化而写的.主要是我在使用中遇到一些问题的解决方法,希望对大家有用~ : )
smarty在处理include的时候,是在主页面中做include操作,这样会有一个问题,就是当include标签越多的时候,造成页面运行慢,我的改造是合并所有的include标签,这样不必改变使用习惯,而在编译的时候smarty相当于编译了一个页面,不必执行是再include其他的小页面,当然,也许这只是试用于类似我这样,include只作为引用公共页面的功能,所以你可以自己抉择~;)
要说明的是,这样做得缺点是smarty无法检查include页面的变动,并自动重新编译,你需要自己来进行清空编译文件目录,或者是变动主模板页面来,让smarty重新编译模板~
下面是我的,做法,聪明的你一定看得懂~

设计的导向在哪里?

   现在中国太多的互联网从业人员(产品、设计、主编甚至老总们)对UI/UE的要求就是眼前一亮,可能也是因为太多的灵光一闪的产品/项目充斥着中国互联网。  仅仅靠着一亮而决定产品的命运,一亮的同时忽略了细节。 UE更多的是细节,细节是什么?  就是符合用户的使用习惯,什么是符合? 听从并尊重用户的基本使用习惯。 什么是尊重用户的基本使用习惯? 让用户直观并符合正常人类逻辑的使用方法。 Don’t Make Me Think一直是UE的遵循准则,产品除了美它更需要易用。 一个产品它的设计可以很差、甚至没有,但是它易用的话生存的机率要比表面花哨却使用麻烦的产品大很多。  
   以我个人的喜好,令人眼前一亮的产品往往也容易让用户产生疲劳感。 现在Ajax泛滥的年代,适当地应用Ajax是至关重要的。 我们就拿载入画面来讲,如果一个页面的载入时间超过30秒以上的话还是不要用Ajax的Loading好了。 原因很简单。 用户的第一反应是页面失效,这样完全破坏了用户的正常情绪。  这种情况下如果是页面一点一点载入进来,让用户在读取过程中可以获取一部分信息。  
    同样的细节上KuKuFun还有很多问题,由于上线匆忙很多东西都没有仔细考虑。  小到搜索框过小大到发布项目流程布置有问题。  但是只要我们迈开第一步,我相信就会有动力推着我们继续前进。

8月25日 更新

1,首页焦点图播放器更新;
2,用户头像增加Gravatar和用户站内上传功能,新注册用户默认头像为Gravatar;
3,我的收藏列表样式调整;
4,用户短消息图标调整;
5,用户发布项目、未发布项目、Gravatar介绍页以及用户菜单调整样式。

Beta Code 开放日期

经过几天的测试,我们也发现了KuKuFun的一些问题。  我们每天都在收集Bug,推敲UE的合理性。   这里要感谢很多朋友的帮忙。  虽然简陋,但是我们每天都在做着修改,Xuanyan最近很忙,但是每天晚上都能抽出时间来做,和我讨论。真的很辛苦。  我们决定让更多的人发现问题,根据问题的优先级别我们争取每天都有改进!    本月30、31将会放出第一个Beta Code,希望大家都能帮助我们改进KuKuFun!

优化你的smarty(四) 去掉你的页面注释,并压缩你的页面

此文章主要针对在使用中,在不改变smarty代码的基础上,增加一些我们自己的东西,而达到一些优化而写的.主要是我在使用中遇到一些问题的解决方法,希望对大家有用~ : )
在smarty编译模板前,我们可以用下面的方式去掉页面的注释,并对html进行压缩,以减少页面输出体积
类似下面的代码:

$smarty->register_prefilter(’smarty_prefilter’);
function smarty_prefilter($out_put, &$smarty)
{
//保护smarty标签将<– {xxx} –>替换成 {xxx}
$out_put = preg_replace(‘/<!–[^>|\n]*?({.+?})[^<|{|\n]*?–>/’, ‘\1′, $out_put);
// 去掉html注释
$out_put = preg_replace(‘/<!–.*?–>/’, ”, $out_put);
// 压缩html代码,去掉行首尾空格及换行
return preg_replace(“/\s*[\n\r]+\s*/”, ”,$out_put);
}

优化你的smarty (一) 关掉compile_check

此文章主要针对在使用中,在不改变smarty代码的基础上,增加一些我们自己的东西,而达到一些优化而写的.主要是我在使用中遇到一些问题的解决方法,希望对大家有用~ : )
smarty默认的方式是compile_check = true;即在每次输出模板的时候检查当前模板是否有过改变,如果有那么重新编译(判断时间戳),这会浪费一些效率,但会保证模板改动后可以正常显示,但在我们的网站上线后,很多时候,是不需要检查这个的,因为模板已经不变了~
我的建议:在开发阶段,force_compile = true;产品上线时compile_check = false;
类似下面的代码:

与朋友的通信

Great to hear from you too! Sorry that you’re so busy. Being busy isn’t so bad, it’s not having a vision or goal is what will kill you, in my opinion. At school or other places you’ll be busy too, you’ve just got to find out what it is you want to do with your life. Your major [...]