推荐
1. Node.js 中内存溢出与内存膨胀调试
https://tech.residebrokerage.com/debugging-node-js-memory-problems-d450787d9253
内存问题是服务端应用程序的常见痛点之一,本文作者近日就受困于内存泄露(Memory Leak)与内存膨胀(Memory Bloat),本文即是他的调试经验分享。所谓的内存泄露是指无用的内存却未被回收释放,而内存膨胀指程序使用了过量的内存;作者介绍了使用堆快照以及 Chrome DevTools 来辅助回溯、搜集、分析与解决这些内存问题。如果想要了解 Web 应用中 JavaScript 的内存调试可以参考内存分析与内存泄漏定位一文。
2. 扩展 React 服务端渲染的实践
http://arkwright.github.io/scaling-react-server-side-rendering.html
作者在本文中分享了,其在近期扩展 React 服务端渲染过程中的实践经验;虽然文中很多的讨论点都是 React 相关,但是面临的通用扩展挑战,或者解决的问题都是值得重复借鉴的。本文并没有直接讨论 React 服务端优化,而是从常见的负载均衡谈起,介绍了常见负载均衡的算法与策略;然后讨论了客户端渲染的兜底方案,即当流量过大导致服务端无法及时响应的情况下,如何给用户合适的反馈。接下来本文还讨论了分级卸载、组件缓存、依赖处理、同构渲染等内容;
3. 前端测试金字塔,重新思考你的测试
https://medium.freecodecamp.org/the-front-end-test-pyramid-rethink-your-testing-3b343c2bca51
本文着眼于前端测试方面,从所谓的测试金字塔结构谈起,梳理前端测试的关键内容与设计理念。作者认为所谓的前端测试金字塔自底向上为单元测试、快照测试、端到端测试,然后以简单的模态弹窗为例,介绍各个测试模块的设计要点。一般来说,单元测试用于测试代码库中的函数、类等原子对象,而快照测试则能够记录组件渲染之后的状态并且随时进行比较;端到端测试则是用于黑盒保证产品的最终体验。
4. 数据可视化概览
https://antv.alipay.com/zh-cn/vis/blog/vis-introduce.html
科学可视化、 信息可视化、可视分析学这三个学科方向通常被看成可视化的三个主要分支。而将这三个分支整合在一起形成的新学科 “数据可视化”,这是可视化研究领域的新起点。
更多
1. 算法,天使还是魔鬼?
https://mp.weixin.qq.com/s/O7bxtiDGqQxvsRFpO4ZGAQ
随着算法的诞生,智人似乎终于制造出了一种可以实现一切愿望的工具。
如今,算法已经无孔不入,我们的工作、社交、医疗、工业、运输、贸易无不有算法的重大参与。各种算法正改变着自然科学和人文科学,让技术不断突破“不可能”的极限。
2. 盒子端 CSS 动画性能提升研究
http://www.cnblogs.com/coco1s/p/7851658.html
许多能流畅运行于 PC 端、移动端的 Web 动画,受限于硬件水平,在盒子端的表现的往往不尽如人意。想要在盒子端跑出高性能的流畅动画,就必须要刨根问底,深挖每一处可以提升的方法。
3. H5 动画:轨迹移动
https://aotu.io/notes/2017/11/06/path-animation/
动画,是指由许多帧静止的画面,以一定的速度(如每秒16张)连续播放时,肉眼因视觉残象产生错觉,而误以为画面活动的作品。在 Web 开发中,经常需要实现各种动画效果,例如:移动、变形、透明度变化等,今天我们主要来讨论各种移动的实现。
4. Atom 发布代码协同工具 Teletype
https://github.com/blog/2468-introducing-teletype-for-atom-code-collaboratively-in-real-time
上周,Atom 发布了远程协同工具 Teletype,其允许开发者以 P2P 的方式进行结对编程;尽管 Beta 版本尚存在很多的 Bug,还是拭目以待未来更方便的团队协同工具。同时,VS Code 也发布了所谓的 Live Share 规划,其同样允许开发者使用 Visual Studio 2017 或者 VS Code 来实时协同编辑代码。
5. Slack桌面3.0迁移到 BrowserView
https://slack.engineering/growing-pains-migrating-slacks-desktop-app-to-browserview-2759690d9c7b
Slack最近在beta通道中提供了3.0版本,该版本包含大量的性能提升和漏洞修复。大多数主要变更都是围绕从Electron组件WebView到BrowserView的迁移,BrowserView是一个更新且更稳定的替代选择。Slack工程师Charlie Hess发表了一篇博客,概述了这次迁移过程。