技术周报· 谷歌如何衡量技术人的生产力

4,406 阅读3分钟

编辑推荐

谷歌如何衡量技术人的生产力

在编程领域,恰恰与工厂和服务行业相反,生产力远不是线性的。普通程序员每天都在编写代码,但在sprint结束时却无法交付。另一方面,专家级的程序员,几天过去了,可能都没有几行代码,但往往在冲刺结束时,他们却能会提供完全可行的解决方案,这一点连他们自己也会感到吃惊。

MemLab: An open source framework for finding JavaScript memory leaks

To help our developers address this, we built MemLab, a JavaScript memory testing framework that automates leak detection and makes it easier to root-cause memory leaks. We’ve used MemLab at Meta to successfully contain unsustainable memory increases and identify memory leaks and memory optimization opportunities across our products and infra.

微软首席工程师:Rust 将面临十大挑战

“在这里,我想描述一下我认为现在和未来几年 Rust 面临的十大挑战。我有一些解决方案的想法,但它们都是大而难的问题,没有简单的答案,所以真正的解决方案都需要迭代、精力和创造力。我的重点是核心项目;社区和生态系统面临许多挑战(例如,如何使用 Rust 制作 GUI,或者如何让更多的 crates 进入 1.0),我认为这些挑战必须主要由社区来解决。”

深度阅读

Lath(纯前端容器)打造页面间的无缝平滑连接体验

我们从一个信息共享的未来俯瞰观测,那么打开与开放一定会是趋势而一定不会是走向一个封闭领域,所以一切的“变种”一定都是短暂的洪流。重回正题,我们要面向未来地解决前端体验问题,就必须用前端来解决前端问题。注意我说的是体验问题,而没有归纳为性能问题,因为 Web 的普遍性体验并非都是因为受限于性能,而绝大部分是开发思维的问题。

V8 是如何执行 JavaScript 代码的?

分享 V8 引擎执行 JavaScript 的原理和垃圾回收机制。

Plasmo Framework:次世代的浏览器插件开发框架

最近团队在做的业务需要重度使用浏览器插件,所以有必要对浏览器插件进行全面的调研与实践,以了解其上限,并考虑将浏览器插件的开发与现有的 Web 工程化开发流程进行结合,提高开发的效率与幸福感,于是遇到了 Plasmo Framework -- 一个开发浏览器插件的工程化框架,本文将尝试介绍关于插件、插件开发、基于 Plasmo 的插件开发以及业务实践等相关内容。

外文精选

Getting started with Playwright component testing

This tutorial will walk you through the process of writing unit tests for your Svelte, Vue, and React components using Playwright’s recently released, currently experimental component testing feature.

What Makes a Senior Engineer? Writing Software vs Building Systems

Senior Engineers care about building Systems. To them, creating software is just one of the steps. First of all, they question whether the software needs to be built in the first place. They ask what problems would it solve and why it’s important to solve them. They inquire who will be using the software and on what scale. They think about where the software would run and how they’re going to monitor whether it’s working properly. They also decide how to measure whether the software is actually solving the problems it was supposed to solve.

实践应用

JavaScript 设计模式 —— 代理模式

代理模式给某一个对象提供一个代理对象或者占位符,并由代理对象控制原对象的引用,也可以理解为对外暴露的接口并不是原对象。

Babel 插件:30分钟从入门到实战

Babel 是一个 source to source(源码到源码)的 JavaScript 编译器,简单来说,你为 Babel 提供一些 JavaScript 代码,Babel 可以更改这些代码,然后返回给你新生成的代码。Babel 主要用于将 ECMAScript 2015+ 代码转换为能够向后兼容的 JavaScript 版本。Babel 使用插件系统进行代码转换,因此任何人都可以为 babel 编写自己的转换插件,以支持实现广泛的功能。