推荐几款好用的Chrome插件

2018-01-01
阅读 2 分钟
5.2k
‘工欲善其事,必先利其器’。优秀的开发者不仅体现在其在技术方面的精通,还体现在其对各种开发工具的充分了解与使用,这会让其开发效率事半功倍。作为一个前端开发者,平时主要是跟浏览器打交道,Chrome浏览器不仅性能优异,而且包含大量的扩展程序,能够让我们根据自身需求扩展浏览器功能,因而受到广大开发者的青睐。...

使用 Web Worker 实现简单的非阻塞异步

2017-12-24
阅读 3 分钟
9k
之前的文章提到了 JavaScript 中的异步编程,然而无论早就存在的 setTimeout 还是 ES6 中的 Promise,它们都是 阻塞 异步,执行函数的时候,会阻塞线程。setTimeout 只会把一个函数延后执行,但还是在主线程中执行,执行函数的时候会阻塞线程。换句话说,setTimeout 只实现了过程间并发(concurrent)而未实现并行(para...

给初学者:JavaScript 中数组操作注意点

2017-12-17
阅读 3 分钟
7.2k
这是 JavaScript 初学者常见的误区。for_in 用于遍历对象中包括原型链上的所有可枚举的(enumerable)的 key,本来不是为遍历数组而存在。

用两种不同的姿势来实现拖动排序

2017-12-08
阅读 4 分钟
15.1k
说来惭愧,上图不是我写的,不然我还能吹一波,没有看代码,但闭着眼就能猜到用的是html5的drag系列的api,相关的API可以看MDN上的介绍,我把文档拷一下做个介绍吧==

echarts 入门心得

2017-12-07
阅读 5 分钟
6.5k
公司项目中负责的主要部分是图表展示,初次大规模使用echarts,边写边摸索,以下为一个阶段性的总结,当然ECharts中还有一些好玩的实用的(例如自定义图表)还没涉及到,以后慢慢补充。这篇是总结常见图表:柱状图,折线图,饼图,多Y轴图,气泡图,地图,日历图,折线标注图······

巧用 Object.assign 合并小对象

2017-12-03
阅读 2 分钟
3.2k
之前遇到过这样一个问题,把下面一段服务器返回的文本 {代码...} 转换为对象的形式。 这是一整段字符串,当然首先要按行分割为多段。设原始字符串为 str,则 {代码...} 就获得了一个字符串数组。每个字符串头部都有空格,需要去除空格。 {代码...} key 和 value 是放在同一段字符串里的,需要拆分开 {代码...} 这样就得...

HTTP/2 服务器推送(Server push)实践

2017-11-26
阅读 8 分钟
8.2k
自从 2015 年 HTTP/2 标准正式发布以来,各大主要 Web 服务器以及各大主要浏览器已经陆续完成了对终版 HTTP/2 协议的支持。对于各位站长来说,这项技术也已经不是什么新鲜玩意。然而 HTTP/2 的一项子功能“服务器推送”——尽管当初被吹得很火——却没有跟上 HTTP/2 推广的步伐。

正则表达式之位置匹配

2017-11-26
阅读 3 分钟
3.7k
sharplook夏洛克作为专业的日志采集分析系统,涉及的技术点,从后到前着实不少,内容也较为复杂。正则作为日志解析的手段,起着举足轻重的作用,在此小生将晦涩难懂的内容,拆解出来以便学习之用。

谈谈css伪类与伪元素

2017-11-25
阅读 4 分钟
16.4k
css选择器常见包括id(#id)、标签(tag)、class(.class)、属性[attr=attrval]等,还包括伪元素和伪类选择器。正确的利用伪元素和伪类能够让我们的html结构更清晰合理,也能在一定程度上减少js对dom的操作!

正则表达式之字符匹配

2017-11-14
阅读 4 分钟
5.4k
sharplook作为专业的日志采集分析系统,涉及的技术点,从后到前着实不少,内容也较为复杂。正则作为日志解析的手段,起着举足轻重的作用,在此小生将晦涩难懂的内容,拆解出来以便学习之用。

所见即所得,实现一个有趣的动画效果

2017-10-16
阅读 4 分钟
2.6k
每次刷新的头像和‘You’的位置都是不同的,说实话,我觉得蛮有意思的,于是我自己尝试去实现了一下。下面我会从我的角度去分析实现这样的效果,因为我不知道FED他们是怎么实现的

react + koa2实现的论坛

2017-10-16
阅读 5 分钟
7.7k
线上地址:点击查看 (访问会有点慢,至于原因,下面会说明)前端(主要):reactv15.6.1、react routerv4.2.0、reduxv3.7.2、antdv2.13.0、axiosv0.16.2和处理样式的sass;后端(主要):nodev8.3.0、koa2v2.3.0、koa-routerv7.2.1;数据库:mongodb;后端是部署在heroku,线上数据库用的mLab,具体的流程不细说,总体来...

使用SRI保护你的网站免受第三方CDN恶意攻击

2017-09-24
阅读 3 分钟
10.8k
出于速度和降低服务器负载考虑,有时候我们会选择使用 CDN 加载第三方静态资源。对于一些热门的第三方库,在用户打开你的网页之前就很有可能在浏览别的网站时被浏览器缓存下来,这样就可以极大的提升网页加载速度。

SPA那点事

2017-09-23
阅读 9 分钟
8.4k
前端猿一天不学习就没饭吃了,后端猿三天不学习仍旧有白米饭摆于桌前。IT行业的快速发展一直在推动着前端技术栈在不断地更新换代,前端的发展成了互联网时代的一个缩影。而单页面应用的发展给前端猿分了一杯羹。

JavaScript 与 异步编程

2017-09-21
阅读 5 分钟
6.6k
fA => fB 是顺序执行的,永远都是 fA 在 fB 的前面执行,他们就是 同步 的关系。加入这时使用 setTimeout 将 fA 延后

前端分享之cookie的使用及单点登录

2017-09-21
阅读 5 分钟
26.6k
cookie的英文意思是饼干。在计算机术语中指服务端存放在客户端的一段数据。这段数据在客户端每次进行http请求时会自动加在http请求报文中的header上;服务端在响应时,可以对cookie进行设置,并将cookie加入到http响应报文header中。MDN中对cookie的解释为:cookie 是一个请求首部,其中含有先前由服务器通过 Set-Cookie...

用HSTS进一步增强网站安全性

2017-09-18
阅读 2 分钟
3.7k
由于 Let's Encrypt 等免费证书的存在,各位站长都可以很容易的加固自己的网站。然而 HTTPS 不是万能药,并不是加入 HTTPS 支持就万事大吉了。

给你的站点添加 DNS CAA 保护

2017-09-10
阅读 2 分钟
25.8k
譬如说,你的站点已经启用了 HSTS,甚至已经被固化到了浏览器内部。但是一个中间人仍然劫持了你的连接。你走了 HTTPS 协议?没问题,我也搞到了一个你所访问域名的 SSL 证书。要知道 SSL 连接使用的证书是服务端决定的,但是这个证书未必就是真正的域名所有人申请的。虽然普通人未必能搞到不属于你的域名的证书,但是证...

用 Nginx 基于 Let's Engypt 免费证书打造快速安全的 HTTPS 网站

2017-09-03
阅读 4 分钟
2.8k
我大EOI的官网正式上线啦!为了打造公司第一个正式上线的公开站点,我们着实费了不少心思,其中之一就是如何把它搞得快速安全。我们用 Nuxt 做了 SSR,而且启用了 PWA module,Lighthouse 得分在 90 分以上。官网在保证 IE9 兼容性的基础上,还使用了诸如 InteractionObserver 等新特性努力提升速度。

通过实例分析javascript中的“中间件”

2017-09-03
阅读 6 分钟
4k
如果你使用过redux或者nodejs,那么你对“中间件”这个词一定不会感到陌生,如果没用过这些也没关系,也可以通过这个来了解javascript中的事件流程。

那是我在夕阳下的奔跑:边跑边学习html5之audio与video

2017-08-30
阅读 3 分钟
2.5k
今天为大家分享一下html5中的视频(video)与音频(audio)。在进入主题之前我们先了解一下Flash与html5这两种技术的时代背景与发展历史。

竖直居中方式总结

2017-08-28
阅读 2 分钟
2.1k
注意此法中的 top: 50% 不能以 margin-top: 50% 代替。因为给 margin-top 设置百分比值时使用的是父元素的宽度而非高度。

CSS 中的行

2017-08-23
阅读 3 分钟
2.3k
哪里说起呢?就从一道老生常谈的前端面试题开始吧。 块级元素与行内元素 问:块级元素和行内元素有什么区别? 估计各位同学都在各种前端面试中被问到过,当然也在各种网站上搜寻过答案。要真正罗列两者的区别可以找到很多,然而从本质上讲,就是这样的区别: 块级(block)元素可以控制它的大小 行内(inline)元素将其...

20 条实用的 git 命令

2017-08-14
阅读 3 分钟
4k
让 git 命令默认使用彩色输出。 这条命令在 git 2 之后已经成为默认配置,但如果你还在用比较老的版本(例如 CentOS 上的默认的 git 版本),建议把这项配置加上去。

Docker部署基于Nodejs的Web应用-实战篇

2017-08-07
阅读 8 分钟
32.7k
docker是一个开源的应用容器引擎,可以为我们提供安全、可移植、可重复的自动化部署的方式。docker采用虚拟化的技术来虚拟化出应用程序的运行环境。此种方式具有以下优势:

vue-cli “从入门到放弃”

2017-08-02
阅读 3 分钟
8k
在如今前端技术飞速发展的时代,angular.js、vue.js 和 react.js 作为前端框架已经呈现出了三国鼎立的局面。作为国人若你不知道 vue,小生表示可以理解,如果作为中国的前端猿不知道 vue,小生表示很遗憾。而 vue-cli 作为官方推荐的快速构建 vue 项目的脚手架,你应该学会使用,本文将介绍如何使用 vue-cli。

Angular 1 深度解析:脏数据检查与 angular 性能优化

2017-07-31
阅读 10 分钟
14.6k
TL;DR 脏检查是一种模型到视图的数据映射机制,由 $apply 或 $digest 触发。 脏检查的范围是整个页面,不受区域或组件划分影响 使用尽量简单的绑定表达式提升脏检查执行速度 尽量减少页面上绑定表达式的个数(单次绑定和ng-if) 给 ng-repeat 添加 track by 让 angular 复用已有元素 什么是脏数据检查(Dirty checking)...

使用 Proxy 实现简单的 MVVM 模型

2017-07-31
阅读 4 分钟
4.1k
绑定的基础是 propertyChange 事件。如何得知 viewModel 成员值的改变一直是开发 MVVM 框架的首要问题。主流框架的处理有一下三大类:

用JS和CSS3实现打字动画

2017-07-31
阅读 5 分钟
4.4k
我们经常希望一段文本中的字符逐个显示,模拟出一种打字的效果。类似于终端命令行的感觉。最终效果 用JS去实现: html: {代码...} js代码: {代码...} 用CSS3去实现: JS实现给人的感觉又臭又长,那能不能用CSS去实现呢?html: {代码...} {代码...} 字符串长度是108; 总结: js实现不用考虑兼容性,CSS3实现的需要考虑...