软件开发2.0技术大会
好久没有6:00点起过床了,这两天为了赶上去往软件大会的班车,闹钟历史性的调到了6:00
北京的初冬早晨很黑也很冷,不过到达会场看到CSDN员工红色的T恤和人山人海的场面马上就开始亮来和热起来。
<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:435.75pt; height:217.5pt' o:ole=""> <v:imagedata src="file:///C:/DOCUME~1/Admin/LOCALS~1/Temp/msohtml1/01/clip_image001.emz" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Photoshop.Image.8" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1258052865"> <o:WordFieldCodes>/s</o:WordFieldCodes> </o:OLEObject> </xml><![endif]-->
【签到的场景】
参加大会有1000名多同行,估计是CSDN第一次举办这样规模的大会,签到都要按姓氏拼音分开。由于没有姓氏拼音字牌子,找起来不容易,下次记得挂个牌子。
大会里设了一些展台, Borland CodeGear也开了一个,会场结束后我去领了一份C++Builder2007试用版光盘
<!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" style='width:342pt;height:258.75pt'> <v:imagedata src="file:///C:/DOCUME~1/Admin/LOCALS~1/Temp/msohtml1/01/clip_image003.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
【Code Gear展台】
主会议厅够大的-_-!!!,1000多个凳子,不到9:00的时候全部坐满了,真是个技术盛会啊。左边的屏幕可以通过手机短信灌水,要是在水源开个帖子同步显示就热闹了。可惜那两个音响摆的不是位置,正好挡住主讲台了两边的屏幕中央位置。见到第一个能说出名字的是CSDN副总裁和蔼可亲的曾登高http://blog.csdn.net/zdg,幸运晚餐坐在一桌子,还有钻石级人物孟子E章http://blog.csdn.net/net_lover。
<!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:415.5pt;height:218.25pt'> <v:imagedata src="file:///C:/DOCUME~1/Admin/LOCALS~1/Temp/msohtml1/01/clip_image005.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
【主会场】
开场是个京剧表演,觉得要是蒋涛http://www.csdn.net/jiangtao也扮演一个角色(比如:孙悟空),出其不意地出现在主讲台上就有意思多了!可能是考虑技术盛会还是该正式一些。
主会场C++天才作家Andrie Alexandrescu,展望了未来15至20年软件开发的发展趋势:自然语言识别和人工智能分析。可以想象,如果计算机能识别各种文字、声音、视频,能理解其中的含义,那么它将掌握全世界的知识,为人类提供不可想象的帮助或威胁。
主会场结束,1000人的自助餐还排了不少时间的队。食品还是够丰富的!
<!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" style='width:415.5pt;height:314.25pt'> <v:imagedata src="file:///C:/DOCUME~1/Admin/LOCALS~1/Temp/msohtml1/01/clip_image007.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
【营养午餐】
有6个分会场开始同时主题演讲,很多精彩的讲座同时进行,只能取舍。遗憾,我选的第一堂讲座是最没有实用价值的!
1、主讲人:毛文波,主题:《EMC中国实验室的Research 2.0》。
一开始用中文问大家:“这里有一位外国朋友,我是用英文还是用中文给大家演讲呢?”(汗,面对这么多国人,问出这样不实在的问题。无论您的英语水平如何,都得由同声翻译中转一次给大伙听,那不是折腾吗?),然后他向大家介绍一下EMC公司,没想一大半时间过去了,EMC公司介绍还没结束,从市值的增长到收购了哪些公司,最后又与哪些高校合作了什么项目。我都要感动得哭了!把技术交流变成公司形象广告,估计我以后也领悟不到他的高深!
2、主讲人:Ulrich Drepper 主题:程序员必须适应不断变化的机器架构
他介绍了CPU的工作原理,从单核到多核。讲述了如何通过控制CPU之间访问流程来提高性能。对于他这类黑客级的人物,可以将CPU玩弄于手心。可惜我大多数时间都在Windows平台下编程,很少有机会和能力体验他的乐趣。
这两次演讲听完了,感觉收获不多。还好,后面6场演讲和1场主题沙龙都没再令我失望!
3、主讲人:钱宏武 主题:从SOHU社区架构和运维谈高并发系统开发与设计
新闻链接http://news.csdn.net/n/20071129/111214.html
可以看出钱宏武是经过千锤百炼的技术人员,演讲很务实:将多年在开发和维护SOHU社区中吸取的经验和教训展示给大家。如果你没有上百万的用户和上千万的访问量很难想象会碰到什么样的问题。如何平衡上级的需求、员工的能力、用户的体验、硬件的资源。当然一些观点也太绝对,如:“不用写开发文档”、“上级会提出很多无理的需求”等。
一些技术人员能力很强,但对维护工作(行话:擦屁股的事)不屑一顾。演讲里也提到如何处理这种情况:招聘更多低学历、俯首甘为孺子牛的员工解决。虽然他们会比原设计者花费更多几十倍的精力来分析代码,但他们是能够忍受。不过这样下去,就会娇惯了那些所谓“高手”,再无法体验由他们自己的设计不周带来麻烦,从而降低了自己的要求也降低了整个项目的品质。
这个演讲很精彩,人气很旺,还有好多站着没有座位的听众。可以看出大家对实践经验都比较看重,对大规模互动产品的兴趣。主办方看到这样火爆的场面,晚上临时增加了关于《大规模互动产品的设计和维护》的主题沙龙,现在想来他们的决定是明智的。大规模互动产品是Web2.0的一个典型应用。
分会场的结束时间不一,人分散,晚餐不用排队
晚宴上微软的广告打了很久,其中还安排了《Microsoft酷炫应用争霸赛》颁奖
4、主题沙龙:大规模在线产品的设计和维护
新闻链接http://news.csdn.net/n/20071130/111255.html
主持:曾登高(CSDN网站首席架构师曾登高)
嘉宾:王文彬(自淘宝网的首席架构师)
汤道生(腾讯互联网业务系统研发副总)
雷鸣(原百度首席架构师,现北京酷我科技首席执行官)
钱宏武(原搜狐互动产品开发部主管,现职脉网技术合作人)
百度、腾讯、搜狐、淘宝这四个中国互联网的巨头,带来的吸引力是可想而知的。又是一个火爆的场面。
列举一些有趣的经验:
<!--[if !supportLists]-->a、 <!--[endif]-->不要对系统过分设计。花精力设计一个1000万用户级别的系统,也许还没设计出来,公司就歇菜了;
<!--[if !supportLists]-->b、 <!--[endif]-->服务器监控分为:系统级监控和应用级监控。系统级监控指:当前服务器的CPU、内存、IO、网络监控;应用级监控指模拟用户使用是否正常的监控。后者估计不常用,但是最有价值;
<!--[if !supportLists]-->c、 <!--[endif]-->必须考虑防范恶意用户的攻击;
<!--[if !supportLists]-->d、 <!--[endif]-->数据备份,采用分段备份会增加性能;
<!--[if !supportLists]-->e、 <!--[endif]-->考虑系统的容错性,将20%的资源预留;
<!--[if !supportLists]-->f、 <!--[endif]-->设计系统不能不考虑成本。也许花上一个月提高20%的性能,不如升级一个更快的CPU;
<!--[if !supportLists]-->g、 <!--[endif]-->死机立即重启技巧:如果主板支持,可以设置每多少分钟重启一次,开启一个进程不断置零。当死机的时候,主板就真的重启了;
。。。
时间过的真快,沙龙结束后有幸碰见了软工版大牛青润http://blog.csdn.net/qingrun
他是个很健谈的人,这不第二天他还介绍了他的口才是如何锻炼的,原来:他小学的时候特喜欢听评书,正好他同学的收音机坏了,要他重述来听。时间长了,能够将评书里的故事情节盗版得象真的一样。
回到家的时候都晚上十点了,电脑也懒得打开,明天还得六点起床。
对沙龙里四个嘉宾的印象还不错,就选了雷鸣的一个演讲。
5、主讲人:雷鸣 主题:Linux系统下的高性能系统设计
新闻链接http://news.csdn.net/n/20071130/111234.html
虽然从头至尾都没有提到Linux,但确是一个很精彩的、互动性很强演讲。主要是有很多观点我都很赞同。并留了一半的时间与听众交流。
设计是门艺术:一个好的设计要估计很多方面:运行效率、系统资源、开发周期、用户感受、维护成本、人员分配。如何用简单、优美的方法实现真得好好下一番工夫。当系统运行起来后,就必须关心用户的行为。
<!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75" style='width:414.75pt;height:282.75pt'> <v:imagedata src="file:///C:/DOCUME~1/Admin/LOCALS~1/Temp/msohtml1/01/clip_image009.png" o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
【设计是门艺术】
列举一些有趣的经验:
<!--[if !supportLists]-->a、 <!--[endif]-->系统层次结构:内核(性能)高效、应用(功能)丰富、界面(用户体验)简单;
<!--[if !supportLists]-->b、 <!--[endif]-->解决问题首先的定位错误。易采用分段排除法;
<!--[if !supportLists]-->c、 <!--[endif]-->性能优化得分析哪里是瓶颈;
<!--[if !supportLists]-->d、 <!--[endif]-->算法是性能的关键。思路算法是灵魂,语言工具是肉体。
<!--[if !supportLists]-->e、 <!--[endif]-->系统的可伸缩性。
。。。
中餐吃完了,正好碰见青润和蒋涛在聊天。和他们聊起我们开发的产品。
6、主讲人:陈榕 主题:应用=XML脚本+构件”编程模型
新闻链接http://news.csdn.net/n/20071130/111238.html
不愧是设计过操作系统的人,他的演讲也是很精彩、务实和幽默。他用雷锋<personname w:st="on" productid="和老">和老</personname>太太比喻商业的运行模式,我也觉得很有意思。后来在其他会场上又碰见陈榕,我请他再次演示了Elastos操作系统手机的绚丽效果。
7、主讲人:Tenni Theurer女士 主题:大规模、高流量互联网站性能调优
Tenni Theurer的演讲很紧凑,介绍了如何通过利用Cache提高网站的访问速度。还有很多分析用户习惯的方法很有意思。
8、主讲人:李建忠 主题:WPF内核机制揽胜
李建忠的演讲被上轮演讲的拖堂影响了。所以后面赶得很快。他介绍了对内核代码的分析方法、WPF的在Windows的运行方式、WPF的编译原理。为什么Menu、ComboBox会有句柄解释的很清楚:因为它们的显示会超出WPF的矩形区域。可惜时间太紧,来不及看看WPF绚丽的效果。
9、主讲人:Andrie Alexandrescu 主题:Lock-Free Programming
Andrie对比了有锁和无锁编程的优缺点
有锁编程容易死锁、性能低下。截了段代码
class Widgt
{
Data *p_;
void use()
{
...use p_...
}
bool CAS(T* Addr, T expected, T fresh)
{
if (Add* != expeted) return false;
Addr* = fresh;
return true;
}
void Update()
{
Data *pOld, *pNew = new Data;
do
{
pOld = p_;
...
} while (!CAS(&p_, pOld, pNew));
}
}
大会结束了,最主要的收获是开拓了思维。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/zswang/ZswangSD2C.jpg)
【露一小脸】