当前位置:首页 » 操作系统 » russ数据库

russ数据库

发布时间: 2022-08-09 20:47:09

A. 虚拟社区与SNS有什么区别

区别:社区基本体现是论坛;SNS基本体现是关系。 前者是论坛交流;后者是熟人对应在网络上面的关系。 虚拟社区: 最早的关于虚拟社区(Virtual community)的定义由瑞格尔德(Rheingole)做出,他将其定义为“一群主要借由计算机网络彼此沟通的人们,他们彼此有某种程度的认识、分享某种程度的知识和信息、在很大程度上如同对待朋友般彼此关怀,从而所形成的团体。"
虚拟社区至少具有四个特性:一,虚拟社区通过以计算机、移动电话等高科技通讯技术为媒介的沟通得以存在,从而排除了现实社区;二,虚拟社区的互动具有群聚性,从而排除了两两互动的网络服务;三,社区成员身份固定,从而排除了由不固定的人群组成的网络公共聊天室;四,社区成员进入虚拟社区后,必须能感受到其他成员的存在。
虚拟社区的类型根据沟通的实时性,可以分为同步和异步两类:同步虚拟社区如网络联机游戏,异步社区如BBS等。虚拟社区最重要的几种形式有BBS、USENET、MUD,在国内逐渐形成以BBS为主要表现形式,结合其他同步异步信息交互技术形成的网络化数字化的社区形式。
社区是指进行一定的社会活动,具有某种互动关系和共同文化维系力的人类群体及其活动区域。虚拟社区,从网络技术的角度来看,虚拟社区,又称为BBS(Bulletin Board System的缩写)、论坛。1978年在芝加哥地区的计算机交流会上,克里森(Krison)和罗斯(Russ Lane)一见如故,因此两人经常在各方面进行合作。但两个人并不住在一起,电话只能进行语言的交流,有些问题语言是很难表达清楚的。芝加哥冬季的暴风雨又使他们不能每天都见面,因此,他们就借助于当时刚上市的调制解调器(Modem)将他们家里的两台苹果Ⅱ通过电话线连接在一起,实现了世界上的第一个BBS。这就是原始的BBS的雏形。近年来在互联网技术的飞速发展之下,BBS在功能得到不断扩展,并迅速成为全世界计算机用户的交流信息的园地——虚拟社区。从社会学的角度看,是指由网民在电子网络空间进行频繁的社会互动形成的具有文化认同的共同体及其活动场所。
由此可见,虚拟社区与现实社区一样,也包含了一定的场所、一定的人群、相应的组织、社区成员参与和一些相同的兴趣、文化等特质。而最重要的一点是,虚拟社区与现实社区一样,提供各种交流信息的手段,如讨论、通信、聊天等,使社区居民得以互动。但同时,它具有自己独特的属性。
首先,虚拟社区的交往具有超时空性。通过网络,人们之间的交流不受地域的限制,只要你有一台计算机,一条电话线,就可以和世界上任何地方的人(也具备相应硬件条件)畅所欲言了。说到这里有人会说,电话也具备这种功能呀?但是,在虚拟社区中聊一个小时是打国际长途侃一个小时的经济成本的千分之一,聊天的压力可想而知。同时也不受时间的限制,你今天发一个帖子,不一定会有人会,但几天以后可能上十大了。这种便利,估计电话望尘莫及!
其次,人际互动具有匿名性和彻底的符号性。在虚拟社区里,网民一ID号标识自己。ID号依个人的爱好随意而定。例如“硬盘”,一看就是计算机硬件爱好者,“红叶飘飘”,估计是一个有品位的人,“潜水艇”,估计是个军事爱好者……在现实中不可能有人起这种名字。同时,由于互相不能看到对方的“庐山真面目”。所以,传统的性别,年龄,相貌等在虚拟社区里可以随意更改。网上有句名言:和你聊天的也许是条狗。
再次,人际关系较为松散,社区群体流动频繁。社区的活力主要靠“人气”和点击率,吸引这些的主要是看社区的主题是否适合大众口味。前一个好理解,在交大BBS上,一般“二手市场”,“勤工助学”,“鹊桥版”,“电影”,“游戏”比较火暴,因为这些符合大学生“没钱”希望交友和“空虚”的特点。相比之下“数据库”,“数学”等技术版“门可罗雀”。
最后,自由,平等,民主,自治和共享是虚拟社区的基本准则。这个特点其实和人际互动具有匿名性有关,在这里,传统的上下级被“斑竹”代替,只要你不违反论坛条例,你什么都可以说,俗成“灌水” 。
要想成为虚拟社区的一员,“门槛很低”一般的情况下,要使用社区提供的各项功能服务,必须在线注册。基本流程是首先,注册人阅读网联网有关法规及社区服务条款款,并提交同意申请;社区管理系统询问注册人的一些情况,如姓名、性别、年龄、身份证号码、职业等等。注册人必须如实填写,系统能够进行验证。然后再取一个账号名并设定密码,整个注册过程就基本完成。一旦注册成功,便成为社区的合法居民。社区居民拥有唯一的帐号,这个帐号就是他在虚拟社区中的通行证,是社区居民相互辨别的唯一标志。在社区中“生活”,居民必须遵守社区的各项规章制度和行为准则,否则将被社区管理员开除或者被封post权!
社区(主要是BBS)主要提供以下功能:
1 社区通信。社区为每一个居民都提供了电子信箱,居民可以使用该信箱收发邮件,相互通信,有利于非同时在线时,居民的交流。有的大型论坛提供手机短信发送功能,更方便了网民之间的交流。当然不是免费,一般是对方“买单”。
2 聊天服务。虚拟社区为居民提供了两种实时交互的聊天服务,聊天时除了用文字表达以外,系统还预设了丰富的表情和动作供调用(有些还能用语音进行实时交谈)。第一种方式是聊天广场,任何人都可以自由出入,谈话的内容也不受限制。第二种方式是聊天室,聊天室的开设者是这个房间的主人,他可以控制谈话的内容,也可以对聊天的人进行取舍。听说在这里出了不少网络情缘。前些时流行的网络小说《痞子蔡与轻舞飞扬》的动人的爱情故事,就是发生在聊天室里。
3 张贴讨论。这是虚拟社区最基本也是最主要的功能之一。居民可以在社区中主要以文字的形式自由地表达自己的思想,如提建议、讨论、提问、回答问题等,这些最终都以张贴文章(帖子)的形式出现。居民还可以在社区中转贴自己比较喜欢的小说、散文等。目前,国内的许多社区系统已经还允许居民在帖子中加入文件上传、贴图、表情动作等功能。这样一来,帖子就变得丰富多彩,生动活泼。使得居民的交流更加有效。前些时候的“西北大学日本留学生事件”,主要是通过BBS发起的。游行运动也是通过在西北大学论坛和交大“兵马俑”发帖跟帖的形式挑起的。可见BBS在大学声中的影响力之大!
4 投票居民在社区就某一问题发起投票或进行投票,从而对社区居民进行民意调查。同时居民在投票的过程中也张贴讨论,表明自己的观点。 这种投票要比现实的投票透明,民主,公开。其结果也真实的反映了网民的偏好。
目前在国内有影响虚拟社区主要分三大类:第一类,适合普罗大众,以兴趣爱好休闲娱乐为主,像分布在广州、北京、上海的网易社区、天涯社区、湛江的碧海银沙等;第二类,适合在校大学生,以大学校园学习生活为主,像清华的“水木清华”社区、北大的“一塌糊涂”社区、交大的“兵马俑”社区等;这两类的社区都比较大型,会员几十万,甚至过百万,在线人数通常几千,在国内有一定的影响力。第三类是各教育网站、网校,针对教师和中学生的教育社区,这类社区规模相对比较小,会员也不多。这一切说明国内的虚拟社区已有一定的影响和规模,将其应用于网络教学不仅是可能,而且很有必要。然而现阶段的应用正处于起步状态,有着广阔的研究和发展空间。
虚拟社区和现实社区并不是完全独立的。他们之间的关系就如同,物质和意识之间的关系一样。网络社区来源与现实社区,虚拟社区是现实空间在虚拟空间的“投影”。首先,虚拟社区提供的服务版块也是根据人们现实的需要而设定的;实在社区中的生活方式和观念,规范回影响到虚拟社区的构建。其次,虚拟社区的所提供的服务是现实社区的服务的延伸和提高。传统的利用以纸为媒介的信件传递,发展为email传递。虽然两者介质和速度不同,但是email内容格式仍和传统的信函格式相同。脱离现实,虚拟社区是不可能存在的。
同时,网络社区对现实社区的影响和反作用。网上的公开透明,重视个体等一系列特征将深刻影响社会。我们应当看到民主不是一句口号,是一种生活方式、生活态度,而网络社区的许多思想法正可以用来修正现实社会管理和制度中的某些缺陷。民众易于发表自己的意见,同时政府也可以方便地实现低廉高效的管理。网络之所以风行,在于它提供了自由天堂,在社区中不同意见相互尊重与互不排斥。通过讨论和争鸣解决问题,消除歧见。网络社区赋予每个人充分的话语权。许多政府开通了网上信箱或领导在线解答市民的问题,收到了良好的效果。
总之网络社区与现实社区是互补互动关系,从根本上是一致的。二者应该各取所长,互相弥补。网络社区使现实社区中不可能的成为可能性。网络社区空间开拓了人的思维。从网络社员的观点来看,所谓现实性,无非是从以前的一种可能性发展而来的。二者是互补而非取代的关系。网络社区是一种对现有生活方式的冲击,同时,它也是对现实的社会空间的发展。
任何事物都是有利也有庇。网络社区同样有自身的局限性。首先网络社区虽然使人获得现实社会中无法获得的自由和放松,但目前网络社区的使用的成本仍是相当高的。由于我国技术发展的不平衡性,造成使用网络者事实都是文化素质高、收入高、最具社会影响力的阶层,造成网络社区事实上的不平等。其次网络社区对现实社会的复制过程中,会删除或夸大(有意或无意)一些细节,造成网络社区发展的失真和迷乱。特别是目前网络社区管理基本源于个体的良心和道德,没有有效的法制手段,网络社区的失范问题相当突出。再次网络社区的人际关系显得比较脆弱。藉着代号来隐匿部分的身份,网络社区的成员每个人都可以自由选择自己的身份、立场、交流方法,并伴随着明确的隐秘性。最后,网民如沉溺于网络社区的虚拟世界,把网络社区当成生活的实际,成为逃避现实的避风港,自然会冷淡或忽略现实人际关系,造成网民与现实的隔阂,对网民的社会生存造成不良影响。网络社区的成员常犯的错误就是 把理想和现实混淆,强烈的反差使他们对现实充满了失望、误解、愤怒、不和谐、挫折,甚至还有几分悲哀和沮丧。如果人能永远的“网络沉溺”而不回到现实社会中来,那么也就什么都不会发生,但事情没有那么简单,人永远是现实的产物,终究要回到现实中来,关闭电脑,打开窗帘,外面依旧车水马龙,你根本不是网络中风情万种的“大虾”,而必须马上到市场去买中午吃的菠菜和猪肉。所以我们要正确看待虚拟社区。
而随着IT科技的进步以及显卡性能的大幅提升,虚拟社区已经逐步从2D演化到了3D,目前国外比较着名的有Secondlife,国内比较着名的有HiPiHi(海皮士)、uWorld(由我世界)以及Novoking(创想王国)、hapworld(哈啪世界)、ChianQ、mworld等。用户通过下载客户端可以进入这些虚拟社区,在这些虚拟社区里,每个用户都有一个虚拟化身,用户完全可以在现实世界里一样进行面对面的交流、游戏甚至交易,极大地增强了网络虚拟社区的真实感和亲切感。
SNS: 严格讲,国内SNS并非Social Networking Services(社会性网络服务),而是Social NetworkSite(即社交网站)。以人人网(校内网)、开心网、原始村这三个SNS平台为代表,结合一些相对可靠的数据,不难归纳出主流SNS用户的共性。
SNS网络示意图 1967年,哈佛大学的心理学教授Stanley Milgram(1934~1984)创立了六度分割理论,简单地说:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。”按照六度分割理论,每个个体的社交圈都不断放大,最后成为一个大型网络。这是社会性网络(Social Networking)的早期理解。后来有人根据这种理论,创立了面向社会性网络的互联网服务,通过“熟人的熟人”来进行网络社交拓展,比如ArtComb,Friendster,Wallop,adoreme 等。
但“熟人的熟人”,只是社交拓展的一种方式,而并非社交拓展的全部。因此,现在一般所谓的SNS,则其含义还远不及“熟人的熟人”这个层面。比如根据相同话题进行凝聚(如贴吧)、根据爱好进行凝聚(如Fexion网)、根据学习经历进行凝聚(如Facebook)、根据周末出游的相同地点进行凝聚等,都被纳入“SNS”的范畴。
SNS源自英文缩写
在互联网领域有SNS三层含义:服务 Social Network Service,软件 Social Network Software,网站 Social Network Site。Social Network Service中文直译为社会性网络服务或社会化网络服务,意译为社交网络服务。中文的网络含义包括硬件、软件、服务及网站应用,加上四字构成的词组更符合中国人的构词习惯,因此人们习惯上用社交网络来代指SNS(包括Social Network Service的三层含义),用社交软件代指Social Network Software,用社交网站代指Social Network Site。SNS专指旨在帮助人们建立社会性网络的互联网应用服务。
医学领域:Sympathetic Nervous System 【解】交感神经系统
sns是soft net system的缩写,即柔性网系统,在建筑方面,特别是公里、铁路建设方面应用很大,用于防护边坡细微垮塌的防护。根据防护方式不同,分为主动防护和被动防护。主动防护是防护网系统将有垮塌倾向的岩体笼络在一起,使它不发生位移;被动防护是在有垮塌倾向的岩体下设一道起阻挡作用的钢网,拦截垮塌的石块。

B. 出演《我是山姆》里的Lucy的小女孩叫什么名字好可爱!谁有她的资料,可否提供一下,感谢!

达科塔.范宁(Hannah Dakota Fanning )

看过《我是山姆》、《怒火救援》《捉迷藏》或是《世界之战》的朋友们一定记得这些电影中的一个共同点,那便是有着出色演技但年纪很小的影星 达科塔.范宁,以下是关于她的基本资料。
◆ 姓 名:Hannah Dakota Fanning
汉娜·达科塔·范宁 达柯塔·芬妮
◆ 昵称:Kota
◆ 出生日期:1994年2月23日
◆ 出 生 地:Conyers, Georgia, USA
◆ 主要身份:Actress
◆ 主要影片:
拍摄中或后期制作中的影片:
Hurricane Mary (2008) (pre-proction)
Coraline (2009) (post-proction) (voice) .... Coraline
The Secret Life of Bees (2009) (post-proction) .... Lily Owens
Push (2008/I) (post-proction) .... Cassie Holmes
Winged Creatures (2008) (post-proction) .... Anne Hagen

已完成影片:
猎犬 Hounddog (2007)
夏洛特的网 Charlotte's Web (2006) .... Fern
世界之战 War of the Worlds (2005)
梦想奔驰 Dreamer: Inspired by a True Story (2005) .... Cale Crane
捉迷藏 Hide and Seek (2005) .... Emily Callaway
Nine Lives (2005)
Conquistadora (2005)
Untitled Kurt Russell/Dakota Fanning Project (2005)
Vengeance Is Mine: Reinventing 'Man on Fire' (2005)
The 10th Annual Critics' Choice Awards (2005)
Tonari no Totoro (1988) (voice: English version) .... Satsuki (2005 Disney version)
(日本动画totoro 2005迪士尼英语版配音)
... aka My Neighbor Totoro (USA)
... aka My Neighbour Totoro (UK)
愤怒复仇/怒火救援/怒火拯救 Man on Fire (2004)
In the Realms of the Unreal (2004)
The Lockdown on Uptown (2004)
戴帽子的猫 The Cat in the Hat (2003)
麻辣宝贝/贡上富家女 Uptown Girls (2003)
Kim Possible: A Sitch in Time (2003)
The 55th Annual Primetime Emmy Awards (2003)
情归阿拉巴马 Sweet Home Alabama (2002)
陷入绝境 Trapped (2002)
幽浮入侵 "Taken" (2002)
奇幻森林历险记 Hansel & Gretel (2002)
Becoming Sam (2002)
我是山姆 I Am Sam (2001)
花花公子 Tomcats (2001)
犯罪现场调查 "CSI: Crime Scene Investigation" .... Brenda Collins (1 episode, 2000)
... aka C.S.I. (USA: short title)
... aka CSI: Las Vegas (USA: syndication title)
... aka CSI: Weekends (USA: promotional title)
... aka Experts, Les (Canada: French title)
- Blood Drops (2000) TV episode .... Brenda Collins
Father Xmas (2001)
龙猫 Tonari no Totoro (1988)

◆ 出道,经历与评价
达科塔在很小时候就展现出了表演天赋,她经常把毯子裹身上扮抱着婴儿的妈妈,还用妹妹艾莉来作“道具”。她常到家附近的一个儿童剧院,在那里小朋友每周都排演一部剧给自己的爸爸妈妈看。达柯塔的表现在一群小朋友中显得十分突出,剧院经营者们也注意到了达柯塔的表演才华,他们建议达柯塔父母给女儿找一家经纪人公司。达柯塔父母听从人们的建议,带着女儿来到了洛杉矶,在这个远离他们在乔治亚州的家的地方,达柯塔从许多小孩子中脱颖而出,获得了生平第一份演艺工作:拍摄汰渍洗衣粉的电视广告。

以下为网友Noking写的关于Dakota 的赞美之词:

她有很多美称和绰号
精灵和天使是人们叫的最多的
她拍电影主要搭档全是奥斯卡影帝
她不加修饰就可以流露出触人灵魂的眼神
她曾说汤姆.克鲁斯为人处世还没有她成熟
她到目前为止每部电影的片酬已经超过0W
她的票房总和已经超过妮可.基德曼和朱丽亚.罗卜茨
她被不止两三个超级巨星和媒体夸奖为好莱坞最有POWER的女影星
可是,
她才13岁~
她就是好莱坞的又一个美丽的神话 ------- Dakota Fanning(达科塔.范宁)~

◆官方网站与相关资料
www.dakota-fanning.org 这是国外粉丝创建的官网,我已经关注很长时间了,不断有新资料添加进去,内容很丰富,是范宁粉丝不得不看的网站
http://www.imdb.com/name/nm0266824/ 国外着名电影数据库imdb.com中的范宁。里边收录了她出演或配音的很多电影,资料非常全,而且在不断更新
http://en.wikipedia.org/wiki/Dakota_Fanning 维基网络中的范宁(国内用户暂时无法访问
http://tieba..com/f?kw=dakota 网络贴吧中的范宁。范宁国内粉丝的好去处

C. 奈飞是什么

奈飞就是Netflix,Netflix是一家在线影片租赁提供商

除了光盘出租服务外,Netflix另外提供在线视频流服务,能使用各种网络设备链接到 Netflix 的在线内容数据库,单一订阅者的账号能同时让多人使用,即使在非订阅者的电脑或设备上也能登录服务。

网络流和实体光盘的数据库有显着的不同,光盘数据库提供较多的电影选择,而网络流数据库则有较多的 Netflix 原创内容。

Netflix的热门剧集

1、《伞学院》

《雨伞学院》于2019年2月15日美国首播。1989年,全世界43个毫无关联的妇女都在没有怀孕征兆的情况下生下孩子。其中的6个有超能力的孩子、和1个没有超能力的孩子被一名富豪收养,并集中到“雨伞学院”进行教育,期盼有一天他们能拯救世界。

2、《怪奇物语》

《怪奇物语》(Stranger Things),是美国NETFLIX公司制作一部的主打科幻惊悚的美剧。该剧由年轻的类型片电影制作人Matt Duffer和Russ Duffer编剧并执导,由Shawn Levy担任执行制作人,薇诺娜·瑞德,大卫·哈伯,菲恩·伍法德 ,米莉·波比·布朗等人主演。

D. 什么是技术面需要回调

技术面需要回调的是:
1.1 Bindows (成立于2003年)
Backbase是一个通过DHTML、javaScript、CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户端支撑组件(如Java、ActiveX或Flash),仅需一个浏览器。纯OO的理念体现在Bindows任何地方,Bindows或许是笔者见过的最完整最强大的AJAX应用程序平台。
Bindows是商业程序的,使用了来自于MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。

Bindows框架提供的功能和特性有:

基于面相对象技术的类和API
一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其他一些Windows窗口特性支持。
是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包
本机的XML,SOAP和XML-RPC支持
单用户到企业级开发的支持
内建的完美的AJAX支持
Bindows开发环境:

支持企业级规模的项目开发
跨浏览器、跨OS平台的支持
不受服务器结构限制
良好的与新的、现有的资源互操作性
统一的开发接口

1.2 BackBase (成立于2003年)
BackBase是一个完整的浏览器端框架,提供了丰富的浏览器操作功能,以及对.NET和JAVA平台的集成。
商业化产品,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

1.3 DOJO (开发中,成立于2004年9月)
DOJO提供完整的轻量级窗口组件和浏览器-服务器消息映射支持

提供创建自定义Javascript窗口组件的框架支持
预制的丰富的窗口类型库
B/S消息映射支持——XMLHttpRequest和其他机制
支持浏览器中的URL操纵功能
开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。
1.4 Open Rico (开发中;成立于2005年5月;基于早期的一个proprietary 框架)
Open Rico是一个支持Ajax架构和用户交互的多用途框架。

一个XMLHttpRequest response能被一个或多个的DOM对象,或者Javascript对象调用。
支持拖拽操作
支持基于AJAX的动画模式,如缩放和变换等
基于Behaviors的操作库
使用指南,由RussMirimar的Yonah提供
开源。源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。

1.5 qooxdoo (开发中; 成立于2005年5月)
qooxdoo,是另一个发展迅猛的应用框架,提供广泛的UI支持,正在开发基础架构等特性。

基础结构特性:
能轻易的捕获和操纵DOM事件
支持调试
支持一个时间操作的Timer类
Getter/Setter支持
UI:
窗口组件库和框架
界面布局管理
图像缓存和透明PNG图片处理
开源(LGPL).
1.6 Tibet (开发中; 创建于2005年6月)
Tibet提供了大量的易移植和完整的JavaScript API,通过这些可以快速生成大量的客户端代码,Tibet自称是企业级AJAX。

远程脚本调用封装在XMLHttpRequest中
URI支持
支持所有的HTTP事件,不再仅仅是GET和POST
低级的协议-File://和WebDav也可以当作HTTP正常使用
Web Services调用支持,包括SOAP、XML-RPC等等
大型的Javascript对象库
多种多样的XML操作支持
IDE和开发工具
开源协议(OSI)
1.7 AJFORM (创建于2005年6月)
AJFORM是一个极易上手的AJAX框架,被用来编写入门级的AJAX代码,提供有以下功能:

三步安装
自动支持任意HTML表单元素
几乎无需编码即可实现AJAX
2 Pure Javascript: Infrastructural Frameworks
2.1 AjaxCaller(创建于2005年5月,目前是Alpha版)
AjaxCaller是一个具有多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha开发阶段,仅在AjaxPatterns的在线搜索范例中使用了这个程序。

用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE)
支持XMLHttRequest对象的构析(销毁对象,C++支持内存对象的构析操作)
支持Response的高速缓存(尚在计划中)
简单的库文件代码易于新手学习使用,并且支持脚本调试
开源协议
2.2 Flash JavaScript Integration Kit
The Flash JavaScript Integration Kit可以使Flash和Javascript脚本实现相互集成。

可以实现在JavaScript中调用Flash ActionScript脚本,反之亦然。
几乎支持双方主要数据类型的在不同环境中的传递调用。
开源协议,有几个Flash开源爱好者维护。
2.3 Google AJAXSLT (2005年6月发行)
Google AJAXSLT,是一个Javascript框架,用来执行XSLT转换以及XPath查询。

目前在Google Map上就使用了这个。
开源协议(BSD)
2.4 HTMLHttpRequest(Beta版;创建于2005年)
HtmlHttpRequest最大的特点就是运用XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度的跨浏览跨平台的AJAX支持,其原理是在支持XMLHttpRequest的浏览器上调用XMLHttp,如果不支持,就用IFrame来模拟实现异步交互。

目前支持的浏览器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac
尚未测试的浏览器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux。
开源协议(LGPL)
2.5 Interactive Website Framework (创建于2005年)
Interactive Website Framework定位在浏览器中支持各种各样的AJAX基础应用的开源项目。自称是通过JavaScript、CSS、XML和HTML实现高性能的交互式WEB框架,包括一个可定制易读的XML解析器。实际上,IWF是一个AJAX的基础框架,并且还包括一些通用脚本代码。

实现了线程安全的XMLHttpRequest
对XML Document进行封装,以便创建更具有可读性的代码:

var node = doc.groceries.frozen[0].pizza[0].size;
封装后的数据读取
var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
原始的DOM操作读取
开源协议
2.6 LibXMLHttpRequest (2003年6月发布)
libXmlRequest是一个小型XMLHttpRequest封装包

用getXML()和postXML()两个事件简化XMLHttpReuqest调用
支持XMLHttpRequest对象池
Response缓存处理
源码可以使用,但是有版权保护。
2.7 MAJAX
MAJAX是另一个非常小巧的HttpRequest封装包,为收发字符型信息提供简单接口,并为每步动作设置回调界面。

2.8 RSLite (x)
RSLite是一个XMLHttpRequest封装组件,作为Brent Ashley的JSRS(JavaScript Remote Scripting)其中的一部分功能单独发布。详情可以看JSRS的介绍

2.9 Sack(开发中,成立于2005年5月)
Sack也是一个很有名字的微型XMLHttpRequest封装包。调用者可以自定义回调函数或者是DOM对象。借助于回调DOM对象,可以把Response回来的数据直接以文本的方式嵌入DOM中。

2.10 Sarissa (发布于2003年2月)
Sarissa是一个JavaScript API,封装了在浏览器端独立调用XML的功能。

可移植的XMLHttpRequest对象创造
可移植的XPath查询
可移植的DOM操控
可移植的XSLT
可移植的XML序列化
开源协议(GPL2.0和LGPL2.1)
2.11 XHConn (2005年4月发布)
XHConn也是一个小型的XMLHttpRequest封装库。笔者也使用改良过的XHConn,其特点就是调用简单,代码也清晰易读。

例子:
new XHConn().connect("mypage.php","POST","foo=bar&baz=qux",fnWhenDone);
开源协议许可
3 Server-Side: Multi-Language
3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)
CPAINT是一个真正的同时支持PHP和ASP/VBScript脚本的AJAX和JSRS工具包。CPAINT在后台提供你需求的AJAX和JSRS代码,并自动返回到浏览器端相应的Javascript脚本代码,这种方式易于实时反馈需求的WEB应用程序。

支持PHP和ASP
所有功能函数都在统一的JavaScript文件中
支持远程脚本和XML
支持本地和远程函数调用
可以创建单个或多个XMLHttp对象
返回给后台的数据即可以是文本也可以是XML/DOM文档对象
支持POST和GET
用服务端代理的方式实现远程函数和数据的访问操作
大部分浏览器中测试正常使用
在GNU、GPL、LGPL开源协议保护下发行
3.2 SAJAX (2005年3月)
SAJAX的实现方式很独特,例如:调用一个javascript方法x_calculateBudget(),将先把响应传到服务器并调用一个Java calculateBudget()方法,然后以javascript方式把值返回到x_calculateBudget_cb()中。SAJAX的名气不错,估计很多人都听过甚至用过,不过缺点就是它的这套映射理论感觉较繁锁,远不如一些轻量级的封装库好用,不过SAJAX最大的特点就是支持的平台丰富,几乎囊括了WEB下常用的编程语言和平台

很方便从JavaScript函数映射到服务端代理操作
支持多种平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)
开源协议
3.3 Javascipt Object Notation (JSON) and JSON-RPC
JSON是一个"face-free" XML,而JSON-RPC是一种远程交互协议,类似于XML-RPC,对JavaScript支持较强

支持多服务端平台: Java, Python, Ruby, Perl.
针对不同的平台有不同的包和许可协议, 如JSON-RPC-Java.
3.4 JavaScript Remote Scripting(JSRS)(2000年)
JSRS,较经典的远程脚本访问组件,支持将客户端数据通过服务器做代理进行远程的数据/操作交互。

支持的浏览器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。
服务器端脚本语言支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。
开源协议。由Brent Ashley提供支持。
3.5 Bitkraft for ASP.NET
Bitkraft是个基于(.NET)Web框架的CLR(公共语言运行库),允许用独特的方式创建和操作分布式Web内容。用C#编写,运行在微软的.NET 1.1和Mono框架下,无缝式的客户端-服务器响应方式是它的最大特点。Bitkraft没有使用XML组织数据,而是用JSON代替。

支持的浏览器: IE5+, Firefox1+, NS6
服务器端要求:ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+
事件驱动
支持同步和异步的远程代理
客户端支持所有的.NET类型或自定义类对象映射到JSON中
用JSON取代XML
免费,开源许可协议
4 Server-Side: Java
4.1 WebORB for Java (2005年8月)
WebORB for Java是一个开发AJAX和基于Flash的富客户端应用程序的开发平台。在线例子

WebORB包括一个富客户端开发类库。提供简单的在线式API用来绑定或者调用任何Java对象、XML Web Services和EJB
支持异步或同步的事件驱动
不需要在服务端修改任何代码,不需要自定义方法或属性、变量等。不要求设计时指定代理等。
同步调用不需要回调,异步调用需要一个回调方法。
客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易的转变为状态。
提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。
支持数据分页技术。客户应用程序能检索页面中的数据。
支持以参数的方式返回所有服务期端数据类型,如primitives, strings, complex types, arrays, native .net collections, remote references
目前有两个版本:标准版(免费),专业版(商业许可)
4.2 Echo 2 (2005年3月)
Echo 2允许你用纯Java语言编写AJAX程序。 Demo.

自动生成HTML和Javascript代码
用XML在客户端-服务端传递消息
如果愿意支持自定义Javascript组件
开源协议(Mozilla Public License or GNU LGPL)
4.3 Direct Web Remoting (DWR) (2005)
Direct Web Remoting可以在Javascript代码中直接调用Java方法的应用框架

类似于SAJAX,可以把Javascript中的请求调用转递到Java方法中并将执行结果返回给Javascript
可以和任何Web框架一起使用,如Struts、Tapestry等等
开源(Apache),目前该产品被加入到WebWork中
4.4 SWATO (2005)
SWATO是一套可重用的和良好集成的Java/JavaScript库,它实现了一种更容易的方式来改变你的web应用程序的交互,通过AJAX方式实现。

服务端Java库可以非常容易的部署到所有Servlet2.3+兼容的容器中
客户端Javascript库可以在所有支持XMLHttpRequest的浏览器中使用
使用JSON技术在服务端组织POJO数据,这样你可以在任何Javascript环境中(HTML、XUL、SVG)访问这些远程数据,这种方式很容易通过硬编码或者某种成熟的Javascript库集成到当前应用中
提供一个简单接口使你能在Javascript中调用远程的POJO数据
使用和灵活的在web.xml中进行配置,并且可以集成(不是必须)到你的Spring框架中
提供了几个可帮助你快速开发web应用程序的组件(如自动完成的文本框,在线表单,在线列表等等)
4.5 AJAX JSP Tag Library
The AJAX JSP Tag Library是一组JSP标签库,用来AJAX程序开发。可以在J2EE下无需Javascript就能轻松开发AJAX模式的Web Form。标签库为比较通用的AJAX功能提供了5个标签:

autocomplete: 用户在文本框中输入字符,自动从指定的数据中匹配用户输入的字符,类似于Google Suggest
callout:可以为A标签加入气泡式的消息提示框,不过是实时的服务端取出数据
Select/dropdown:类似于联动菜单,比如地州市的联动下拉框
toggle:开关闸按钮,比如在一个hidden表单域中存储true和falsh,同时显示相应的img图像
update field:更新数据,也就是无刷新提交了。
4.6 AJAX Java Server Faces Framework
The AJAX-JSF用来把任意的JSF应用程序转变为AJAX应用程序

例子:AJAX组件的 MyFaces JSF Tree(树型目录), table scroller(可滚动的表格), tabbed pane(分页栏)
开源协议(Apache Software License)
Server-Side: Lisp
5.1 CL-Ajax
CL-Ajax实现Javascript直接调用服务端Lisp

生成可带参数的函数
可以回调Javascript函数或者DOM对象
可以集成到SAJAX中
开源许可
6 Server-Side: .NET
6.1 WebORB for .NET (2005年8月)
WebORB for .NET是一个用.NET和XML Web Services方式开发AJAX和基于Flash的富客户端应用程序(在线例子)

WebORB包括一个富客户端开发类库。提供简单的在线式API用来绑定或者调用任何.NET对象、XML Web Services
支持异步或同步的事件驱动
不需要在服务端修改任何代码,不需要自定义方法或属性、变量等。不要求设计时指定代理等。
同步调用不需要回调,异步调用需要一个回调方法。
客户端可以向服务端请求指定的活动方式,不需要任何编程就可以把处理结果轻易的转变为状态。
提供一个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个类似于RecordSet的JavaScript对象来显示这个结果。该对象提供检索列名和行数据的方法。
支持数据分页技术。客户应用程序能检索页面中的数据。
支持以参数的方式返回所有服务期端数据类型,如primitives, strings, complex types, arrays, native .net collections, remote references
目前有两个版本:标准版(免费),专业版(商业许可)
6.2 Ajax.NET (2005年3月)
Ajax.NET是首家支持各种方式通过Javascript访问服务端.net的免费库

类似于SAJAX,能把Javascript请求发送到.NET方法,服务端回传给Javascript,甚至包括串行化自定义类。
可以在Javascript中访问Session和Application数据
缓存查询结果
免费使用源代码
无需更改源代码,允许给Ajax.NET添加和修改方法和属性
所有类支持Javascript客户端返回数据,可以在JavaScript中使用DataSet:res.Tables[0].Rows
使用HtmlControls组件访问和返回数据
页面无需重载,用事件代理(数据访问层)
因为只提供一个调用接口方法,所以服务端CPU占用非常少
6.3 ComfortASP.NET (2005年8月)
ComfortASP.NET可以让开发者在纯.NET下开发类似AJAX(DHTML,JavaScript,XMLHttp)特性的应用程序。

快速应答
减少HTML传输
减少页面重载
无闪烁的浏览器内容更改
AJAX用户体验,
6.4 AjaxAspects (2005年8月)
AjaxAspects是个可以用Javascript调用服务端WebService事件的引擎

用标准的SOAP和WSDL进行服务端-客户端通信
用简单的类型和XML对象支持带参数的返回值
缓存支持
动作队列
免费使用,开源协议
7 Server-Side: PHP
7.1 AjaxAC (2005年4月)
AjaxAC用一个单独类封装了完整的应用程序功能

所有的功能集成在自包含的类中(另外附带一些Javascript库)
调用PHP文件或者HTML页面非常简易,只需创建App类后把类引用传递给需要调用的Javascript对象或者HTML元素即可。
捕获Javascript事件
可以自定义配置数据,并且支持运行时参数更改
无需再Javascript代码中夹杂凌乱的Html代码,所有事件都是被动态附加上的
由于以上两个优点,所以支持良好的模版引擎
容易Hook到PHP类和Mysql数据已返回给自己的request
能够容易的用Javascript建立窗口模式应用程序。
7.2 JPSpan
JPSPAN通过Javascript直接调用PHP中的函数。

进行了严谨的单元测试
开源许可(PHP)
7.3 XAJAX
XAjax通过Javascript直接调用PHP中的函数

支持用Javascript调用PHP脚本
开源许可协议
8 Server-Side: Ruby
8.1 Ruby On Rails
Ruby On Rails是一个支持AJAX的完整Web框架,使用Ruby语言编写,严格按照MVC结构开发。

当Ajax出现的时候Rails还处于其发展的早期,因此Ajax可能逐渐成为Rails框架的核心。
生成浏览器中大多数/全部的Window应用组件和动画的Javascript脚本。
支持服务器端调用。
队列支持
开源许可
文章来源:http://tb.blog.csdn.net/TrackBack.aspx?PostId=655786

Ajax使用场合

既然你己经对Ajax产生了兴趣,还要知道重要的一点,即什么时候应该使用Ajax技术,而什么时候不该用。首先,不要害怕在应用中尝试新的方法。我们相信.几乎每个web应用都能从Ajax技术中获益,只不过不要矫杠过正,过于离谱就行了。从验证开始就很合适,但是不要限制你的主动性。你当然可以使用Ajax提交数据,但也许不能把它作为提交数据的主要方法。
其次,惟一会影响你应用Ajax的就是浏览器问题。如果大量用户(或者特别重要的用户)还在使用比较旧的浏览器,如IE 5 , Safari 1.2或Mozilla 1.0之前的版本,Ajax技术就不能奏效。如果这是一些很重要的用户,你就要使用针对目标用户的跨浏览器的方法,而放弃Ajax,或者开发一个可以妥善降级的网站。浏览器支持可能不是一个重要因素,因为netscape Navigaxar 4在市场上的份额很小。不过,还是应该查看Web日志,看看你的应用适用什么技术。
如前所述,验证和表单填写就非常适合采用Ajax实现。还可以使用DOM的“拖”技术建立真正动态的网站,如google的个性化主页.
可以看到,Ajax为Web应用开发提供了新的机会。你不会再因为以往的专用技术或技术折中方案而受到妨碍。利用Ajax,胖客户与瘦客户之间的界限不再分明,真正的赢家则是你的用户。

联系我们 广告服务 京ICP备06016174号 友情连接 TJ

1. Pure Javascript: Application Frameworks
1.1 Bindows (成立于2003年)
Backbase是一个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案。Bindows无需下载安装客户端支撑组件(如Java、ActiveX或Flash),仅需一个浏览器。纯OO的理念体现在Bindows任何地方,Bindows或许是笔者见过的最完整最强大的AJAX应用程序平台。
Bindows是商业程序的,使用了来自于MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。

Bindows框架提供的功能和特性有:

基于面相对象技术的类和API
一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其他一些Windows窗口特性支持。
是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包
本机的XML,SOAP和XML-RPC支持
单用户到企业级开发的支持
内建的完美的AJAX支持
Bindows开发环境:

支持企业级规模的项目开发
跨浏览器、跨OS平台的支持
不受服务器结构限制
良好的与新的、现有的资源互操作性
统一的开发接口

1.2 BackBase (成立于2003年)
BackBase是一个完整的浏览器端框架,提供了丰富的浏览器操作功能,以及对.NET和JAVA平台的集成。
商业化产品,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

1.3 DOJO (开发中,成立于2004年9月)
DOJO提供完整的轻量级窗口组件和浏览器-服务器消息映射支持

提供创建自定义Javascript窗口组件的框架支持
预制的丰富的窗口类型库
B/S消息映射支持——XMLHttpRequest和其他机制
支持浏览器中的URL操纵功能
开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。
1.4 Open Rico (开发中;成立于2005年5月;基于早期的一个proprietary 框架)
Open Rico是一个支持Ajax架构和用户交互的多用途框架。

一个XMLHttpRequest response能被一个或多个的DOM对象,或者Javascript对象调用。
支持拖拽操作
支持基于AJAX的动画模式,如缩放和变换等
基于Behaviors的操作库
使用指南,由RussMirimar的Yonah提供
开源。源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。

1.5 qooxdoo (开发中; 成立于2005年5月)
qooxdoo,是另一个发展迅猛的应用框架,提供广泛的UI支持,正在开发基础架构等特性。

基础结构特性:
能轻易的捕获和操纵DOM事件
支持调试
支持一个时间操作的Timer类
Getter/Setter支持
UI:
窗口组件库和框架
界面布局管理
图像缓存和透明PNG图片处理
开源(LGPL).
1.6 Tibet (开发中; 创建于2005年6月)
Tibet提供了大量的易移植和完整的JavaScript API,通过这些可以快速生成大量的客户端代码,Tibet自称是企业级AJAX。

远程脚本调用封装在XMLHttpRequest中
URI支持
支持所有的HTTP事件,不再仅仅是GET和POST
低级的协议-File://和WebDav也可以当作HTTP正常使用
Web Services调用支持,包括SOAP、XML-RPC等等
大型的Javascript对象库
多种多样的XML操作支持
IDE和开发工具
开源协议(OSI)
1.7 AJFORM (创建于2005年6月)
AJFORM是一个极易上手的AJAX框架,被用来编写入门级的AJAX代码,提供有以下功能:

三步安装
自动支持任意HTML表单元素
几乎无需编码即可实现AJAX
2 Pure Javascript: Infrastructural Frameworks
2.1 AjaxCaller(创建于2005年5月,目前是Alpha版)
AjaxCaller是一个具有多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha开发阶段,仅在AjaxPatterns的在线搜索范例中使用了这个程序。

用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE)
支持XMLHttRequest对象的构析(销毁对象,C++支持内存对象的构析操作)
支持Response的高速缓存(尚在计划中)
简单的库文件代码易于新手学习使用,并且支持脚本调试
开源协议
2.2 Flash JavaScript Integration Kit
The Flash JavaScript Integration Kit可以使Flash和Javascript脚本实现相互集成。

可以实现在JavaScript中调用Flash ActionScript脚本,反之亦然。
几乎支持双方主要数据类型的在不同环境中的传递调用。
开源协议,有几个Flash开源爱好者维护。
2.3 Google AJAXSLT (2005年6月发行)
Google AJAXSLT,是一个Javascript框架,用来执行XSLT转换以及XPath查询。

目前在Google Map上就使用了这个。
开源协议(BSD)
2.4 HTMLHttpRequest(Beta版;创建于2005年)
HtmlHttpRequest最大的特点就是运用XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度的跨浏览跨平台的AJAX支持,其原理是在支持XMLHttpRequest的浏览器上调用XMLHttp,如果不支持,就用IFrame来模拟实现异步交互。

目前支持的浏览器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac
尚未测试的浏览器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux。
开源协议(LGPL)
2.5 Interactive Website Framework (创建于2005年)
Interactive Website Framework定位在浏览器中支持各种各样的AJAX基础应用的开源项目。自称是通过JavaScript、CSS、XML和HTML实现高性能的交互式WEB框架,包括一个可定制易读的XML解析器。实际上,IWF是一个AJAX的基础框架,并且还包括一些通用脚本代码。

实现了线程安全的XMLHttpRequest
对XML Document进行封装,以便创建更具有可读性的代码:

var node = doc.groceries.frozen[0].pizza[0].size;
封装后的数据读取
var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
原始的DOM操作读取
开源协议
2.6 LibXMLHttpRequest (2003年6月发布)
libXmlRequest是一个小型XMLHttpRequest封装包

用getXML()和postXML()两个事件简化XMLHttpReuqest调

E. 外文翻译的出处,能找到,详细的,速度要,谢谢啦!

所谓MIS(管理信息系统--Management Information System)系统 ,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。
邮政专家信息管理工作是目前全国邮政各项工作中的重点工作之一,如何能科学有效的开展好采集专家信息、维护专家信息、充分利用专家信息的工作,是当前邮政企业普遍关心的问题。因此,实现邮政企业专家信息化的管理有着十分重要的实践意义。
本系统是采用Asp作为前台开发工具,Acess作为后台数据库平台的基于B/S的两层模式的管理系统。旨在实现对现有的邮政专家信息管理工作中遇到的各种情况和大量数据进行数据库存储的基础上,设计并完成对其各种数据的采集、查询和统计,在深入研究的过程中,尽可能实现各类方便友好的操作界面和数据报表。
管理信息系统》/《信息管理系统》由Russ Basiura, Mike Batongbacal 所着,这就是MIS(管理信息系统)。

F. 大数据分析 让精准营销进入企业

大数据分析 让精准营销进入企业

新的营销拓展软件帮助公司从普通销售方法中挖掘出价值——使它们牢牢掌握现有客户。
2013年,Russ Hearl开始尝试扩大自己的公司——位于旧金山的Double Dutch,建立一个面向社交网络软件和活动的市场。在一个只有3名销售人员的团队中,从零开拓这个市场需要经过一番艰苦紧张的工作,每天都在打电话,但是仍然不清楚谁是目标客户。
Double Dutch的全球销售发展副总裁Hearl说:“我们的销售团队实际上都在孤立地拓展业务。当时完全没有成体系的增长动力。”
因为这种社交会议软件仍然属于一个年轻的市场,缺少在网络的曝光率,当时甚至还没有通过搜索引擎优化来开展业务——即研究人员使用的关键字来增加公司网站流量。所以,他各自为战的成员们仍然不得不采用一些老方法来拓展业务:打电话,一个个地向外推销虚拟会议软件的商业案例。
但是,电话营销是一个很困难的工作。打电话给陌生人,完全不清楚对方的背景,这种方法是效率很低的。Double Dutch需要更好的信息,才能在众多销售中挖掘出有用信息,如了解谁是永远不会买我们东西的,以及找到一些会议技术决定制定者。在实现Salesforce.com一个月左右之后,Hearl上线了Inside Sales营销拓展软件,这个软件可以帮助他的团队发现真正对他软件感兴趣的公司,以及有购买决策权的人。
Hearl说:“我希望将时间浪费减到最小,而打电话给完全对业务毫无兴趣的人就是浪费时间。”Inside Sales让Double Dutch能够在这些公司中发现活动规划者的数量,然后再将注意力集中在这些方面。Hearl指出,今年迄今为止,在预算保持不变的前提下,销售团队在生成的3,000潜在客户中发现了350个真实机会。
显然,这里显然需要了解潜在客户信息的数据公司参与。根据Decision Tree Labs在2013年所作的调研,有59%的B2B市场商人对他们的营销打分模型缺少信心,原因是信息不完整;另外有44%的人表示他们还不清楚哪些属性能够反映购买行为。
另一家营销拓展软件公司Lattice Engines的首席市场官Brian Kardon说:“真正的挑战在于数量多带来的麻烦。销售可以打电话给任意数量的潜在客户。但问题是:‘应该先打电话给谁,以及谁最可能购买产品呢?’”
一个新兴市场
Inside Sales是一种新型软件,它们专门收集公司数据(内部与外部),然后优化对潜在客户及现有客户的分析。有一些人将它称为营销自动化,有一些人将它称为多维营销拓展,还有一些将它称为销售加速软件。
无论叫什么名称,这项技术都会使用数据来帮助公司基于复杂条件来更好地发现潜在销售,深入挖掘现有客户的关系,然后在赶在客户之前发现可能的业务问题。这些技术能够组合利用外部数据库数据(如)、公共记录与公司内部CRM、销售及其他客户数据。
Gartner公司研究主管Todd Berkowitz说:“当营销软件服务公司Marketo和Eloqua出现时,你只能将一些营销方法交给销售人员,由他们来演示自己是什么,以及他们在公司网站上做了什么。这种方式会持续一段时间。然后,我们就在购买环节看到一些变化,即供应商的权力在削弱,而购买者的权力在增强。传统的销售记分模式是有问题的。”
现在,有许多新创公司宣布进入这部分市场,其中包括Inside Sales、Lattice Engines和Salesfusion。这些供应商表示,他们可以帮助公司根据预测条件来优化真实的营销方法,即发现哪些客户准备购买,以及可以给哪些现有客户销售更多的产品和服务。例如,Juniper Networks也是Lattice Engines的一个客户,它发现一些新客户最近搬进了新的办公室,他们准备购买交换机和路由器。其他的提示信息可能包括新专利或收到政府大订单。Lattice Engines的Kardon说:“你想要寻找的是一个活动标识,它将预示着有一个购买周期出现。”
建立更好的客户关系
美国亚特兰大州的SunTrust银行是一个地方银行,它通过深度挖掘客户关系来产生业务。银行副总裁及商务顾问Andrew Yearwood指出,在银行开始使用Lattice Engines之前,它使用各种内部系统来收集客户信息,以准备一个销售电话。这个过程非常耗费时间且效率低下,而且还可能因此无法及时获得正确的客户信息。
Yearwood描述说:“你必须登录多个系统,而且所有系统都有独立的登录帐号。有一些是大型主机,有一些则是基于Web,有一些还会有很深的文件夹层次——根本不可能是一下点击就出报表那样简单。因此,大多数销售人员表面上会承认说他们没有把工作做好,但是他们内心是认为公司应该给我提供一些条件,帮助我把工作做得更好一些。”
认识Lattice Engines
Yearwood指出,通过使用Lattice Engines,销售人员现在只需要使用一个系统,就可以访问现有客户的信息,从中发现他们可能需要哪一些产品和服务。
他说:“如果是一个公司,并且有一位审计会计,那么我们有很多其他类型的产品可以帮助你管理现金流。我们可以用报表帮助你完成业务,控制支付、付款及其他服务的安全性。我们可以使用这些数据来理解客户是如何使用这些工具来运营自己的业务,或者是否还有未购买的解决方案。”
Gartner的Berkowitz说:“客户生命周期管理会给跨行业销售和向上销售带来很大的机会。你不仅会获得外部数据,也会丰富自己数据库的数据。这是一个非常强大的预报工具。”
Yearwood指出,公司下一年度计划将这个软件应用到更多的方面,如营销拓展,但是目前仍有很多工作要做。
权衡利弊
即使这些工具在提高生产力及帮助销售团队方面有很多优点,但是这个软件仍然处于新生阶段,它也有一些局限性。例如,Yearwood希望Sun Trust能提供更灵活的数据视图。
他说,虽然Lattice Engines“在显示快照方面做得很好,但是我们更希望它能够显示趋势数据和时间序列数据。而它现在还无法做到。”查看数据随时间的变化,然后对比各年度的数据,“可以让银行主与客户在讨论现金流或信用卡使用趋势时有更实质的互动内容。在这些谈话中,你会成为顾问,扮演着战略指引的角色。”
Gartner的Berkowitz还提醒说,公司要考虑一些内部假设条件,这些技术模型会用这些假设来确定判断标准。
他说:“这个软件的最大问题在于它是一个黑盒。有一些公司不敢相信他人提供的黑盒模型,因为这些算法是保密的。”Berkowitz指出,他还会尝试区分这个领域中不同供应商的差别。
Berkowitz说:“在这一点上,他们都是相同的。但是,有一些供应商可能会宣称:‘我们已经将算法开源,然后围绕这些算法提供服务。’那么这就是一种差异性。”

G. 我想下载两篇外文文献,但是没有订购万方数据库的NSTL原文传递服务,想请各位大大帮忙!拜托了!

你好,请认准正确答案直接在此页面下载附件,你需要的文献已上传,希望对你的学习研究有所帮助,还望及时采纳答案哦!

A look inside light curtains

Safety light curtains are an advanced method of safeguarding personnel around many hazardous machines. They offer freedom, flexibility, and reced operator fatigue when compared with traditional guarding methods, such as mechanical barriers, sliding gates, and pull-back restraints. By recing the need, for solid guards where applicable, safety light curtains simplify routine tasks like machin

H. 怎样存储大数据

PB或多PB级基础设施与传统大规模数据集之间的差别简直就像白天和黑夜的差别,就像在笔记本电脑上处理数据和在RAID阵列上处理数据之间的差别。"
当Day在2009年加入Shutterfly时,存储已经成为该公司最大的开支,并且以飞快的速度增长。
"每N个PB的额外存储意味着我们需要另一个存储管理员来支持物理和逻辑基础设施,"Day表示,"面对大规模数据存储,系统会更频繁地出问题,任何管理超大存储的人经常都要处理硬件故障。大家都在试图解决的根本问题是:当你知道存储的一部分将在一段时间内出现问题,你应该如何确保数据可用性,同时确保不会降低性能?"RAID问题解决故障的标准答案是复制,通常以RAID阵列的形式。但Day表示,面对庞大规模的数据时,RAID解决问题的同时可能会制造更多问题。在传统RAID数据存储方案中,每个数据的副本都被镜像和存储在阵列的不同磁盘中,以确保完整性和可用性。但这意味着每个被镜像和存储的数据将需要其本身五倍以上的存储空间。随着RAID阵列中使用的磁盘越来越大(从密度和功耗的角度来看,3TB磁盘非常具有吸引力),更换故障驱动器的时间也将变得越来越长。
"实际上,我们使用RAID并不存在任何操作问题,"Day表示,"我们看到的是,随着磁盘变得越来越大,当任何组件发生故障时,我们回到一个完全冗余的系统的时间增加。生成校验是与数据集的大小成正比的。当我们开始使用1TB和2TB的磁盘时,回到完全冗余系统的时间变得很长。可以说,这种趋势并没有朝着正确的方向发展。"
对于Shutterfly而言,可靠性和可用性是非常关键的因素,这也是企业级存储的要求。Day表示,其快速膨胀的存储成本使商品系统变得更具吸引力。当Day及其团队在研究潜在技术解决方案以帮助控制存储成本时,他们对于一项叫做纠删码(erasure code)的技术非常感兴趣。
采用擦除代码技术的下一代存储
里德-所罗门纠删码最初作为前向纠错码(Forward Error Correction, FEC)用于不可靠通道的数据传输,例如外层空间探测的数据传输。这项技术还被用于CD和DVD来处理光盘上的故障,例如灰尘和划痕。一些存储供应商已经开始将纠删码纳入他们的解决方案中。使用纠删码,数据可以被分解成几块,单块分解数据是无用的,然后它们被分散到不同磁盘驱动器或者服务器。在任何使用,这些数据都可以完全重组,即使有些数据块因为磁盘故障已经丢失。换句话说,你不需要创建多个数据副本,单个数据就可以确保数据的完整性和可用性。
基于纠删码的解决方案的早期供应商之一是Cleversafe公司,他们添加了位置信息来创建其所谓的分散编码,让用户可以在不同位置(例如多个数据中心)存储数据块或者说数据片。
每个数据块就其自身而言是无用的,这样能够确保隐私性和安全性。因为信息分散技术使用单一数据来确保数据完整性和可用性,而不是像RAID一样使用多个副本,公司可以节省多达90%的存储成本。
"当你将试图重组数据时,你并不一定需要提供所有数据块,"Cleversafe公司产品策略、市场营销和客户解决方案副总裁Russ Kennedy表示,"你生成的数据块的数量,我们称之为宽度,我们将重组数据需要的最低数量称之为门槛。你生成的数据块的数量和重组需要的数量之间的差异决定了其可靠性。同时,即使你丢失节点和驱动器,你仍然能够得到原来形式的数据。"

I. 当今全球自动化创新技术列举

这个题太大了,下面有个网址,供您参考
http://www.beckhoff.com.cn/cn/Document/interview/interview_beckhoff_200703.pdf

前言:也许有很多业内权威会对自动化工业创新的现状感到担忧。和以往一样,行业领袖需要保持清醒的头脑以推动先进自动化技术向前发展,现实的发展步伐应支持和维持利润和生产力的优势。这篇文章将显示,工业自动化行业内的创新和技术进步正有序进行。

PC驱动

James Truchard是得克萨斯州Austin市自动化供应商美国国家仪器公司的总裁和首席执行官,他的评论直中要点。"过去10年来,自动化的最重大创新来自个人计算机(PC)技术与工业设备的结合。现在的工业控制产品中经常可以看到工业版的浮点处理器,DRAM(动态随机存取记忆体),固态存储设备如CompactFlash (CF)卡,快速以太网芯片和现场可编程门阵列(FPGA)," Truchard说。"这使得供应商和终端用户能够开发更加强大的软件,这些具有PC控制系统的灵活性和可用性的软件能可靠地在实时操作系统上运行。ARC咨询集团的分析师命名这些设备为可编程自动化控制器-- PAC。与PLC(可编程逻辑控制器)相比,PACs提供相同的耐用性和可靠性但往往更快,更灵活。"

开放系统这个主旋律得到Peter ZorNIo的共鸣,他是另一家位于得克萨斯州Austin市的自动化供应商Emerson Process Management的首席战略官,他反思了在过程控制业多年的经历。"从大约1993年到2002年左右,每个供应商都花费了大量的金钱开发开放系统,"Zornio指出。"我们从为特定目的建造具有专用网络和硬件的自动化系统发展到今天的开放自动化系统。不算实际控制器和设备,今天的自动化系统已经与信息技术(IT)领域使用相同的基础技术。

"客户想从PC市场得到容易的整和以及低成本硬件,"Zornio补充说,"但是他们并没有获益于更多的技术和安全支持。现在他们正卷土重来,这将加速下一个领域的创新。"

Zornio的公司已在无线通讯技术上投入巨资,他还指出,"当然,我会说无线通讯技术是一重大进步。"据他分析,无线通讯技术可能尚未象过去的一些技术进步那样对现今的自动化系统产生变革性的影响。但是Zornio预计,无线通讯技术的持续创新将对未来的自动化系统产生重大影响。

Milwaukee市的Rockwel自动化公司高级副总裁兼首席技术官Sujeet Chand将信息和通信联系起来。"信息和通信技术的发展对设计、操作和工业自动化系统维护的生命周期具有变革性的影响,"他说。

网络的影响

"在设计阶段,机电一体化与模拟技术的发展使我们能够在建造之前模拟并验证机器和制造系统的性能。由于双向的信息流,从'CAD到部件'的生命周期现在可以是连续的。这使得制造企业能够在产品推向市场的时间、质量和产量方面推动持续的改进。"Chand指出,"在生命周期的运作和维护阶段,标准以太网在工业自动化中的快速采用以及网络互操作标准的应用正在使IT系统及业务与工厂的整合成为可能,并帮助生产企业推广全厂范围和供应链的优化。"

许多人总体上把网络作为一项重大的创新技术。佐治亚州Alpharetta市的西门子工业公司工业自动化事业部总裁Raj Batra说,"基于公用总线结构的安全控制一直是现今具有重大影响力的创新技术之一。可编程安全控制成为了一个范式转变。生产力成本的节省以及网络技术的发展,让这个市场非常迅速。"

Dave Skelton 是位于宾夕法尼亚州Middletown 的供应商Phoenix Contact USA的自动化主管,他说,"我很象托马斯·爱迪生那样看待创新理念,'卖不掉的东西,我不想去发明',"至于旧发明促进今天的自动化进步,他也提到了网络。"商业通信技术的产业化,特别是以太网基础设施和无线通信技术,算得上是过去数年里影响现今自动化的最重要创新。我之所以这样说是因为销售的成功。这使得IT界有机会与制造业以直截了当的方式接触。"

"当然,作为可行工业通信标准的以太网和互联网协议(IP)的出现和广泛应用是过去10年来自动化最重要的创新,"Ben Orchard说。Orchard是位于加利福尼亚州Temecula的自动化供应商Opto 22的应用工程师,他对商业网络技术的重要性具有一致的观察。"没有以太网和IP将会大大减少自动化设备和系统之间的互操作性。在决定什么物理接口或应用协议最适合某一特定应用程序时,这为用户提供了多种选择。"

位于加利福尼亚州Long Beach的软件供应商Apriso公司的首席技术官Chris Will关注软件上的发展。"当然,首先将XML(可扩展标记语言)及其继任者——Web服务,面向服务架构(SOAs)和业务流程管理套件引入自动化领域的组织应得创新的称号。如今所有主导的软件基础设施供应商都在推动这三项技术。"

整合能力

伊利诺伊州Vernon Hills的供应商三菱电气自动化有限公司的项目经理Sloan Zupan持不同的思路。"最重要的创新与把不同的控制规则巧妙地集成到一个控制平台上有关。这包括像PLC,机器人,计算机数值控制器(CNCs),人机界面(HMIs)和视觉系统这样的东西。结合这些技术可以让用户为每一个应用恰到好处地选择搭配控制规则。"

位于瑞士苏黎世的自动化供应商ABB有限公司的首席技术官Peter Terwiesch补充说:"在集成能力上的进步,远程访问,设备和资产自身的智能化,加上以往相互竞争的通信协议的统一,促使用户有能力来优化他们的资产。过去十年来虽然设备已经变得更加聪明,在此期间微处理器已经深入渗透到现场设备的领域,并提供了丰富的诊断和操作信息,然而这个信息的真正价值只有当客户能够访问使用它时才能实现,"Terwiesch说。

"此外,从难以到达或危险位置上的设备获得信息然后加以使用,这些远程访问技术的进步帮助客户获得所有需要的数据用以准确评估生产情况或防止潜在的问题,"他补充说。"无线通信的实现使得从智能设备获取诊断信息成为可能,而此前的通讯连接方式决定它们只能传递过程数据。"

通过对一个加工厂的观察,过程系统供应商Honeywell Process Solutions的技术副总裁Jason Urso列出了几项对自动化和工厂经营具有影响力的技术创新。"操作者效率工具和异常状态管理的最佳实践(得益于现代图像和可视化技术以及报警管理工具的创新),加上减少报警泛滥的管理工具,是过去最重要的创新。开放系统的出现让使用传统系统的工厂能够在迁移HMI(人机界面)时保留其控制和输入/输出(I/O)的基础设施。工业无线通讯正使得效率和成本显着改善。最后,从使用HART或基金会现场总线(Foundation Fieldbus)的现场仪器得到的诊断信息控制工程网版权所有,正在让工厂更加积极主动地进行仪器维护。"

离散设备制造商Bosch Rexroth Corp的技术副总裁斯Scott Hibbar指出了三个驱动当前自动化技术的创新。"首先是产业界的接受度以及工厂自动化中精密运动控制的整合。十年前还是一个主要用于精密金属切削设备领域的偏门技术现已被几乎每一个自动化领域主流所接受",这位供应商执行官说。"接下来是运动和逻辑的整合。最后,基于以太网的现场总线正在达到自动化应用的需求,同时也在制造业环境中与其他信息技术共同发挥作用。"

Rockwell的Chand说:"未来,通过先进的传感技术和无线通信技术的扩散,持续地利用以太网,更大范围地利用先进控制技术,以及可持续和安全的生产方法,我们将继续看到今天的制造工厂转变为优化的工厂和供应网络。"

来自Emerson Process的Zornio已经确认无线通讯既是一个驱动现今自动化的昔日发明,而且也是未来自动化创新的驱动技术。"另一件大事---一个巨大的转变---就是减少复杂性,"他补充道。他称之为以人为中心的设计。"过去在80和90年代,如果一项新技术出现且你认为将会带来一些益处,客户会说不错,但'我得雇我需要的人。'让我们面对现实吧。PC不是给胆小鬼准备的。技术太难用再也不是一个借口了。看看iPhone吧。自动化领域也是如此。"

西门子的Batra认为未来创新的关键是产品生命周期管理(PLM),从设计到制造策略的紧密结合。"现实工厂车间与虚拟世界的结合,这将导致公司经营方式的巨大模式转变---数字化的工厂。"

Russ Agrusa是一家位于马萨诸塞州Foxborough的制造软件供应商Iconics公司的总裁和首席执行官,他表示软件巨头微软公司的最新操作系统,Windows 7,是一个"游戏规则颠覆者。"他继续说,"新Windows 7的多触控技术、易于使用的功能使得与制造商运营的交流更自然。"

Rashesh Mody是位于得克萨斯州Plano的自动化供应商Invensys Operations Management (IOM)的投资组合和策略副总裁,他认为,"云计算可能是一个惊人的变化。其次是虚拟化和模拟线程。这项技术主要针对的是降低拥有IT资源的成本。业务流程也将受到创新的关注,如何与我们的客户和集成商互动,如何管理工作流程。所有这些都是如何管理信息这个共同点的延伸。"

这个在"云计算"技术领域正赢得广泛关注的新趋势也称为"软件即服务(SaaS)"。这项技术需要将应用程序和数据保存在远程主服务器("云")里,客户可以从任何地方在任何与互联网连接的且具有充分显示功能的设备上访问,以查看结果。

来自软件供应商myDials公司的首席执行官Wayne Morris预见,信息业和公司的视角通过SaaS 组件和为一体。他预测,"在整个价值链上,新兴技术将推动过程自动化控制及企业制造智能技术与广泛、整体、持续的过程技术进步相结合。"这些措施包括在整个价值链上结合、关联性能指标,由连续指标处理而不是基于批处理的OLAP(在线分析处理)cube信息处理所促成的近乎实时的指标更新,由Web 2.0技术驱动的直观、交互式的指标可视化和分析,以及启动了SaaS且跨越多个企业的整个供应链,需求链和分销渠道的管理。"

另一个设在加利福尼亚州Pleasanton的软件供应商Transpara公司首席执行主任Michael Saucier期望以开放的数据库与无线网络及设备联接性相结合的信息革命为杠杆来创新未来信息传递到人们的方式。

"展望未来,"Saucier说,"我想说爆炸性地采用智能设备将会是驱动自动化和生产运营的最重大因素。我认为我们刚刚开始利用开发移动商业智能应用的潜力。人们逐渐认识到,手机除了用于电子邮件和更新棒球比分以外还能另有用途。只要在计划部署时考虑到规格因素,你可以把任何类型的业务、运营或制造数据存储在手机上。移动商务智能是个人数字助理在制造领域的强大应用。"

显示技术

机动且联通的工人的到来不能仅是瞬时幻想。位于加州Mountain View的自动化供应商Apprion的首席执行官兼工程副总裁Doug Donzelli指出,无线通信技术是转变成为"实时、机动、高生产率工人"的基础。企业可以使用无线通信将数据传入工人手中。"第二个驱动技术将会是OLED(有机发光二极管)屏幕。想象一下,工人能在工作现场展开一幅4 × 8英尺的视频屏幕---而不是一个仅有2 × 3英寸的屏幕。此外OLED固有的安全标定是Class 1 Div 2。因此,结合实时信息,无线通信,更大的数据通道,更好的显示效果,机动的工人将随身带着控制室出来吗?"

National Instruments的Truchard在他大多数研究中关注自动化的芯片和编程层面。他指出,"虽然PACs代表最新的可编程控制器,PAC的未来取决于嵌入技术的纳入。一个例子是能使用软件来定义硬件。"

考虑现场可编程门阵列。"FPGA是电子元件制造商用以创建自定义芯片而普遍使用的电子设备,它能将智能置于新的器件中。这些设备包括三大主要部件:可以执行各种功能的可配置逻辑模块,作为开关连接功能模块的可编程互连接口,以及将芯片数据传递进、出的I / O模块。通过定义可配置逻辑模块的功能和它们彼此及与I / O连接的方式,电子设计人员可以创建自定义集成芯片而无需交付生产定制ASIC(应用专用集成电路芯片)的费用。FPGA就相当于一个能重新连接其内部电路以运行你的具体应用程序的计算机,"Truchard解释说。

ABB公司的Terwiesch预测三个领域的创新。他说:"在查看进程和可获得的实时信息量方面,可视化技术一定会有重大的进展。能够实时地聚焦在某一特定数据集、或过程状态的能力将会提高操作者和工厂管理人员的生产力。对采取一个特定行动将可能导致的情况进行真实的实时模拟,或不将操作者置于危险环境或岗位,这种能力将在过程效率及安全方面产生巨大的成果。我们还将会看到更广泛地使用自动化网络虚拟化技术,这使得所需的物理硬件设备只相当于运行一个进程的一小部分(例如,一个需要14个服务器的进程可能只需2个了。)——持续统一的标准。"

Honeywell的Urso的补充说,"首要的是,无线通讯将继续对自动化行业产生巨大的影响。其次,我们将会看到工厂里增加的传感技术。我们将会看到创新性的新型传感技术的涌现,这包括纳米传感器以及具有相关分析算法的视频技术。第三,远程服务和支持将在提高工厂效率方面发挥更大的作用。最后,通过操作控制台上操作员与业务应用的集成,我们希望看到更多的工厂将过程数据转换成可操作的知识。操作者将更多地成为业务优化者而不是过程操作者。"

明尼苏达州Burnsville的供应商Beckhoff自动化有限责任公司总裁Graham Harris说:"我看到的不仅是新以太网和基于PC的技术引领制造业和自动化的创新,而且还有融合了更先进工程解决方案的高能力、集中化设备。可以认为这将为自动化控制器带来更强的多任务处理功能。这通常是由一个配备了现代多核处理器的单一工业PC来完成,这不只是在一块控制器上涵盖PLC(可编程逻辑控制器),自动化,运动控制和HMI(人机界面的控制器),而且还跨越到包括各种形式的高精密测量,状态监控甚至是机器人学/运动学。"

降低能耗

芝加哥独立包装自动化顾问John Kowal认为,包含板载多媒体的新技术部分地简化了培训和实际经历。他预计会看到类似于"能源之星"的基于机器整体设备效率(OEE)的评定标准。而且,从文化而不是技术的角度来看,他预见跨国合作的发展。

三菱的Zupan认为嵌入式IT技术,例如进入自动化平台的面向服务框架,将会产生最大的影响。"客户期望自动化设备与IT更高水平的整合,以便更好地经营资产管理,库存管理,生产进度,关键性能指标报告和远程管理。"

Bosch Rexroth的Hibbar认为,开放的通讯标准以及采用网络的自动化市场将刺激未来的创新。他补充说,"能源消耗,不论是从环境影响或是从传统能源资源耗尽来看,社会将受到能源消耗的影响。由于制造业消费所生产能源的三分之一,自动化技术如何更好地管理生产环境中的能源消耗将会引来很多的关注。"

对将用这些新技术来发明创造的未来工程师,Truchard加入了一些忠告。"随着对绿色工程的关注以及嵌入式技术在自动化系统多方面整合的趋势,对于一个工程师来说,只专注一项工程形式也许很快就不够用了。在未来的5到10年里,标准开发平台和高水平抽象工具将革命化工程师设计嵌入式自动化系统的方式。通过数字原型工具,工程师们已将测量和控制算法纳入他们的机械模型。他们还通过高层次图形化编程语言对嵌入式系统进行编程以及对FPGA进行重新配置。由于增加的测量数据,更高层次的软件工具和更强大的嵌入式自动化控制器,工程师们能装备精良地设计新一代高性能和高效率的生产设备。"

J. 如何在golang 中调用c的静态库或者动态库

Cgo 使得Go程序能够调用C代码. cgo读入一个用特别的格式写的Go语言源文件, 输出Go和C程序, 使得C程序能打包到Go语言的程序包中.
举例说明一下. 下面是一个Go语言包, 包含了两个函数 -- Random 和 Seed -- 是C语言库中random和srandom函数的马甲.
package rand

/*
#include <stdlib.h>
*/ import "C" func Random() int { return int(C.random()) } func Seed(i int) { C.srandom(C.uint(i)) }

我们来看一下这里都有什么内容. 开始是一个包的导入语句.
rand包导入了"C"包, 但你会发现在Go的标准库里没有这个包. 那是因为C是一个"伪包", 一个为cgo引入的特殊的包名, 它是C命名空间的一个引用.
rand 包包含4个到C包的引用: 调用 C.random和C.srandom, 类型转换 C.uint(i)还有引用语句.
Random函数调用libc中的random函数, 然后回返结果. 在C中, random返回一个C类型的长整形值, cgo把它轮换为C.long. 这个值必需转换成Go的类型, 才能在Go程序中使用. 使用一个常见的Go类型转换:
func Random() int { return int(C.random()) }

这是一个等价的函数, 使用了一个临时变量来进行类型转换:
func Random() int { var r C.long = C.random() return int(r) }

Seed函数则相反. 它接受一个Go语言的int类型, 转换成C语言的unsigned int类型, 然后传递给C的srandom函数.
func Seed(i int) { C.srandom(C.uint(i)) }

需要注意的是, cgo中的unsigned int类型写为C.uint; cgo的文档中有完整的类型列表.
这个例子中还有一个细节我们没有说到, 那就是导入语句上面的注释.
/*
#include <stdlib.h>
*/ import "C"

Cgo可以识别这个注释, 并在编译C语言程序的时候将它当作一个头文件来处理. 在这个例子中, 它只是一个include语句, 然而其实它可以是使用有效的C语言代码. 这个注释必需紧靠在import "C"这个语句的上面, 不能有空行, 就像是文档注释一样.
Strings and things
与Go语言不同, C语言中没有显式的字符串类型. 字符串在C语言中是一个以0结尾的字符数组.
Go和C语言中的字符串转换是通过C.CString, C.GoString,和C.GoStringN这些函数进行的. 这些转换将得到字符串类型的一个副本.
下一个例子是实现一个Print函数, 它使用C标准库中的fputs函数把一个字符串写到标准输出上:
package print // #include <stdio.h> // #include <stdlib.h> import "C" import "unsafe" func Print(s string) { cs := C.CString(s) C.fputs(cs, (*C.FILE)(C.stdout)) C.free(unsafe.Pointer(cs)) }

在C程序中进行的内存分配是不能被Go语言的内存管理器感知的. 当你使用C.CString创建一个C字符串时(或者其它类型的C语言内存分配), 你必需记得在使用完后用C.free来释放它.
调用C.CString将返回一个指向字符数组开始处的指错, 所以在函数退出前我们把它转换成一个unsafe.Pointer(Go中与C的void 等价的东西), 使用C.free来释放分配的内存. 一个惯用法是在分配内存后紧跟一个defer(特别是当这段代码比较复杂的时候), 这样我们就有了下面这个Print函数:
func Print(s string) { cs := C.CString(s) defer C.free(unsafe.Pointer(cs)) C.fputs(cs, (*C.FILE)(C.stdout)) }

构建 cgo 包
如果你使用goinstall, 构建cgo包就比较容易了, 只要调用像平常一样使用goinstall命令, 它就能自动识别这个特殊的import "C", 然后自动使用cgo来编译这些文件.
如果你想使用Go的Makefiles来构建, 那在CGOFILES变量中列出那些要用cgo处理的文件, 就像GOFILES变量包含一般的Go源文件一样.
rand包的Makefile可以写成下面这样:
include $(GOROOT)/src/Make.inc

TARG=goblog/rand
CGOFILES=\ rand.go\ include $(GOROOT)/src/Make.pkg

然后输入gomake开始构建.
更多 cgo 的资源
cgo的文档中包含了关于C伪包的更多详细的说明, 以及构建过程. Go代码树中的cgo的例子给出了更多更高级的用法.
一个简单而又符合Go惯用法的基于cgo的包是Russ Cox写的gosqlite. 而Go语言的网站上也列出了更多的的cgo包.
最后, 如果你对于cgo的内部是怎么运作这个事情感到好奇的话, 去看看运行时包的cgocall.c文件的注释吧.

热点内容
java变量的声明 发布:2024-05-08 19:50:44 浏览:976
c语言大数阶乘 发布:2024-05-08 19:40:51 浏览:542
华为手机上滑自动出来清理缓存 发布:2024-05-08 19:29:21 浏览:282
如何取消打印机共享密码 发布:2024-05-08 19:24:23 浏览:240
各层次的教育应如何配置财政资金 发布:2024-05-08 19:23:24 浏览:543
如何知道cpu配置是多少 发布:2024-05-08 19:23:18 浏览:366
python解释 发布:2024-05-08 18:52:58 浏览:580
开利中央空调密码如何修改 发布:2024-05-08 18:52:14 浏览:639
厂房配置应包含哪些 发布:2024-05-08 18:26:22 浏览:760
访问极路由硬盘 发布:2024-05-08 18:15:15 浏览:718