应该是第一次参加这种纯技术性的Party,技术气氛很浓。废话不多说,用图说事!!
这个是来自淘宝的一个很牛的工程师,现在是在解释node.js的基本内容和阐述了一下淘宝的数据产品中有哪些是用node.js来做的。可以看到glider和MyFox现在都已经用node.js来替换了。现在淘宝貌似是打算用node.js来作为中间层的统一标准。
这位工程师昨晚还为一个node.js的hash冲突问题搞到凌晨3点,敬业!!
接下来是腾讯商城的一个node.js实践介绍,其实就是用node.js现场写一个用长连接(WebSocket)来实现的聊天室。主要是介绍了一下HTML5中的WebSocket的实现细节和一些需要注意的地方。
这个是WebSocket和传统HTTP链接的区别的PPT
由图来说明区别更生动易懂~~
直接上代码,现在是在看工程的目录结构~~
重头戏来啦!!!!
老赵,一个IBM的研究员,非常牛的一个语言大师~~在讲的时候,非常生动搞笑,可以看得出一个写了多年代码,很有自己见解的大师。
写代码的时候非常流畅,自己编写的Jscex也貌似非常强大(自己对于异步编程还不熟,不敢妄自评论)!
不过在讲的过程中老赵引用的引言特性都看得出来他是有深入看多对应语言的类库的。
顺便说一下,Jscex的想法来自于Haskell,而实现则借鉴了Scala、C#和F#。看来老赵对于Functional Programming很有一套!!
不好意思,因为这段听到有点陶醉,所以照片拍的就那么一张了!!
大家可以多关注一下老赵的博客,能学到和找到不少东西http://blog.zhaojie.me
这里是@Python发烧友的介绍TDD和BDD的Node.js实践。
这次是现场看到的一次TDD的代码实践,比起书上来的有感觉很多~~不过据说其实他自己实践的时候也并不是完全按书上来,还是具体情况具体分析啊~~
这里用到的工具包括测试库Mocha和断言库should。(Should这个库太惊异了,其中的语法让人觉得直接写单元测试让产品经理看也不是梦想啊!!)
Mocha的特性,在每个函数执行前调用before参数里面的callback。
当然这个有点像gtest里面的setup了。
请看这里个should断言!!!太直观,太有表现力了!!和写英文一个样!!!should.js太有才了。
什么时候C++也来个这样的断言库就爽大了~~
最后是一开始的那位淘宝工程师介绍hash冲突的远离和攻击示例代码。
这段现场演示真的是很精彩,直接上演网络攻击(当然是本地示范了),还是算法分析,听得我很爽,也是第一次现场有机会接触网络安全的内容啦~
其实这段hash攻击可以适用于PHP, JAVA和Node.js等一大堆语言。
其实说白了就是hash table里面,hash值一般来说是将存入的元素均匀存放在table里面的,但是有方法可以讲所有的元素都故意的hash到一个固定的entry,使得,hash的速度不是O(n),而是O(n^2)。结果就是hash的速度大大的减慢~
这位工程师还直接就改了V8里面的源码,并向Google和node.js的源码提交了patch,这个很强大~~淘宝的开源意识还是很强大~~
最后,很高兴能够参加这次的NodeParty,能够认识到那么多的牛人~~虽然自己对于Node.js也就是个认识+写过Helloworld的程度,所以这次来顶多连学习都算不上,算开开眼界吧~~
不过能够见识到那么前沿的技术和认识那么多大牛,兴奋啊~~老赵的博客以后一定多上去学习,不为别的,就为了他那堆珍贵的视频资源!!!!