- 博客(19)
- 收藏
- 关注
转载 基础业务:图片懒加载
背景大部分场景下我们对懒加载的定义实际上是对于图片而言的,对于图片进入可视区域之后去请求图片资源的这种情况、这种case实际上就是一个典型的懒加载的case。这些资源虽然是HTML DOM上的,但是这些资源没有进入可视区域之前,这些图片资源并没有由浏览器发出请求去请求这些图片资源,为什么呢?对于类似电商这种图片很多,页面很长的业务场景下呢,我们希望相关的资源是要进行懒加载的,原因就是...
2018-04-02 15:05:00
120
转载 基础业务:滚动到指定位置导航固定(CSS实现)
最近公司做的业务都是使用Vue、Element写的,涉及到的相应的基础业务像轮播、预加载、懒加载,都是使用NPM上的工具来实现,原理和基础还是要有的,就来实现几个项目中常用到的业务。经常见到这样的效果,导航在页面中间,当界面滚动到导航的时候,导航就变成了fixed布局。为了看效果,我加了边框。刚开始,京东金融的注册登陆、还有下载App的导航在界面中部。当你滚动到导航的位置或者是再...
2018-03-31 19:17:00
443
转载 数据库事务处理的并发控制技术(二):事务模型
一个存取或更改数据库的程序的运行成为数据库事务,简称事务。事务是数据库应用程序的基本逻辑单位。下面我们详细说事务的操作、状态和状态转换。1. 事务中的读写操作在并发控制和数据库恢复技术中,我们只需在数据项和磁盘块的级别上考虑事务中的数据库操作。在这个级别上,事务中的数据库操作只包括以下两个读写操作:READ(X, Y) 读取数据库中的数据项X,存入程序变量Y。WRITE(Y,...
2018-01-25 13:31:00
527
转载 详解HTTP缓存
HTTP缓存是个大公司面试几乎必考的问题,写篇随笔说一下HTTP缓存。1. HTTP报文首部中有关缓存的字段在HTTP报文中,与缓存相关的信息都存在首部里,简单说一下首部。首部HTTP首部字段向请求报文和相应报文中添加了一些附加信息。本质上来说,它们只是一些键值对的列表。比如,下面的首部行会向Content-Length首部字段赋值19:Content-Length: 19...
2018-01-23 16:32:00
123
转载 数据库事务处理的并发控制技术(一):并发控制概述
事务是一些列的数据库操作,是数据库应用程序的基本逻辑单位。事务处理技术主要包括并发控制技术和数据库恢复技术。并发控制和数据库恢复机制是数据库管理系统的重要组成部分,并发控制机制用来控制多个事务的并行运行,避免它们之间的互相干扰,保证每个事务都产生正确的结果。数据库恢复机制用来进行系统失败后的恢复处理,确保数据库能够恢复到正确状态。1. 单用户数据库系统和多用户数据库系统数据库一般可...
2018-01-23 08:53:00
702
转载 二叉树的深度优先遍历和广度优先遍历
二叉树是一种很重要的数据结构,对于二叉树的遍历,有深度优先遍历和广度优先遍历,深度优先遍历又有先序、中序、后续遍历,广度优先遍历就是按层遍历。1. 深度优先遍历深度优先遍历,也就是先序、中序、后续遍历,我之前有一篇随笔已经说的很清楚了,在这里我只贴下代码就好了。传送门:详细教你实现BST(二叉排序树)在这里我依然用之前建立好的Node、Stack、BST结构来实现代码。cla...
2018-01-22 14:29:00
106
转载 Virtual DOM的简单实现
了解React的同学都知道,React提供了一个高效的视图更新机制:Virtual DOM,因为DOM天生就慢,所以操作DOM的时候要小心翼翼,稍微改动就会触发重绘重排,大量消耗性能。1.Virtual DOMVirtual DOM是利用JS的原生对象来模拟DOM,既然DOM是对象,我们也可以用原生的对象来表示DOM。var element = { tagName: 'ul'...
2018-01-21 19:46:00
83
转载 React的setState分析
前端框架层出不穷,不过万变不离其宗,就是从MVC过渡到MVVM。从数据映射到DOM,angular中用的是watcher对象,vue是观察者模式,react就是state了。React通过管理状态实现对组件的管理,通过this.state()方法更新state。当this.setState()被调用的时候,React会重新调用render方法来重新渲染UI。本文针对React的Set...
2018-01-19 20:08:00
84
转载 Redux和React-Redux的实现(三):中间件的原理和applyMiddleware、Thunk的实现
现在我们的Redux和React-Redux已经基本实现了,在Redux中,触发一个action,reducer立即就能算出相应的state,如果我要过一会才让reducer计算state呢怎么办?也就是我们如何实现异步的action呢?这里就要用到中间件(middleware)1. 中间件(middleware)介绍中间就是在action与reducer之间又加了一层,没有中间件...
2017-12-31 12:49:00
293
转载 Redux和React-Redux的实现(二):Provider组件和connect的实现
接着上一篇讲,上一篇我们实现了自己的Redux和介绍了React的context以及Provider的原理。1. Provider组件的实现Provider组件主要有以下下两个作用在整个应用上包一层,使整个应用成为Provider的子组件接收Redux的store作为props,通过context对象传递给子组件,所有的子组件都可以取得store首先我们要知道,Provi...
2017-12-27 23:05:00
170
转载 Redux和React-Redux的实现(一):Redux的实现和context
react使用redux做状态管理,实现多个组件之间的信息共享,解决了父子组件、兄弟组件之间的复杂通信问题。vue有vuex,总之是一种flux的思想。react提供了react-redux这个库,一看名字就知道是为了将react和redux关联起来,react-redux有connect高阶函数以及Provider组件、milddleware、thunk等,来实现一下。篇幅过长,多分...
2017-12-26 20:07:00
318
转载 函数式编程与React高阶组件
相信不少看过一些框架或者是类库的人都有印象,一个函数叫什么creator或者是什么什么createToFuntion,总是接收一个函数,来返回另一个函数。这是一个高阶函数,它可以接收函数可以当参数,也可以当返回值,这就是函数式编程。像柯里化、装饰器模式、高阶组件,都是相通的,一个道理。本文重点是React高阶组件,要理解高阶组件,不得不说函数式编程。1. 函数式编程函数式编程是一...
2017-12-26 14:21:00
234
转载 详细教你实现BST(二叉排序树)
查找基本分类如下:线性表的查找顺序查找折半查找分块查找树表的查找二叉排序树平衡二叉树B树B+树散列表的查找今天介绍二叉排序树。二叉排序树 ( Binary Sort Tree ) 又称为二叉查找树,它是一种对排序和查找都很有用的特殊二叉树。1. 二叉排序树的定义二叉排序树是具有如下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值均小于...
2017-12-02 14:46:00
336
转载 理解Vue 2.5的Diff算法
DOM“天生就慢”,所以前端各大框架都提供了对DOM操作进行优化的办法,Angular中的是脏值检查,React首先提出了Virtual Dom,Vue2.0也加入了Virtual Dom,与React类似。本文将对于Vue 2.5.3版本中使用的Virtual Dom进行分析。updataChildren是Diff算法的核心,所以本文对updataChildren进行了图文的分析。...
2017-11-28 16:50:00
207
转载 前端实习生面试题分析(二)
本篇是关于手写代码的题目。1.实现一个trim函数关于性能的写法也不多说了,只是用最直观的写法来写一下,使用正则有大概五六种写法,感兴趣可以自己去研究下,推荐《高性能JavaScript》1.正则实现trim String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$...
2017-11-19 17:52:00
139
转载 前端实习生面试题分析(一)
最近面试拿了很多公司的实习offer,只要是面试的都通过了。接下来就分析下面试题,也能给自己一个提升吧,以便后续的面试更轻车熟路些,题目没什么顺序,想起什么写什么,还有我面试过程中的一些小套路。估计要写好多,每天写几道题,而且有些经验性的东西也不容易写出来这篇写的都是类似一些概念性的理论东西。1.JS防抖和节流先说为什么要做防抖和节流,针对一些会频繁触发的事件,像scroll、...
2017-11-11 21:36:00
448
转载 2017年10月WEB前端开发实习生面试题总结
从大一开始学习前端,今年大三,10月份开始投简历,陆续收到很多家公司的面试,目前为止的面试通过率是百分之百,总结下面试题。不定期更新中。。。百度第一次一面1.AJAX流程2.promise简单说一下3.手写一个箭头函数4.链式调用5.简单的观察者模式6.let、const7.数组去重8.判断数据类型,null怎么判断9.正则 电话区号+座机号,并给区号加上括号1...
2017-11-09 22:15:00
438
转载 多种方法实现左右固定,中间自适应的CSS布局
布局是面试中常问的问题,尤其是这类的题目,怎么答才好呢?大多数人的第一个方法是浮动,没错,浮动。第二个方法呢?你回答定位,没错。第三个方法呢?.... 第四个方法呢?第五个方法呢?....其实能想起来两个方法的人,这道题已经不及格了。所以呀,我来说几种方法吧。随便多说一点,如果你懂语意化开发并且简历中提到,怎么让面试官知道呢?假如你写了个界面,全是div,你简历中提到的语意化开发在...
2017-11-04 15:48:00
63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人