这周发了个etpl的node包装器,到npm上,以及对应的github地址:https://github.com/wslx520/etpl-wrap

为什么会有etpl-wrap?

etpl是我用过的一款非常强大的模板引擎,该有的功能都有。

etpl是可以用在node环境下的,但用法与我想像中的不一样。

这就要从我学习koa说起了,我学的koa2,他有一个koa-views的中间件,用来接入渲染模板文件的功能。但理所当然的是,无法与etpl配合起来使用。继续阅读

今天在图灵社区发现一本书,《JavaScript设计模式与开发实践》,有意购买,网页上也就有几个主要图书电商网站的购买链接,比如当当,京东,亚马逊等,我打开了当当与亚马逊,居然发现亚马逊的价格超便宜!

一本原价也50多(本身也不算贵)的书,亚马逊居然标价39.5,相当于7-8折吧。

amazon

当当标价51.4.不知道是亚马逊正在搞活动还是咋的。

可以去看看,过期不候。JavaScript设计模式与开发实践 当然,如果价格比39.5高了,大家可以再等等。

另外我发现,当当的网页变漂亮了。。看来我已经好久没买过书了,不过亚马逊的页面还是一如继往

问题发生在我帮别人远程安wordpress的时候。

通常是输入数据库相关信息后,点下一步,就报一片英语错误,最显眼的是:Internal Server Error,以及让你联系管理员之类的(我就是管理员,靠!)

为了解决这个问题,我用过 https://www.aliyun.com/zixun/content/3_12_194015.html 里说的办法(也是别人转到阿里云上的),好不容易找到。解决办法简单的说是改WP的文件:wp-includes/class-http.php。

改了后,可以安装了,结果又有问题:无法在线安装WP插件。进入安装插件页面,本来会显示WP插件推荐,但实际上却报:发生意外错误,可能是wordpress.org。。。

今天我终于把这个错误与前面改掉的文件联系起来了,于是我改回原样传上去,好吧,又报Internal Server Error了,网站直接进不去了。

气得我马上填了个阿里云的工单,因为这是我第2次重装WP了,还是故意找的较低的版本。

刚发去就有人回了,让我在空间管理后台切换php版本至5.3以上

就此问题解决。也不报错了,插件也能正常安了。

虽然对阿里云处理工单的速度挺满意,但还是很好奇为啥aliyun默认的PHP版本不能适配wordpress较新的版本(最新都4.4了,我用4.0安也安不起)

完毕

自从我按上一篇文章里改了xmlrpc.php受攻击的问题后,网站一直稳定运行,哈哈,心情舒畅!看来并不是空间商的错了。

本文插了一张图,是放在七牛云上的,如果加载不了,则表明七牛云的外链出了问题。

七牛有一个非常好的地方,在于你可以随意调用一张图片的不同规格,比如加上缩略图,加水印等。示范:继续阅读

最近我的wordpress空间总是报“资源使用超限”的错误,经常导致网站进不去了。而且有时候是我忙了好多天偶然来看下网站,却发现不能访问,真是让人惶恐。

多数资源超限的情况,看空间的cpanel,都是cpu 100%,或Entry Processes达到了10,有一次是磁盘用光了。cpu 100%我以为是空间太差,磁盘用光了这种错哪会出现啊!?结果ftp登上去找了一圈,发现根目录下生成了一个400多M的.errlog文件,fuck!

磁盘满事件过去几天了,我网站还是经常崩溃,而空间商也找不到原因。让我很失望,都打算另找一家了。

结果今天进cpanel,在Metrics面板下看到了Visitors链接,一时好奇进去看,发现:继续阅读

其实我想说的是我这个站是备过案的,站长工具查本域名就能查到,但我用几个平台查询我的备案信息,有的有有的没有,并且我把备案信息提给了畅言的。

但今天来网站突然发现畅言的提示:评论功能已无法使用。。。进他后台一看我提的备案信息空了,应该是没通过。

那么好吧,我就先不用畅言了。

真不该尝试使用国内的评论管理插件,应该早料到会有这么一天的。虽然名字叫畅言,但实在“畅”不起来。

本文只是提一些关于混淆与压缩的想法,可能会偶发抽风型更新。

混淆

混淆就是尽量让JS代码看不懂。

JS的变量名可以以字母或特殊符号开头,但不能以数字开头.

1a不是一个合法的变量名,但_1a就是

JS的变量名开头能用的特殊符号只有两个:$和_.前者被jquery等发扬光大,后者则由underscore占据.

混淆可以让格式良好的代码都看不懂,就是把变量名函数名通通变成_1,_2,_11,_a,_1a2c这种(easyui就是这么搞的).

相比a,b,c,我觉得_1,_2,_3这种名称更让人混淆,虽然后者更长.继续阅读

加入新公司后,一直忙得飞起。由于在新公司的工作包括写一些公用组件,比如日历啊,分页啊什么的,这个分页组件我觉得要用的人比较多,所以把它独立了出来,做成了一个无依赖的原生JS版本,供需要的人使用。

注:新公司使用了一个自己的框架,写组件的方式与jQuery或原生JS都不一样,所以要做提取工作。

xPagination.js参数说明,示例,在线预览请见:http://wslx520.github.io/pagination/index.html

xPagination.js源码请见:Github

本文只是说明一下写这个组件的一些思路,仅供参考。继续阅读

javascript中for循环非常常用,一般写法如下:

1
2
3
4
for(var i = 0;i< arr.length;i++) {
        var a = arr[i];
        //...
    }

这就是一个常见的,正序循环的for循环。这样写的缺点大家都明白:每次都从arr里取length与i来对比,浪费性能(而且,要是arr的长度是动态变化的,就会出现死循环)。改进这个循环的办法是用变量保存arr.length:

1
2
3
4
for(var i = 0, al = arr.length;i< al;i++) {
        var a = arr[i];
        //...
    }

这样比第一种可以略微提升点性能,要是数组长,可以提升更多。继续阅读