文章目录
  1. 1. defined
  2. 2. Main()
    1. 2.1. 0x01. the missing part of TDD @shupengfei
    2. 2.2. 0x02. Atom背后的故事@jysperm
    3. 2.3. 0x03. Prototype of “JS-Native”

defined

挺喜欢js的, 看到这个就报名了, 报名费居然也在红包中返回了手上(233).

Main()

0x01. the missing part of TDD @shupengfei

Test-Driven Development 驱动测试开发, 差不多像单元测试
说实话, tdd这个经常在node的文档中看到, 但是自己也没有写过, 仅限于能看懂.
dalao的演讲受益匪浅, 做了笔记, 写在这里

“所有代码都会腐烂”
“这个代码应该有人来重构一下, 但不是我” 都表明了在长时间之后的代码变得难以读懂, 难以维护.
所以tdd就上线来解决这个问题了~

我听完演讲之后对tdd操作的理解: 由简到繁, function(x)给个要求之后用最少代码实现.
if是while的unit, 这个也挺有意思的~
还有演讲示例用到了递归, 递归其实挺好用的, 如果不溢出, 按照摩尔定律, 这个性能问题会逐渐消失(除非你代码有fatal error).

演讲用到了两个例子:

  1. factorization
    要求只能按照记忆来了:[] -> [1] -> [2] -> [n](出现问题,分类讨论) -> [2,2] -> [2, 4] -> [3, 3]…

  2. Sort Alogrithm
    [] -> [1] -> [1,2] -> [1,3,2](出现问题, 进一步讨论) -> [3,2,1] -> [x, y, z]

0x02. Atom背后的故事@jysperm

以前用atom的时候很多sublime的操作虽然有兼容, 但是atom始终没办法和sublime比运行速度, 总是用着用着就用回sublime了…遇到问题很多时候都会跳转到精子哥的中文社区atom中文社区, 今天见到还是挺开心的.

atom和vscode的模型我还真没去自己研究过, 发现就是electron APP, 下图是electron组件图:1
优点很明显

内置chromium内核, 不需要用户支持更新;Node版本自己控制, 随时可以使用最新的语法;Native APIs的原生支持, 保证了跨平台的支持.

后面的话就是一些关于atom的一些hack定制, 和内置的API调用模式等等, 然后也提到了atom的性能问题,比如:
1.内置的node_modules整合为单文件模式app.asar, 解决大量小文件读写速度慢的问题;
2.利用virtual dom来解决reflow & repaint的多次渲染问题;
3.针对于大文件加载, 使用了transform3d来进行块加载, 每次只加载需要显示的部分.

0x03. Prototype of “JS-Native”

这个看完ppt然后也没得出什么结论, 就不写了.

文章目录
  1. 1. defined
  2. 2. Main()
    1. 2.1. 0x01. the missing part of TDD @shupengfei
    2. 2.2. 0x02. Atom背后的故事@jysperm
    3. 2.3. 0x03. Prototype of “JS-Native”