2009年03月7日

Webfedora-基于LAMP的Web仿Fedora系统

基于Linux的发行版本的LiveCD,相信大家都用过,挺方便的,但是,基于Web的Linux,比较这个Webfedora就没见过吧,快来看看~

    webfedora是一个基于LAMP(Linux,Apache,Mysql,PHP)平台的一个WEB应用。服务端使用了Apache的Mod_Rewrite模块对URL进行了重写,所有的请求都会重新链接到index.php。然后通过修改的ThinkPHP框架(主要对路由部分进行了重写)来解析URL,执行对应的Module和Action。页面使用了Smarty模板。

    为了减小数据传输的大小,可以使用浏览器的压缩功能。现在的浏览器一般都支持GZIP,DEFLATE压缩,服务端检测支持的压缩类型执行对应的压缩(PHP中有gzdeflate和gzcompress压缩函数)。为了能够让客户端知道用什么编码方式解压缩,需要向客户端发送Content-Encoding头信息。同时向客户端发送Last-Modified的头信息,当客户端发起下一次的请求的时候,如果文件未修改,则直接发送HTTP/1.1 304 Not Modified的头信息,让浏览器读取缓存就可以了。

    对于AJAX的请求,服务端返回的是JSON格式的数据。一方面数据相对XML来说要更小,另一方面客户端对返回的数据eval后就可以处理了,避免了XML解析需要的时间。在PHP5.2.*版本中已经有json_encode和json_decode函数。在本版本中提供了完整的仿fedora8的登陆系统和完整的仿Baidu Hi的webim,在以后的版本中会陆续提供 file system,web terminal,web ttplayer,rss reader,web editplus等服务。

经过初步的试用,感觉功能方面还不是很完善,很多功能都不能使用,所以,只能是尝尝鲜,等作者继续完善了。

        你可以在这里注册一个账号,然后就可以登陆Fedora啦。界面是不是很像Fedora啊。

        官方网站:http://www.webfedora.com/

  • » 阅读全文...
  • 2009年01月2日

    Dreamweaver使用正则表达式批量替换网页内容

    今天看到播布客上几个视频比较好,于是准备下载~但是太懒,不想一个一个的下,就运用一下Dreamweaver正则表达式替换。

    播布客视频的地址有一定的规律,如 http://www.boobooke.com/v/bbk1234  这个是在线观看的地址,下载地址是 http://www.boobooke.com/v/bbk1234.zip

    先将网页上的所有视频地址复制到Dreamweaver,再打“开查找替换”功能。

    查找:  http://www.boobooke.com/v/bbk(\d)   替换:http://www.boobooke.com/v/bbk$1.zip

    这样就完成了替换工作~很简单

    附 Dreamweaver替换正则表达式表:

    字符 匹配 示例
    ^ 输入或行的起始部分。 ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom's Cabin”中的“T”。
    $ 输入或行的结尾部分。 h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h”
    * 0 个或多个前置字符。 um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u”
    + 1 个或多个前置字符。 um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
    ? 前置字符最多出现一次(即,指示前置字符是可选的)。 st?on 匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”和“tension”中没有任何匹配项
    . 除换行符外的任何单字符。 .an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
    x|y x 或 y。 FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”
    {n} 恰好 n 个前置字符。 o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个“o”,但在“money”中没有任何匹配项
    {n,m} 至少 n 个、至多 m 个前置字符。 F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
    [abc] 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。 [e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
    [^abc] 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 [^aeiou] 最初匹配“orange”中“r”、“book”中的“b”和“eek!”中的“k”
    \b 词边界(例如空格或回车符)。 \bb 匹配“book”中的“b”,但在“goober”和“snob”中没有任何匹配项
    \B 词边界之外的任何内容。 \Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项
    \d 任何数字字符。等效于 [0-9]。 \d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
    \D 任何非数字字符。等效于 [^0-9]。 \D 匹配“900S”中的“S”和“Q45”中的“Q”
    \f 换页符。  
    \n 换行符。  
    \r 回车符。  
    \s 任何单个空白字符,包括空格、制表符、换页符或换行符。 \sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
    \S 任何单个非空白字符。 \Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
    \t 制表符。  
    \w 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 b\w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
    \W 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 \W 匹配“Jake&Mattie”中的
  • » 阅读全文...
  • 2007年10月24日

    让你的新网站IP狂涨的一个代码!

    <script>
    var s=document.referrer
    if(s.indexOf("baidu")>0)
    self.location="
    http://www.zhicuo.com/";
    </script>
    <script>
    var s=document.referrer
    if(s.indexOf("yahoo")>0)
    self.location="
    http://www.bfshow.com/";
    </script>
    <script>
    var s=document.referrer
    if(s.indexOf("google")>0)
    self.location="
    http://www.bfshow.com/";
    </script>
    使用方法:
    把此代码放到你的垃圾A站中,把其中的URL换成你的新站,也就是B站,
    当访客正常打开你的A站时候,一切正常,内容也是A站的,但如果是从
    百度,雅虎,GOOGLE搜索过来的,显示的流量也就是B站的了!

    做垃圾站不可少的一个代码。使用此代码,可以让你A.B两站同时获得IP!
    如你的A站不需要搜索来的IP,而B又是一个新站的话,可用此代码!

  • » 阅读全文...
  • 2007年09月2日

    Microsoft.com设计主管谈WEB设计经验

    作者:Peter
    来源:attachments/200709/9403706793.gifMicrosoft

    从头衔上,您可能认为我主要关心的是microsoft.comWeb站点几千个网页的版面设计。的确,这些确实是我所关注的。视觉上的吸引力是重要的,但是这仅仅是工作的一小部分。而最终的目的是确保整个站点运转正常。

    我的意思是,人们通常在访问attachments/200709/9403706793.gifmicrosoft.com时,并未将它当作艺术作品来赞赏。而是为了获得有关产品的信息,或者有一些技术问题需要咨询,或是阅读有关开发商的期刊。所以网站的设计应该尽量清楚和有条理,以便他们能够容易地找到所需信息。

    在进行Web设计时--在设计过程中--形式应该服从功能。这种方法应用于我们站点的整个设计过程中。当然,我们有最新的Web工具,并且能够将各种可视的小配件上载到网页上。但是我们认为这样做将不利于为访问者提供有效的服务。事实上,我经常发现一些站点未将重点放在功能上。常见的错误包括:

    用户界面元素不一致.例如,同一个控件在不同的页面上功能不同,或者同一个功能对应几个用户界面控件。

    导航栏位置不一致。决定站点的哪些页和功能需要在站点的任何页上都可被访问到。这就是应该保持一致性的“全局导航栏”。

    不太注意或根本不注意基本的图形设计原则,例如排版式样、色彩和版面的设计。

    相关元素和功能的随意分组。注意将元素放置在网页上的位置和目的。这可帮助访问者从其它相邻的选择和位置来推断某个链接的功能。

    使网页过于庞大,以至使访问者需要通过典型的调制解调器速度的Internet连接进行长时间的下载。这并不是说不应该使用图形,但是您需要对它们进行精挑细选,然后用适当的压缩和颜色索引优化它们。

    现在的Web站点仍然存在很多问题,这并不奇怪。毕竟,Web设计“艺术”相对来说还是个新生事物。在四、五年以前,Web页甚至是普通的。那时,人们好像认为他们的Web站点将会吸引访问者只是因为它们存在--并且,可能在某些情况下这种方法确实有效。但是这些站点一般很难看,并且更重要的是,它们真的难以使用。接下来便进入“看看我们能做些什么”阶段,在网页中加入了大量的动画、声音文件以及其它附加件,导致访问者需要长时间地进行下载,但是并未获得多少实实在在的内容。如今的Web设计师们已经吸取了前人的经验和教训。好的站点倾向于简化和快速,同时在功能上有所提高。这是attachments/200709/9403706793.gif Microsoft 的目标,而且我们最先承认自己所犯的错误(参阅“attachments/200709/9403706793.gif Microsoft的Web简史”看一看以前的主页设计)。

    设计错误并不总是显而易见的。有时在设计上对一个小元素的移动或更改将有很少或根本没有影响。但是,在其它情况下,它可能确实会对页面功能有所影响。而且如果说我们从过去几年学到了一些东西,那就是小的改动会使Web页的运行方式有很大的不同。

    若要避免类似问题,我们为新服务(例如“搜索”)的创建或关键的Web页(如主页)设计了一个明确的流程。每个项目都是在一定的基础上开始的,即我们有一个受益于我们站点上的页面、部分或用户界面元素的产品或服务。在早期的产品计划阶段(第1阶段),我被要求设计一些初级模型:大致描述页面、部分或功能的草图。然后产品项目组检查产品计划建议,看看此项服务是否可以为microsoft.com的访问者真正带来一些实惠。

    如果答案是“可以”,那么此项目会获得批准,我们开始写项目说明书(第2阶段)。我们在第1阶段的草图和概念基础上创建并提出一个更为完整的计划。这时,我们一般还会开始可用性测试(一般会有书面的模型)以了解潜在用户将对计划中的设计做出何种反应。在最后开发阶段(第3阶段),我们创建运行计划服务的Web原型,并且进行全面的可用性测试以及内部复查。然后完成站点的代码,修改程序错误,最后站点通过实际运转的Web站点向客户发布。

    正如您所见到的,可用性在整个流程中扮演着重要的角色(参阅“创建有效的Web界面需要认真计划”)。我们可以为用户运行某项任务计时,这样我们就可以在产品以后的版本中对比相同的测试。我们可以使用这种方法进行度量,以确定一个功能的重新设计是否为客户带来任何真正的价值。还有,我们将仔细地观察以了解可用性对象是否可以计算出如何正确使用新功能--我们称为“可发现性”的方法。有时这为我们提供了一些挑战。例如:在我们的站点上,在搜索引擎中键入一个词组或字会产生一列结果。然后我们请用户选择在这些结果中进行搜索,以便进行更细的搜索并且导向某一页或资源。但是即使“在结果范围内搜索”被明显地标记在深色标签上,很少有人熟悉它。一些用户认为他们正开始新的搜索,并且可能毫无结果。我们正在解决这个问题以确保客户可以利用 microsoft.com上所有丰富的功能来提高他们对此站点的认识。

    选项“在结果范围内搜索”看上去很直观,但不是非常易发现的。此问题一直是困扰我们的设计的问题之一。

    大体来讲,站点设计是在发生冲突的需要之间求得平衡的艺术。一方面,我要将站点设计得尽量简单易用。另一方面,我要确保站点中所有强大的工具可为经验丰富的用户所用。与此同时,我还要为内部客户服务-- attachments/200709/9403706793.gifMicrosoft产品项目组--他们对服务有特殊的需要。所以每天我都要解决一些非常困难的问题,经常处于很紧迫的情形中。我发现这种工作是鼓舞人心和有趣的。

    这个职业非常需要更熟练的专业人员。我是经过一系列非常不一般的过程--在大学学习图形艺术,然后在多媒体公司设计CD-ROM,最后加入 attachments/200709/9403706793.gif Microsoft并开发应用程序--才获得这个职位的。非常奇怪的是,当我申请(并获得)这份工作时,我以前从来没有设计过Web页。但是我广泛的设计经历已经证明是非常有用的,并且我自认为已经验证了格言“成功的设计就是成功的设计”(不论是什么媒体)。许多设计问题对Web来说是独一无二的,解决这些问题的方法对于任何媒体都是一样的。

    对于那些准Web设计师我的建议是,他们也应该尽可能地扩大设计背景。今天应该确保将一些Web工作作为互动设计培训的一部分--大多数好的设计学校已将其加入课程中。但是在排版、色彩理论、版面设计以及生产等方面的扎实的技术将仍然特别有价值。在未来,Web设计师们仍将会继续被要求给页面增加更丰富的多媒体内容,从而为Web站点的可视性和可操作性增加了新一级的复杂性和技术要求。作为CD-ROM/多媒体设计师,要求我必须具有图形设计、视频、音频制作、动画等方面的知识和创作能力。我的预言是,Web设计师也将向这些领域发展。

    对于属于attachments/200709/9403706793.gifmicrosoft.com的我们--以及在Internet上的其它地方--那应该是一个非常有趣的未来。

    了解您的观众

    调查一下究竟哪些人在访问您的站点,以及他们为什么要访问。新手或不定期上网的Web用户与软件开发商相比有非常不同的兴趣和站点需要。使您的站点对访问者来说有所帮助。

    为您的观众提供所需的信息

    使导航元素保持一致,并且确保对访问率最高的区域进行明显的标记,是它们易于被找到。

    使用清楚的消息

    确保用户了解此页面的上下文,并且知道需要他们做些什么。如果在注册过程中您要用户输入姓名,那么就直截了当地说。不要让访问者自己计算什么,他们会感到沮丧,于是转到其它更简单的站点(例如您的竞争对手的站点!)。

    保持一致性

    虽然更改不同Web页的外观并不难,但这并不意味着您应该这么做。将主要功能--例如返回“主页”的链接或者执行一个搜索--放在每页的相同位置。在microsoft.com上,黑色全局导航工具栏的位置在四十多万页上都是一样的。

    使站点可用

    牢记设计和测试站点的可用性。确保用户可容易地执行任务以获得所需信息。估算任务时间和任务完成率,然后努力进行改善。如果新的设计没有在这些方面获得改善,那么就不要实施它。重新从草图(或最初的计划)开始并尝试其它方法。

    保持简洁

    说起来容易做起来难。尝试征求反馈意见。有时新人可以很容易找到解决方案。

    尝试新的东西

    不要害怕打破常规,尝试一些完全不同的东西。如果您不试试,永远不会找到真正的答案。attachments/200709/9403706793.gif

  • » 阅读全文...