2019 再聊移动端 300ms 延迟及 fastClick 原理解析

2019-05-24
阅读 7 分钟
17.8k
最近公司新开了一条业务线,有幸和大佬们一起从头开始构建一套适合新业务的框架。俗话说得好呀,适合自己的才是最好的 😎。在新项目的 CodeReview 的时候,被大哥提到有没有添加 fastClick 解决移动端 300ms 延迟的问题。以下就带你追溯移动端延迟的 前世 今生。

从 10 秒到 2 秒!ElasticSearch 性能调优

2019-01-16
阅读 6 分钟
22k
“ELK”是 ElasticSearch、Logstash、Kibana 三门技术的简称。如今 ELK 技术栈在互联网行业数据开发领域使用率越来越高,做过数据收集、数据开发、数据存储的同学相信对这个简称并不陌生,而ElasticSearch(以下简称 ES)则在 ELK 栈中占着举足轻重的地位。

异端审判器!一个泛用型文本聚类模型的实现(2)

2019-01-15
阅读 5 分钟
3.3k
前文中我们已经定义好了一些必要概念,并写出了函数实现。我们的程序递进地量化了字符之间的差异、字符串之间的差异,最终得到了字符串集合之间的差异。有了这项指标,我们就能完成分拣工作。

深度介绍:也许你对 Fetch 了解得不是那么多

2019-01-03
阅读 17 分钟
11.4k
本篇主要讲述 Fetch 的一些基本知识点以及我们在生产开发中怎么去使用。为了能够更好的了解 Fetch,我们希望你对以下知识点有所了解,如果有相关的开发经验,那是最好不过的了。

也许你对 Fetch 了解得不是那么多(上)

2018-12-29
阅读 1 分钟
4.3k
本文已完结,点此阅读全文。

不怕你用不上!CSS 列表项布局技巧

2018-12-17
阅读 4 分钟
11.3k
编者按:为了不引入 HTML 标签自身的样式,本文未考虑 HTML 语义化的提倡,以使得行文与示例代码更加简洁。这是文章写作需要,而非代码风格示范。

人工智障也刷题!Kaggle 入门之实战泰坦尼克号

2018-12-05
阅读 6 分钟
3.9k
Kaggle 是一个用来学习、分享和竞赛的线上数据实验平台,有点类似 KDD—CUP(国际知识发现和数据挖掘竞赛),企业或者研究者可以将背景、数据、期望指标等发布在 kaggle 上,用竞赛的方式向全世界的数据科学家和爱好者寻求解决方案。热爱数(dong)据(shou)挖(zhe)掘(teng)的小伙伴们可以下载/分析数据,使用统计/...

React 重要的一次重构:认识异步渲染架构 Fiber

2018-11-15
阅读 4 分钟
5.6k
熟悉 react 的朋友都知道,在 react 中有个核心的算法,叫 diff 算法。web 界面由 dom 树组成,不同的 dom 树会渲染出不同的界面。react 使用 virtual dom 来表示 dom 树,而 diff 算法就是用于比较 virtual dom 树的区别,并更新界面需要更新的部分。diff 算法和 virtual dom 的完美结合的过程被称为 reconciler,这可...

HTTP 的前世今生:一次性搞懂 HTTP、HTTPS、SPDY、HTTP2

2018-11-13
阅读 4 分钟
7.4k
作为互联网通信协议的一员老将,HTTP 协议走到今天已经经历了三次版本的变动,现在最新的版本是 HTTP2.0,相信大家早已耳熟能详。今天就给大家好好介绍一下 HTTP 的前世今生。

认识 MongoDB 4.0 的新特性——事务(Transactions)

2018-11-13
阅读 5 分钟
7.8k
相信使用过主流的关系型数据库的朋友对“事务(Transactions)”不会太陌生,它可以让我们把对多张表的多次数据库操作整合为一次原子操作,这在高并发场景下可以保证多个数据操作之间的互不干扰;并且一旦在这些操作过程任一环节中出现了错误,事务会中止并且让数据回滚,这使得同时在多张表中修改数据的时候保证了数据的...

用“活着的”CNN进行验证码识别

2018-11-01
阅读 5 分钟
4.2k
验证码( CAPTCHA )是一种区分用户是计算机或人的公共全自动程序。在 CAPTCHA 测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答 CAPTCHA 的问题,所以回答出问题的用户就可以被认为是人类。

深度介绍:💾 你听说过原生 HTML 组件吗?

2018-10-18
阅读 14 分钟
5.3k
嘿!看看这几年啊,Web 前端的发展可是真快啊!想想几年前,HTML 是前端开发者的基本技能,通过各式各样的标签就可以搭建一个可用的网站,基本交互也不是问题。如果再来点 CSS,嗯,金黄酥脆,美味可口。这时候再撒上几把 JavaScript,简直让人欲罢不能。 随着需求的增长,HTML 的结构越来越复杂,大量重复的代码使得页...

做面试的不倒翁:一道事件循环题引发的血案

2018-10-11
阅读 10 分钟
4k
这次我们就不要那么多前戏,直奔主题,我们的龙门阵正式开始。 开局一道题,内容全靠吹。(此处应有滑稽) {代码...} note: 上面的代码执行环境是 node v10.7.0,浏览器的事件循环和 node 还是有一点区别的,有兴趣的可以自己找资料看一看。 好了,上面的代码涉及到定时器、nextTick、Promise、setImmediate 和 I/O 操作...

在区块链上编程:DApp 开发实战——来写个竞猜游戏吧

2018-10-08
阅读 5 分钟
10.3k
导读:本文旨在引导对 DApp 开发感兴趣的开发者,构建一个基于以太坊去中心化应用,通过开发一款功能完备的竞猜游戏,迈出 DApp 开发的第一步,通过实例讲解 Solidity 语言的常用语法,以及前端如何与智能合约进行交互。如果正在阅读的你,从未接触过 DApp 开发也不要紧,可以先阅读【区块链上编程:DApp开发简介】进行...

在区块链上编程:DApp 开发简介

2018-10-08
阅读 5 分钟
10.5k
DApp 是 Decentralized Application 的简称,及去中心化应用。 在某种程度上,比特币可以说是出现的第一个 DAPP,因为它是完全开源的,为贡献者提供奖励回报,不受一个中央机构的控制,并使用区块链作为支撑技术。区块链,作为一个基础设施,提供了分布式的去中心化可信数据库,人们可以基于此,可以开发各种应用,适用...

优秀前端必知的话题:我们应该做些力所能及的优化

2018-09-30
阅读 5 分钟
3.8k
在 Web 应用开发过程中,我们经常谈及到的就是优化,而优化往往又是既简单而又复杂的过程,优化这个命题很广,最终体现出来的都是用户体验问题,我们一切优化都是为了用户体验。

异端审判器!一个泛用型文本聚类模型的实现(1)

2018-09-29
阅读 4 分钟
5k
如果给你一大堆用户输入,里面有大量的中文地名,像是“北京”、“成都”、“东莞”,不幸的是,其中也混有一些罗马地名,比如 “Singapore”、“New York”、“Tokyo”。你的任务是将它们分开,你会如何去做?

那迷人的被遗忘的语言——Prolog

2018-09-21
阅读 4 分钟
7.4k
在进入正题之前,我们先一起思考一个问题:当我们在编程时,我们在做什么? 看到这个问题,有些同学可能会第一时间要回答: 在听音乐 在打字 在发呆 在装作很忙的样子 …… 呃,我不是那个意思,说认真的:当我们在编程时,我们在做什么? 我们在把所想的「解决方案」转换成计算机可理解的「计算机语言」。 JavaScript, Py...

读完这篇文章,就能拥有炫同事一脸的超能力:JavaScript 魔幻代理

2018-09-20
阅读 4 分钟
3.7k
上中学的时候,赵二虎带着小弟们放学在校门口等着揍你,走在前面的不是你自己,是二虎他爸:“考试没及格还学会装黑社会了!”拎起二虎就是一顿胖揍。

Markdown 工程师也不简单:如何写一个高逼格 README

2018-09-19
阅读 3 分钟
12.2k
最近一个项目从程序员变成了一个高级文档哥,好吧,我还称不上高级,但是我发现写文档真不是一件容易的事情,要怎么写的让人看的舒服、巴适、爽的不行,看完就想给你个赞呢?我也总结了一下写文档的一些感想,也不能说是经验,毕竟小弟还年轻,哈哈。

悄悄掀起 WebAssembly 的神秘面纱

2018-09-18
阅读 9 分钟
7.3k
前端开发人员想必对现代浏览器都已经非常熟悉了吧?HTML5,CSS4,JavaScript ES6,这些已经在现代浏览器中慢慢普及的技术为前端开发带来了极大的便利。得益于 JIT(Just-in-time)技术,JavaScript 的运行速度比原来快了 10 倍,这也是 JavaScript 被运用得越来越广泛的原因之一。但是,这是极限了吗? 随着浏览器技术的...

你不曾察觉的隐患:危险的 target="_blank" 与 “opener”

2018-09-17
阅读 4 分钟
13.8k
在网页中使用链接时,如果想要让浏览器自动在新的标签页打开指定的地址,通常的做法就是在 a 标签上添加 target等于"_blank" 属性。然而,就是这个属性,为钓鱼攻击者带来了可乘之机。

深入 Promise

2018-09-14
阅读 6 分钟
4.8k
在使用 Promise 的时候,我们最简单的理解与用法就是像上面的代码那样,把异步结果提供给 resolve 作参数,然后通过给 then 方法传递一个自定义函数作为结果处理函数。但 resolve 和 reject 这两个参数到底是什么?在这背后,它的基本工作方式到底是怎样的呢?让我们从规范的角度来初步了解它吧。

做面试的不倒翁:浅谈 Vue 中 computed 实现原理

2018-09-13
阅读 9 分钟
6.5k
虽然目前的技术栈已由 Vue 转到了 React,但从之前使用 Vue 开发的多个项目实际经历来看还是非常愉悦的,Vue 文档清晰规范,api 设计简洁高效,对前端开发人员友好,上手快,甚至个人认为在很多场景使用 Vue 比 React 开发效率更高,之前也有断断续续研读过 Vue 的源码,但一直没有梳理总结,所以在此做一些技术归纳同时...