2010 年 01 月

浏览模式: 标准 | 列表 | 图文
让我郁闷的THinkSNS权限管理

让我郁闷的THinkSNS权限管理

使用ThinkSNS进行管理里。发现后台可以对用户组进行权限设定。于是乎,设定了一些菜单的权限。而且设定功能感觉也很强劲,因为可以设定子菜单是否可以访问呢。然而让人郁闷的却是,系统根本没有调用过这些权限。也就是说,你全部白设定了。
靠。太让人郁闷了。没完成你别放出来嘛。。。心都凉了。

顺便再说一个小BUG,UserSearch里如果要加入新的元素,你必须是这个元素为4个值的数组,即下标从0~4,如果ONLY第2个元素,你根本插不进数据库。【不多解释,如果增加内容到UserSearch里的人一定会注意到这个小BUG。。。。】

thinkSNS 一些BUG列表

thinkSNS 一些BUG列表

thinkSNS在最近的一段时间开发中,发现了不少BUG。。。没办法,谁让要用他的呢?

1、blog删除后跳转代码为redirect('index'),i应该大写,否则会报页面不存在的错误。
2、一些widget放在<inlucde footer>[<-左侧是伪代码]后面,导致有时候不能解析。好奇怪。。。有时候能够解析。
3、后台权限管理不正常,明明只选了一些简单的权限,但却多了一些不该有的权限。【准备改了,个人站点应该遇不到。毕竟就一个管理员】
4、如果后台把游客查看博客的权限打开,在前台反而会出错,因为博客页有评论,而读取评论列表时需要登录 。

其他一些未知BUG随着开发会越来越多。。有时候发现,thinksns作者是不是有点太粗心了?

不过。期望能够看到小游戏插件。黑黑,对分数排名很喜欢。

购置了台式机硬盘盒

购置了台式机硬盘盒

昨天在易讯买了台式机的硬盘盒,主要是我现在没有台式机了,而却还有两块硬盘。更烦人的是一块是IDE的,一块是SATA的。。。找了好久没有找到台式机的硬盘盒支持两种接口的,这不,看到一个支持两种接口的就赶紧买了下来。

好象现在台式机的硬盘盒都是带电源的,而单位只有两个插槽,让我郁闷了。。

回家后把硬盘里的东西整理了一下,主要是几年前写的代码。还有一些软件。现在要下载的话得花很久时间。

然后过两天把笔记本里的资料转移到台机硬盘中。重格重分区,准备装win7。。。

话说,俺的win7是lenovo的升级版。。。yeah

命名函数表达式探秘

命名函数表达式探秘

应该来说,本文对于了解JS命名表达式有着非常重要的作用。就象文中说的:

简单来讲,命名函数表达式只有一个用处——在调试器或性能分析程序中描述函数的名称。没错,也可以使用函数名实现递归,但你很快就会知道,目前来看这通常是不切实际的。当然,如果你不关注调试,那就没什么可担心的。否则,就应该往下看一看,看看在跨浏览器开发中都会出现哪些小毛病(glitch),也看看应该怎样解决它们

所以,了解一下也算是挺不错的。再加上为之漫笔的翻译功底。。

不过,由于页面过长,我这里还是只贴一下列表就完事了。详细的内容请直接到为之漫笔的网上去看。当然,我是建议下载下来,毕竟就一个HTML文件。时不时的看看还是不错的啦 。

目录如下:

  1. 前言
  2. 函数表达式与函数声明
  3. 函数语句
  4. 命名函数表达式
  5. 调试器中的函数名
  6. JScript的bug
  7. JScript的内存管理
  8. 测试
  9. Safari中存在的bug
  10. SpiderMonkey的怪癖
  11. 解决方案
  12. 替代方案
  13. WebKit的displayName
  14. 对未来的思考
  15. 致谢
译者:为之漫笔

来源:http://www.cn-cuckoo.com/wordpress/wp-content/uploads/2009/12/named-function-expressions-demystified.html

尝试开放labs.neatcn.com

尝试开放labs.neatcn.com

这是一个尝试,其实在我的域名下已经有很多这样的实验性的代码了。不过都没有一一公布而己。

当然页面还没有做,提供的接口也仅仅是FOR PHPRPC的。【不是不想用hprose,实在没钱】

慢慢来吧。准备找个漂亮的页面抠回来写文档。呵呵

随记而己

ucapi注意:uc_feed_get函数的参数

ucapi注意:uc_feed_get函数的参数

discuz的几乎所有程序都有一个:加入事件,那么,其他平台怎么获取这个事件呢?那就是uc_feed_get方法了。但 事实上,有很多人都没有注意过这个方法有第二个参数。

如果你直接去uc的uc_feed表查看,你会经常性的发现这个表是空的。而autoIndex却很大,这又是为什么呢?

于是打开uc_client方法,却发现这个函数有两个参数,第一个参数是一次获取的条数,第二个参数是Delete,默认值为true,也就是说,获取完多少条后,他都会自动删除。因此uc_feed表就几乎是永远空着了。

但问题也就在这里。我怎么知道是哪个系统获取了这些feed呢?A系统获取Feed后,B是不是也获取到了呢。又怎么处理的呢?没有仔细看代码。。。

文档中uc_feed_get只提供了一个参数limit,可以查看:http://www.ucapi.com/api/feed.htm

建议在开发的时候,先找一个uc_feed_get方法。自己写程序处理。否则,应该会出现a系统有Feed,B系统没有Feed的情况。【慎重,主要还是没有队列。。。或者推送机制,否则在有了feed后,同步向各个系统推送一下Feed呢?不就结束了?】

uchome的UC接口中有一个addfeed方法,理论上是应该在其他系统添加后往uc.php推送的。只是没有看到哪里有推送代码。。。难道是放在事件中?迷惘了。

成长的烦恼

成长的烦恼

这个标题,象我们这些70后80后,基本上都算是比较熟悉的了。想当年,虽然不能说是万人空巷看这个片子,最少也是一家们坐在一起看吧?

可以这么多,每个小孩子都希望自己的父母亲能够象迈克的父母那样。而每个父母估计也会希望自己的小孩象开萝而不是迈克。。。

小时候,我自然也会这么想,要是父母能够再开明一点多好?长大了,现在却是在希望小孩以后不要象迈克那样调皮,最好能象开萝一样用功,当然能够在灵性上象迈克就行了。

愿望都是美好的。只希望自己以后对小孩还是放松一点。没必要把自己吃过的苦受过的痛都让自己的下一辈承受。爱读书最好。不爱读书,也希望他有个正常的爱好。你看,成长的烦恼里,那么不爱读书的迈克最后也成了教书育人的老师了。不是吗?

人,总会长大的嘛

乱弹

乱弹

如果看了《阿凡达》不写点什么,是否都会被人鄙视一番?
一部《阿》剧惊动了多少人啊。听说首映当天有人开车到上海来看完后,再连夜赶车回南京。也不知道是真是假 。
反正首映结束后,第二天网上一些网站的《阿》剧专题里就有人说:看2D《阿》剧,和看枪版没啥区别。
如果不是正好周四单位放假,我恐怕也没有时间去看吧。。所以看完后,今天就想着要写一点东西了。

《阿》剧在中国人看来没有啥内涵,其实也很正常,如今的网络小说,什么穿越、重生、未来、异世、修真等,自然看起来没啥内涵。。twocold说强拆的事情在我们看来是天经地义的,唯有老外(包括外星人)想不通了。

看看这个傅红雪写的《阿凡达》里反应出来的装修问题,也算是真能看的。

我是没有看出这些东西,我只是觉得在两个镜头的时候震撼了一下,一个是阿凡达刚刚进入森林时,从高处往 下看时,还有一个就是刚刚乘上大鸟在飞翔时,我这个有恐高症 的人立刻有很大的震撼了。这是以往 看2D电影所没有的感觉 ,也是从来未有过的。。

场景,是这部电影最让人震撼的,再加上3D效果,十年一剑,果然非常强悍,一时国内影评纷纷认为,差距巨大。距离相差几十年也有吧。一同事说,不是几十年能够达到的,还是用光年做比较才行。。

其实仔细想想,泰坦尼克号的3D国内至今 也没有能够完全实现过。当时所谓最顶级的3D效果也就是把。。。

不过我老婆看完后说的却是:怎么主角都是叫杰克?

来自淘宝UED的手机网站开发必修课[2009总结版]

因为自己的手机是G2,所以对于这方面的就稍关注了一点点。本想也想做个手机软件下载站,但不是官方一来无法收集全所有的程序,二来也没有什么市场软件提供。不能够精简流量。所以也就短暂的放弃了这个想法。

看到UED的关于手机开发网站的必修课。所以先记录一下。

以下是内容,很长哦。。。慢慢看,来自手机网站开发必修课[2009总结版],原文中还有一幅进化图:

从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年。一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多。

手机网站开发,有着许多不为人知的困难:

一是可参考的资料太少,大部分手机网站都处于起步阶段,很多的时候都是摸着石头过河,而鉴于淘宝自身的特殊性,也使得我们在参考成功案例之余,要做更多的思考;

二是兼容性工作异常艰辛,难度一点也不比web网站的兼容性工作来的低(关于这点,请参见我之前的文章);

再者作为一个手机网站的前端开发,也往往容易被人忽视(包括我们自己),大家也许会觉得做好一个手机网站能有多难,了解一点XHTML、一点 CSS,甚至不需要对JavaScript有什么研究,事实却不是如此,正因为手机网站的开发受到设备的太多限制,前端们常常为了节约几个字节而纠结万 分,写出语义化良好的代码也显得更加重要,而多版本的开发需求也对于JavaScript的优雅降级要求甚高,这样才能使得网站有分版本需求的时候可以公 用同一套XHTML代码,最大程度的降低开发成本。

对于手机网站来说,相信现在仅仅只是个开始,随着各种新机型的相继面世,这块领域必将成为兵家必争的新高地。

注意:由于手机网站发展迅速,请参阅者注意本篇文章的发布时间。

目录

  1. 手机用户设备统计分析
  2. 手机浏览器兼容性测试结果概要
  3. 手机网站开发中你需要注意的问题
  4. 推荐参考资料
  5. 总结

手机用户设备统计分析

拥有全面的用户数据,无疑能帮助我们做出更符合用户需求的产品。内部数据能帮我们精确了解我们的目标用户群的特征;而外部数据能告诉我们大环境下的手机用户状况,并且能在内部数据不够充分的时候给予我们一些非常有用的信息。

从外部数据来看,09年10月到11月期间

国内浏览器品牌市场占有率前三甲为:

  • Nokia(78%)
  • Opera(OEM) (10%)
  • iPhone(Safari) (3%)

国内的手机操作系统前三甲为:

  • Nokia SymbianOS(80%)
  • iPhoneOS(6%)
  • SonyEricsson(5%)

当然,作为中国的手机网站开发者,不能忽视强大的山寨机市场(或者应该叫作做国货精品手机市场?)。顺便提一下,这类手机通常使用的是MTK操作系统。

(以上数据均来自statcounter.com)

手机浏览器兼容性测试结果概要

注意:以下所说的“大多数”是指在我们测试过的机型中,发生此类状况的手机占比达50%及以上,“部分”为20%到50%;“少数”为20%及以下。而这个概率也仅仅只限于我们所测试过的机型,虽然我们采集的样本尽量覆盖各种特征的手机,但并不代表所有手机的情况。

XHTML部分

大多数手机不支持的:

  • 表单元素的“disable”属性

部分手机不支持的:

  • “button”标签
  • “input[type=file]“标签
  • “iframe”标签。

虽然只有部分手机不支持这几个标签,但因为这些标签在页面中往往具有非常重要的功能,所以属于高危标签,要谨慎使用。

少数手机不支持的:

  • “select”标签:该标签如果被赋予比较复杂的CSS属性,可能会导致显示不正常,比如”vertical-align:middle”。

CSS部分

大部分手机不支持的:

  • “font-family”属性:因为手机基本上只安装了宋体这一种中文字体;
  • “font-family:bold;”:对中文字符无效,但一般对英文字符是有效的;
  • “font-style: italic;”:同上;
  • “font-size”属性:比如12px的中文和14px的中文看起来一样大,当字符大小为18px的时候你也许能看出来一些区别;
  • “white-space/word-wrap”属性:无法设置强制换行,所以当你网页有很多中文的时候,需要特别关注不要让过多连写的英文字符撑开页面;
  • “background-position”属性:但背景图片的其他属性设定是支持的;
  • “position”属性;
  • “overflow”属性;
  • “display”属性;
  • “min-height”和”min-weidth”属性;

部分手机不支持的:

  • “height”属性:对”height”的支持不太好,奇怪的是在我们的测试当中,仅仅只有很少部分手机不支持”width”属性;
  • “pading”属性
  • “margin”属性:更高比例的手机不支持”margin”的负值。

少数手机不支持的:

  • 少数手机对CSS完全不支持;

JavaScript部分

这部分测试相对不那么让人抓狂,要么干脆不支持,如果支持的话,对基本的dom操作、事件等支持度都还不错。但我们没有测试过很复杂的脚本。

在我们测试过的手机当中,支持(包括不完全支持)JavaScript的手机比例大约在一半左右,当然,对于我们来说,最重要的不是这个比例,而是要如何做好JavaScript的优雅降级。

其他

  • 部分手机不支持png8和png24,所以尽量使用jpg和gif的图片
  • 另外对于平滑的渐变等精细的图片细节,部分手机的色彩支持度并不能达到要求,所以慎用有平滑渐变的bar设计
  • 部分手机对于超大图片,既不进行缩放,也不显示横下滚动条
  • 少数手机在打开超过20k的测试页面时,会显示内存不足

开发中你需要注意的问题

  • 手机网页编码需要遵循什么规范?
    遵循XHTML Mobile Profile规范(WAP-277-XHTMLMP-20011029-a.pdf),简称为XHTML MP,也就是通常说的WAP2.0规范。 XHTMLMP 是为不支持XHTML的全部特性且资源有限的客户端所设计的。它以XHTML Basic为基础,加入了一些来自XHTML 1.0的元素和属性。这些内容包括一些其他元素和对内部样式表的支持。和XHTML Basic相同,XHTML MP是严格的XHTML 1.0子集。
  • 网页文档推荐使用扩展名?
    推荐命名为xhtml,按WAP2.0的规范标准写成html/htm等也是可以的。但少数手机对html支持的不好。
  • 为什么现今大多数的网站一行字数上限为14个中文字符?
    由于手持设备的特殊性,其页面中实际文字大小未必是我们在CSS中设定的文字大小,尤其是在第三方浏览器中。例如Nokia5310,其内置浏览器 页面内文字大小与CSS设定相符,但是第三方浏览器OperaMini与UCWEB页面内文字大小却大于CSS设定。经测试,其文本大概在16px左右。 假如屏幕分辨率宽度为240px,去除外边距,那么其一行显示14个字以内,是比较保险(避免文本换行)的做法。
  • 使用WCSS还是CSS?
    WCSS (WAP Cascading Style Sheet 或称 WAP CSS)是移动版本的CSS样式表。它是CSS2的一个子集,去掉了一些不适于移动互联网特性的属性,并加入一些具有WAP特性的扩展(如-wap- input-format/-wap-input-required/display:-wap-marquee等)。 需要留意的是,这些特殊的属性扩展并不是很实用,所以在实际的项目开发当中,不推荐使用WCSS特有的属性。
  • 避免空值属性
    如果属性值为空,在web页面中是完全没有问题的,但是在大部分手机网页上会报错。
  • 网页大小限制
    建议低版本页面不超过15k,高版本页面不超过60k。
  • 用手机模拟器和第三方手机浏览器的在线模拟器来测试页面是不是靠谱?
    有条件的话,我们当然建议在手机实体上进行测试,因为目标客户群的手机设备总是在不断变化的,这些手机模拟器通常不能完全正确的模拟页面在手机上的显示情 况,比如图片色彩,页面大小限制等就很难再模拟器上测试出来。当然,一些第三方手机浏览器的在线模拟器还是可以进行测试的,第三方浏览器相对来说受手机设 备的影响较小。

推荐参考资料

开发权威网站

经典开发文章

手机型号查询

总结

目前来说,手机网站开发是个典型的设备驱动开发的过程,页面被设计成什么样,能做到怎么样,几乎全取决于目标客户的手机设备情况。

所以,对手机设备的了解,对于设计开发过程有着直观重要的作用,对于前端来说,就需要有计划的进行长期的手机浏览器兼容性测试,什么样的设计能被实现,什么样的标签可以使用,这些都需要有数据的支持。

我们必须有这样的认知,开发的手机网页总是会在或多或少的手机设备上出现问题,因为我们永远无法知道所有用户的手机设备情况,所以我们更要尽量的遵循标准进行开发,这样才能将满足用户的比例做到最好。

任何一个领域都有值得你进行深入了解的地方,即使现在看起来,手机网站的开发还有点不入主流,但我相信,随着手机设备的更新换代,总有一天它也会成为我们占领客户的一个重要战场,iphone这类有符合web标准的浏览器的手机发布,也给了我们更多的信心。

总之,革命尚未成功,同志仍需努力。顺祝大家新年快乐!

使用PHPRPC时的一点点郁闷 。。

使用PHPRPC时的一点点郁闷 。。

不想多说啥。。。随便上代码 。。【include的时候是伪代码】

include(phprc)
include(classfile);
if(isset($_SESSION['t'])){
$_SESSION['t'] = new classfile;
}
$server = new phprpcserver;
$server->add($_SESSION['t']);
$server->start();

不正常。。。如果把上面代码的第1、2行颠倒一下就行了。即:

include(classfile);
include(phprc);

OK,一切正常了。开始没发现。因为官方的例子是把测试用例写在同一个文件里。。所以一点问题都没有。。
郁闷了整整一天