首页 › 日存档 › 2009年10月16日

用Sphinx 建立搜索引擎

1. 介绍

实际上 sphinx的网站上的title 说的很清楚,这个是一个 “免费开源的SQL 全文索引搜索引擎”。当然,它不是一个完整的搜索引擎,只提供索引 查询接口。所以,学习sphinx 主要是要学习:如何建立索引,如何调用查询接口。

他的作者只有一个人,但是,功能的确非常强大。目前,支持下面的特性: 继续阅读 »

探索.Net中的委托

废话

我本来以为委托很简单,本来只想简简单单的说说委托背后的东西,委托的使用方法。原本只想解释一下那句:委托是面向对象的、类型安全的函数指针。可没想到最后惹出一堆的事情来,越惹越多,罪过,罪过。本文后面一部分是我在一边用SOS探索一边记录的,写的非常糟糕,希望您的慧眼能发现一些有价值的东西,那我就感到无比的荣幸了。 继续阅读 »

javascript判断浏览器类型与版本

要想写出跨浏览器的javascript,就必须懂得嗅探技术。这是浏览器大战遗留下的大地雷,事已如此,只好认命,乖乖写分支结构吧,函数就是这样不知不觉中变长的。

先看单一浏览器的判断,我们没有必须去找navigator.userAgent的麻烦,我在国外的博客网站收集了如下hack,短小精悍:
继续阅读 »

extjs学习笔记(三)最基本的grid

闲来无聊,随便看下asp.net Mvc 的收获

从星期一,一直无聊到今天,老板都没安排我事做,但是他们都忙得要死。


星期二的时候,看了几篇心理学的文章。里面说,人不知道在做什么的时候,有两种选择:1,什么都不做。2,去做点什么。

于是我昨天尝试着什么都不做,上上网,看看非技术书籍的书。结果发现,下午的时候,人就眼花了,然后脑袋一片空白,晚上回去,感觉精神有点恍惚,并且一直眼花。

今天早上,第一个想法,去做点什么。无聊翻开asp.net mvc,想学习学习看看别人怎么设计东西的。然后就看到一段代码,

public static void EndForm(this HtmlHelper?htmlHelper)

这个方法的类是在 System.Web.Mvc.Html.FormExtensions 里的。一时看到这个 this,不知道有何用意?开始绞尽脑汁回想我那屁大专教育让我学的N门编程语言,里面是否有这个语言细节,还是没回想起来。于是乎开始 google,找了半年,就找到C# 函数参数类型名称前的就是 ref params out,三个修饰符。没有发现 this 的作用,于是乎,我又试着把这个 this 去掉,看会不会报错。结果编译通过。

Asp.net控件开发学习笔记(十)—-服务器控件生命周期

在每一次httpRequestResponse周期asp.net web form都会执行一系列被称为控件生命周期的预定义过程

继续阅读 »

EXTJS学习笔记:grid之gridview

extjs中的grid的挺功能强大,以下是我自己做项目时用到的显示访客信息的一个grid,我将通过这个来分析grid的用法以及与SQL2000等数据库的连接过来。 我们就从最简单的grid开始,一步步来看看extjs给我们提供的grid究竟给我们提供了哪些功能。
在EXTJS中,一个grid包括行、列以及其他辅助信息,在extjs里边,列由Ext.grid.ColumnModel来管理,我们来看看如何创建一个ColumnModel对象:

继续阅读 »

Google App Engine搭建自己的CDN

似乎性能优化永远都是属于门户网站的事儿,与咱们小民无关?!
这种想法在网络技术高速发展的今天,似乎有点落伍了。如果你是专业从事互联网的技术人员,甚至是负责优化公司网站的专家,自己的小站也别忘记适当地优化一下,

好像只有雅虎的人平时谈论这个问题比较多,是因为雅虎发明了YSlow和一套检验网站性能的机制?如果你使用的是Firefox,可以安装YSlow,来查看自己网站的性能,根据提示进行优化.总结一下,作为个站,可以做的优化工作大概这么几个:

  1. 使用更少的HTTP请求;
  2. 使用CDN
  3. 把CSS放在页面顶部(放<head>里)
  4. 把JS放在页面底部(紧跟着放</body>前就行) 继续阅读 »

PHP正则表达式收集

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
继续阅读 »