奇舞推荐
APP 常用跨端技术栈深入分析
本文主要针对常用跨端技术 Flutter、ReactNative、Weex、H5,从技术特点、基本架构、编译原理、基本渲染流程等进行梳理分析。分享了跨端技术选型的逻辑。
用 Node.js 手写一个 DNS 服务器
DNS 是实现域名到 IP 转换的网络协议,当访问网页的时候,浏览器首先会通过 DNS 协议把域名转换为 IP,然后再向这个 IP 发送 HTTP 请求。 DNS 是我们整天在用的协议,不知道大家是否了解它的实现原理呢? 这篇文章我们就来深入下 DNS 的原理,并且用 Node.js 手写一个 DNS 服务器吧。
为什么我避免使用 async/await?
JavaScript 中的 async/await 功能的效用是基于这样的想法:异步代码很难,相比之下,同步代码更容易。这在客观上是正确的,但在大多数情况下,作者不认为 async/await 真的能解决这个问题。
技术实践
浅析 path 常用工具函数源码
Path 是 Node.js 中常见的模块,用于处理文件和目录的路径,这个模块中提供了很多便于开发者开发的工具函数,协助我们进行复杂的路径判断。
使用 content-visibility 优化渲染性能
content-visibility 是一个新颖且强大的 CSS 属性。它可以让浏览器潜在地省略大量布局和渲染工作,直到需要为止。
自己实现一个大文件切片上传 + 断点续传
相信每个切图工程师,都接触过文件上传的需求,一般的小文件,我们直接使用 input file,然后构造一个 new FormData () 对象,扔给后端就可以了。如果使用了 Ant design 或者 element ui 之类的 ui 库,那更简单,直接调用一下 api 即可。当然了,复杂一些的,市面上也有不少优秀的第三方插件,比如 WebUploader。但是作为一个有追求的工程师,怎么能仅仅满足于使用插件呢,今天我们就来自己实现一个。
拓展边界
关于代码评审 (CodeReview) 那些不得不说的事儿
在一个成熟的团队中,CodeReview 是整个研发流程中不可或缺的一步,而那些即将走向成熟的团队可能对 CodeReview 有很多的误解和问题,也不清楚 CodeReview 该如何去做,本文作者分享了自己对 CodeReview 流程的理解和建议。
是 Rust 太难了,还是主流编程本来就这么折磨人?
现阶段的 Rust 也许并不友好,但未来可期。