【2018.09.15】周游记 - Week 3

  1. 1. 🗞 新闻联播
  2. 2. 📖 百家讲坛
  3. 3. 👤 大家
  4. 4. 🛸 探索·发现
  5. 5. 🛰 天气预报

本周要点:V8 引擎本周也满 10 岁啦npm 开始酝酿下一代的包管理器,与此同时 yarn 也不甘落后 推出了 Plug’n’Play 提案

🗞 新闻联播

  1. 继上周 Chrome 10 周岁,这周 V8 团队也在官方微博庆祝 V8 10 周岁了。博文中回顾了 V8 的十年历程中的重要里程碑:

  2. GitHub Pull Requests in Visual Studio Code

    • VS Code 团队推出了一个公开预览版的扩展 GitHub Pull Requests,可以在 VS Code 中直接 review 和管理 Pull Request,再也不需要在 IDE 和浏览器之间来回切换了。
  3. Next Generation Package Management

    • 提前 npm,关于 node_modules 的吐槽已经层出不穷了,比如下面两张漫画:
    • npm 官方博客更新的这篇文章介绍了他们正在做的一项概念性实现:tink,可以实现几乎免安装的安装器。它是基于你的已有的 package-lock.json 来实现的。有了 tink 你会发现,即使你项目目录下没有 node_modules 目录,也从没有执行过 npm install,你还是可以 require 你的任何依赖。初次运行会需要几秒钟的时间来下载和解压包,但后续的运行会几乎瞬间完成,尽管它仍然会验证你的 package-lock.json 中的依赖包在系统中都存在。
  4. Yarn Plug’n’Play: Getting rid of node_modules

    • 与上面的 tink 看起来有些类似,yarn 的这个新提案给出了一个完全可选的替代方案来解决依赖安装到本地的问题,而且还给出了 相关实现的 PR,其中的一些亮点包括 70% 的包安装提速、应用启动速度会更快、yarn 可以准确提醒你在 dependencies 中遗漏了需要列出的包、CI 上的 yarn 安装过程将可以省略等。这个方案已经在 Facebook 内部生产环境中使用了大约 2 周了,目前还没有发现什么问题。因此是时候他们决定向外推出了。

    • yarn 的这个提案的实现看起来与 tink 确有些类似,只是 node_modules 底下前者放的是 .pnp.js 文件描述包的静态解析表和解析器,而 tink 的方案里则放的是 .package-map.json 文件记录各安装包内文件的 hash 值。那本地找不着要安装的包,实际都去哪儿了呢?可以推断应该都在各自定义的一个集中化的目录下,这样就能实现跨项目的包安装复用,感觉有点像引用了安装在全局的包,只是在解析的过程中又需要更好地处理多版本并存、link 软连接等问题。期待这条路趟出来,相信对于大家的磁盘压力会小得多。

📖 百家讲坛

  • Chrome DevTools - Debugging Node.js Application Using ndb
    • 从原始的 node debug abc.jsnode-inspector 再到 node --inspect-brk,Node.js 的调试体验一步步进化,而前两个月,或许你听说了,Chrome 实验室又推出了一个改进的调试体验工具 ndb,相比之前又有了一些新的强大特性:1. 自动探测和附属上子进程;2. 可以在模块被 require 之前放置断点;3. 可以直接在调试器 UI 上编辑文件并保存到本地;4. 默认自动将当前工作目录之外的文件 blackboxes(排除在外)。
  • Chrome’s new design — a UX perspective
    • 从用户体验视角解读 Chrome 的全新设计。包括搜索优化、标签栏管理、滚动时扩大可视区域、Material Design 等。
  • Designing With Code
    • 使用代码作为工具参与设计已经不是一件新鲜事了,尤其是 Sketch 的出现后,去年 Airbnb 就推出了 React Sketch.app 工具,试图通过 React 代码作为涉及资产解决涉及与代码的更新同步问题,在 知乎上也引发了大家的广泛关注和讨论,这之后还有网页版的设计工具 Figma,也在 4 月份引入了 将设计转换为 React 代码 的支持。本文作者分享了在做华尔街日报的两个项目中通过编写代码作为设计工具来创建设计的实践。
  • The Problem with font-display and Reflow
    • 进行性能优化时,决定 Web Font 的加载行为是一项技术活。@font-face规则中新增了一个font-display声明,开发者可以根据 Web Font 的加载时间来决定如何渲染或降级处理。如果你还没用过 font-display,可以先通过 《Controlling Font Performance with font-display》这里是中文翻译版本)了解一下。而 font-display 使用可能会遇到渲染重排的问题,这篇文章里介绍了原因和解决办法。最简单的方法就是使用 font-display: optional
  • Introducing the React Profiler
    • React 16.5 新增了 DevTools profiler 插件的支持,使用 React 实验性 Profiler API 来收集每个被渲染的组件的耗时信息,为在 React 应用中定位性能瓶颈提供帮助。本文介绍了如何使用这个工具以及如何分析诊断相关的输出数据。

👤 大家

本周的“大家”,让我们关注 V8 的创始人 Lars Bak

  • 2000或2001年以前在美国,是Sun的 HotSpot JDK的主力开发之一。
  • 回到丹麦,2002年创立 OOVM。因为他对 Smalltalk 的热爱,OOVM 被写成一个以 Smalltalk 为开发语言的迷你虚拟机,主打各种资源有限嵌入式设备,代码调试、热部署、热替换都很方便。没记错的话当时宣传是最低128K RAM就可以运行。
  • OOVM 在 2004年被当时 J2ME VM 的主要开发商 Esmertec 收购,后来改名为OSVM,以突出其能够在 bare metal 上运行的特性。
  • Lars Bak的家是个丹麦的农场,有时候高层开会就跑去他家里开…
  • 2006年因为经济不景气,同时 OSVM 始终没能在市场上取得大的进展(一方面原因是 Smalltalk 还是太小众了),Esmertec 关掉了位于丹麦的 OSVM分支。
  • Lars Bak 随后加入 Google。这里 Wikipedia上的记载有误,他是在06年而不是04年加入 Google 从事V8开发的。

后来V8和Dart的工作大家都知道了。

作者:rlei

链接:https://www.zhihu.com/question/21918553/answer/19857329

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

大神确实是大神,虚拟机玩得出神入化。《金融时报》当年还为他发过一篇人物特写,摘录其中的一小段:

这个丹麦人首次在加州硅谷引起人们的注意是在1991年,那时他在Sun公司工作,后来成为业界最佳程序员之一。1994 年,他离开Sun,帮助创建了Animorphic系统,该公司后来被Sun收购。再次回到Sun之后,巴克开发了后来成为Java HotSpot(行业标准计算系统之一)的程序。

抛开法律和市场份额不说,技术挑战已经存在了。微软不得不创建比V8更好的东西,巴克说。很多技术观察家很怀疑他们能够在短时间内完成:在测试中,V8处理JavaScript的速度比最常见的IE浏览器要快56倍。我们一开始就是高标准,巴克说。随后谦虚地加了一句:还算成功啦。

即使Chrome漫画没有让巴克迅速成名,他的知名度在这几个月中也迅速增加。越来越多的人想了解Chrome背后的这个人。他宁可写虚拟机器,也不愿意管理奥尔胡斯办公室,而且他宁可做其他所有事情,而不是和记者谈话,可那是游戏的一部分,他接受了。话虽如此,他离Facebook的创建者马克 扎克伯格或比尔盖兹还有很远的距离。我问,在漫画出来之后,你有没有收到粉丝的邮件?他笑了:没。不过我也没有收到抱怨的邮件。

🛸 探索·发现

  • 15 Best Google Fonts by the Numbers (Tips on Usage)

    • 按使用量统计排名的 Top 15 Google Fonts。
  • 3D Scanner

    • 即将要登录 iOS 12 的 AR 3D扫描应用 3D Scanner,能扫描现实的物体再复制出来,甚至还能扫描自己坐在旁边!还可以把扫描出来的 3D 模型用 iMessage 分享给朋友,对方收到以后可以在 AR 场景中查看,相当酷炫,你们看视频感受一下。

  • CodeZen

    • 又一个从源码生成图片的工具,做 PPT 或者 Keynote 神器。不过相比之下似乎还是 Carbon 更强大一些。
  • Zeu.js

    • 一个用来构建实时数据可视化的 JavaScript 类库,效果很炫酷:
      • network-graph
  • 【滚城一团】的 ECharts 训练营

    • 百度 Echarts 的当家花旦 @羡辙 小姐姐推出了免费的 ECharts 学习教程,对数据可视化感兴趣的萌新们可以看过来。

🛰 天气预报

【2018.09.22】周游记 - Week 4 【2018.09.08】周游记 - Week 2

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×