QCon Beijing 2010归来

22号到25号参加了InfoQ 组织的企业开发交流会。QCon Beijing >>

整体感觉是,并没有想象中的好,不是每个演讲都有干货,不过很大的收获是在线下去了推友会,认识了几位大牛。(虽然大牛们都不记得俺~)

总结一下听的几个session,不然等ppt发下来,估计都忘的差不多了。(现场wifi很不稳定~批一下~)

4.23号:

失败来临的前兆

  • Michael 为了照顾中国的听众,语速很慢~ 同声翻译一般。
  • application servers are all fragile to sessions,session里存储尽量少的东西;
  • A是线程安全,B是线程安全,但A+B可能产生死锁;
  • 给所有socket connection增加超时时间(这个我们之前遇到过,直接雪崩)

动态语言的敏捷开发实践

  • 没有特别印象,里面举了很多java的groovy和ruby on rails的例子,杯具的是我木有一点经验~

如何在团队中有效实施TDD

  • it requires 3 steps: write a test, code, refactor;  cleaning hands after surgery;
  • code smells: duplicated code, long method, large class, long parameter list, switch statement, comments;
  • coding dojo: rotate every five minutes;
  • python, pyunit;
  • 实施tdd要内部人和外部coaching同时推动才有可能成功改变;
  • book: 《working effective with legacy code》《clean code》《agile coaching》

豆瓣在用TDD,其实这次con上很多人都列举了tdd的好处,现实中尝试做的人太少了。其实感觉其中的很多大道理大家都懂,只是懒得去做,实施本身就很难了,坚持实施就更难了。

Python于web2.0网站的应用

这个可以说是对python深入浅出的演讲,开始半个小时讲的很浅,后面就有营养多了。就当前面是@hongqn为python做了推广吧,^_^ ~

  • douban使用的语言中,python占58%,c占27%,c++占3%,javascript占11%,其他语言如go占1%;
  • python资源丰富:标准库内置200+模块,PyPI:9613 packages currently,网络/数据库/桌面/游戏/科学计算/安全/文本处理/…,easily extensible ~;
  • 豆瓣后台有很多提供的web service就是用web.py做的,跟web.py类似的还有flask ~;
  • python的doctest (import doctest) // from cube import cube // from numpy import * (科学运算库)// ipython ($ipython -pylab) 绘图;
  • import doctest, from cube import cube, virtualenv, PyRex, Cpython;
  • 后面介绍的decorator,举了一个memcache的例子,很有意思,可惜太快了,没记下来,等ppt
  • itertools islice
  • decorator 和 generator 是简化代码的利器
  • python的marshal,替代picle做序列化,速度快7倍~ marshal只能序列化标准的python对象
  • 问了@hongqn一个后台审核的问题,说用户发贴后,就有程序给内容做个审核评级,最严重的是发贴不能成功,发成功的可能给个警告评级。另一个问题是,也是我们现在遇到的一个问题,当有新的敏感词出现时怎么做 ,特别是之前审核成功的数据已经很大时,是否要重审。答曰:搜索~

从WPS到Wps on Web,大型应用软件架构的变迁

没有记下很多,演讲者据说是wps表格的架构师,我觉得做软件本来就是和复杂的协同过程,新版的wps能做到现在这样的效果真的很不容易。

  • 杨刚的演讲比较幽默诙谐,特别是当说到把wps下几个产品库开源的时候,下面就响起哗哗的掌声。
  • wps on web基于flash。

Rebol漫谈

  • 蔡学镛没有之前认为的那么帅,@noyy说,这下心理平衡了。
  • session基本上就是讲了几个rebol的语法,确实可以称之为web3.0的语言,DSL不错。
  • 可惜rebol语言本身核心代码不开源,且收费。作者是个很吊的人。

4.24号:

24号的第一个session的演讲者由于冰岛火山,不能乘飞机,没来。替他的演讲者好像也是讲敏捷的,具体内容不是很记得了,有人简单记录了这个session,请查看这里

Facebook的扩展Memcached实战

  • 这个。。。其实看讲稿很有技术含量的,不过1是演讲者语速太快了,英语发音也不是很清晰;2是中文翻译实在很烂,很多术语没有翻译正确。结果是,这场我像听天书一样,所以一定要补习好英文!

Twitter的可伸缩性数据架构

  • 相比facebook的工程师,@nk的演讲要好很多,发音清晰,也照顾中国听众,中间会停顿等翻译完成。人气巨高。
  • ppt@nk分享在slideshare上,在这里:http://www.slideshare.net/nkallen/q-con-3770885
  • 技术上可以看出twitter的架构跟想的差不多,也没有用很高的技巧,给人的感觉是“原来也这么土”,但是这也说明了另一个问题,网站技术不是炫耀技巧,“不管黑猫白猫,能捉老鼠就是好猫”~ 技术够用就好,然后再不断改进适应变化。从ppt上看twitter的整个开发倒是符合敏捷。

阿里巴巴国际站架构分析和镜像解决方案

  • 这个时间没赶上,没有位子,脚又疼的厉害,索性坐在地板上上网/休息,结果就是。。。啥也没听到。囧

与Twitter架构师面对面

  • @nk继续他在上午场没讲完的ppt关于搜索的部分,然后大家问了几个问题。问的问题有些是英文没听懂。这个要听录音整理一下。这场更加坚定了我补习英文的决心啊。

人人网技术架构的演进

  • 演讲人是个领导者,基本上在讲人人网的历史课,没啥干货
  • 人人网准备开源两个产品,nuclear(key-value分布式存储,类似cassandra;rose,一个java web开发框架。。。(我们的python leazy框架什么时候开源啊~)。。。
  • 因为演讲者是领导者,所以很多关于要开源的nuclear的细节不了解。这本来是情有可原的,但是我觉得如果要在会场上讲nuclear,就有必要负责的清楚这些细节,要么就不用讲nuclear的架构了。就说“我们要开源”就好了。

构建可扩展的微博系统

  • Tim Yang自然是位大牛,因为本身是讲汉语,所以比早上twitter的那些听起来容易很多。
  • offline computation = push ; online computation = pull
  • 实现上可采取推或拉的方式,按ppt上的看,新浪微博应该是用push的方式
  • 新浪微博的请求量:1秒钟578条
  • 异步设计,不同步,不等待,将消息存入消息队列
  • 异步队列可用的开源软件:kestrel by Twitter,rabbit mq, memcacheq
  • 避免mq的单点故障,使用多个memcache池
  • 压缩,使用quicklz或者lzo(twitter就在使用这个),不使用gzip
  • read through cache evictions的问题,规划cache容量
  • memcache multiget (multiget hole problem)
  • sharding:按时间分片,使用merge的table engine
  • nosql数据库:cassandra, PNUTS

4.25号:

性能和可扩展性再度归来:内存数据网格

oracle的广告session

深入浅出复合事件处理(CEP)

  • 蔡学镛的这张关于CEP复合时间的ppt,很有Head First系列书籍的风格~赞!
  • 有点明白了,“符合事件处理”CEP是在数据挖掘那套方法的基础上再做更高一层的包装。数据预处理-》发现规则,这些都在数据挖掘的概念中,CPL对应于DML,简单事件对应与数据的特征值,复合事件的发现对应于规则的发现(关联分析)。这些应该是核心的引擎部分。

REST深度解析:超媒体

淘宝网前端应用与发展

  • 这个TMS的后台有意思~前端的很多部分也模块化,做一个页面只要拖不同模块进去就好~这得益于之前的很多统一的命名规范
  • Js/css 压缩- YUICompressor // 我们对js用了jsminify.py
  • 商品详情页面优化项目,首页性能优化项目,搜索结果页性能优化项目,图片强制压缩~ omg,专门立项来做,确实够努力啊~
  • 页面减少100k,为公司节省300RMB 。。。
  • 淘宝前端工具:Fiddler, WebPagetest, ySlow
  • 性能自动化测试:Firefox, ySlow,showSlow,xvfb
  • dom预加载:将要显示的html放到隐藏的textarea中当文本,这样浏览器下载的时候就不用构造这段dom。当显示时,再从textarea中取出来显示,把构造dom的工作留到真正需要显示的时候。
  • 标准与规范-》工具-》性能-》品质与协同 //其实这个发展进程不只是适合前端,后端开发可能都需要一个这样的发展过程

JavaScript的现状和未来

  • Douglas Crockford 是js届的精神领袖!
  • 对ie6深恶痛绝!//我们都是如此,特别是前端
  • 认为js现在最要紧的是解决安全问题,例如xss。对html5藐视之,认为html5的推出对网站安全没有任何帮助,主张推翻html5,重新制定。(大牛考虑的方向就是不同,我等屁民都在积极的拥抱html5)

基本上就记录了这些,要挑一个session深入了解一下做分享。

ps:本周打算去买套iWorks。

— EOF —

0 comments:

Leave a Reply

Your email address will not be published. Required fields are marked *