函数式编程进阶:杰克船长的黑珍珠号

2019-12-30
阅读 10 分钟
3.1k
函数式编程(Functional Programming)这一理念不论是在前端领域还是后端领域,都逐渐热门起来,现在不大量使用函数式编程技术的大型应用程序已经很罕见了,比如前端流行的 React(核心思路数据即视图),Vue3.0 的 Composition API ,Redux ,Lodash 等等前端框架和库,无不充斥着函数式的思维,实际上函数式编程绝不是...

「圣诞特辑」纯前端实现人脸识别自动佩戴圣诞帽

2019-12-25
阅读 14 分钟
12.5k
在线体验地址:hksite.cn/prjs/christmashat 源码地址:[链接] 写在开头 叮叮当,叮叮当,吊儿个郎当,一年一度的圣诞节到咯,我不由的回想起了前两年票圈被圣诞帽支配的恐惧。打开票圈全是各种@官方求帽子的: 票圈头像也瞬间被圣诞帽攻陷: 在那段时间,你没一顶圣诞帽还真不好意思发票圈 各种戴帽子的软件也如雨后春...

从 Fetch 到 Streams —— 以流的角度处理网络请求

2019-12-23
阅读 30 分钟
19.7k
自第一个实现的浏览器开始计算,Fetch API 已经快要五岁了。这五年 Chrome 和 Firefox 刷了不少版本号,IE 也不知死了多少年,而它的继任者更是上演了一出名为《Edge: Become Chromium》的好剧。再加上 ES6+ 的普及,我们早已习惯了基于 Promise 和 async/await 的异步编程,所以估计不少同学也转而使用 Fetch API 作异...

开发高质量服务端 API

2019-12-17
阅读 11 分钟
2.1k
不管 Node.js 在实际产品中的使用情况如何,相信现在使用 Node.js 作为服务端来开发的项目是数以百万计的,其中绝大多数的开发人员都是前端工程师,因为 Node.js 是他们的天然语言工具。将来,越来越多的前端工程师会加入到 Node.js 的开发中来。

高质量前端快照方案:来自页面的「自拍」

2019-12-13
阅读 14 分钟
9.1k
快照环节通常处于页面交互流程的末端,汇总了用户最终的参与结果,直接影响到用户对于活动的完整体验。因此,生成高质量的页面快照,对于活动的传播和品牌的转化具有十分重要的意义。

云原生基础及调研

2019-12-09
阅读 4 分钟
2.3k
本文仅用于简单普及,达到的目的是给没接触过或者很少接触过这方面的人一点感觉,阅读起来会比较轻松,作者深知短篇幅文章是不可能真正教会什么的,所以也不会出现 RTFM 的内容。

一个简洁、有趣的无限下拉方案

2019-12-03
阅读 5 分钟
3.7k
本文主旨 长列表渲染、无限下拉也算是前端开发老生常谈的问题之一了,本文将介绍一种简洁、巧妙、高效的方式来实现。话不多说,看下图,也许你可以发现什么? 不知你是否从上面这张图中注意到了什么,比如只是渲染了可视区域的部分 DOM ,滚动过程中只是外层容器的 padding 在改变? 前一点很好理解,我们考虑到性能,不...

前端领域的 Docker 与 Kubernetes

2019-11-27
阅读 11 分钟
7.6k
看完本文希望读者能够了解到,Docker 的基本原理,Kubernetes 是怎么工作的, 对于前端 Kubernetes 有哪些优势与玩法。

使用 svrx 实现更优雅的接口 Mock

2019-11-20
阅读 9 分钟
3.3k
目前 Web 开发普遍都切换到了前后端分离的开发模式。虽然在工程和职能上已经分离了,但在实际工作中,前后端在开发进度上往往会出现不一致的情况,此时就会极大地影响开发效率。接口 mock 在此时就发挥出了巨大价值,它磨平了这个时间差,最终实现高效的前后端分离开发。

Lighthouse 测试内幕

2019-11-12
阅读 12 分钟
5k
云音乐前端性能监控平台,底层使用了 Lighthouse 进行审计评分,在实践过程中我们积累了一些 Lighthouse 内部实现的研究经验,希望通过这篇文章可以分享给各位读者。

JavaScript 中的位运算和权限设计

2019-11-07
阅读 8 分钟
5.3k
1. 内容概要 本文主要讨论以下两个问题: JavaScript 的位运算:先简单回顾下位运算,平时用的少,相信不少人和我一样忘的差不多了 权限设计:根据位运算的特点,设计一个权限系统(添加、删除、判断等) 2. JavaScript 位运算 2.1. Number 在讲位运算之前,首先简单看下 JavaScript 中的 Number,下文需要用到。 在 Jav...

从零实现自定义 JSON Parser

2019-10-31
阅读 8 分钟
1.9k
简介 Zergling 是我们团队自研的埋点管理平台,默认的数据格式如下: {代码...} 一种自定义 json 格式,比较不同在于: 带注释 字符串通过 | 分割符,当做数组用 value 为基本类型,没有 object。 在实际过程中有一些不符合规范的地方: 用 value 当做注释,而不用 comment <img src="https://p1.music.126.net/GTDZ6t...

Server-X:一款可能提升你十倍工作效率的工具

2019-10-21
阅读 6 分钟
4.5k
本文将介绍一款全新的前端开发工具,希望它能给你的前端开发带来看起来和现在一样但其实又不那么一样的体验。 你可能会说,大家都是 秃头的 成熟的前端程序员了,每一台电脑上都有几套自己辛辛苦苦装好的全家桶,为什么还要新换一个开发工具? 对,盲生,你可能发现了华点。 数一数你电脑上目前为前端本地开发安装了多少...

Web Audio在音频可视化中的应用

2019-09-26
阅读 8 分钟
5.2k
本文有两个关键词:音频可视化和Web Audio。前者是实践,后者是其背后的技术支持。 Web Audio 是很大的知识点,本文会将重点放在如何获取音频数据这块,对于其 API 的更多内容,可以查看 MDN。

快速上手亚马逊的 Serverless 服务

2019-09-12
阅读 14 分钟
2.8k
引用一段对于 Serverless 较为官方的定义:“Serverless 是一种执行模型(execution model)。在这种模型中,云服务商负责通过动态地分配资源来执行一段代码。云服务商仅仅收取执行这段代码所需要资源的费用。代码通常会被运行在一个无状态的容器内,并且可被多种事件触发( http 请求、数据库事件、监控报警、文件上传、...

简明 JavaScript 函数式编程——入门篇

2019-09-06
阅读 16 分钟
4.2k
写在开头 本文较长,总共分为三大部分:(对于函数式编程以及其优点有一定理解的童鞋,可以直接从 第二部分 开始阅读) 第一部分:首先会通过实际代码介绍一下什么是函数式编程以及使用它的意义。 第二部分:我会着重介绍一下函数式编程中最重要的两个方法:柯里化和函数组合,以及他们的使用方法和实践经验。 第三部分:...

Web 应用的撤销重做实现

2019-08-22
阅读 9 分钟
9.8k
背景 前不久,我参与开发了团队中的一个 web 应用,其中的一个页面操作如下图所示: 这个制作间页面有着类似 PPT 的交互:从左侧的工具栏中选择元素放入中间的画布、在画布中可以删除、操作(拖动、缩放、旋转等)这些元素。 在这个编辑过程中,让用户能够进行操作的撤销、重做会提高编辑效率,大大提高用户体验,而本文...