《前端竹节》(1)【跨域通信】

2017-12-10
阅读 5 分钟
1.1k
用户浏览网站时难免需要将一些经常用到的信息,缓存在本地以提升交互体验,避免一些多余的操作。那么这些信息中难免有些就会涉及用户的隐私,怎么保证用户的信息不在多个站点之间共享,以达到可用的最小范围,这边引出了浏览器的同源策略。那么...

切图仔的 Nginx 小书?

2017-12-04
阅读 6 分钟
2.3k
Nginx,很多工程师喜欢读成'恩基克思'。Nginx 是一款高性能的HTTP和反向代理服务器软件,第一个开源版本诞生于2004年,虽然诞生较晚但经过十多年的发展,已经成为非常流行的 web 服务器软件。其发展速度和流行程度已经远远超过其它同类软件,成为大型网站和高并发网站的首选。

【译】JavaScript 框架的探索与变迁(下)

2017-12-04
阅读 4 分钟
3.7k
当你在 Angular 模板中引用你的数据,例如这样的语句 {{foo.x}} ,Angular 不仅仅只是渲染数据,而且会这个特定的数据创建一个观察者。如此,只要你的应用中发生任何变化,Angular 都会检查这个观察者检视着的数据是否发生了改变。如果发生了改变,就会重新渲染这个数据对应的用户界面。这个过程称作脏检查(Dirty Check...

通过postMessage进行跨域通信

2017-12-03
阅读 2 分钟
7.1k
这里首先想到就是把h5页面用iframe内嵌到pc网页中,然后pc通过postMessage方法,把变化的数据发送给iframe,iframe内嵌的h5通过addEventListener接收数据,再对数据做响应式的变化。

Combining Character

2017-12-03
阅读 6 分钟
2.5k
第一次写segmentfault,欢迎大家提意见以便改进。 今天要讨论的是关于字符编码的一些问题,源自一次项目周会,因网络上没有相关文章,现在刚好能总结一下。 1. 首先来看几张有意思的现象: (1) 下面这幅图中出现一些“叠起来”的字体,来自微信公众号“麦当劳”于2017年6月28日的推送,感兴趣的同学可以去看看。 比如第一个...

generator、co模块和async三者的区别

2017-11-30
阅读 2 分钟
6.6k
使用next()执行generator代码,每次遇到yield就返回一个对象{ value: x, done: true/false }, 如果done为true,则value就是return的返回值,没有return就返回undefined,如果return语句后面还有yield,这个generator对象就全部执行完成,不要再继续调用next()了

谈谈HTTP缓存

2017-11-30
阅读 2 分钟
2.3k
在上一篇文章中,我们讲到造成网络性能下降的主要原因是延迟,而非带宽。那么为了更好地让我们的网站能快速响应用户的请求,我们就必须对一些常用资源进行缓存,以免每次用户访问都请求一遍,这也是网站性能优化比较重要的一个环节。

前端基础之探索数据结构与算法系列(一)

2017-11-30
阅读 6 分钟
2.2k
其实,在前端,了解一些常用的Jvascript Array和Object并能够灵活运用就足以解决常见的初级和中级的算法问题,如果不够用还有很多的ECMAscript的API可以依赖。一个排序功能,用冒泡排序、快速排序还是并归排序?who care?一个原生的sort函数就直接搞定。况且前端的代码运行环境本来就不善于处理大量的数据计算。而且前...

自底向上理解git

2017-11-29
阅读 3 分钟
2k
git已经非常普及,几乎是程序员的标配。在熟练使用git命令的同时,你是否对底层的实现机制有所好奇?是否想更深入的了解git原理?本文将从较底层的视角逐步揭开git的秘密。文章主要参考git book 第十章,根据笔者的理解提炼,简化不必要的细节,希望能帮助大家更好的理解git。

redux源码分析之三:bindActionCreators.js

2017-11-26
阅读 2 分钟
3.4k
bindActionCreators.js文件算是非常简单的一个文件了,该文件就实现一个目的:以前这样触发一个action,即dispatch(actionCreator(args)),现在变成这样触发一个action: boundActionCreator(args)。目的很单纯,简化某个action的调用。

React中的三种类型组件介绍

2017-11-23
阅读 2 分钟
12.2k
React从诞生到现在,越来越多的前端开发者喜欢上该框架,其原因有很多,其中一个主要的原因是因为它的组件很灵活,而本博客主要介绍React的三种类型的组件:受控类型,无状态类型,高阶类型。

React单元测试:Jest + Enzyme(二)

2017-11-01
阅读 3 分钟
7.5k
在上一篇教程中,我们成功搭建了基于Jest和Enzyme的单元测试框架并成功地跑起来第一个单元测试,可以点击这里回顾一下。今天,我们重点讨论如何通过Jest来mock数据。

小程序坑-canvas

2017-11-01
阅读 2 分钟
19.6k
在canvas中绘制的单位都是px,但由于不同屏幕的像素比不同,在小程序中样式我们使用的单位是rpx,所以在canvas中就需要把rpx换成对应的px;由于rpx可以根据屏幕宽度进行自适应,规定屏幕宽为750rpx,所以rpx换算成px的公式是:1rpx = 屏幕宽度 / 750这一点在小程序的官方文档也有讲到:[链接]屏幕宽度可以使用wx.getSyst...

【译】JavaScript 框架的探索与变迁(上)

2017-11-01
阅读 3 分钟
3.5k
近几年可谓是 JavaScript 的大爆炸纪元,各种框架类库层出不穷,它们给前端带来一个又一个的新思想。从以前我们用的 jQuery 直接操作 DOM,到 BackboneJS、Dojo 提供监听器的形式,在到 Ember.js、AngularJS 数据绑定的理念,再到现在的 React、Vue 虚拟 DOM 的思想。都是在当前 Web 应用日益复杂的时代,对于如何处理「...

WebKit随笔(一)

2017-11-01
阅读 3 分钟
5.4k
本文依据朱永盛老师的《WebKit技术内幕》一书作为参考,结合网络共享资源对Webkit的历史和技术点进行随笔记录,或跳过一些理解不到位的。

TCP的构成

2017-10-31
阅读 3 分钟
2.5k
因特网有两个核心协议:IP和TCP。IP,Internet Protocol(因特网协议),负责联网主机之间的路由选择和寻址;TCP,即Transmission Control Protocol(传输控制协议),负责在不可靠的传输信道上提供可靠的抽象层。TCP向应用层隐藏了大多数网络通信的复杂细节,比如丢包重发、按序发送、拥塞控制及避免、数据完整等等。采...

gulp基础和常用插件介绍

2017-10-22
阅读 4 分钟
2.1k
前提:前端工程化是如今前端团队规范化管理项目和代码的概念,而前端工程化中往往是离不开前端自动化或打包工具这两种工具。本文将详细介绍其中一种常用的前端自动化工具---gulp.js

React单元测试:Jest + Enzyme(一)

2017-10-08
阅读 2 分钟
17.4k
前言 前端的单元测试在很多人看来都是一个可有可无的东西,理由一般有下面几条(以下内容统一称单元测试为单测): 写单测比较费时,有这个时间不如多做几个需求 测试在验收的时候对页面的功能都会操作一遍,写单测相当于做无用功 后端提供给前端的接口需要保证质量,因此需要做单测,但前端很少需要提供接口给其他人 其...

redux源码分析之一:createStore.js

2017-10-08
阅读 6 分钟
3.9k
createStore.js是redux的核心文件,暴露了一个函数createStore,函数执行后返回一个对象,该对象包含了4个关键的方法:dispatch, subscribe, getState, replaceReducer,代码如下。

webpack模块化原理-Code Splitting

2017-10-01
阅读 9 分钟
16.3k
webpack的模块化不仅支持commonjs和es module,还能通过code splitting实现模块的动态加载。根据wepack官方文档,实现动态加载的方式有两种:import和require.ensure。

深入理解WebRTC

2017-09-28
阅读 6 分钟
54.8k
Web Real-Time Communication(Web实时通信,WebRTC)由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端)的音频、视频及数据共享。

sass的基本使用

2017-09-24
阅读 3 分钟
6.8k
最近在项目中利用到了css预处理器(sass),而之前没接触过的本博主出于好奇心,就在业余的时间里搜了一些资料来看看,看完后觉得sass挺不错,就想简单的介绍一下sass的基本使用方法(ps:本文只介绍sass的一些基本使用,而这些内容都是本博主觉得比较有趣而且比较用得上的知识点)

理解javascript核心知识点

2017-09-06
阅读 3 分钟
3.9k
本人在大学时非常痴迷java,认为java就是世界上最好的语言,偶尔在项目中会用到一些javascript,但基本没放在眼里。较全面的接触javascript是在实习的时候,通过这次的了解发现,javascript其实是一门非常优秀而且有意思的语言,从那时开始喜欢上了这门语言。

利用Leancloud开发小程序-生成小程序二维码

2017-09-05
阅读 4 分钟
5k
Leancloud是国内有名的BaaS提供商,什么是BaaS提供商呢?通俗点讲就是给你提供增删改查等后台服务的API,你通过这些API就可以将数据存储在云端数据库中,而不需要关系服务器环境和里面的处理逻辑,它提供的SDK有js、java、object-c、python等等。

git的基本用法

2017-09-03
阅读 3 分钟
3.9k
本博主前一段时间刚接触git,鉴于以前没有用过git,而且作为前端届中的一名有理想的菜鸟,应该要掌握git的基本使用,所以私下花了一些时间去学习了一下基本用法,在学习的过程中也总结了一些看法和心得,因此在这里分享一下。 接下来主要分四个方面分享git:

webpack模块化原理-ES module

2017-08-31
阅读 6 分钟
40.6k
我们依然写两个文件,m.js文件用es模块的方式export一个default函数和一个foo函数,index.js import该模块,具体代码如下:

JavaScript 之银弹の技法

2017-08-31
阅读 3 分钟
5.5k
下文这些淫巧在之前自认为是居家必备,装逼撩妹的必备之物,博主一直敝帚自珍,不愿拿出来分享,现如今,ES6+极尽能事,我知道再不拿出来就在没有价值了?

Ios中微信页面返回上一页去除缓存几种常见思路

2017-08-30
阅读 2 分钟
12.2k
开发微信H5页面的时候,在Ios微信内置浏览器中点击返回按钮返回上一页时,上一页面不会被刷新。在浏览器缓存机制中,在返回上一页的操作中, html/js/css/接口等动静态资源不会重新请求,但是js会重新加载。但在Ios微信页面中js也会保存上一页面最后执行的状态,不会重新执行js。使用这种模式缓存机制可以加快渲染速度,...

Javascript中的柯里化

2017-08-28
阅读 4 分钟
5.1k
柯里化,是函数式编程的一个重要概念。对于没接触过的人来说,会被一串串的小括号弄得摸不着头脑。但一旦理解了其中的含义和具体的使用场景,你一定会对它爱不释手。它既能减少代码冗余,也能增加可读性,可谓程序猿居家旅行,装逼撕逼必备之良药。

Next.js之基础概念(二)

2017-08-19
阅读 6 分钟
20.9k
顺便说一句,Next.js 3.0的版本在前几天已经正式对外发布,本篇教程仍然基于2.x的版本,若你使用3.0的版本,代码上可能有不一致的地方,需要你留意一下。