言川的博客

http://lihongxun945.github.io/jquery-weui/

webpack 源码解析系列

Webpack 源码解析 Webpack 作为前端领域最重要的构建工具,任何一个优秀的前端工程师必定需要对它有比较深入的了解。本系列文章会带您深入理解webpack的实现原理,阅读关键代码,并自己实现一些简单的功能。 这个系列总共包括8篇文章,首先分析我们常用的一些loader,然后看webp...

2018-04-09 14:33:00

阅读数 2013

评论数 1

手把手教你用Hexo搭建免费个人博客

文章转载自 https://blog.lihongxun.com/2017/11/24/hexo-codingnet/个人博客的最佳解决方案作为较早的博主,我大概从 2010 年开始就在CSDN上写博客,断断续续也写了100+篇文章。后来尝试过用自己的VPS搭建博客网站,以及在github上进行托...

2017-11-24 16:56:58

阅读数 1068

评论数 0

八小时实现迷你版vuejs七:展望和结束语

看代码就像看电影一样,不懂的时候觉得到处都是迷,觉得主角周围发生的事都好不可思议,看懂了之后就能发现一根清晰的主线剧情,或是亲情,或是爱情,或是复仇,或是为名为財。所有之前那些迷都豁然开朗。vuejs源码看下来也是,从3年前接触到vuejs开始,一直断断续续看了一些关于实现原理的文章,初看一堆概念...

2017-11-09 15:51:20

阅读数 740

评论数 0

八小时实现迷你版vuejs六:实现常用指令

我们来实现一个 v-text 指令,其实非常简单,只要在 update 的时候把获取的值写到 innerHTML 中就行了。export default { bind () { }, update (value) { const el = this.descriptor.el ...

2017-11-09 15:49:57

阅读数 458

评论数 0

八小时实现迷你版vuejs五:实现Watcher

再贴一下之前的一张图: 我们已经实现了 Observer 和 Directive,并且自己实现了一个 v-on 的指令,那么再实现 Dep 和 Watcher 就完整了。这里的 dep.js 其实就是一个记录依赖关系的,他有一个内部的数组 subs 会把所有依赖的 watcher 记录在里面,然...

2017-11-09 15:48:07

阅读数 770

评论数 0

八小时实现迷你版vuejs四:实现compile和Directive

这一篇,我们要实现一个事件绑定的功能:<div @click=“sayHello”></div>那么为了实现这个功能,我们需要三步: 1. 实现 compileDirectives 方法, 可以从attrs中读取directive的配置,这里称之为 descriptor ...

2017-11-09 14:35:04

阅读数 734

评论数 0

记一次box-shadow动画导致的性能问题

最近做一个项目发现在页面没有任何操作的情况下 CPU占用率会达到 100%。当然这是一个核心的占用率,所以页面操作上并不卡。不过这个现象非常不正常,因为页面只做了一些简单的CSS动画。在定位问题的过程中发现是由一个容器的box-shadow 动画引起的。启用动画和禁用动画performance p...

2017-11-07 18:20:36

阅读数 643

评论数 0

八小时实现迷你版vuejs三:实现数据响应化

上一篇我们比较overview的讲了vuejs 的架构,从这一篇开始我们来自己动手实现一个vuejs。首先我们实现数据响应化,数据响应化的意思就是我们要能监听到任何数据变动。比如执行了 this.name = “Yao Ming” 之后,我们要能监听到这个改动。那么怎么实现呢?我们需要借助 ES5...

2017-11-01 16:11:04

阅读数 770

评论数 0

八小时实现迷你版vuejs之二:vuejs 架构

什么是vuejs这里更多指的是 原版的vuejs的架构,当然tinyvue也是一样的。 我个人对vuejs的定义是:通过 directives 实现 data 和 DOM 的关联的一个框架。如果用一张图来定义大概是这样 更复杂点是这样的: 当然这里的data是广义的,包括初始化组件时...

2017-10-30 19:14:16

阅读数 1668

评论数 0

八小时实现迷你版vuejs: 一前言

目的最近断断续续在看Vuejs源码,版本是 V1.0,因为最开始看的时候vue还没出v2正式版 =。=作者的代码功力很深厚,整个代码看起来非常优雅,对模块的组织和依赖的处理非常值得学习。在看的过程中觉得自己实现一个迷你版的vue应该不难,最近三天抽出时间一些时间就实现了一个,但实际上全部时间加起来...

2017-10-30 19:07:35

阅读数 1461

评论数 0

vue-mobile - 一个基于VUE的UI框架

我对UI框架的一些想法最近一年多一直在做UI库,从 SUI Mobile -> Light7 -> jQuery WeUI。自己也在做的过程中对UI库类的产品有了更深入的认识,SUI Mobile 和 Light7 有一个很大的问题在于:试图用一个轻量的基于jQuery的库,来做一个重...

2016-07-06 17:39:18

阅读数 46924

评论数 4

数据库sharding和一致性哈希算法

数据库 sharding分布式数据库的核心算法就是sharding,把一个数据库通过sharding算法映射到不同的机器上处理。 sharding 分为两种方式:纵向切分:就是把一个表按不同列进行切分。比如我们有一个 User 表,那么可以按照不同的列拆分成 User Profile,User ...

2016-05-23 16:50:00

阅读数 3138

评论数 0

随笔:用心良苦 - 理解 jQuery 的构造函数

最近有人问 jQuery 的构造函数为什么写的那么奇怪,不好理解。其实我刚开始看 jQuery 源码的时候也有这个疑问,下面是 jQuery 构造函数的关键代码:jQuery = function( selector, context ) { return new jQuery.fn.in...

2016-05-09 11:00:06

阅读数 3583

评论数 0

七周七种前端框架四:Vue.js 构建大型应用

真正的模块化前端模块化很早就开始了,无论是 require.js,browserify 进行模块化打包, 还是 Angular 进行依赖注入,我们都可以把JS代码分成一个个小的模块并组装起来。然后我们还会通过 less 或者 sass 来把CSS文件也拆成一个个小的模块来写,甚至我们在CSS代码中...

2016-05-04 18:09:47

阅读数 8964

评论数 1

常用算法整理:二叉树

DFS - 二叉树的先序,中序和后续遍历先序遍历https://leetcode.com/problems/binary-tree-preorder-traversal/ 递归解法:var preorderTraversal = function(root) { if(!root) re...

2016-05-03 20:16:44

阅读数 1689

评论数 0

七周七种前端框架四:Vue.js Directive

Directive看上去虽然和Angular中的定义类似,Directive 都是对DOM功能的一种拓展,但是 Vue 的 Directive 要弱的多。因为 Vue Component 其实本来就会包含对DOM的操作,所以大多数时候我们写一个通用组件都是一个Component 而不是一个 Dir...

2016-05-03 17:53:08

阅读数 2945

评论数 0

七周七种前端框架四:Vue.js 组件和组件通信

基本是按照官网的 Guide 全部梳理了一遍:http://vuejs.org/guide/index.html 这里我们以一个 Todo List 应用为例来把相关的只是都串起来,这篇里面的全部代码都在github上 https://github.com/lihongxun945/vue-tod...

2016-04-28 15:55:04

阅读数 14064

评论数 0

Google 前端面经一

严重缩招不得不说Google办事效率真心高,投了简历以后(内推),第三天就收到了反馈,然后HR就打电话过来。相比之下Amazon一个月都消息真是慢成狗了。 HR 说 Google 从去年年底开始已经不在国内招需要H1B签证去美国的,所以目前想去美国Google只能曲线救国transfer过去,无...

2016-04-28 10:27:57

阅读数 2183

评论数 0

七周七种前端框架四:Vue.js 概览

关于 VueVue 从去年开始火的不行,如果你觉得 Angular1 又旧又太庞杂不好用,而Angular2又显得磨磨唧唧一直不出正式版,那么 Vue 可能是一个很好地选择。另外 Vue 的作者是一个国人大牛。看 Vue 第一眼的感觉就是 麻雀虽小五脏俱全,该有的 data bind, compo...

2016-04-26 17:44:28

阅读数 2161

评论数 0

常用算法整理:链表相关

链表的考点链表很多时候都是考察基本功,因为链表题大部分都不是很复杂,主要是对指针的操作,当然也有难的。 简单的题目包括 删除/插入节点、翻转、去重、排序等,难度高一些的题目依然是这些,不过会有一些条件,比如多个链表或者局部操作。对链表题的两个技巧: - 如果不确定最终结果的head,比如对两个...

2016-04-24 15:54:24

阅读数 3089

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭