301次重定向与404个错误

最近研究Web和SEO,为了更好的让网站被搜索引擎收录所以注册了Bing的网站管理员工具

Bing的网站管理员工具正题感觉上还是不错的,提交URL、提交Sitemap、抓取控制这些常用的功能都具备且可以正常使用,同时还有一些其他网站管理员工具没有的的功能,有些还是比较实用的。比如在报告与数据中有一个索引资源管理器功能,能够按照目录显示网站结构,还是比较直观的。

不过,这个就比较雷人了:

301次重定向与404个错误

301次重定向与404个错误

继续阅读全文

CSS3实现Gmail风格滚动条

经常使用Chrome浏览器浏览Gmail的朋友应该会发现,Gmail在显示比较长的内容时的时(比如常常的邮件列表或者联系人列表),右侧会出现一个灰色调的滚动条,风格与系统自带的完全不同。

Gmail滚动条和普通滚动条的对比

从左至右分别为普通状态、鼠标移动至滚动块上和拖动滚动块时Gmail滚动条和普通滚动条的对比

继续阅读全文

为WordPress添加内存级缓存

WordPress是目前最为通用的博客平台,据统计现在80%的独立博客是由WordPress搭建的。但是,WordPress占用CPU资源巨大,生成一个普通页面常常涉及几十个SQL查询和秒级的运行时间,因此对WordPress进行动态页面静态化成为优化性能的最佳选择。

现在使用最为广泛的缓存插件当属WP-Super-Cache,性能较高且功能强大,能满足大部分需求。但是,WP-Super-Cache使用硬盘作为缓存介质,在面对大流量访问时会受限于硬盘IO。因此Batcache、Super Cache Plus等内存级缓存插件产生了,但由于其配置稍显复杂且使用上不如WP-Super-Cache顺手,并未得到广泛的普及。

在这里我要介绍一种在Unix/Linux服务器上实现内存级缓存的简单方法。
继续阅读全文

JavaScript基于对象编程和Java面向对象编程的对比

问:Java和JavaScript有什么关系?

答:Java和JavaScript的关系与雷锋和雷峰塔的关系一样的。

 

雷锋和雷峰塔只是名字相似,但Java和JavaScript就不只是命名上的相似了。JavaScript借鉴了很多Java的思想和语法(同时还有C\C++),Java早时曾被叫做C加加减减,而JavaScript则被称作C减减,可见JavaScript与众多高级语言有很多相似之处。

但是,由于JavaScript是一种基于对象(object-based)的语言而不是严格意义上的面向对象(object-oriented)语言,在进行编程时则与Java有很大区别。在这篇文章里,我将把Java和JavaScript在面向(基于)对象编程方面进行简单的对比。
继续阅读全文

使用JavaScript和CSS实现异步移动侧边栏

最近帮同学(Simollus)搭建了WordPress博客。

尽管有过建Malash.me的基础,对WordPress轻车熟路,但仅限于插件之类表面的东西,在代码层面研究的并不多。这次建站一来想美化一下主题、优化一下功能,二来想拓宽一下自己的知识面,于是深入研究了一下JavaScript和CSS。

研究过程中发现ipc.me上有这样一篇文章(20个将JavaScript推到极致的网站)很有意思,其中Nike Better World的网站非常吸引我。当用户滚动页面时,会营造出一种有趣的视觉差。

受此启发,我写了一段JavaScript脚本在Simollus上实现了异步移动效果的侧边栏。

Simollus上的异步移动侧边栏

Simollus上的异步移动侧边栏预览(点击图片可看原图,未遮盖部分为浏览器可视区域)

继续阅读全文

为WordPress添加首行缩进

WordPress可以说是当前最流行的博客平台,功能强大而且有着大量的插件和主题,但在几乎所有主题中都没有考虑中文首行缩进的问题。网络上有很多人找到了解决办法,但有的过于麻烦(修改WordPress的quicktags.js文件),有的对浏览器有兼容性要求(手动添加全角空格)。最简单的办法是修改style.css文件(一条CSS让wordpress段落首行缩进两字符),但由于主题设置不同这条css语句并不能通用,那么如何对它进行修改呢?

首行缩进效果

首行缩进效果

继续阅读全文

提交代码过滤与服务器入侵

最近做了点木用的


ICE Bug 跳转后的页面
ICE Bug 跳转后的页面

做计算机导论的作业,要求在ice.buaa.edu.cn这个站点寻找Bug提交意见,于是研究了半天,从意见建议页面的提交框入手,先试着提交了一个HTML注释开头<!–,结果没有任何提交框过滤直接输出到HTML了,导致页面的后半部分全成了注释。但显然这还是不够的,于是提交了这么一个程序

继续阅读全文