Main

它它它它 Archives

用ASP做全文检索

摘要:通过词句查找相关的全文是浏览器端常用的方法,ASP类似于CGI,也可以进行简单的文本方式全文检索

  在 Internet/Intranet上对某类信息做详细浏览和全文检索也是常碰到的情况。ASP是微软公司开发的用于制作动态Web页的一种服务器端脚本型式(或曰编写环境)。它使用VBScript或JavaScript等简易的脚本语言,集成在HTML码中,在服务器端响应浏览器端请求而执行数据访问和过程(或对象)调用并产生浏览器端执行的脚本语言。本文介绍用ASP编写全文检索代码的方法。

方法介绍:
  确定被检索的文件。将它们保存在同一文件夹中。文件的类型可以是任何文本类型(包括.htm网页文件类型)
  建立被检索文件的信息库。其中主要包含文件名,文件标题等。
  用ADO方式访问数据库。建立记录集对象。
  逐个打开记录集中当前记录所指向的文件。用查找的字串对文件的全文本进行匹配比较。
  将符合条件的文件标题输出到客户端Web页,并加入指向该文件的超链,以供用户选择浏览。
  技术要点:
  数据源。要在创建脚本之前,利用Windows95控制面板中的ODBC指定要访问的数据库及其驱动程序,以数据源名(DSN)标识之。
  匹配字串的长度。由于浏览器端的数据经过编码传到服务器端,ASP通过其内建对象Request取得的数据也并非完全是用户输入的有用信息
,所以要加以处理。可以在输入字串后附加一标志字符(如#或chr(7))。本文则采取另一种方法,即计算有效信息的长度。从而截取所需的
字串。
  创建脚本的文件系统对象Scripting.FileSystemObject,从而打开文本流以读入。
  特点:
  直接对.htm文件进行全文检索,省却许多转换过程。.htm文件又用于网页的显示,一举两得。
  应用ASP,简单明了,易于实现。
  本例ASP代码:

引用自
〈%@LANGUAGE="VBSCRIPT"%〉
  〈html〉
  〈head〉
  〈metaNAME="GENERATOR"Content="MicrosoftFrontPage3.0"〉
  〈metaHTTP-EQUIV="Content-Type"content="text/html;charset=gb_2312-80"〉
  〈title〉DocumentTitle〈/title〉
  〈metaname="MicrosoftBorder"content="tl,default"〉〈/head〉
  〈bodyBACKGROUND="/ie/images/watermrk.gif"BGPROPERTIES="FIXED"BGCOLOR="#00FFFF"〉
  〈%
  mousepointer=13
  SetConn1=Server.CreateObject("ADODB.Connection")
  conn1.open"DSN=cznj"
  Setrcst1=conn1.execute("SELECT*FROMpages_catalogue")
  sch_str=request.form("text1")
  doubbytes=len(sch_str)\2
  sch_str=left(sch_str,doubbytes)
  Response.Write"〈strong〉〈CENTER〉〈H2〉查找结果〈/H2〉〈HR〉〈Br〉〈/strong〉"
  Dimresult
  result=false
  Response.Write"〈UL〉"
  dowhilenotrcst1.eof
  tit=rcst1.fields("file_title")
  fn=rcst1.fields("file_name")
  file_name=Server.MapPath("/")&"\njweb\private\"&fn
  to_find=text_match(file_name,sch_str)
  ifto_findthen
  url="private/"&fn
  Response.Write"〈LEFT〉〈LI〉〈H4〉〈AHREF="&url&"〉"&tit
  endif
  rcst1.movenext
  result=resultorto_find
  loop
  Response.Write"〈/UL〉"
  ifnotresultthen
  Response.Write"〈H3〉〈I〉未找到!〈/I〉〈/H3〉"
  endif
  mousepointer=0
  %〉
  〈scriptRUNAT="Server"LANGUAGE="VBScript"〉
  functiontext_match(filename,search_string)
  dimretstring
  dimfind_pos
  Dimfso,a
  dimdone
  text_match=false
  Setfso=Server.CreateObject("Scripting.FileSystemObject")
  Seta=fso.OpenTextFile(filename,1,FALSE)"ForReading--〉1
  done=a.AtEndOfStreamortext_match
  DoWhilenotdone
  retstring=a.ReadLine
  find_pos=instr(retstring,search_string)
  iffind_pos〉0thentext_match=true
  done=a.AtEndOfStreamortext_match Loop
  a.Close
  endfunction
  〈/script〉
  〈/body〉
  〈/html〉

搜索引擎的缓存机制

以前曾经提到过搜索引擎的缓存策略, 根据搜索引擎搜索的关键词的统计分布, 可以优化设计搜索引擎的缓存策略. 就普通的缓存策略上讲, 缓存是因为在一定的时间段内的搜索的关键词集中在一定的范围内, 并且这些搜索相对稳定. 例如每天搜索"美女"的人总有10万,20万, 而结果在这段时间相对稳定, 因此没有必要每次去检索索引文件, 而将上一个人搜索的结果直接返回便可以了.

搜索引擎缓存策略也同搜索引擎的算法密切相连, 除了搜索缓存, 索引缓存也是一个好方法. 独立或者分布一些权重较高的文档也是一种提高效率的方法. 例如我们有1000万的网页的权重(可以简单的理解为pagerank)比较高, 那么这些网页的排序相比另外一些权重较低的网页相对较为稳定, 就不妨独立出来进行相对独立的索引缓存.

关于缓存的分布, 一般的小型搜索引擎不会用到, 但是如果每天处理上亿次的搜索, 缓存的分布就应当有一定的分布规划, 例如根据提交的关键词构成hash table, 然后对应于不同的搜索服务器, 实现缓存的分布.

让我们看看实际例子吧, 我们拿百度, google, yisou, 中搜, tag.bokee.com 进行简单的测试:

因为测试, 要搜索一些在过去7天没有人搜索过的关键词, 或者组合词. 为了保证没有人搜索过, 我选择在各个搜索引擎里搜索"a s d f v g h" , 这是我在键盘上随机打出的一些组合, 相信这世界上在7天没有人相同搜索, 这样保证我的第一次的搜索是 fresh search, 就是一定需要搜索引擎去检索索引文件, 而不是通过缓存策略.

以下是结果:
百度: 0.279秒
google: 0.24 秒
一搜: 0.24 秒
中搜: 0.001秒(无结果!!!!)
博客搜索: 0.041 秒

下面是第二次搜索的结果:
百度: 0.001秒
google: 0.05 秒
一搜: 没有明显的缓存
中搜: 没有明显的缓存
博客搜索: 没有明显的缓存

而在缓存效率上百度要远远大于google, 这点大概是因为google的gfs本身的分布效率已经相当不错, 因此进行缓存也不会有数量级的提升.

而百度, 根据测试可能是集中方式的数据存储, 但是根据搜索进行hash分布, 因此才会在缓存上有显著的提升. (这个属于猜测)

搜索记录在以下位置:
http://www.wespoke.com/archives/download/se-buffer/baidu1.png
http://www.wespoke.com/archives/download/se-buffer/baidu2.png
http://www.wespoke.com/archives/download/se-buffer/google1.png
http://www.wespoke.com/archives/download/se-buffer/google2.png
http://www.wespoke.com/archives/download/se-buffer/tag1.png
http://www.wespoke.com/archives/download/se-buffer/tag2.png
http://www.wespoke.com/archives/download/se-buffer/yisou1.png
http://www.wespoke.com/archives/download/se-buffer/yisou2.png
http://www.wespoke.com/archives/download/se-buffer/zhongsou1.png
http://www.wespoke.com/archives/download/se-buffer/zhongsou2.png

ASP中CACHE技术的应用

aspjpeg是一款非常强大的图片处理组件,纯英文版本。不过早已经有免费版和破解版,但是对其进行详细与深入介绍的文章却是不多,即使有也只牵涉到图片缩略和图片水印。可能是因为纯英文的缘故。

这里我就是针对这些问题谈谈aspjpeg的高级用法。这里的技术主要包括:
图片缩略
图片水印
安全码技术
图片切割
图片合并
数据库支持
更多不常用的方法介绍
以及相关的一些实用技术

aspjpeg唯一点不足的就是输出方式比较单一。在这里,我们主要谈将图片处理保存后再调用的这种输出方法。另外,本人比较懒,所以有些代码仍然引用于原文档,不懂的地方偶会加以解释!

学过vb或者.net的同志肯定一看就明白了。刷子来着。呵呵。

一、图片缩略

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件
Path = Server.MapPath("images") & "\clock.jpg" 待处理图片路径
Jpeg.Open Path 打开图片
高与宽为原图片的1/2
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
保存图片
Jpeg.Save Server.MapPath("images") & "\clock_small.jpg"
%>
<IMG SRC="images/clock_small.jpg"> 查看处理的图片

二、图片水印

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")
开始写文字
Jpeg.Canvas.Font.Color = &000000' red 颜色
Jpeg.Canvas.Font.Family = "Courier New" 字体
Jpeg.Canvas.Font.Bold = True 是否加粗
Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."
打印坐标x 打印坐标y 需要打印的字符
以下是对图片进行边框处理
Jpeg.Canvas.Pen.Color = &H000000' black 颜色
Jpeg.Canvas.Pen.Width = 2 画笔宽度
Jpeg.Canvas.Brush.Solid = False 是否加粗处理
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
起始X坐标 起始Y坐标 输入长度 输入高度
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg") 保存
%>

三、安全码

安全玛的道理和加水印差不多,很多朋友问我要具体的代码技术,在这里我就写出来和大家分享,一般人我还不告诉他。呵呵。
<%
生成安全码的函数 www.knowsky.com
function make_randomize(max_len,w_n) max_len 生成长度,w_n:0 可能包含字母,1:只为数字
randomize
for intcounter=1 to max_len
whatnext=int((1-0+1)*rnd+w_n)
if whatnext=0 then
upper=122
lower=97
else
upper=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
next
make_randomize=strnewpass
end function
%>

生成安全码的图片。当然你要预先准备一张背景图哦

<%random_num=make_randomize(4,1) 生成4位数字的安全码
session("random_num")=random_num 为什么调用session,没有session的安全码是完全没有意义的。呵呵

Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件
Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") 打开准备的图片
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = "Arial Black"
Jpeg.Canvas.Font.Bold = false
Jpeg.Canvas.PrintText 0, -2, random_num
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") 保存
%> <img src="infos/random_pic/random_index.bmp" border="0" align="absmiddle">
自己做做看。呵呵。

四、图片切割

一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的。
其实有这样的一个方法的
crop x1,y1,x2,y2
切割长方型左上角x坐标,y坐标 右下角x坐标 y坐标
下面我就做一个演示哈
Set Jpeg = Server.CreateObject("Persits.Jpeg")
jpeg.open server.MapPath("/pic/1.gif")
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 开始切割其实是把超过52象素的下部分去掉
jpeg.save server.MapPath("/temp_pic/small_1.gif") 保存
怎么样,很简单吧

五、图片合并

我们这里是要把logo图片加到dodge_viper.jpg图片上去
其实,图片合并的方法也可以用来动态打水印哦
Set Photo = Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath("images") & "\dodge_viper.jpg"
Photo.Open PhotoPath
Set Logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images") & "\clock.jpg"
Logo.Open LogoPath

Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth

Photo.DrawImage 0, 0, Logo

Photo.SendBinary 这里用了sendBinary的输出方法。当然,你也可以先保存更改后的dodge_viper.jpg,再输入也可以。我个人不大喜欢用sendBinary方法,在网速慢的时候容易出错。在速度方面也不怎样。呵呵。

六、数据库支持

这里不多说了。其实就是Binary方法,大家知道图片存进数据库只能存为二进制的文件的。所以代码就懒的写了。

七、更多方法介绍

Canvas.Line(Left, Top, Right, Bottom)
画一条直线
Canvas.Ellipse(Left, Top, Right, Bottom)
画出一个椭圆
Canvas.Circle(X, Y, Radius)
画出一个圆
Canvas.Bar(Left, Top, Right, Bottom)
画出一个长方形,上面有代码介绍了
Canvas.Font.ShadowColor
文字阴影颜色
Canvas.Font.ShadowXOffset As Long
阴影X坐标设定
Canvas.Font.ShadowYOffset As Long
Y坐标设定
Canvas.Font.BkMode As String
文字背景

从三个方面提高网站的链接广泛度

网站的链接广泛度(Link Popularity)在搜索引擎排名中的作用已得到广泛的认同和重视。实际上,即使你没有在GOOGLE上提交你的站点,但与其它网站作了链接, GOOGLE也可能收录你的网站。搜索引擎还可能完全依据你的链接广泛度决定你的网站排名。

本文探讨如何从内部链接、引入链接和引出链接三个方面来增加网站的链接广泛度。

1. 内部链接
内部链接指同一站点内网页之间的相互链接。
对重要的页面要来回反复地交叉链接。这样做的目的,是让搜索引擎的spider知道这是你最重要的网页。
交叉链接网页还帮助spider更快地找到你的重要页面并将之编入索引,尤其当这些页面被深埋于网站内时,这一点非常重要。

2. 引入链接
引入链接是指让其它相关网站链接你的网站。引入链接有两种类型:

* 自己创建子站点来链接你的主站点
建立几个与你的网站主题相关的小型网站,将它们相互链接,再链接回你的主站点。
选择主站点的关键词,用同样的这些关键词作链接名,把其它小型站点链接到主站点。之所以这样做,是因为一些主要的搜索引擎如GOOGLE特别重视链接名。

* 寻找网站交换链接
你的链接对象包括:
i. 与你的竞争对手链接的网站
要找到这些网站,可以在搜索引擎中输入"link:",跟着输入竞争者的域名,如 "link:theirdomain.com" 和 "link:www.theirdomain.com." ,注意加引号。

ii. 搜索引擎分类检索中的相关网站

所有主要搜索引擎中的与你的行业相关的目录下的网站,都是理想的链接对象。

iii. 可提交、注册网站的相关站点
要寻找这些网站,可以先在搜索引擎中,如在GOOGLE中输入"add url" "your keywords" ("网站登录" "你的关键词"),注意加上引号。通过变换关键词反复搜索这些站点。
引入链接的基础是网站具有较高质量,否则,别的网站是不愿意链接你的。如果你的网站内容丰富,质量高,其它相关网站会主动将你的网站链接在他们的网站上。

3. 引出链接
引出链接是指你主动单方面链接的其它网站。
SPIDER要搜索网站的引出链接以判断你链接的那些站点内容是否与你的网站内容相关联。
搜索引擎喜欢那些与你的网站内容有关的链接。
此外,在做链接的过程中,还应该注意以下几个问题:

* 链接关键词
仔细为你的内部链接和引出链接选择关键词。关键词是判断网页关联度的最重要因素,整个网页都应该使用到这些关键词。在网页标题和链接中也要用到这些关键词来描述网页。
因此,建议你用与页面内容相关的关键词来命名网页。同时,该页的链接名(用于其它网页链接到该页)也用这个名字。比如,如果网页标题是Link Popularity,则该页的链接名也是 "link_popularity.html."
记得在每个链接名的单词之间加上连字符或下划线,确保搜索引擎将每个单词分别索引。不要把所有的单词拼在一起,象"linkpopularity.html."。

还要确保所有链接到那一页的链接标题都使用链接文本“Link Popularity”。这样,每一个环节都通过关键词统一起来了。

* 链接质量
研究显示,链接质量与链接数量同等重要。
在策划链接广泛度的过程中,重点是要赢得以下网站的链接:搜索引擎如GOOGLE,流行网站门户如MSN,目录检索如YAHOO和ODP(Open Directory Project),热门网站如EBAY和AMAZON,新闻网站如CNN,博客(BLOG)网站以及与你的网站主题相关的网站。
这是因为搜索引擎很信任那些能够链接到主要搜索引擎和网络门户的站点。
有两种引入链接被误认为可以增加链接广泛度:

* 点击付费的搜索引擎广告链接,如OVERTURE和GOOGLE的关键词广告,以及会员联盟(Affiliate program)链接。
这些链接不会直接指向你的网站,而是指向盟主的网站,因此不会提高你的链接广泛度。
但是,如果你本身主持该会员联盟,你的服务器上有会员联盟程序,跟踪会员网站并将它们指回你的网站,这种情况下还是有助于提高你的链接广泛度。

* 交换链接网站
切记,不要使用交换链接网站上的链接。很多顶级搜索引擎将这些链接视作垃圾链接。

学习Web 2.0的方向盘

历史很重要。对一个技术的学习也应当从历史出发,通过其在时间形成历史的流变,得以知晓现状,甚至能够预知未来。

那Web 1.0是什么呢?

他们说,记得静态HTML的WWW时代么?

(那个时代的WWW应用、人们的Web体验、对社会的影响如何?)

那么动态HTML和静态HTML下的Web相比,是多少版本?1.5?对了,他们是真这么叫的。

(在效果和影响上,与1.0相比,扩展和加深多少?)

要呈现的数据存储在数据库中,通过Web服务端的程序,应用户的请求,取出数据,加上事先设计的模板,动态的生成Html代码,发送到用户的浏览器那里。

他是1.0系列,应为用户在浏览器中所见和Web 1.0一样,它有0.5的升级,因为数据不是事先制作并发布,而是动态生成,和用户的需要交互生成。

那好,在加0.5,到Web 2.0,变化是在哪里呢?

(看到了正在崛起的和改变的,会继续朝着什么方向改变互联网和社会呢?)

更新:关于各个版本的差别,看看亚马逊的例子。

事情没有那么幸运,Web 2.0并不是一个具体的事物,而是一个阶段,是促成这个阶段的各种技术和相关的产品服务的一个称呼。所以,我们无法说,Web 2.0是什么,但是可以说,那些是Web 2.0。

WikiPedia的Web 2.0条目下列出了这些条件:

* CSS 和语义相关的 XHTML 标记

* AJAX 技术

* Syndication of data in RSS/ATOM

* Aggregation of RSS/ATOM data

* 简洁而有意义的 URLs

* 支持发布为 weblog

* RESTian (preferred) 或者 XML Webservice APIs

* 一些社会性网络元素

必须具备的要素有:

* 网站应该能够让用户把数据在网站系统内外倒腾。

* 用户在网站系统内拥有自己的数据

* 完全基于Web,所有的功能都能透过浏览器完成。

(以上内容引用自英文版维基百科)

虽然这只是一家之言,不过,对于其中谈到的几个要素,大家还是公认的。

- 基于RSS/ATOM/RDF/FOAF等XML数据的同步、聚合和迁移。

数据不再和页面和网站混粘在一起,它独立了,它跟着用户走。这是Web 2.0的很重要特征。这也是为什么Blog是Web 2.0的代表的原因。在网志上,常主角的是相互独立的一则则的网志。

独立,然后有物理表现。现在,就能让他们活跃起来。透过对XML数据的处理,这些内容能被自由的组合,被各种应用程序,不论是Web程序还是桌面程序等呈现和处理。

当然,最重要的是背后的人。

- 社会性因素。

内容跟着人走,内容又能够被用户自由的组合,也就是说,用户能够自由的借助内容媒介,创建起一个个的社群,发生各种社会性的(网络)行为。

此外还有标签以及建立在开放标签系统之上的Folksonomy。

-第三个公认的因素是开放API,这个技术性稍强些,得另花时间研习,可以先看看例子:amazon、flickr、google map等。

从Web应用的产品/服务生产者角度来说,该如何创建Web 2.0的产品呢? 重要的是要抓住这么几点,一个是微内容(这里有定义),一个是用户个体。除了这两个最基本的之外,还可以考虑社群内的分享以及提供API。

微内容:英文是microcontent。用户所生产的任何数据都算是微内容,比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要去的地方、新的朋友等等。这些微内容,充斥着我们的生活、工作和学习,它的数量、重要性,还有我们对它的依赖,并不亚于那些道貌岸然、西装革履的正统文章、论文、书籍。

对微内容的重新发现和利用,是互联网所开创的平等、民主、自由风气的自然衍生,也是互联网相关技术消减信息管理成本之后的一个成果。

我们每天都生产众多的微内容,也消费着同样多的微内容。对于Web 2.0来说,如何帮助用户管理、维护、存储、分享、转移微内容,就成了关键。

用户个体。对于Web 1.0的典型产品/服务来说,用户没有具体的面貌、个性,它只是一个模糊的群体的代名词而已。但是对于Web2.0的产品和服务来说,用户是个实实在在的人。Web 2.0所服务的,是具体的人,而不是一个如同幽灵般的概念。并且,这个人的具体性,会因为服务本身而不断地充实起来。

如何为这个具体的个体服务,是Web 2.0设计的起点。

因此,一类可以被称作Web 2.0的产品/服务将是这样:

服务于用户个体的微内容的收集、创建、发布、管理、分享、合作、维护等的平台。

其他的呢?恐怕就设计到好些人提到的,微内容的XML表现;微内容的聚合;微内容的迁移;社会性关系的维护;界面的易用性等等。

以及是否就是开源、参与、个人价值、草根、合作等等?

Web2.0是许多方面起头并进又相互牵连的一个新的阶段的到来。因此,不同的人,有着不同的看法。那么,对于Web开发人员来说,Web2.0意味着什么呢?

他们说Web2.0阶段,Web是一个平台,或者说,Web正在变得可编程,可以执行的Web应用。野心家们设想这个它的终极目标是Web OS。

Web 1.0时候,Web只是一个针对人的阅读的发布平台,Web由一个个的超文本链接而成。现在的趋势发生了变化,Web不仅仅是Html文档的天下,它成了交互的场所。

Web 2.0 Conference网站的横幅引用Jeff Bezos的话说“Web 1.0 is making the internet for people,web 2.0 is making the internet better for computers”。

具体来讲,他们说Web成为一个开发环境,借助Web服务提供的编程接口,网站成了软件构件。

这些,就是Web Service的目标吧,信息孤岛通过这些Web Service的对话,能够被自由构建成适合不同应用的建筑来。

一些例子:del.icio.us、flickr、a9、amazon、yahoo、google、msn等提供的编程接口衍生出的各种应用。

为什么要开放APIs,这涉及到集市中的商业方面的技术策略。当然,还有更深层的原因,那是什么呢?

这种交互不仅体现在不同的网站服务之间,同时还体现在用户和Web之间在浏览器上的交互。这也是为什么在美味书签的收藏中Web2.0和AJAX如此相关的一个原因。

在Web页面上使用桌面程序有的那些便利,真的是很享受的事情。这恐怕也是Web可编程的一个方面,Web页面不再是标记和内容混合那样的简单,它就是一个可以编程的地方(是这样理解吧?)

有人反对说,AJAX的使用对搜索引擎不友好,只有Web1.0的站长才关心这个事情吧,在 Web 2.0时候,站长应该关心的是用户参与的便利、用户的自由度,至于搜索,有RSS/ATOM/RDF等,更本用不着操心,Google不是已经顺应这个趋势,让大家主动提交了么?

可编程的第三个方面,是否在于Web应用和桌面应用之间的无缝连接趋势的出现?类似这里说的“从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展”

编程的一个重要目的是对数据的操作,因此,对于网站来说,除了Web Service接口之外,最近为简便方式就是将内容以RSS/RDF/ATOM格式,或者有意义的XHTML格式输出,同时实现内容和表现的分离。

Web2.0是个历史学的概念,而非是个技术性的概念,它是对Web发展历史断代的成果。对这个概念的梳理,能帮助我更好的把握互联网正在发生的技术与文化。

中文网志圈谈论的Web 2.0内容摘要:

-“Web 2.0是用来研究现象、发现规律的东西,不是用来招商引资、搭台唱戏的东西。当越来越多的互联网应用采取与用户互动的方式,越来越多的内容是由用户产生,越来越多的用户参与到互联网创造的过程中的时候,其实它代表了一种新的思潮。

在这种思潮之下,一些新的技术开始出现,一些古老技术重新焕发了生机。随便你怎么表述这样一种现象,但现象本身是实实在在存在的,不管是叫它Web 2.0,还是社会化互联网。”[Keso:老冒给Web 2.0浇了一桶冷水]

-“我觉得最有价值的一个是, web应用的数据格式开始逐渐出现了交换“标准”...这些标准...更加容易被机器自动化处理...能帮助人更好地过滤和定制化信息。

其次,更多的服务将以web service的形式来提供,...这使得web 服务可以被互相集成, 从而诞生更多新的服务...人的重要性被提高了。过去web更多注重在信息提供,而现在的越来越多的应用更加关注人,也就是所谓“社会性”。此外web的可用性改进正在被越来越重视...”[老冒:朝web 2.0泼点冷水]

-“我认为Web x.x是人们为了区别不同时代Web的发展而使用的,而这些概念也是经过归纳出来的结果。抓住对方向,如Wikipedia中所提到的朝向互动及社会网络的方向发展,不论应用何种技术,只要能达到目的都是很好的。甚至作为一般的使用者,都可以不去理会Web x.x的讨论,因为我们都已经在使用这些技术或网站了。”[图书馆观点:Web 2.0]

-“RSS逐渐成为在线内容提供服务的标准发行平台。Blog以及user- generated内容的兴起。My Yahoo提供的RSS整合型服务。同时提出了值得密切关注的一些发展中领域,其中包括搜索技术,个性化,User-Generated内容(包括 blog,评论,图像和声音),音乐,短视频和Accessibility(易访问性)”[Owen:Mary Meeker新作 - 关于Digital World的发展报告的摘取]

-“我们谈论的Web2.0带给我们的是一种可读写的网络,这种可读写的网络表现于用户是一种双通道的交流模式,也就是说网页与用户之间的互动关系由传统的“Push”模式演变成双向交流的“Two- Way Communication”的模式。而对于Web服务的开发者来说,Web2.0带来的理念是服务的亲和力,可操作性,用户体验以及可用性。” [Owen:BaCKpACK-体验可读写的Web服务]

-“web 2.0是一种可以被分发的信息概述,web文档被格式化成了web数据。我们不会再看到不同旧地信息,现在我们所注意到是一种聚合、再混合内容的工具。”[songzhen:也说Web 2.0的翻译]

-“从这些应用中可以看到:如果基于传统的HTML,同样的功能实现将变得非常复杂和不稳定,数据的再生产和交换成本是很高的。所以:RSS这个标准最终要的贡献就是使得互联网的大部分网站变得可编程:类似的例子还有Blog中的: TrackBack Ping等机制,这些机制都是依赖XML/RPC实现的。当初为Lucene设计一个RSS/XML的接口也是为了这个初衷,它使得全文检索服务可以轻松的嵌入到各种应用中,通过关键词将各种内容之间实现更丰富的关联(Well Referenced)。”[车东:RSS,简单协议使得互联网可编程]

-“聚合的可能性以及如何更好地聚合(通常来说,更好的聚合应该基于个人知识管理和人际关系管理)很显然应该成为新一代或者说web2.0架构的核心之一。还有,你会重新发现,恰好是分散带动了聚合,聚合促进了分散,通过聚合的思维,互联网的网络状变得越来越丰富和密集,web2.0就变得越来越有趣味,它将web1.0时代的硕大节点即门户网站不断消解,去努力创造一个更加和谐的自然网络图谱。”[Horse:rss,聚合的无数可能]

-“新的web2.0网站都依赖于用户参与、用户主导、用户建设”。[Horse:Web 2.0这个词]

- Keso:Web 1.0与Web 2.0的区别

-“表面上看,Bloglines取代了门户,成为一个新的中心,但这里有一个重大的区别。门户是只读的,它带有某种锁定的性质。你可以离开门户,但你无法带走门户的内容。Bloglines则完全不同,你觉得它好用,就会继续使用,有一天你不再喜欢Bloglines,你完全可以导出你的OPML,到另一个

RSS订阅网站,或者干脆用客户端软件浏览同样的内容。所以,像Bloglines这样的网站,是可写的,你可以导入,也可以导出。就像你对信息拥有选择权,对服务提供商也同样拥有选择权,没有人可以锁定你,主动权在你自己手上。”[Keso:再说信息选择权]

-“Flickr、del.icio.us、Bloglines等Web 2.0服务,通过开放API获得了很多有趣、有用的想法,并借助外部的力量,让用户获得了更好的体验。更多大公司也加入到开放API的潮流中, Google、Yahoo!、Amazon、Skype。Google桌面搜索今年3月才开放API,很快就产生了大量的创造,大大扩充了可搜索的文件格式。”[Keso:开放API]

-“归纳:web1.0天天谈门户,web2.0谈个人化;web1.0谈内容, web2.0谈应用;web1.0商业模式,web2.0谈服务;web1.0谈密闭、大而全,web2.0大家谈开放、谈联合;web1.0网站中心化,web2.0谈个人中心化;web1.0一对一,web2.0谈社会性网络;web1.0不知道你是狗,web2.0你去年夏天干了什么我一清二楚甚至想要干什么呢。”[van_wuchanghua:发现了N.HOOLYWOOD,我还知道你今年夏天要干什么]

-“我认为Web2.0有下面几个方面的特性: 个性化的传播方式。读与写并存的表达方式。社会化的联合方式.标准化的创作方式。便捷化的体验方式。 高密度的媒体方式。”[飞戈:Web2.0与未来的网络]

-“用RAILS写的网站带有典型的读写网络的特征:RAILS创建的三个架构中的 ACTIVE RECORD这个模块中,如果你读读它最重要的基类 ActiveRecord::Base,你会发现有CREAT,EDIT,SAVE,DESTROY这些方法已经天然包含在内了,这让实现一个数据库的 CRUDS行为变得如此简单。由于这些类的方法直接和网页的名称映射到一起,这使得网页本身就像一个可以编缉的数据库的数据项。” [Blogdriver:RUBY ON RAILS,wEB2.0世界新生的创造力]

-“Greasemonkey一定名列前茅。这个通过User Script就能修改任何网页输出效果的插件极大的提高了用户阅读的自主性,一推出就引起了轰动,同时也引来了不少争议。”[Webleon:platypus,完全可写的互联网]

-“Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展;从基本构成单元上,是由“网页”向“发表/记录的信息”发展;从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展;运行机制上,由“Client Server”向“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。 ”[Don:Web 2.0概念阐释]

Web 2.0阶段的一个重要特征是开放,和Web初期的开放有很大不同,有以下几种突出的表现:

内容方面

-内容的创作共用授权。它的广谱和可选择性,让它具有了足够的生命力。CC先是在网志圈中广泛采用,后来许多商业公司也纷纷采用CC方式(比如BBC);先是文本世界采用,后来逐渐推广到了多媒体世界,比如音频、视频、Flash动画等等。一场自由的文化(free culture)运动在各个方面悄然铺开。

-内容来源方面的开放。和早期的Web阶段相比,由于使用相关设备的成本降低,利用相关技术的门槛减低,人们可以自由生产并发布各种内容,比如文本信息,比如语音记录,比如视频录制等。信息的生产和传播不再仅仅是商业资本或者技术精英的特权。

在Web的新阶段,原来在商业、技术与大众之间的信息生产和传播的落差被削平。消除信息垄断和去中心化已经成为可能。不仅如此,信息的生产和消费的模式也发生了变化,从原来的生产/消费的对立,变成了参与式的信息集市。

Web主体方面

-商业网站也渐渐采取了开放的、参与的模式。除了内容上的CC授权出现之外。原来并不外露的内容,也随着blog、podcasting等的兴盛而对外开放。一些网站还在技术层面开放,比如开放源代码,比如开放APIs(编程接口),让自己成为一个平台,让用户可以参与衍生产品的创造,用户本身也是产品的生产者。

不仅是内容、技术层面,在鼓励用户的参与上,也有相应的开放出现,比如一些新闻网站的RSS源的输出、引用通告(trackback)功能的采纳、blogthis便利的提供,无一不是让用户参与到内容生产、传播的各个环节。

-个人信息层面的开放。有开放,才有交流,才有社会行为和形态产生。个人内容的开放是与一类Web2.0服务的兴起有关。它涵盖了内容(文本、声音、影像、视频)、关系、行为等等。

壮观!

败毒的蜘蛛。
狗狗的蜘蛛。
痿软的蜘蛛。
一起来了
~~~~~~~~

About 它它它它

This page contains an archive of all entries posted to a one and a two in the 它它它它 category. They are listed from oldest to newest.

学习学习 is the previous category.

幸福生活 is the next category.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.