javascript的闭包

今天又在无忧看到闭包的使用了,整理一下闭包的东西。 闭包的定义非常晦涩——闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭 …


document.getElementsByClassName的理想实现

各种实现方式 Pure DOM 通常先使用getElementsByTagName(“*”)取出文档中所有元素,然后进行遍历,使用正则表达式找出匹配的元素放入一个数组返回。由于IE5不支持document.getElementsByTagName(“*”),要使用分支document.all以防错误。 The Ultimate g …


javascript测试函数运行速度

通常我们需要对函数进行优化,一般的做法是开始的时候获得时间,结束的时候再获得一次时间,两次时间相减就能到到花费的时间。而函数运行速度之快,基本上都是毫秒级的。下面给出的函数就是就此准备的。


Ruby常用的内部变量

在ruby程序中,经常会看到一些以$开头的变量,这些不是指我们自己在程序中设置的全局变量,而是指系统内部已经设置好的变量,他们代表了一些特定的意思,下面搜集了一些常用的内部变量,用一些简单的代码说明他们代表的意思:


利用thinking sphinx实现全文检索

随便抄几段介绍一下Sphinx。 Sphinx支持高速建立索引(可达10MB/秒,而Lucene建立索引的速度是1.8MB/秒) 高性能搜索(在2-4 GB的文本上搜索,平均0.1秒内获得结果) 高扩展性(实测最高可对100GB的文本建立索引,单一索引可包含1亿条记录) 支 …


update_all

Base.update_all(updates, conditions = nil, options = {}) 前面为执行语句,后面为where语句。 源码 # File active_record/base.rb, line 670 def update_all(updates, conditions = nil, options = {}) sql = “UPDATE #{table_name} SET #{s …


利用acts_as_ferret实现全文检索

acts_as_ferret是在Rails中实现全文检索的插件,它的实现基于Ferret,Ferret是Apache Lucene的ruby接口。有关acts_as_ferret的介绍网上很多,教程也很多,是早期rails最重要的全文检索插件,不过要老外支持中文检索可谓是天荒地潭,javaeye中讲述中文支持 …


利用fleximage实现图片上传

flexmage现在是rails中上传图片与处理图片的首选,就算是paperclip也比不上它。它对Rmagick做了一层很人性化的封装,让我们处理图片更加便捷。比起paperclip,它原生就支持远程URL上传图片和删除硬盘上的附件。


利用paperclip实现图片上传

现在rails上最火的两大上传图片插件是fleximage与paperclip。如果单是处理图片,一气呵成的话,当然是fleximage,但如果还要上其他mp3,flv等附件,做成多态关联,那就选paperclip。嘛,在一般的功能上,paperclip还是比老一辈的上传插件要优胜不少,如什 …


搭建rails运行环境

今天重装系统,重新搭建rails的运行环境,因此以下命令都是面对最新出现的情况。 安装Ruby One-Click Installer 注,尽量不要安装那些新的版本,本来ruby与rails对window都不太友好,通常这些类库的mswin32版本都是最晚出。贸贸然充当小白鼠,苦头有得 …