Updates from 十二月, 2010 Toggle Comment Threads | 键盘快捷键

  • xilo 8:41 pm on 2010年12月3日 链接地址 | 回复  

    mailman订阅邮件服务器 

    FreeBSD + mailman + Python

    2010-12-03补充

    客户端程序phplist

    email服务器:linux多种

     
  • xilo 9:39 am on 2009年09月10日 链接地址 | 回复
    Tags: IE6,   

    JQuery validator 在 IE6 下失效 

    JQuery validator 在IE6下失效, 谁让jquery-plugin-validation是外国人编写的。默认iso-8859-1编码。所以jquery.validator.js在其他编码中有乱码,解决方法有两种:

    1. 去掉乱码 (修改源代码)
    2. 加上charset, 例如: <script src=”/js/jquery.validate.pack.js” type=”text/javascript” charset=”iso-8859-1″></script>

    (附:网上有人说与ie6对pack版支持不好,用min即可解决,我尝试了下,此法行不通。)

    (注:IE8相对IE7容错功能要好些,那个在js中容易忽视的逗号,IE8通过,IE7报错。唉!万恶的IE6啊,万恶的IE啊!)

     
  • xilo 8:58 am on 2009年09月9日 链接地址 | 回复
    Tags: lastModifed   

    获取文件自身更新时间 

    需求需要 自动获取文件自身的更新时间。本想js就有函数lastModified就能实现,直接write document.lastModifed就可以了,本地测试OK,可上传至服务器就出现 时间随即时时间变化。上网查了下。

    有这么段:

    在http中Last-Modified 与If-Modified-Since 都是用于记录页面最后修改时间的 HTTP 头信息,注意,在这 Last-Modified 是由服务器往客户端发送的 HTTP 头,另一个 If-Modified-Since是由客户端往服务器发送的头,可以看到,再次请求本地存在的 cache 页面时,客户端会通过 If-Modified-Since 头将先前服务器端发过来的 Last-Modified 最后修改时间戳发送回去,这是为了让服务器端进行验证,通过这个时间戳判断客户端的页面是否是最新的,如果不是最新的,则返回新的内容,如果是最新的,则 返回 304 告诉客户端其本地 cache 的页面是最新的,于是客户端就可以直接从本地加载页面了,这样在网络上传输的数据就会大大减少,同时也减轻了服务器的负担。

    看来要采取别的方法了,再说不能禁止apache的Last-Modified呀。

    找了找PHP函数,果真有(PHP太方便了!)

    函数 filemtime(“文件名称”)就可以获取到了,所以直接替换成<?=date(“Y-m-d H:i:s”,filemtime(__FILE__));?>就OK了。(__FILE__是获取文件名称,filectime为获取文件创建时间。)

     
  • xilo 1:42 pm on 2009年04月17日 链接地址 | 回复
    Tags: svn   

    apache配置svn 步骤 

    最近接手的项目有点多了,太多的代码记不住了,而且前一个项目还没开发完,马上就终止开发下个项目(:-( 成了老板赚钱的工具了),一下子有点手忙脚乱。所以打算搭建svn进行版本控制。

    网上的教程五花八门,没点apache配置基础的估计就会被耍的团团转了。看了n篇文章,最终自己总结搭建起SVN,感叹网上的文章还真是…

    下面的文章主要针对:“apache2.2 + svn1.61 + 虚拟目录 + 多项目版本 + 多用户” 的配置

    我选用的svn服务器版本

    http://subversion.tigris.org/getting.html#windows

    CollabNet的zip 1.61版本 :http://subversion.tigris.org/files/documents/15/45600/svn-win32-1.6.1.zip

    解压至subversion目录 eg:d:\subversion

    apache以mod方式加载,所以复制bin下面的两个mod文件到apache的modules文件夹下。然后把bin所有的dll文件复制到apache的bin目录下,有的会覆盖,看版本的新旧而定了。(注:网上也有把subversion的bin目录写入环境变量path里,如果按照以上步骤做,这部算是重复的;如果写环境变量,记得重启,windows系统重启后会自动加载环境变量指向目录中的dll与exe路径,有点系统基础的人会明白。)

    (阅读全文 …)

     
  • xilo 9:58 am on 2008年09月25日 链接地址 | 回复
    Tags: IE hack, if ie, if lte   

    IE hack [if IE]… 

    最近制作下拉菜单时,打算用纯CSS,忽又看到令人头痛的CSS hack代码(平时很少关注),记录下来以作备用。

    <!–[if lte IE 6]>………….<![endif]–>

    Ite:less than or equal to意思是小于或等于IE6浏览器,用于IE浏览器的条件注释,常用于CSShack,针对IE的JS等。

    以下是各种情况,未验证。

     
    1. <!–[if !IE]><!–> 除IE外都可识别 <!–<![endif]–>
    2. <!–[if IE]> 所有的IE可识别 <![endif]–>
    3. <!–[if IE 5.0]> 只有IE5.0可以识别 <![endif]–>
    4. <!–[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]–>
    5. <!–[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]–>
    6. <!–[if IE 6]> 仅IE6可识别 <![endif]–>
    7. <!–[if lt IE 6]> IE6以下版本可识别 <![endif]–>
    8. <!–[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]–>
    9. <!–[if IE 7]> 仅IE7可识别 <![endif]–>
    10. <!–[if lt IE 7]> IE7以下版本可识别 <![endif]–>
    11. <!–[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]–>

    2008.12.15修正

    条件注释语法:

    [*]gt /Greater than/大于/<!–[if gt IE 5.5]>
    [*]gte /Greater than or equal to/大于等于/<!–[if gte IE 5.5]>
    [*]lt /Less than/小于/<!–[if lt IE 5.5]>
    [*]lte /Less than or equal to/小于等于/<!–[if lte IE 5.5]>
    [*]! /Note/不等于/<!–[if !IE 5.5]>

     
    • sff 11:10 下午 on 2008年12月14日 链接地址

      IE6是看不到的,只有小于IE6才可看到,误导别人,请自己测试。

    • xilo 11:47 上午 on 2008年12月15日 链接地址

      确实有问题,虽然写了未验证,但发布到网上,尤其是技术文章就应当保证他的正确性。已修正,欢迎更多建议。

  • xilo 12:32 pm on 2008年07月1日 链接地址 | 回复
    Tags: PHP站内搜索, 解决方案   

    PHP站内搜索解决方案[原创] 

    好久没写技术文章了。最近也是在公司开发Oready项目,所以一直没能抽出时间。

    这次的问题是 站内搜索 相信大家开发项目是都会遇到这个问题。以至于我在开发下个项目时,曾一度想把所有类似新闻样式的信息放到一个表中。当然这种想法也不是一点可取之处也没有。当所有信息都类似且均以文章样式呈现给用户时,可采用这种方法,缺点是中间层处理上容易造成混乱,代码不可读,数据冗余。

    好了切入正题。

    解决方案一:

    采用Google站内搜索。好处是:简单,直接,省时。可用在个人Blog或者小型企业网站,或者临时站点上。缺点:最大的缺点不是Google图标,而是需要一个缓冲的时间,等待Google收录你的站点信息,当然专业网站同样不适用这种小方法。

    解决方案二:

    首先,写个分词算法。这个是基础。其次,后台数据保存数据时进行分词,把分词结果存另外的表,信息包括被处理的记录ID,分词后的词语hash值。然后,当搜索时,先进行分词,求每个词的 hash值,select id from table where hash = $hash union…

    这个估计是很多大型专业站点的通用方法。关键在分词。优点:专业,好处多多,能够被用户所接受。缺点:开发周期长,麻烦。

    好在现在有现成的分词插件,开发者只需安装,修改,调试即可达到全文搜索。不过,还不会应用到我的项目中,究其原因就是企业的稳定性大于一切。

    下面给出MYSQL的-5.1.11~12 全文检索分词插件【链接

    还有一个是Sphinx【链接

    解决方案三:

    lucene搜索 (重量级别的。)

    推荐一篇很好的文章 http://www.ibm.com/developerworks/cn/opensource/os-php-apachesolr/index.html

    正所谓条条大路通罗马,应该还有其它更加完善的方案,我在这里举出的是我能想到的。

    原创作品,转载须告知,谢谢。

     

     
c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
esc
取消

Switch to our mobile site