-
Jul072008
手机的操作系统
手机操作系统一般只应用在高端智能化手机上。目前,在智能手机市场上,中国市场仍以个人信息管理型手机为主,随着更多厂商的加入,整体市场的竞争已经开始呈现出分散化的态势。从市场容量、竞争状态和应用状况上来看,整个市场仍处于启动阶段。
目前应用在手机上的操作系统主要有PalmOS、Symbian、Windows CE和Linux四种。
相关术语:
Palm OS操作系统
Palm OS操作系统由Palm公司自行开发的,并授权给Handspring、索尼和高通等设备厂家,这种操作系统更倾向于PDA的操作系统。
Palm OS在PDA市场占有主导地位。Palm的产品线本身就包括智能手机,又宣布与最早的智能手机开发者Handspring购并,同时将软件部门独立。
Symbian系统
Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝芽、SyncML、以及3G技术。最重要的是它是一个标准化的开放式平台,任何人都可以为支持Symbian的设备开发软件。与微软产品不同的是,Symbian将移动设备的通用技术,也就是操作系统的内核,与图形用户界面技术分开,能很好的适应不同方式输入的平台,也可以使厂商可以为自己的产品制作更加友好的操作界面,符合个性化的潮流,这也是用户能见到不同样子的symbian系统的主要原因。现在为这个平台开发的java程序已经开始在互联网上盛行。用户可以通过安装这些软件,扩展手机功能。
在Symbian发展阶段,出现了三个分支:分别是Crystal、Pearl和Quarz。前两个主要针对通讯器市场,也是出现在手机上最多的,是今后智能手机操作系统的主力军。第一款基于Symabian系统的手机是2000年上市的某款爱立信手机。而真正较为成熟的同时引起人们注意的则是2001年上市的诺基亚9210,它采用了Crystal分支的系统。而2002年推出的诺基亚7650与3650则是Symbian Pearl分系的机型,其中7650是第一款基于2.5G网的智能手机产品,他们都属于Symbian的6.0版本。索尼爱立信推出的一款机型也使用了Symbian的Pearl分支,版本已经发展到7.0,是专为3G网络而开发的,可以说代表了当今最强大的手机操作系统。此外,Symbian从6.0版本就开始支持外接存储设备,如MMC,CF卡等,这让它强大的扩展能力得以充分发挥,使存放更多的软件以及各种大容量的多媒体文件成为了可能。
Windows CE系统
Windows CE系统包括 Pocket PC和Smartphone,前者针对无线PDA,后者专为手机,已有多个来自IT业的新手机厂商使用,增长率较快。
Pocket PC 2002 推出了应用在手机上的Phone Edition(电话版本),国内贴牌机多普达686就使用了这个系统。不过它在移动通讯方面的功能并不是很全面。针对这种情况,微软于2002年底发布了专门为手机开发的操作系统SmartPhone2002,像symbian Pearl一样,是专为移动通讯设备开发的系统。
虽然从众多手机厂商的反应来看,全球手机五大厂商中只有三星购买了微软的软件许可,所以其在手机市场上占有率还很低。
Linux系统
Linux系统件是一个源代码开放的操作系统,目前已经有很多版本流行。但尚未得到较广泛的支持。
阅读全文
1条评论
-
Jul062008
酒桌上喝酒的学问技巧
规矩一,酒桌上虽然“感情深,一口闷;感情浅,舔一舔”但是喝酒的时候决不能把这句话挂在嘴上。
规矩二,韬光养晦,厚集播发,切不可一上酒桌就充大。
规矩三,领导相互喝完才轮到自己敬。
规矩四,可以多人敬一人,决不可一人敬多人,除非你是领导。
规矩五,自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。
规矩六,自己敬别人,如果碰杯,一句,我喝完,你随意,方显大肚。
规矩七,自己职位卑微,记得多给领导添酒,不要瞎给领导代酒,就是要代,也要在领导确实想找人代,还要装作自己是因为想喝酒而不是为了给领导代酒而喝酒。比如领导甲不胜酒力,可以通过旁敲侧击把准备敬领导甲的人拦下。
规矩八,端起酒杯(啤酒杯),右手扼杯,左手垫杯底,记着自己的杯子永远低于别人。自己如果是领导,知趣点,不要放太低,不然怎么叫下面的做人?
规矩九,如果没有特殊人物在场,碰酒最好按时针顺序,不要厚此薄彼。
规矩十,碰杯,敬酒,要有说词,不然,我TMD干吗要喝你的酒?
规矩十一,桌面上不谈生意,喝好了,生意也就差不多了,大家心里面了了然,不然人家也不会敞开了跟你喝酒。
规矩十二,不要装歪,说错话,办错事,不要申辩,自觉罚酒才是硬道理。
规矩十三,假如,纯粹是假如,遇到酒不够的情况,酒瓶放在桌子中间,让人自己添,不要傻不垃圾的去一个一个倒酒,不然后面的人没酒怎么办?
规矩十四,最后一定还有一个闷杯酒,所以,不要让自己的酒杯空着。跑不了的~
规矩十五,注意酒后不要失言,不要说大话,不要失态,不要吐沫横飞,筷子乱甩,不要手指乱指,喝汤噗噗响,不要放屁打嗝,憋不住去厕所去,没人拦你。
规矩十六,不要把“我不会喝酒”挂在嘴上(如果你喝的话),免得别人骂你虚伪,不管你信不信,人能不能喝酒还真能看出来。
规矩十七,领导跟你喝酒,是给你face,不管领导怎么要你喝多少,自己先干为敬,记着啊,双手,杯子要低。
规矩十八,花生米对喝酒人来说,是个好东西。保持清醒的头脑,酒后嘘寒问暖是少不了的,一杯酸奶,一杯热水,一条热毛巾都显得你关怀备至。
如果你酒量不怎么样,给你一些诀窍:
阅读全文
1、不要主动出击,实行以守为攻战略;
2、桌前放两个大杯,一杯放白酒,一杯放矿泉水,拿小酒盅干杯,勤喝水,到酒桌上主客基本都喝8分醉时,可以以水代酒,主动出击;
3、干杯后,不要马上咽下去,找机会用餐巾抹嘴,把酒吐餐巾里;
4、上座后先吃一些肥肉类、淀粉类食品垫底,喝酒不容易醉;
5、掌握节奏,不要一下子喝得太猛;
6、不要几种酒混着喝,特别容易醉;
7、领导夹菜时,千万不要转酒桌中间的圆盘,领导夹菜你转盘是酒桌上大忌;
8、喝到六分醉时,把你面前的醋碟中的醋喝下,再让服务员添上……
9.每次干杯时,倒满,然后在喝前假装没有拿稳酒盅,尽量洒出去一些,这样每次可以少喝进去不少。
-
Jul052008
比尔·盖茨名言收集
"我应为王"
"公平不是总存在的,在生活学习的各个方面总有一些不能如意的地方.但只要适应它,并坚持到底,总能收到意想不到的成效."
"在这个世界上,没有人能使你倒下.如果你自己的信念还站立的话."
"轻率和疏忽所造成的祸患不相上下.有许多青年人之所以失败,就是败在做事轻率这一点上."
"有非凡志向,才有非凡成就."
"很多人喜欢拖延,他们对手头的事情不是做不好,而是不去做,这是最大的恶习."
"一旦做出决定就不要拖延.任何事情想到就去做!立即行动!"
"好的习惯是一笔财富,一旦你拥有它,你就会受益终生.养成"立即行动"的习惯,你的人生将变得更有意义."
"切实执行你的梦想,以便发挥它的价值,不管梦想有多好,除非真正身体力行,否则,永远没有收获."
"成功开始于想法,但是,只有这样的想法,却没有付出行动,还是不可能成功的."
"成功者一遇到问题就马上动手去解决.他们不花费时间去发愁,因为发愁不能解决任何问题,只会不断增加忧虑、浪费时间."
"人们所认识到的是成功者往往经历了更多的失败,只是他们从失败中站起来并继续向前."
"失败并非坏事,一次失败能教会你许多,甚至比你大学里所学的还有用."
"破产是一种暂时的困境,贫困是一种思想的状态."
"花费数百元买一本书,便可以获得别人的智慧经验.然而,如果你全盘模仿,不加思考,那有时就会画虎不成反类犬."
"年轻人欠缺经验,但请不要忘记:年轻是你最大的本钱.不要怕犯错,也不要畏惧挑战,你应该坚持到底,在出人头地的过程中努力再努力."
"获得成功有两个重要的前题:一是坚决,二是忍耐."
"只要有坚强的持久心,一个庸俗平凡的人也会有成功的一天,否则即使是一个才识卓越的人,也只能遭遇失败的命运."
"当你在事业上遇到挫折,有"打退堂鼓"的念头时,你应该加以注意,这是最危险的时候!"
"坚持下去,成功就在下一个街角处等着你."
"机会并不会自动地转化为钞票——其中还必须有其他因素.简单地说,你必须能够看到它,然后必须相信你能抓住它."
"强烈的欲望也是非常重要的.人需要有强大的动力才能在好的职业中获得成功.你必须在心中有非分之想,你必须尽力抓住那个机会."
"企业发展需要的是机会,而机会对于有眼光的领导人来说,一次也就够了."
"科学技术的进步将会给人们的生活带来巨大的影响,而人们要不断适应这种时代的变化,而不要坐等未来,失去自我发展的良好机会."
"每一天都会有一个机遇,每一天都会有一个对某个人有用的机遇,每一天都会有一个前所未有的、绝不会再来的机会."
"幸运之神会光顾世界上的每一个人,但如果她发现这个人并没有准备好要迎接她时,她就会从大门里走进来,然后从窗子里飞出去."
"最有希望的成功者,并不是才华最出众的人,而是那些最善于利用每一时机发掘开拓的人."
"一个人想要成功,就要学会在机遇从头顶上飞过时跳起来抓住它.这样逮到机遇的机会就会增大."
"人生的选择决定一切"
"每项事业成功都离不开选择,而只有不同寻常的选择才会获取不同寻常的成功."
"成功的轨迹作为一种策略路线,从一开始就应该走上正轨."
"失败是成大事者之母."
"这个世界并不在乎你的自尊,只在乎你做出来的成绩,然后再去强调你的感受."
"他之所以为自己所领导的微软而感到自豪,是因为在这个团体中聚集了一大批与他一样热爱微软事业的人."
"一个管理者如果不了解其下属的工作,那他就无法有效地管理他们."
"对人才的运用,仅仅限于收罗是远远不够的,重要的是对人才不仅要善于识别其长处,而且要敢于大胆地使用,以让其充分显示自己的才能."
"微软公司在用人上所表现出的胆略与气魄是别的公司无可比拟的."
"对于一个大公司而言,没有一支强有力的服务队伍,给用户提供全面、周到的服务,那简直是难以想象的."
"公司可以想出一些主意让员工自己寻找更好的办事方法,而绝不应该命令说"你必须选择这样的过程,你必须这么做",这肯定行不通."
"经过每一个里程碑式的重要阶段时,我们都力争做到没有任何瑕疵,就像做项目评估工作那样."
"我们没有不懂技术的管理人员,因为,去寻求技术和管理之间的平衡毫不费力."
"千万不要错过那些好小子,一旦发现必须下定决心,不然你会与他们失之交臂!"
"人生是不公平的,习惯接受吧."
"你不会一离开学校就有百万年薪,你不会马上就是拥有公司配属手机的副总裁,二者你都必须靠努力赚来."
"盖茨运用的管理风格既不是美国的个人主义式,也不是日本的共识主义式,而是独树一帜的达尔文式——适都生存"
"我工作是为了乐趣"
"微软公司雇用工作狂真是眼光独到."
"每周经常工作72小时,有时甚至达到90小时;不工作的时候,他就像一个黑洞吸收光线那样,大量吸收信息."
"没有热忱的经营者,也就教育不出敬业的员工."
"如果你觉得你的老板很凶,等你做了老板就知道,老板是没有工作任期保障的."
"要赞扬某人,最好用白纸黑字写下来;若要训斥某人,则要用电话的方式,不留痕迹."
"在快餐店打工并不可耻,你的祖父对煎汉堡有不同的看法:机会."
"由于缺乏团队合作而失败的工商企业,比由于其他原因而失败的要多."
"如果你一事无成,不是你父母的错,所以不要对自己犯的错发牢骚,从错误中去学习."
"要办好一个企业,固然必须摆平自上而下的利益关系,让处于企业内部各个层次的人,在发挥自己在企业中作用的同时,有一个相应的回报;但是建立良好的劳资关系,取得相互尊重,享受人与人之间的温暖和快乐同样是企业管理的大事."
"看一下老板是不是善于管理他的员工,从他给员工支付的报酬毫无疑问地可以做出判断."
"在学校里可能有赢家输家,在人生中却还言之过早.学校会不断给你机会找到正确的答案,真实人生中却完全不是这么回事."
"在我们这里,体现员工地位和贡献,不是他的职务,而是他的业绩.他取得了成绩,大家都赞扬他,尊重他,以他为榜样,他就会有一种满足感."
"我们需要的是世界上最优秀的人才!"
"人生没有寒署候,人生不是学期制,没有哪个雇主有兴趣帮你寻找自我,请用自己的时间来做这件事吧."
"落后就是耻辱."
"在计算机领域内,技术与应用发展更新极快,对其技术的掌握很难做到一劳永逸.有些人掌握了某种技能,生产出某种产品,就以为能一劳永逸,万事大吉了,这样非常危险的."
"电视上演的并非真实人生.现实生活中每人都要离开咖啡馆去工作."
"管理者在任何时候,任何情况下都有使员工们更加成熟的使命."
"知道学习的重要性,知道该向谁学和学习什么,这正是比尔先生及其微软不断取得成功的重要经验.""孜孜以求进步的精神,是一个人的优越的标记与胜利的征兆."
"养成每天读十分钟书的习惯.这样每天十分钟,二十年之后,他的知识水平一定前后判若两人.只要他所读的都是好的东西." "创新是做大公司唯一之路."
"我很幸远,年纪轻轻就发现我的兴趣,而且令我如此着迷,至今仍是如此."
"对书呆子好一点,你未来很可能就为其中一个工作."
"失败是不可避免的,但只要坚持到底,总能收到意想不到的成效."
"我们应该接受迅速失败,而不是缓缓失败,最不该接受的则是没有失败.如果有人从不犯错误,那只能说明他们努力不够.失败的结果是试图去尝试其它的可能."
"巨大的成功靠的不是力量是韧性.社会竞争常常是持久力的竞争,有恒心和毅力的成功者往往成为笑到最后、笑得最好的人."
"时间管理不仅是独乐,也是众乐的一场赛事,和时间赛跑,人人都有可能是胜利者.只有不参加的人,才是失败者."
"我的工作其实是一场竞赛,我喜欢在事情到了紧要的关头时全力以赴的感觉.在这个时候,人往往有超水准的表现."
"好的习惯主要是依赖于人的自我约束,或者说靠人对自我欲望的否定."
"因为说话一定要诚实,所以一个好的领导者不能随意滥用奖赏和表扬,我会特别小心地对待我对员工所承诺的事情."
"每天早晨醒来,一想到所从事的工作和所开发的技术将会给人类生活带来巨大的影响和变化,我就会无比的兴奋与激动."
"成功都并没有什么秘密,他们只不过是适应了时代发展的变化."
"当你的努力与时代同步时,你就会对社会产生不可忽略的影响."
"可以说,我们对今后十年的主要见解是这样的:如果数字通讯是免费的,会出现什么情况呢?回答是,我们学习、采购、社交、做生意和娱乐的方式截然不同.我们希望软件和软件标准在其中起重大作用."
"每隔三年左右,企业必须对自己业务的方方面面进行一次全方位的严格评估,这点至为关键."
"当你了解客户的需求后,你必须乐于思考如何让产品更贴近并帮助客户."
"对客户信守承诺,这一服务准则非常重要."
"与其做一株绿洲中的小草,还不如做一棵秃丘中的橡树,因为小草毫无个性,而橡树昂首天穹."
"科学技术的进步将会给人们的生活带来巨大的影响,而人们要不断地适应这种时代的变化,而不要坐等未来,失去自我发展的良好时机."
"虽然行动不一定能带来令人满意的结果,但不采取行动就绝无满意的结果而言."
"微软离破产只有18个月.他的意思是说,如果企业无法不断的创新进步,也许一年后就不复存在了.企业如此,人亦如此."
"任何时候,人的脑子都会有很大一部分没有使用,因此,当你放眼四周时,就可以充分利用大脑."
"最可怕的敌人,就是没有坚强的信念."
"直觉助你发现职业,而选择职业就像盖房子,如果你选择的职业是坚实的河床,你会喜欢你的产品."
"运气是一个因素,然而我想最重要的因素还是我们的远见和高度的洞察力.我从来都是戴着望远镜看这个世界的."
"一个成功的商人,不应该仅仅是干练、能吃苦,还要有协调周围关系的能力,将不利因素化解到最小最少.做生意需要激情,但更要理智驾驭,意气用事、浮躁冲动是商家之大忌.什么是商人?商人就是关键时刻始终维护自己利益的人."
"创办一个公司就像建立一座大厦,没有蓝图,就不可能顺利地施工,谁都不能在没有蓝图的情况下施工.建立事业的蓝图,就是订一份企业计划."
"大多数的合伙人都采取五十对五十的分配法,这是最糟的方法,因为总得有人拥有做决策的能力才行.一旦公司开始赚钱,冲突必定随之产生,两倍合伙人意见必然相左,尤其是在问题牵涉到金钱时,双方争执愈烈."
"你用于计划的时间越长,你完成工作所需要的时间就越短."
"没有悟性的创业者,反应就不够灵敏,很难把自己的公司办得火起来."
"增强团队精神是每位公司管理人必须做到的,只有强大的团队才能在市场的浪潮中立于不败之地,才能做大公司.没有强大的团队,新管理人的工作能力怎能得到下属的认可呢?"
"在你出生前,你的父母并不像现在这般无趣,他们变成这样是因为忙着付你的开销、洗你的衣服、听你吹嘘你有多了不起.所以在你拯救被父母这代人破坏的热带雨淋前先整理一下自己的房间吧.
"优柔寡断是会传染的,它能使整个组织感染上这种病,引起人们犹豫不决,失去信心,甚至造成混乱."
"了解我的公司在各区、各产品门类和各客户群体中的经营情况,对于我这个首席执行官来说是很重要的."
"我认为做一个经营者有一个不可或缺的条件,那就是有经营兴趣."
阅读全文
-
Jul042008
IT史上最伟大的十大存储发明
你知道是谁发明了第一个光纤通道SAN吗?还有第一个RAID?第一个NAS?第一台重复数据删除设备? 如果不做一些调查的话,我们可能都无从知晓。我们发现的远非这些:存储网络的历史不仅仅是现代IT界一个有趣的缩影,它还记录了支撑现代生活的数字技术的发展。想象一下,如果没有存储网络和数据保护的话因特网会变成怎样?或者使用某种技术创造出来的电影如何保存?
我们这样回顾过去的话总会认为那是一段黑暗而沉闷的冬季。然而在我们看来,对过去回顾更像是万物复苏的春季。 而且这段历史是激发我们灵感的源泉。在现在这个开支缩减、资金短缺和失业普遍的时期,回顾过去存储网络如何成功发展到今天并无害处。当你回顾过去的,显然存储行业的历史是一直向前发展的。
我们罗列的这个名单中所涉及的存储并没有按特殊的标准进行排列,而是基于在数据存储以及在整个网络存储技术变革中的重要性选择出来的:
1、光纤通道SAN(FC SAN)
当光纤通道逐渐成为企业级存储网络的基石时,也激发了存储区域网络(SAN)理念的发展。SAN的概念来自于LAN(局域网),它是指一个以太网或者令牌环网(Token Ring)状的连接形式可以被用于从多个主机共享存储数据。
第一个光纤通道SAN大约出现在1994年,当时ANSI标准组织通过了这个版本的光纤通道,从而掀起了存储网络的全面革新。自从1985年起到当时,光纤通道还一直作为一项技术应用的。
虽然惠普、IBM和Sun是当时开发光纤通道并且提倡光纤通道SAN标准化的三大厂商,但是真正最早成形的产品(也就是交换机)却是来自第三方厂商。其中就包括Ancor Communications,早在1988年Ancor就开始将光纤通道作为自己的专利产品生产,而且它还是最终通过光纤通道标准化的ANSI委员会的创始成员,后来它在2000年被QLogic收购。其他厂商还包括Ancor Communications、Vixel以及当时的初创厂商博科(Brocade)公司。2002年Ancor申请Chapter 11破产保护,之后将资产出售给了博通(Broadcom)。Vixel后来将部分资产出售给了Emulex以及富士通公司。而博科公司在光纤通道交换机方面的强劲实力迫使其他许多初创厂商黯然推出市场。
一直以来,很多业内专家都对光纤通道SAN的未来做出了预测,尤其关于iSCSI是否会取代光纤通道SAN的争论从未停止。有分析师认为目前没有任何迹象表明光纤通道技术走向衰落,即使它继续发生着变化。Taneja Group咨询师Arun Taneja表示:“光纤通道将继续保持良好的发展势头,而且FCoE将在适当的时机进入这个领域。”FCoE技术被一些供应商积极支持,他们希望以此来留住用户在光纤通道设备上的投资兴趣,同时通过采用FCoE技术来简化所需的布线。虽然Taneja认为以太网必将成为数据中心的通用架构,但是他认为至少在三到五年内以太网是无法取代光纤通道SAN的。
2、RAID
从重要性和影响上来讲,没有哪项存储发明能够与RAID相提并论。这个通过多个旋转磁盘上复制数据来流式处理I/O和提供系统效率的技术理念引发了数据存储的重大变革,也成为现在所有存储虚拟化的奠基石。
最初RAID只是1987年在加利福尼亚大学进行的一个科研项目,后来它成为扎根于大型主机磁盘镜像,并成为IBM专利技术。IBM在推广RAID技术方面起到了积极的推动作为,另外还有Compaq、EMC和Data General等厂商。
经过多年的完善改进之后,RAID为存储系统提供了不同层级的冗余以及可靠性。最近RAID技术已经发展到了RAID 6,可以在两个驱动器发生故障的情况下进行恢复。
RAID芯片和控制器的性能也在不断提升,从最近发布的SAS驱动器产品就能看出来。另外RAID技术也是MAID技术发展的一个推动因素。在MAID中,只有需要时才将一部分磁盘开机运转,而其他磁盘通常处于断电状态。这个概念最早是由Copan倡导的。
RAID未来会是怎样的?有一件事是可以肯定的:在二十年之后,RAID技术将继续完善改进,并且继续为存储的发展作出贡献。
3、磁带
早在20年代德国就诞生了第一个用于记录声音的发明——磁带,同时磁带也是我们所列十大存储发明中最“古老”的一个,但也是最特殊的一个。
随着1951年UNIVAX 1电脑的诞生,磁带首次被用于数据存储,次年IBM发布了726磁带设备之后,便开始出货这种磁带。
虽然人们一直认为磁带即将“灭亡”,但是事实上磁带技术仍然十分兴盛,尤其是用于归档目的。
Enterprise Strategy Group分析师Mark Peters表示:“因为它是第一个,所以它就不可避免地遭受人们的非议。”他解释说,磁带的低成本优势将成为它继续作为存储介质的因素之一。“企业存储在磁带上的数据比存储在其他介质上的数据多得多。磁带就像是远古时代的猛犸象。”
正因为磁带如此受欢迎,不少厂商也将磁带作为衡量他们存储系统性能的“晴雨表”。
市场研究机构IDC分析说,即使现在基于磁盘的备份逐渐赢得人们的青睐,但是它也不可能完全取代磁带。IDC分析师Robert Amatruda表示:“我们估计可移动磁盘备份产品会给磁带驱动器带来不小的压力,尤其是在入门级和低端市场。”他还表示,虚拟磁带库将占据企业级和终端磁带驱动器市场。
虽然面临着磁盘的严峻挑战,但是磁带仍然占据着它的一席之地。Amatruda表示:“我们相信高容量磁带驱动器更适合于深度归档以及分级存储应用。”
4、智能化磁带库
有人称StorageTek的Nearline系统是全球首个成功的智能化磁带库,1987年一经推出就掀起了一场技术革新。
市场分析公司Horison Information Strategies总裁Fred Moore表示:“它实际上挽救了磁带行业,因为人们已经厌倦了成千上万个磁带,缺少自动化功能会扼杀磁带行业。智能化磁带库是一项重大的技术革新,现在我们看到磁带库已经非常普及了。”
Moore表示,早在Nearline问世之前,人们一直为手动更换磁带而感到烦恼。
他说:“人们总是会出错——将磁带错放到别的驱动器中,或者磁带掉到地上——Nearline的出现缓解了这个问题。”他还表示,IBM后来也推出了一款智能化磁带库产品。
StorageTek的方法与IBM提供访问磁盘路径的方法有所不同。Moore解释说:“StorageTek采用的是循环操作,而不是一个单方向路径,后者存在很多可靠性的问题。”
现在StorageTek已经被Sun公司收购,除了StorageTek以外,IBM、昆腾和惠普等厂商也推出了自己的智能化磁带库产品。
5、虚拟磁带库(VTL)
虚拟磁带库(VTL)的概念最早出现在八十年代到九十年代之间,但是Data/Ware Development、EMC和StorageTek等公司都在争取这个模仿磁带的系统的专利。虚拟磁带库的概念最终从备份系统转向将经过磁带驱动器的数据出送给磁盘,这样存储管理者就可以迁移到一个可读取性更高的存储介质,同时保留他们在备份工具方面的资金投入。
数年以来,包括Diligent、昆腾和Sepaton在内的多家厂商都在虚拟磁带库方面有着突出的贡献,使这项技术成为网络存储的一个重要组成部分,尤其现在重复数据删除也是在虚拟磁带库平台上进行的。
虚拟磁带库将继续在存储领域扮演重要的角色,有部分是因为磁带还没有消失。StorageIO Group分析师Greg Schulz表示:“考虑到现在仍然有很多人使用并且依赖于磁带,即使磁盘备份的份额有所增加,虚拟磁带库未来仍将继续在从物理磁带到基于磁盘的领域有着广泛的应用。”他还提到,曾经有业内专家认为虚拟磁带库是一项异端技术——而他认为这一点保证了虚拟磁带库的生命周期:“未来直至各种关于虚拟磁带库的推销陷阱和花招都消失的时候,虚拟磁带库仍将以各种形式存在。”
6、NAS
虽然目前美国经济持续低迷,但是NAS仍然是发展最为健康的一项存储技术,这也证明了它在企业数据中心的重要性。
前段时间市场分析机构IDC发布的一份报告显示,NAS市场的同期增长率为15.5%,其中EMC以36%的收入份额位列第一,其次是占有31.6%的NetApp。开放SAN收入表现稍逊一些,同期增长率为14.7%。
实际上,NAS设备使用它自己的网络地址来随时在网络上为用户提供基于文件的服务,这在目前高度分布式的环境下是非常关键的。
NAS技术应用于Novell的Netware操作系统和NCP协议中。Sun推出了针对Unix系统的Network File System(NFS)协议,不过让NAS技术实现重大飞跃的却是NetApp。
在1993年,NetApp首先提出了NAS存储设备的概念,三年之后,NetApp研发出如何在同一台设备中提供CIFS Windows和NFS两种协议。
NetApp公司NAS解决方案主管Bharat Badrinath表示:“NetApp在1996年推出了多协议应用,我们是第一家尝试这么做的厂商。”NetApp此举也为后来推出的一系列NAS设备打开了大门。
7、固态盘(SSD)
已经并入Sun旗下的StorageTek在30年前推出了首款固态盘产品,现在这项技术已经逐渐渗透到企业数据中心领域。
最近EMC、Sun和HDS一系列产品发布都凸显了固态盘在企业级存储市场的重要性。
固态盘采用NAND闪存或者DRAM内存来加速读取速度、降低能耗,成为取代传统磁性介质或者光学介质的最佳选择。
ESG集团的Peters认为,固态盘已经在高端存储领域赢得了一席之地。
他说:“想一想USB给我们带来的影响,现在又有了固态盘技术。五年以前,你可能会应为参加会议别人送给你一个USB驱动器而兴奋不已,可见这项技术已经成为我们生活中一个重要的组成部分。”
8、重复数据删除
重复数据删除技术可以确保同一份数据不会被备份两次。几年前,这项技术最早出现在磁盘备份产品中,现在NetApp和Data Domain等厂商已经成为重复数据删除领域的佼佼者。
Avamar(现已被EMC收购)和Data Domain是最早推出重复数据删除产品的厂商,Avamar在2002年推出了Axion产品线,Data Domain后来在2003年年中发布了它的首款重复数据删除产品。其他最早的推行者还包括Diligent(现已被IBM收购)、ADIC(现已被昆腾收购)以及赛门铁克。
ESG集团的Peters表示:“在我看来,重复数据删除技术将成为一项标准特性,它有着诸多重要性——重复数据删除可以与自动精简配置功能配合应用,这就进一步加深了优化程度。”
最近几年,不少厂商都将重复数据删除技术作为一项“绿色技术”,因为它可以减少用户的能源开支,HDS和Diligent等厂商也逐渐把自己的重复数据删除产品推向中小企业等中低端市场。
近几年来重复数据删除技术成为大肆宣传和盲目追捧的对象。不过越来越多的用户开始谨慎考虑厂这项技术可能带来的好处。
分析论坛Wikibon估计重复数据删除技术的磁盘缩减率在10x到15x之间,在线存储缩减率在2x或者3x之间,在这个人们迷失在数据海洋的年代重复数据显得十分重要。
9、MAID
在我们列的这个名单中,MAID技术应该算是最“年轻”的一员了。这个技术概念最早是有科罗拉多大学的研究学者在2003年提出的,之后迅速被本地公司Copan所采用。
Copan首席技术官Chris Santilli表示:“我们采用了他们的技术和技术名称,并且将他们的研究付诸商业化产品。”
仅仅一年之内,备份厂商Copan就在他们的Revolution 200T旗舰产品中推出了MAID功能,现在Copan整个产品线都提供了这项功能。
现在Nexsan、NEC和富士同等多家厂商都推出了自己的MAID系统产品。MAID系统一般采用数个旋转磁盘,这些磁盘是充当非旋转磁盘、也就是处于被动模式下的磁盘的缓存使用。如果缓存中找不到某个数据请求的话,就会启动相应的处于被动模式下的磁盘。
Moore表示:“MAID技术的‘绿色’特点也让这项技术更具吸引力,而且使低成本磁带比磁带更具竞争力。”
在过去的这一年时间中,包括HDS和EMC等厂商都发布了他们自己的节能磁盘技术,其中EMC在最近推出了盘片降速磁盘。
10、快照
能够在某个时间点对一份文件进行快照的功能对存储系统来说已经不是一个新鲜事了,这已经成为从数据库到服务器、再到数据中心领域的一个常见特性。
但是在90年代当快照功能成为基于文件数据的一个备份选择时,快照技术成为备份领域一项具有革新意义的技术,当然后来持续数据删除(CDP)技术延续了这一革新。
NetApp和飞康等最早的快照功能提供商从这项技术中受益颇多,因为减少备份窗口的需求驱使大多数的企业用户将快照功能作为磁盘存储系统和磁带存储系统中一个标准特性。
虽然应用方式有所不同,但是对快照功能的需求将会以不同形式继续存在。StorageIO Group分析师Schulz表示:“快照功能之所以重要是因为它可以创建一个虚拟备份窗口,当物理备份窗口缩小甚至是不存在的时候仍然具备数据保护功能。这在最大程度上减少对应用的影响以及提供生产效率的同时,为用户提供了实实在在的数据保护功能。”
阅读全文
-
Jul032008
网络流行术语的起源
blog(博客)、browser(浏览器)、software(软件)、wiki(维基)和World Wide Web(万维网),这些词语大家今天已经是再熟悉不过了。网络的今天全得仰赖这些历史并不悠久的技术,以及给这些技术命名的人。那么你知道这些术语的来源么? 这些术语的背后,又有着怎样的故事?
BLOG(博客):这是“weblog”(网络日志)的简写形式,该词的最早出现似可追溯至1997年由Jorn Barger创办的“机器人智慧”网站。Barger在网站上开设了“logging the Web”(网络日志)栏目专门用来记录他在网络上无意间收集到的各种信息。而Peter Merholz则被认为是首次完整使用了这个术语的人。1999年,他在自己的weblog中写道:“我决定把‘weblog’读为‘wee-blog’,或者采用其简写形式‘blog’。”
BYTE(字节): 1956年,Werner Buchholz在IBM Stretch计算机的设计阶段采用了这个术语用来衡量计算机的信息存储容量。他是根据“吃下(bite)”这个词杜撰出来的,意思是一台计算机到底能“吃下”多少数据。不过需注意这个词的拼写,不要和“bit”相混淆。
BROWSER(浏览器): 经常被称为“Web之父”的Tim Berners-Lee在1989年开发出了他称为“WorldWideWeb”的软件。不过Berners-Lee说,“browser”这个词要早于Web,是作为“超媒体浏览器”而出现的。
CELL PHONE(手机): 一般认为,是AT&T贝尔实验室的工程师William Rae Young首先提出了蜂窝移动电话的六角形蜂窝小区的概念。Young所做的工作在1947年与Douglas H. Ring合写的一份内部文件中提到过,该文论述了如何构建广域的蜂窝通信服务。用移动电话所拨打的第一个电话是1946年6月17日从圣路易斯的一辆行进的汽车中打出的,不过这部移动电话的形状和我们今天所见到的手机相差甚远。这部电话重约80英镑,采用的是AT&T的服务,(massive party line),每个月的服务费30美元,每打一次本地电话再加30到40美分。可惜,贝尔实验室却未能争得“手机之父”的美名。这个名头被摩托罗拉通信系统部的总经理Martin Cooper夺走,1973年4月3日,他携带着一部大块头的手机穿越纽约城,用这部电话给他在贝尔实验室的竞争对手Joel Engels打了一通电话。
CIO(首席信息官): 根据美国计算机历史博物馆的记载,任命IT人员担任高级职位是从军队和政府开始的,然后普及到工业界。William Synnott和William Gruber在1981年首次获得这一头衔。
COMPUTER VIRUS(计算机病毒): 这个术语今天被广泛用来描述可自我复制的和恶意入侵的软件,发明此术语的人是Leonard Max Adelman,他在1984年参与了“计算机病毒实验”的研究,并向研究人员Fred Cohen建议使用这个术语。Adelman还是RSA(Rivest-Shamir-Adelman)密码系统的联合发明人之一。
HYPERTEXT(超文本): Ted Nelson在1965年杜撰了"hypertext"和"hypermedia(超媒体)"这两个术语,1968年他与Andries van Dam一起在布朗大学共同开发超文本编辑系统。这些术语的前缀“hyper”的词义出自希腊语的“超越、超出”一词。所谓超文本就是计算机使用者通过超链 接和其他人共享文本信息的一种文本。超文本的首次实际使用是上世纪60年代Douglas Engelbart在斯坦福大学开发的“On-Line系统”上进行的。Engelbart还与Bill English共同发明了电脑鼠标。
INTERNET(互联网): 根据美国计算机历史博物馆的记载,这个术语是在论述TCP/IP组网的文献中首次出现的,目前能够查到的包含此术语的最早文献是IETF RFC675,此文献即是由Vint Cerf、Yogen Dalal和Carl Sunshine共同撰写的《互联网传输协议编程规范》,发表于1974年。
MAINFRAME(主机): 起源无法确定,但是美国计算机历史博物馆则相信,“main frame”这个术语的出现要早于计算机,是在机械和电话时代出现的。而当它在上世纪60年代上半叶再次出现时,是用来指称计算机的中央处理器,或者更经常地被用来指称不带外设的计算机。到了上世纪70年代,组合词"mainframe"则主要用来称呼小型机。根据计算机历史博物馆的记载,“今天,被大多数人视为主机制造商的IBM,在上世纪80年代之前并未将这个词作为计算机的一个分类词来使用。在1964年IBM System/360的操作手册中你肯定找不到‘主机’这个词。”
MALWARE(恶意软件): 这是用来称呼大量恶意代码的术语,首先使用它的人是Yisrael Radai,时间是1990年7月4日,在一封公开邮件中他写道:“特洛伊木马只是恶意代码(我杜撰了这个词来称呼特洛伊木马、病毒、蠕虫等等)中极小的一部分。”不过Chris Klaus则被认为是在论述中广泛使用该术语的第一人。
ONE-TRANSITOR DYNAMIC RAM (单晶体管动态RAM,简称DRAM): 今天,几乎所有的电脑芯片都在使用动态随机存取内存(DRAM),存储在一个内存单元中的每个信息比特都是由一个单晶体管和一个微电容构成的。IBM的研究员Robert Dennard为此在1968年申请了美国专利(专利号:#3387286)。今天的DRAM芯片一般可存储64Mb,是电脑和电器的一个关键部件。
PUBLIC KEY, PRIVATE KEY(公钥、私钥): Whitfield Diffie说,是他在1975年春杜撰了“公钥”一词来描述他作为“巡游密码专家”所采用的一种加密方法。
今天,Diffie富有远见的公钥加密概念已被普遍认为是数据安全领域的一次灵感爆发。使用者不必交换密钥就能彼此加密或解密信息。而且,信息接收者的公钥可以向全世界公布,只不过与此相关的还有一把密钥——Diffie称其为“私钥”——有了私钥和公钥,接收者便可解开加密的数据。Diffie在1976年的美国国家计算机学会上发表了他的公私密钥转换概念,并在同年与斯坦福大学的Marty Hellman教授一道发表了论文《加密学的新方向》。
Diffie认为,在公钥-私钥对的精心研制过程中,Hellman所做出的贡献和他自己的一样多。Diffie并不完全满 意“私钥”一词中的“私”字,因为“私密一词有多重含义。”但他补充说,全世界都应该感谢他的妻子Mary Fischer,在他们35年的婚姻生活中,Mary在他发明公钥的早期艰难岁月中给了他很多的灵感和支持,堪称是“公钥加密学之母”。
PUNCH CARD(穿孔卡片): 早期的计算机输入指令用的一种纸质卡片,这个术语源自Herman Hollerith,他在1890年为美国人口局设计了电子制表系统,采用了穿孔卡片。
REDUCED INSTRUCTION SET COMPUTING(精简指令集计算,缩写为RISC):根据IBM科学家John Cocke在上世纪70年代初的发明,RISC被广泛用来描述一种CPU的设计方法,即利用简化的指令仍可提供较高的性能,随之出现的“RISC体系架构”则描述的是某些计算机是如何工作的。
ROUTER(路由器): 我们无法找出到底是哪个人发明了这个术语,但是在上世纪80年代的TCP/IP社区中,很多互联网先驱都称此设备为“gateway(网关)”,思科在某个地方甚至称其为“终端集线器”。部分是为了和其他也被称为网关(例如邮件网关)的设备有所区别,有一些早期的开发人员开始采用“router”这个词。 Noel Chiappa在1980年开始研制多重服务路由器,1987年6月,他在IETF RFC #1009中通篇都使用了“路由器”这个术语。从那时起,将“网关”改名为“路由器”就似乎被正式确定下来了。
SOCKET(套接字接口): 术语“socket”在组网领域的首次使用是在1970年2月12日发布的文献IETF RFC33中发现的,撰写者为Stephen Carr、Steve Crocker和Vint Cerf。根据美国计算机历史博物馆的记载,Croker写道:“命名空间的元素都可称为套接字接口。一个套接字接口构成一个连接的一端,而一个连接可完 全由一对套接字接口规定。”计算机历史博物馆补充道:“这比BSD的套接字接口定义早了大约12年。”
SOFTWARE(软件): 是由计算机执行的一组指令,和运行它们的物理设备即硬件相对应。这个术语是统计学家、普林斯顿大学教授兼AT&T贝尔实验室研究员John Wilder Tukey在1958年创造的,Tukey还在此之前12年杜撰了术语“bit(位)”(二进制位的缩写)。
WIKI(维基): Ward Cunningham说,为他在1995年开发的软件取名WikiWikiWeb的灵感来自一次夏威夷之旅,当地土语“wiki”的意思是“快捷”,他当 时乘坐的巴士就叫“Wiki Wiki巴士”。WikiWikiWeb后来简写成了“Wiki”。今天,一个“wiki”网站意思就是指一个凝聚了集体智慧的网站,众多的写手都可以为 该网站提供内容或编辑内容,这类网站中最有名的就是Wikipedia。
WORLD WIDE WEB(万维网): Web之父Tim Berners-Lee在W3C(万维网联盟)的网站上曾经描述过他发明Web时的初期工作。“第一个Web浏览器被称为‘WorldWideWeb’, 它毕竟是在上世纪90年代编写的,在当时是浏览Web的唯一方法。数年后这个浏览器又被命名为‘Neus’,是为了不至于混淆浏览程序和被浏览的信息空间。如今,‘World Wide Web’只用来称呼存储信息的空间了。”
阅读全文
-
Jul022008
Asp.net错误代码大全
错误 CS0001 编译器内部错误
错误 CS0003 内存溢出
错误 CS0004 提升为错误的警告
错误 CS0005 编译器选项后应跟正确的参数
错误 CS0006 找不到动态链接的元数据文件
错误 CS0007 .Net 环境初始化错误
错误 CS0008 从文件中读取元数据错误
错误 CS0009 不能打开元数据文件
错误 CS0010 名字空间与类型的声名不能同名
错误 CS0011 引用的类找不到基类
错误 CS0012 找不到引用类型的定义
错误 CS0013 向文件中保存元数据时发生未知错误
错误 CS0014 指不到文件名
错误 CS0015 类型名太长
错误 CS0016 无法输出文件
错误 CS0017 输出文件有多个入口
错误 CS0019 双目操作符不适用于指定的操作数
错误 CS0020 除数为0
错误 CS0021 不能对类型表达式使用索引
错误 CS0022 错误的多重索引
错误 CS0023 单目操作符不适用于指定的操作数
阅读全文
错误 CS0024 无法打开源文件
错误 CS0025 找不到标准库文件
错误 CS0026 在静态属性、方法、域初始化时使用了非法的关键字
错误 CS0027 当前环境中关键字无效
警告 (4级) CS0028 函数声明带有错误的入口标识
错误 CS0029 类型之间无法进行隐式转换
错误 CS0030 类型之间无法进行转换
错误 CS0031 常数值不能转换为类型值
错误 CS0032 无法打开渐增编译文件
错误 CS0033 写渐增文件时发生磁盘I/O错误
错误 CS0034 双目操作符对指定的操作数存在二义性
错误 CS0035 单目操作符对指定的操作数存在二义性
错误 CS0036 输出参数不能使用[in]特征
错误 CS0037 不能给值类型赋null值
错误 CS0038 非静态的类型成员不能被嵌套的类型访问
错误 CS0040 调试初始化产生错误
错误 CS0041 保存调试信息错误
错误 CS0042 创建调试信息文件错误
错误 CS0043 PDB文件格式错误,将删除文件并重新编译
错误 CS0050 方法返回类型的访问权限低于方法的访问权限
错误 CS0051 方法参数类型的访问权限低于方法的访问权限
错误 CS0052 域类型的访问权限低于域的访问权限
错误 CS0053 属性类型的访问权限低于属性的访问权限
错误 CS0054 索引指示器返回类型的访问权限低于索引指示器的访问权限
错误 CS0055 索引指示器参数类型的访问权限低于索引指示器的访问权限
错误 CS0056 操作符返回类型的访问权限低于操作符的访问权限
错误 CS0057 操作符参数类型的访问权限低于操作符的访问权限
错误 CS0058 代表类型的访问权限低于代表的访问权限
错误 CS0059 代表类型的访问权限低于代表的访问权限
错误 CS0060 基类的访问权限低于派生类的访问权限
错误 CS0061 父接口的访问权限低于子接口的访问权限
错误 CS0065 事件属性必须同时有两个访问器
错误 CS0066 事件必须是代表型
错误 CS0067 事件在声明的类中从未使用过
错误 CS0068 接口中的事件不能有初始化
错误 CS0069 接口中的事件不能有访问器
错误 CS0070 事件不能出现在操作符“+=”或“-=”左边
错误 CS0071 事件的显示接口执行体必须按照属性的语法格式
错误 CS0075 强制转换负数时应使用括号
错误 CS0076 保存的枚举器名称不能被使用
错误 CS0077 as操作符必须同引用类型一起使用
错误 CS0100 参数名字重复
错误 CS0101 名字空间中包含了同名的类型
错误 CS0102 类中已经包含了指示符的定义
错误 CS0103 名称在类或名字空间中不存在
错误 CS0104 引用存在二义性
错误 CS0105 名字空间使用指示符在名字空间中已经出现过
错误 CS0106 修饰符对当前项目无效
错误 CS0107 多个访问修饰符
警告 (1级) CS0108 成员覆盖了继承的同名成员,应使用new修饰符
警告 (4级) CS0109 成员未覆盖了继承的同名成员,不应使用new修饰符
错误 CS0110 常量之间循环定义
错误 CS0111 具有相同参数类型的方法已被定义过
错误 CS0112 静态成员方法不能使用override、virtual或abstract修饰符
错误 CS0113 重载成员方法不能使用new、virtual或abstract修饰符
警告 (2级) CS0114 方法覆盖了继承的同名方法,如果要重载,使用override修饰符,否则使用new修饰符
错误 CS0115 找不到合适的方法进行重载
错误 CS0116 名字空间不能直接包含域或方法等成员
错误 CS0117 类型中不能包含函数定义
错误 CS0118 构造函数名称应指代另一构造函数
错误 CS0119 构造函数名称指代的构造函数在当前环境中无效
错误 CS0120 非静态的域、方法和属性成员要求对象引用
错误 CS0121 方法之间的调用存在二义性
错误 CS0122 因保护级别不能访问成员
错误 CS0123 方法声明与代表的类型不符
错误 CS0126 需要一个可转换的类型
错误 CS0127 返回值为void类型的方法应在表达式后使用return语句
错误 CS0128 当前范围内已定义了局部变量
错误 CS0131 语句的左边应为一个变量、属性或索引指示器
错误 CS0132 静态构造函数不能有参数
错误 CS0133 表达式中的变量应为常量
错误 CS0134 在嵌套名字空间中不能使用全权名
错误 CS0135 声明之间相互冲突
错误 CS0136 局部变量的名称在当前范围内不能使用,该名称已有其它含义
错误 CS0138 名字空间使用指示符仅对名字空间有效
错误 CS0139 break或continue语句没有跳出的范围
错误 CS0140 标签重复
错误 CS0143 未对类定义构造函数
错误 CS0144 对抽象类或接口不能建立实例
错误 CS0145 对常量域应赋值
错误 CS0146 基类定义发生循环
错误 CS0148 代表没有有效的构造函数
错误 CS0149 应使用方法名称
错误 CS0150 应使用常量值
错误 CS0151 应使用整数类型
错误 CS0152 switch语句中已经存在的标签
错误 CS0153 goto语句只在switch语句中有效
错误 CS0154 因为缺少读访问器,属性或索引指示器不能使用
错误 CS0155 catch或throw的类型应该从System.Exception中继承
错误 CS0156 throw语句不能在catch子句以外使用
错误 CS0157 无法离开finally子句
错误 CS0158 在包含的范围内标签屏蔽了另一个标签
错误 CS0159 goto语句中标签不存在
错误 CS0160 前面的catch子句已经捕获了所有的意外
错误 CS0161 方法中不是所有的路径都能返回值
错误 CS0162 检测到执行不到的代码
错误 CS0163 控制无法从一个case语句转入另一个case语句
错误 CS0164 标签未被引用
错误 CS0165 可能使用未被赋值的局部变量
错误 CS0167 代表缺少调用方法
警告 (3级) CS0168 声明的变量未被使用
警告 (3级) CS0169 保护域成员未被使用
错误 CS0170 可能使用未被赋值的域
错误 CS0171 在构造函数结束之前应给域赋值
错误 CS0172 因类型之间可以相互进行隐式转换,无法确定表达式的类型
错误 CS0173 因类型之间不存在隐式转换,无法确定表达式的类型
错误 CS0174 base引用需要一个基类
错误 CS0175 此处不能使用base关键字
错误 CS0176 在类的实例中无法访问静态成员,应使用类型名
错误 CS0177 方法结束之前需要给输出参数赋值
错误 CS0178 数组初始化结构错误
错误 CS0179 外部方法含有执行体
错误 CS0180 成员不能同时是外部的抽象的
错误 CS0181 未知特征
错误 CS0182 特征参数必须为常量、方法、域、属性或类
警告 (1级) CS0183 表达式总是提供的类型
警告 (1级) CS0184 表达式总是不提供的类型
错误 CS0185 类型不是lock语句中需要的引用类型
错误 CS0186 当前环境中不能使用null
错误 CS0187 操作符未对此类型作出定义
错误 CS0188 在所有域被赋值之前不能使用实例
错误 CS0190 _arglise型构造函数仅在使用变量的方法中有效
错误 CS0191 不能给只读域赋值
错误 CS0192 只读域不能为ref或out型
错误 CS0193 或操作符只能对指针使用
错误 CS0196 一个指针只能指向一个值
错误 CS0198 静态的只读域不能被赋值
错误 CS0199 静态的只读域不能为ref和out型
错误 CS0200 只读的属性、索引指示器属性不能被赋值
错误 CS0201 不能作为语句使用
错误 CS0202 对GetEnumerrator的调用必须返回类或结构
错误 CS0203 方法不能作为变量使用
错误 CS0204 局部变量的取值范围不能超过65536
错误 CS0205 不能调用基类的变法或属性
错误 CS0206 属性、索引指示器不能作为ref或out型传递
错误 CS0207 访问器不能被声明为unsafe
错误 CS0208 对可控类型不能取地址或长度
错误 CS0209 在fixed语句中声明的局部变量必须为指针类型
错误 CS0210 fixed语句中声明时必须初始化
错误 CS0211 不能对表达式取地址
错误 CS0212 在fixed语句中的初始化时不能取非fixed型表达式的地址
警告 (3级) CS0213 不需要使用fixed语句来取fixed型表达式的地址
错误 CS0214 指针必须在unsafe环境中使用
错误 CS0215 true或false操作符必须为bool类型
错误 CS0216 操作符需要一个已定义的操作符与之匹配
错误 CS0217 用户自定义操作符必须与参数有相同的返回类型
错误 CS0218 类型必须包含操作符true和false的声明
警告 (3级) CS0219 变量已赋值但未使用
警告 (3级) CS0220 checked模式下编译时操作符溢出
错误 CS0221 常值不能转换为类型(可用unchecked语法)
错误 CS0223 不允许空字符串case标号
错误 CS0224 方法不能同时有paras参数和varargs
错误 CS0225 paras参数必须是一维数组
错误 CS0227 unsafe编译时才能出现非操控代码
错误 CS0228 类型不包含成员定义或定义不可达
错误 CS0229 成员间定义模糊
错误 CS0230 foreach语句缺少类型和标识符
错误 CS0231 params参数表和-arglist参数不能有下列变量
错误 CS0233 sizeof只能用于unsafe模式
错误 CS0234 类名或名字空间名未定义
错误 CS0235 代表中不能有-arglist
错误 CS0236 域初始化不能引用非静态的域、方法或属性
错误 CS0500 抽象类成员不能声明实体
错误 CS0501 非抽象或外部的成员函数必须声明实体
错误 CS0502 类是抽象且封闭的
错误 CS0503 抽象方法不能标记为虚
错误 CS0504 常变量不能标记为静态
错误 CS0505 成员不能覆盖继承的非函数成员
错误 CS0506 函数不能覆盖继承的函数,因函数不是virtual、abstract或override的性质
错误 CS0507 覆盖继承成员函数2时,函数1不能改变访问调节器
错误 CS0508 函数1覆盖继承成员函数2时不能改变返回类型
错误 CS0509 不能从封口类型继承
错误 CS0513 抽象类包含于非抽象类中
错误 CS0514 静态构造函数不能有外部this指针和基构造函数调用
错误 CS0515 静态构造函数不允许访问调节器
错误 CS0516 构造函数不能调用自身
错误 CS0517 无基类不能调用基类构造函数
错误 CS0518 未定义或引入预定义类型
错误 CS0519 名字与预定义名字空间冲突
错误 CS0520 名字与预定义类型冲突
错误 CS0522 结构不能调用基类构造函数
错误 CS0523 结构成员互相引用构成圈
错误 CS0524 接口不能声明类型
错误 CS0525 接口不能包含域
错误 CS0526 接口不能包含构造函数
错误 CS0527 接口类型表中有非接口类型
错误 CS0528 接口已处于接口列中
错误 CS0529 接口互相继承构成圈
错误 CS0531 接口成员不能有定义
错误 CS0533 派生类成员隐藏了继承的基类抽象成员
错误 CS0534 方法没有执行继承的抽象方法
错误 CS0535 类没有执行接口成员
错误 CS0536 类没有执行接口成员,类成员是静态、非公有或返回类型错误
错误 CS0538 外部接口声明中的名字不是接口
错误 CS0539 外部接口声明中的成员不是接口成员
错误 CS0540 包含类型不执行接口
错误 CS0541 外部接口不能在类和结构中声明
错误 CS0542 用户自定义成员名不能与包含类型相同
错误 CS0543 计数器的值过大
错误 CS0544 属性不能覆盖继承的非属性
错误 CS0545 函数不能覆盖,因为没有可覆盖属性
错误 CS0546 不能覆盖,因为没友可覆盖属性
错误 CS0547 属性和索引器不能有void类型
错误 CS0548 属性和索引器必须至少有一个存取程序
错误 CS0549 函数是封口类的新成员
错误 CS0550 加入了一个接口成员找不到的访问程序
错误 CS0551 外部接口执行缺少访问程序
错误 CS0552 不允许用户自定义与接口有关的转换
错误 CS0553 不允许用户自定义与基类有关的转换
错误 CS0554 不允许用户自定义与派生类有关的转换
错误 CS0555 不允许用户自定义包含类型之间的转换
错误 CS0556 用户自定义转换必须以包含类型为源类型或目标类型
错误 CS0557 类中不能出现重复的用户自定义转换
错误 CS0558 用户自定义操作符必须是静态或公有
错误 CS0559 ++和-操作符的返回类型和参数必须是包含类型
错误 CS0560 访问程序不能覆盖被函数隐藏的访问程序2
错误 CS0561 函数不能覆盖由专门编译器产生的方法
错误 CS0562 unary操作符的参数必须是包含类型
错误 CS0563 二进制操作符的一个参数必须是包含类型
错误 CS0567 接口不能包含操作符
错误 CS0568 结构不能包含外部无参数构造函数
错误 CS0569 方法不能覆盖非方法
错误 CS0570 类引用了语言不支持的类型
错误 CS0571 函数不能在外部调用操作符和访问器
错误 CS0572 不能通过表达式引用类型,请尝试path-to-type
错误 CS0573 结构中不能有域初始化实例
错误 CS0574 析构函数名必须与类名匹配
错误 CS0575 只有类类型可以有构造函数
错误 CS0576 名字系统已有system的别名
错误 CS0577 构造函数、析构函数、操作符和外部接口执行的condictional属性无效
错误 CS0578 返回类型为空的函数condictionak属性无效
错误 CS0579 属性重复
错误 CS0580 太多未命名变量定义了属性
错误 CS0581 该属性不适用于命名变量
错误 CS0582 接口成员的conditional属性无效
错误 CS0583 内部编译错,请用/bugreport选项创建故障报告并提交给问题报告处理人
错误 CS0584 内部编译错;阶段符号
错误 CS0585 内部编译错;阶段
错误 CS0586 内部编译错;阶段
错误 CS0587 内部编译错;阶段
错误 CS0588 内部编译错;LEX阶段
错误 CS0589 内部编译错;PARSE阶段
错误 CS0590 用户自定义操作符不能返回void类型
错误 CS0591 变量属性包含非法值
错误 CS0592 属性赋给错误的类型
错误 CS0594 浮点常量越界
错误 CS0595 只能在空类型中指定该属性
错误 CS0596 guid属性必须于comimport属性一起指定
错误 CS0597 该属性缺少未命名变量
错误 CS0598 无效的guid特征参数,该参数的变量必须是形式为XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX的常字符串
错误 CS0599 属性隶属于非法命名变量
错误 CS0601 dllimport属性必须在静态或外部方法中指定
警告 (1级) CS0602 不赞成使用旧特性,请使用新特性
错误 CS0608 方法不能同时标记为dllimport和sysnative
错误 CS0609 不能在标记为override的索引器中建立同样的属性
错误 CS0610 域不能是System.TypedReference类型
错误 CS0611 数组元素不能是System.TypedReference类型
错误 CS0612 成员已作废
错误 CS0614 不能定义与system.variant有关的用户自定义转换
错误 CS0616 不是属性类型
错误 CS0617 试图访问私有成员失败
警告 (1级) CS0618 成员已作废
错误 CS0619 成员已作废
错误 CS0620 索引器不能有void类型
警告 (1级) 错误 CS0621 抽象成员和虚成员不能为私有
错误 CS0622 不能用数组初始化表达式给非数组类型初始化
错误 CS0623 数组初始化只能用于域或变量的初始化
错误 CS0624 returnshresult属性只能位于dllimport或成员为COM标准接口的方法中
错误 CS0625 标记有structlayout的域类型实例必须有structoffset属性
错误 CS0626 没有标记dllimport或sysnative的外部方法不能执行
错误 CS0627 非sysnative属性
错误 CS0628 封口类定义了新保护成员
错误 CS0629 接口执行过程中不能使用conditional属性
错误 CS0630 联合的礅是类或引用类型
错误 CS0631 索引器不能是ref或out参数
错误 CS0632 命名的属性变量不能是只读类型
错误 CS0633 传递给名字属性的变量必须是有效的标识符
错误 CS0634 变量仅对System.Interop.UnmanagedType.CustomMarshaller类型有效
错误 CS0635 System.Interop.UnmanagedType.CustomMarshaller需要命名变量ComType和Marshal
错误 CS0636 structoffset属性只能位于标记有structlayout的类型中
错误 CS0637 静态域和常域不允许structlayoff属性
错误 CS0638 未定义全局标识符
错误 CS0640 生成集合前不允许建立全局属性集
错误 CS0641 该属性只有在System.Attribute的派生类中有效
警告 (3级) CS0642 空语句可能导致错误
错误 CS0643 属性变量重复命名
错误 CS0644 类不能从基类继承
错误 CS0645 标识符过长
错误 CS0646 包含索引指示器的类型不能指定System.Reflection.DefaultMemberAttribute
错误 CS0647 发表属性出错
错误 CS0648 语言不支持的类型
警告 (3级) CS0649 域未分配值,将始终用缺省值
错误 CS0650 数组声明符语法错
错误 CS0651 语法错,全局属性必须是文件范围
错误 CS0652 常量越界
错误 CS0653 不能应用抽象的属性类
错误 CS0654 无变量表的方法引用
错误 CS1001 需要标识符
错误 CS1002 需要“;”
错误 CS1003 语法错误,缺少字符
错误 CS1004 双重修饰符
错误 CS1005 非法间接引用类型
错误 CS1007 属性访问器已定义
错误 CS1008 缺少byte,sbyte,short,ushort,int,uint,long,或ulong类型
错误 CS1009 无法识别的脱离顺序
错误 CS1010 串没有正确定界
错误 CS1011 字符赋值为空
错误 CS1012 多字符赋值给同一字符变量
错误 CS1013 无效数字
错误 CS1014 缺少get或set方法
错误 CS1015 需要一个对象、串或类类型
错误 CS1016 需要命名的属性变量
错误 CS1017 try语句已经包含一个空catch块
错误 CS1018 需要关键字this或base
错误 CS1019 需要可重载的unary操作符
错误 CS1020 需要可重载的二进制操作符
错误 CS1021 整数常量越界
错误 CS1022 缺少类或名字空间定义或文件尾
错误 CS1023 内嵌语句不能是声明或标号语句
错误 CS1024 需要预处理器指令
错误 CS1025 缺少单行注释或行尾标志
错误 CS1026 缺少“)”
错误 CS1027 缺少#endif指令
错误 CS1028 不该有的预处理器指令
错误 CS1029 #error:文字
警告 (1级) CS1030 #warning:文字
错误 CS1031 缺少类型定义
错误 CS1032 必须在文件开始处#define或#undef预处理器符号
错误 CS1033 编译器限制越界:文件不能超过最大行数限制
错误 CS1034 编译器限制越界:行不能超过最大字符数限制
错误 CS1035 找到文件尾标记,需要“*/”
错误 CS1036 缺少“(”或“.”
错误 CS1037 缺少可重载操作符
错误 CS1038 缺少#endregion指令
错误 CS1039 无法终止的字符串
错误 CS1040 预处理器指令必须位于行首第一个非空字符处
错误 CS1041 缺少标识符
错误 CS1042 关键字不能包含统一代码逃逸顺序
错误 CS1501 没有对带有数值类型参数的方法的重载
错误 CS1502 最佳的重载方法声明中含有无效的参数
错误 CS1503 无法对方法的参数进行类型转换
错误 CS1504 无法打开源文件
错误 CS1505 编译选项缺少文件说明
错误 CS1506 输出文件不在装配目录下
错误 CS1507 建立模块时无法链接源文件
错误 CS1508 装配中已使用了源标识符
错误 CS1509 引用的文件不是一个装配,换用选项/add module
错误 CS1510 ref或out类型参数必须为一个值
错误 CS1511 关键字base在静态方法中无效
错误 CS1512 关键字base在当前环境中无效
错误 CS1513 缺少“}”
错误 CS1514 缺少“{”
错误 CS1515 源文件被包含多次
错误 CS1516 源文件被指定多次
错误 CS1517 无效的处理器表达式
错误 CS1518 缺少类、代表、枚举、接口、结构或联合
错误 CS1519 使用类、结构或接口成员的声明无效
错误 CS1520 类、结构或接口的方法应有返回值
错误 CS1521 无效的基类型
警告 (1级) CS1522 switch语句块为空
警告 (1级) CS1523 switch语句代码前应有case或default关键字
错误 CS1524 缺少case或finally
错误 CS1525 表达式中含有无效字符
错误 CS1526 new表达式中的类型后应有“()”或“[]”
错误 CS1527 名字空间的元素不能显式声明为私有的或保护的
错误 CS1528 缺少“;”或“=”
错误 CS1529 using子句应该在名字空间其它元素之前
错误 CS1530 对名字空间的元素不允许使用new或unsafe关键字
错误 CS1532 属性或索引指示器属性不能同时重载一个访问器而覆盖另一个访问器
错误 CS1533 代表不能直接调用
错误 CS1534 二元操作符重载只能有两个参数
错误 CS1535 一元操作符重载只能有一个参数
错误 CS1536 void参数类型无效
错误 CS1537 别名使用指示符在名字空间中已经出现过
错误 CS1538 不能通过包含类的派生类型来引用类型
错误 CS1539 非法的分割符
错误 CS1540 不能通过全权名访问保护类型成员
错误 CS1541 选项无效:符号中不能包含目录
错误 CS1542 ‘dll’不能加入到装配中,它已存在于另一个装配中,应使用/R选项
错误 CS1545 语言不支持属性或索引指示器属性引用的类型,尝试直接调用读或写访问器
错误 CS1546 语言不支持属性或索引指示器属性引用的类型,尝试直接调用访问器
错误 CS1547 当前环境中不允许使用void关键字
错误 CS1548 标记装配时密码错误
错误 CS1549 找不到适当的密码服务
错误 CS1551 索引指示器至少应有一个参数
错误 CS1552 指定数组类型时,“[]”应该出现在参数名称前
错误 CS1553 非法声明,应使用“修饰符+参数类型+……”的格式
错误 CS1554 非法声明,应使用“类型+操作符+……”的格式
错误 CS1555 程序中Main方法指不到包含的类
错误 CS1556 Main方法的所有者应是一个有效的类或结构
错误 CS1557 第一个输出文件中找不到包含Main方法的类,而在第二个输出文件中找到
错误 CS1558 类中没有合适的Main方法
错误 CS1559 导入的对象不能作为程序的入口使用
错误 CS1560 #line指定的文件名太长
错误 CS1562 无源输出:应指定选项/out
错误 CS1563 输出的文件没有任何源文件
错误 CS1565 指定选项冲突:win32res和win32icon
错误 CS1566 读源文件错误
错误 CS1567 生成win32资源文件时出错
错误 CS1569 生成XML文档错
警告 (1级) CS1570 XML注释生成错误格式的XML文档
错误 CS1571 XML注释参数标记重复
警告 (2级) 错误 CS1572 找不到XML注释含有的参数标记
警告 (4级) 错误 CS1573 XML注释含有的参数标记与实际参数不符
警告 (1级) 错误 CS1574 XML注释含有的cref特征项找不到
错误 CS1575 分配堆栈的表达式在类型后应有“[]”
错误 CS1576 #line指示符后缺少指定的行数
错误 CS1577 装配错误
错误 CS1578 缺少文件名、单行注释或行结尾
错误 CS1579 foreach语句声明的类型没有定义,或者不可访问
错误 CS1580 XML注释含有的cref特征项中有无效的参数个数
错误 CS1581 XML注释含有的cref特征项中有无效的返回值
错误 CS1583 文件不是有效的win32资源文件
错误 CS1585 成员修饰符的关键字应出现在成员类型或名称前
错误 CS1586 数组创建时应有数组程度或数组的初始化
错误 CS1600 编译被用户中断
错误 CS1900 警告级别应在0~4之间
错误 CS1901 指定的选项冲突:0警告级别,警告提升为错误
错误 CS1904 无效的警告数目
错误 CS2000 编译器初始化错误
错误 CS2001 找不到源文件
错误 CS2002 源文件指定多次
错误 CS2003 响应文件包含多次
错误 CS2005 命令行选项缺少指定的文件
错误 CS2006 命令行语法错误:switch语句缺少文字
错误 CS2007 无法识别的命令行选项
错误 CS2008 没有指定的输入
错误 CS2011 无法打开响应文件
错误 CS2012 无法打开文件进行修改
错误 CS2013 影像基准数无效
错误 CS2014 旧的命令行选项已过时,请使用新的
错误 CS2015 文件不是源代码文件,而是二进制文件
错误 CS2016 代码页无效或没有安装
错误 CS2017 对同一输出文件不能使用/main和/dll
错误 CS2018 打不开消息文件“cscmsgc.dll”
错误 CS2019 /target目标类型无效,请指明‘exe’、‘winexe’、‘library’或‘module’
错误 CS2020 只有首先输出的文件才能建立目标,而不是‘module’
错误 CS2021 文件名太长或无效
错误 CS3000 带有变量参数的方法不符合CLS
错误 CS3001 参数类型不符合CLS
错误 CS3002 方法返回值不符合CLS
错误 CS3003 变量类型不符合CLS
错误 CS3004 混合和分解的unicode字符不符合CLS
错误 CS3005 只有大小写不同的指示符不符合CLS
错误 CS3006 只有ref和out不同的指示符不符合CLS
错误 CS3008 指示符不符合CLS
错误 CS3009 基类型或接口不符合CLS
错误 CS3010 符合CLS的接口不能有不符合CLS的成员
错误 CS3011 不符合CLS的成员不能是抽象的
错误 CS3012 在模块中不能指定符合CLS的属性
错误 CS3013 添加的模块不符合CLS,或者缺少符合CLS的特征
错误 CS3014 成员不能被标记为符合CLS,因为装配没有标记为符合CLS的
错误 CS3015 数组类型的方法特征参数不符合CLS
错误 CS5000 未知的编译器错误
警告 (1级) CS5001 程序输出文件不包含已定义的入口
-
Jul012008
关于学习c++和编程的50个观点(学什么都适用)
关于学习c++和编程的50个观点:
1.把c++当成一门新的语言学习(和c没啥关系!真的。);
2.看《thinking in c++》,不要看《c++变成死相》;
3.看《the c++ programming language》和《inside the c++ object model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被vc、bcb、bc、mc、tc等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用visual c++,并不说明你会c++;
7.学class并不难,template、stl、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的c++水平并没有和你通关的能力一起变高——其实可以时刻记住:学c++是为了编游戏的;
9.看visual c++的书,是学不了c++语言的;
10.浮躁的人容易说:xx语言不行了,应该学yy;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:xx有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:xx和yy哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.c++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《the standard c++ bible》(中文版:标准c++宝典),掌握c++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《effective c++》和《more effective c++》以及《exceptional c++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的c++知识点,而不是争吵xx行不行或者yy与zz哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为c和c++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.c++绝不是所谓的c的“扩充”——如果c++一开始就起名叫z语言,你一定不会把c和z语言联系得那么紧密;
29.请不要认为学过xx语言再改学c++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《inside the c++ object model》以后再来认定自己是不是已经学会了c++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《c++面向对象高效编程(c++ effective object-oriented soft ware construction)》《面向对象软件构造(object-oriented software construction)》《设计模式(design patterns)》《the art of computer programming》;
33.记住:面向对象技术不只是c++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视c++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.c++语言和c++的集成开发环境要同时学习和掌握;
40.既然决定了学c++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让c++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习c++语言本身为主;
42.当你写c++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43.别心急,设计c++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个c++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成version 100.xx;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱c++!
阅读全文