十一 15

对于软件业来说,2000~2010这10年是一个重要的里程碑,软件业的发展深切地改变了普通人们的生 活与工作方式。《程序员》杂志10年12期刊特别策划了“10年”专题,将回顾这10年来的发展,希望大家评选出这10年最有影响力的软件产品。

请选择10年来您心目中最有影响力的国外产品
* .NET
* Ruby on Rails
* Twitter
* Facebook
* Hadoop
* Gmail
* Foursquare
* Groupon
* Eclipse
* iPhone iOS
* Android
* 其它 阅读全文 »

阅读:17,578 次
十一 15

文 / 董轶

作者以某教育网系统建设项目为背景,分享自己真实的实战经验与心得,对项目经理的成长有很好的指导意义。

唐僧师徒赴西天取经,不畏艰险,锲而不舍,历经八十一难最终修成正果。这是一段伟大的旅程,敢问路在何方——路在脚下!世上没有不能到达的目标,最远的路途就在脚下,这是西游记让我们深深感动的地方。西游记绚丽多彩的魔幻世界其实是现实社会的投影,平凡的人们为了生存和发展都会历经磨难。作为一名IT业的项目经理,我深刻地体会到:这是一个充满挑战和艰辛的职业,但也是一个自我发展和提升的途径。一帆风顺的经历不会增长才干,帮助个人成长的其实是困难和障碍以及克服它们的过程,只有经历风雨,才能迎来彩虹。

本文以我负责的某大型教育培训网站(简称教育网系统)建设项目为背景,结合项目实战经验谈一些体会。这个项目是我初任项目经理时经历的,现在回顾起来,当时所遇到的问题以及解决过程还历历在目。

甲方不提供硬件测试环境,争取提前试运行发现问题

该项目要建设一个在线学习和教育管理网站,提供在线学习和考核的平台,实现培训工作的信息发布和组织管理。平台所使用的课件由其他系统制作,本系统需提供课件上传管理功能。系统采用Oracle数据库、WebLogic应用服务器,通过F5实现负载均衡,使用基于J2EE技术的B/S架构,要求能够运行在Unix平台上。

接手这个项目后,我首先对系统的运行环境做了初步了解。客户方的机房有多台IBM AIX小型机和PC机。WebLogic应用服务器将部署在AIX小型机上,在一台AIX小型机上会同时部署多家公司的应用系统,每个应用系统在WebLogic中都通过建立独立的域(Domain)来进行管理。

任何应用系统在上线前都应进行严格的测试,而且测试环境要与实际运行环境一致,因为应用系统的功能、性能在不同操作系统环境下的表现是不一样的,因此为了保证系统的稳定运行,需要准备AIX小型机作为测试环境。但是我们以前承接的项目使用的基本都是HP和SUN的服务器,没有AIX服务器。 阅读全文 »

标签:
阅读:25,056 次
十一 12

文 / 丛磊

Sina App Engine(简称SAE)是新浪研发中心于2009年上半年开始内部开发,并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台(http://sae.sina.com.cn),是新浪云计算(简称浪云)战略的核心组成部分。

SAE作为国内的公有云计算,借鉴吸纳了Google、Amazon等国外公司的公有云计算的成功技术经验,并很快推出具有自身特色的云计算平台。SAE选择PHP作为首选的支持语言,Web开发者可以在Linux/Mac/Windows上通过SDK或者Web版在线SDK进行开发、部署、调试,团队开发时还可以进行成员协作,不同的角色将对代码、项目拥有不同的权限。SAE还提供了一系列分布式计算、存储服务供开发者使用,包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务等,这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证,大大降低了开发者的运营风险。另外,作为典型的云计算,SAE采用“所付即所用,所付仅所用”的计费理念,通过日志和统计中心精确的计算每个应用的资源消耗(包括CPU、内存、磁盘等)。

总之,SAE就是分布式Web服务的开发、运行平台。

表1 阅读全文 »

标签:
阅读:20,401 次
十一 11

演讲 / Danniel Sabbah  整理 / 常政

Danniel Sabbah指出,软件计量经济学将是软件工程的转折点

Danniel Sabbah指出,软件计量经济学将是软件工程的转折点

智慧地球,意味着未来的世界越来越感知化、互联化和智能化,这给软件开发人员带来了新的课题:如何迎接复合系统的挑战?IBM Rational软件集团总经理Danniel Sabbah先生在2010 IBM Rational软件创新论坛上提出了一个全新的思路:软件计量经济学。这意味着世界软件工程有望迎来一个新的转折点。

“智慧地球”的概念,相信已众所周知;但是对于这样一个物联网形式的、更加智能化的体系,如何利用好由此带来的设备自由互联的普及趋势,如何处理好其蕴涵的复杂性,还是一个亟待解决的问题。

以医疗保健行业中的“紧急救护服务”场景为例,设想一下,如果患者得了某类心脏病,拥有植入式的设备、传感器,可以通知当地医院心脏病的救急中心,会有什么潜在的好处呢?研究表明,这些植入式的心脏病终端能够减少30%的死亡率。这好比有一个“24×7”的医疗救护人员,在医院里监护你心脏的状况,却没有给医院带来更多的成本。而这样一种医疗设备,里面可能有近20万行的代码,因为它需要和心脏病监护中心交互,同时还必须保证信息是安全的。当心脏科的医生根据患者的反映数据,对患者诊断评估、通知调遣救护车时,可以设想一下这过程中需要的技术: GPS定位、交通路线优化、本地交通管理系统集成、与本地交通状况及时结合等。而急救车通常也比一般的车辆更加复杂,它像一个轮载的数据中心,需要嵌入式的5000万行代码,还有很多软件组件,每个都有10多个不同的接口,去跟踪、追索、升级、测试,此外还要对它维护15~20年。

软件工程的挑战

以上涉及的只是预期的最基本结果,是很多行业应用中的一个简单案例。实际上这种“系统的系统”所带来的难题,将会在许多行业中出现,作为软件开发人员是否已经做好迎接这个挑战的准备了呢? 阅读全文 »

标签:
阅读:16,272 次
十一 11

未标题-1Semat计划于2009年12月由软件工程三位大师(合称“Troika”)Ivar Jacobson(UML、RUP、组件和组件架构、用例等技术之父),Bertrand Meyer(Eiffel和按约定设计之父)和Richard Soley(OMG主席)正式发起,倡导以坚实的理论、已经证明的原理和最佳实践为基础,重新发现软件工程的本质。Jacobson等撰写了三篇文章详细阐述Semat思想,本刊将陆续刊载,本文是其中第二篇。

几个星期前,Bertrand和我发表了一篇简短的文章,简单介绍了我们认为软件方法需要理论指导的原因。这篇文章中,Ian Spence和我将在上一篇文章的基础上扩展开来,更详细地讨论为什么这样一个基础理论的建立能够令我们受益。

我们最大的挑战:理解如何构造优秀的软件

我们真的知道如何开发优秀的软件吗?对大部分人来说,很显然是这样的。但是我们是否知道如何交流,以及不断改进我们开发软件的方式?我们真的了解交流和分享知识的最佳方式么?就我们在之前文章中的所见而言,显然没有!

我们站在流沙上还是巨人的肩膀上?

你是否曾经花时间研究新的方法或实践,最后却发现它只是你已经见过无数次的某种思想的改头换面?

你是否曾经烦恼过,每个软件开发新思路似乎都以过去的一切为代价,都与过去的一切水火不容?

在你看来,追逐最新的软件开发趋势是否已经变得比生产优秀的软件更重要?

你是否注意到,急着要取得进展的人们似乎丢弃了好的部分而留下坏的?他们没有从自己的经验中学习,在自己优秀的工作上更进一步,而选择将一切弃之不顾,重新开始他们认定的新事物。他们好像没有什么牢固的知识好依靠。

这种行为可以从很多地方看出来,很多团队草率地丢弃昂贵的过程和工具的投资,甚至在尝试它们之前。每个项目都采用新方法。每次工作发生变化,在手头真正的工作取得进展前,他们必须学习新方法。这是没有效率的,人们不能从经验中学习,因为他们永远从头开始。底线是,没有什么新事物能够被适当地固定下来——即使经过几种“现代”软件开发趋势,最流行的软件开发方法仍然是规范型的瀑布开发或自由hacking。作为一个行业,我们没有什么真正可以坚守的东西,而且一切似乎没有什么变化。

但现在我们能肯定敏捷会解决所有问题吗?

最新横扫行业的趋势是“敏捷”。现在,我们可以很明确地说,“敏捷”运动对软件产业做出了非常积极的 [1] 贡献。它提醒我们,软件开发中,人是第一位的,也是最重要的。事实上,这不是什么新观念,但这是重要的,而且这一点似乎被以前更加技术导向的趋势所忽视,比如说面向对象和Java编程。通过展现一系列优点,敏捷宣言创造了某种强健和适应力强的东西,可以抵挡下一次趋势带来的变革风浪。[2]许多声称支持敏捷哲学的敏捷方法,却没能做到这一点,这是非常让人遗憾的。对一项将人的价值放在过程和工具之上的运动来说,这确实带给了我们很多“新”的过程和工具。其中的大部分已经显示出效率,通过将团队带回到之前完成的开发软件工作。但在重新聚焦到这上面之前,许多人已经迷失或迷茫,因为将新术语引入旧事物后,让人觉得这一切似乎是全新的。这个对旧思想的不断重新包装和品牌重树让软件开发团队的工作方式剧烈摇摆。对他们的工作和产品任意命名,而不是让人们远离浪费时间的工作,将精力重新聚焦在对高质量软件的开发上。

即使有些方法能够像敏捷哲学一样正确、有益,但相关的信息可能会在摇摆和炒作中丢失。我们已经开始看到对敏捷的反弹,我们担心的是利益将会丢失,当早期使用者投入下一个趋势,而晚期大众则重新主张自己的权利,拒绝采纳这些显然不再流行的东西。 阅读全文 »

阅读:29,208 次
十一 10

2010年底,CSDN,即将迎来她的10周年庆典。

这10年来,伴随着软件技术的发展,国内的IT业发生着日新月异的变化;

这10年里,CSDN从当年一普通的技术支持论坛,成长为中国最大的中文IT知识服务集团,并拥有超过1300万注册会员、10000名CTO、50万注册企业及合作伙伴,全球中文网站排名第27位。

而您在这10年中,也许已经从当年一酷爱技术的少年,成长为公司的技术骨干或高层;也许曾通过一些契机,开始了改变命运的创业之旅……

为了纪念这珍贵的10年,我们启动了“我的10年技术人生”有奖征文活动,邀请您回忆在过去10年的技术生涯中,值得书写的点点滴滴。 阅读全文 »

阅读:9,485 次
十一 10
梁捷  优视(UC)科技公司联合创始人、技术总裁

梁捷 优视(UC)科技公司联合创始人、技术总裁

作为一家年轻的移动互联网公司,UC的研发架构采用的是研发专业支撑加产品项目管理的矩阵式体系,即横向分为需求分析、系统设计、系统开发、系统测试等专业部门,纵向则以具体的产品项目为线,贯穿多个专业化的研发部门。

在这种矩阵式研发体系里,纵向的项目线强调的是产品的发展方向、过程和效果;而横向的专业线会关注部门内部的研发管理流程和专业方法、如何激励员工进行创新、如何保证研发质量和过程可控等。正是通过专业分工与产品项目两条线的结合,令UC的研发人员能够在提升专业性的同时,也能更加靠近产品端和应用端,激发他们的创新力。

只有在热爱产品、全情投入的状态下,研发人员的创新力才会充分迸发。我们所需要做的事情,就是找到一群拥有共同志向和信念的人,愿意为共同的目标而拼搏。同时鼓励天马行空的创意,让创意能在团队内产生共鸣,尤其是当看似“不可能”的任务通过努力而最终完成的时候,看到自己的技术创新在产品中应用和放射出光芒的时候,这对于研发人员来说是最大的喜悦。在研发项目中不断接受新的挑战,项目组成员的专业能力在磨炼中不断提高,见证自身的成长,这就是对研发人员最大的激励。

为了能让研发人员全情投入,UC尽力营造宽松和舒适的工作环境,并在项目研发过程中加入激励员工创新的环节。我们会让每个人都参与到产品的设计中,在新产品或者产品版本迭代的项目会上,每个研发人员都需要提出自己对产品的改进建议,在建议被采纳之后,新点子的提出者有机会自己操刀来完成这项创意。在UC产品研发历史上,有许多出色的创意正是来自这样的头脑风暴,并由提出这一想法的员工亲手实现,比如作为UC浏览器独创技术的论坛浏览模式、图片小说阅读模式、Flash支持模式等。 阅读全文 »

标签:
阅读:8,090 次
十一 10
online casino australia title=”张宏江1″ src=”http://www.programmer.com.cn/wp-content/uploads/2010/11/张宏江1-241×300.gif” alt=”张宏江 微软亚太研发集团首席技术官、微软亚洲工程院院长” width=”200″ height=”248″ />

张宏江 微软亚太研发集团首席技术官、微软亚洲工程院院长

为什么过去的几十年美国能够成为全球创新的领头人?为什么在微软之后还会出现雅虎、谷歌等这样的公司,这样的公司为什么没有出现在欧洲和亚洲?因为美国有这样的积累,建立了这样的系统、氛围和文化,使得它不是某一段时间领先,而是总能源源不断产生创新公司引领全球。

同样,具体到某个企业而言,创新文化、创新流程的建立比开发一两个创新产品更重要。企业的创新有时会陷入一种误区,认为只有那些能带来翻天覆地变化的产品和模式才是创新。事实上,创新有两类:带来翻天覆地变化的创新被称为“突破式创新”或“激进式创新”,它富有前瞻性,但较为稀有;另一种更为常见,对多数企业实用性更强的创新活动是“渐进式创新”,即企业根据现有资源能力,通过调整或改进现有产品及流程获得新产品与新流程。

在有准备、有组织的创新体系中,一个看似不起眼的小创意经过锤炼和加工就有可能成为撬动大市场的利器。例如我们所看到的Facebook、Twitter等,它们的诞生并不是因为技术上实现了多大的突破,它们所应用的技术很多都早已经存在,但是它们建立了新兴的应用模式和新的使用方式,这是非常关键的。未来的产业与科技竞争焦点将集中在应用领域,应用领域会创造很多人们难以预想到的奇迹。 阅读全文 »

标签:
阅读:9,823 次
十一 05

——2008年度图灵奖获得者Barbara Liskov

文/吕娜

BarbaraLiskov她是美国第一位计算机科学女博士,是第二位获得图灵奖的女科学家;每一种主流汇编语言都受其深远影响。她,就是芭芭拉·利斯科夫 (Barbara Liskov)。

剑桥大学计算机女科学家Karen Sparck Jones的名言广为流传:“计算机是如此重要,因此不能把它只留给男人去做!”计算机世界如此多娇,引无数女英雄竞折腰。有“计算机界诺贝尔奖”之称的图灵奖曾由男性垄断40年,今年6月,2008年度图灵奖将第二次授予女性科学家——Barbara Liskov,以表彰她对编程语言和系统设计方面所做出的实践与理论基础,尤其是数据抽象、容错和分布式计算方面的贡献。

Barbara Liskov,本名Barbara Jane Huberman,1939年生于加利福尼亚,是家中四个孩子的长女。1961年在加州大学伯克利分校获得数学学士学位,作为班上唯一的两名女生之一,她一直保持低调。

20世纪60年代,计算机科学成为一种职业,那时的科研环境对女性来说相当寒冷。作为一个在“男人”领域工作的妇女,Liskov经历了许多尴尬。本科毕业后她申请普林斯顿大学的研究生,但获得冰冷的回复:普林斯顿不接纳女性,无论是否具有本科或研究生水平。不久后,她在Mitre公司找到一份工作,同期入职的男同事没有更好的资格,却具有更好的职位和工资。Liskov无视这种公开对妇女的歧视,她有一种安静的自信,没有她不能克服的障碍。 她认为,“发生的不公平的事情,并不与我直接相关,我想也许正是这种态度,使我已经适应这些年来此类处境。”

1968年Liskov在斯坦福大学计算机科学系获得博士学位,导师为1971年图灵奖得主约翰·麦卡锡。Liskov的博士论文题目是国际象棋残局程序,这篇论文是一个里程碑,至今仍在被引用。可以说,她是历史上为数不多的与程序设计直接相关,或者说程序员出身的图灵奖得主。

经过多年的努力,Liskov成为男性主导的计算机科学世界里最鲜艳的一抹亮色。在鲜有女性担任教师的1972年,她击败了一些强有力的男性竞争者,成为麻省理工学院的第二位女教师(计算机系的第一位)。2001至2004年,Liskov在麻省理工担任了3年计算机系副主任,这是第一位担任此职位的女性。 但与之相比,她更热衷于研究工作,在过去的30多年中,她的研究成果给整个计算机科学带来深远的影响。 阅读全文 »

标签:
阅读:15,840 次
十一 04

鲁迅有过一个很有名的演讲《未有天才之前》,那是在1924年,针对一片呼唤天才的声音,他说要有天才必须有能够培育天才的土壤。我时常感觉这个跟当下的情景非常相似,我们现在有各种创新奖励基金,我们用各种姿势呼唤创新,然而创新在哪里呢?

跟1924年不同,现在中国GDP已经超过日本,名列全球第二;在次贷危机引发的全球衰退中,中国是风景这边独好。但是历史总是有惊人相似的一面,1924年人们呼唤天才,现在我们呼唤创新,这似乎说明我们和1924年的中国人一样急功近利,以为天才和创新是可以从天下掉下来的,不需要土壤、不需要培育。

创新首先需要宽松的环境。任何伟大的创新刚刚从土壤冒出来的时候,都浑身是土,看起来又脏又丑,完全不受人待见。Google公司刚创业的时候,创始人是两个刚拿到博士学位的Nerd。即使是给他们第一笔天使投资的教授,也一定不会想到Google会成长为全球最大的搜索引擎公司。和纳斯达克的大多数新兴公司一样,Google遵循了类似的路径;天使、风险投资,IPO。其中天使和风险投资部分的投资成功率非常低,经常投资100个公司只有7~8个真正成长起来,但是因为少数成功的项目的投资回报率极其可观,所以,这两种投资还是在蓬勃发展中。中国现在也有了很多天使和风险投资(有的是国外的基金,有的是本土的资金)。已经在促进创新方面起了很大的作用。但是在中国的创业投资还很保守,风险投资部分发展得还可以,但是关注于更小企业的天使投资还没有发展起来。 阅读全文 »

标签:
阅读:15,251 次
preload preload preload
京ICP备06065162