深入理解Chrome V8垃圾回收机制

2020-09-26
阅读 6 分钟
9.5k
最近,项目进入维护期,基本没有什么需求,比较闲,这让我莫名的有了危机感,每天像是在混日子,感觉这像是在温水煮青蛙,已经毕业3年了,很怕自己到了5年经验的时候,能力却和3年经验的时候一样,没什么长进。于是开始整理自己的技术点,刚好查漏补缺,在收藏夹在翻出了一篇文章一名【合格】前端工程师的自检清单,看到...

一次关于Vue的自我模拟面试

2020-09-09
阅读 6 分钟
4.6k
于是我巴拉巴拉开始了长达两分钟的自我介绍,与此同时,面试官边听边看我的简历,边看边皱眉,结束后问:看你之前的项目经常用到Vue,对Vue熟悉吗?

【万字长文警告】从头到尾彻底理解服务端渲染SSR原理

2020-08-02
阅读 17 分钟
5.1k
闲来无事,研究一下SSR,主要原因在于上周一位后端同学在一次组内技术分享的时候说,对前后端分离、服务端渲染特别感兴趣,在他分享了后端微服务之后,专门点名邀请我下周分享服务端渲染,然后我还没同意,领导就内定让我下周分享了(其实就是下周愿意下周分享,我是那个替死鬼)。

前端都该懂的浏览器工作原理,你懂了吗?

2020-05-13
阅读 11 分钟
22k
在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么?这个问题看起来是老生常谈,但是这个问题回答的好坏,确实可以很好的反映出面试者知识的广度和深度。

前端赋能业务 - Node实现自动化部署平台

2020-03-22
阅读 12 分钟
4k
其实换个角度,我们所学的所有前端技术都是服务于业务的,那我们为什么不想办法使用前端技术为业务做点东西?这样既能解决业务的困扰,也能让自己摆脱每天只能写重复繁琐代码的困扰。

面试官:聊聊对Vue.js框架的理解

2019-12-15
阅读 14 分钟
8.7k
今年OKR定了一条KR是每一个季度进行一次前端相关技术的分享,还有十几天就到2020年了,一直忙于业务开发,没有时间准备和学习高端话题,迫于无奈,那就讲讲平时使用频率较高,却没有真正认真的了解其内部原理的 Vue.js 吧。

JavaScript混淆安全加固

2019-06-09
阅读 13 分钟
10.1k
在安全攻防战场中,前端代码都是公开的,那么对前端进行加密有意义吗?可能大部分人的回答是,毫无意义,不要自创加密算法,直接用HTTPS吧。但事实上,即使不了解密码学,也应知道是有意义的,因为加密前和解密后的环节,是不受保护的。HTTPS只能保护传输层,此外别无用处。

Vue+Express+Mysql 全栈初体验

2019-05-26
阅读 11 分钟
6k
曾几何时,你有没有想过一个前端工程师的未来是什么样的?这个时候你是不是会想到了一个词”前端架构师“,那么一个合格的前端架构只会前端OK吗?那当然不行,你必须具备全栈的能力,这样才能扩大个人的形象力,才能升职加薪,才能迎娶白富美,才能走向人生巅峰...

高级前端基础-JavaScript抽象语法树AST

2019-03-17
阅读 15 分钟
14.5k
Babel为当前最流行的代码JavaScript编译器了,其使用的JavaScript解析器为babel-parser,最初是从Acorn 项目fork出来的。Acorn 非常快,易于使用,并且针对非标准特性(以及那些未来的标准特性) 设计了一个基于插件的架构。本文主要介绍esprima解析生成的抽象语法树节点,esprima的实现也是基于Acorn的。

webpack构建和性能优化探索

2019-01-19
阅读 9 分钟
6k
随着业务复杂度的不断的增加,工程模块的体积也会不断增加,构建后的模块通常要以M为单位计算。在构建过程中,基于nodejs的webpack在单进程的情况下loader表现变得越来越慢,在不做任何特殊处理的情况下,构建完后的多项目之间公用基础资源存在重复打包,基础库代码复用率也不高,这都慢慢暴露出webpack的问题。

从react转职到vue开发的项目准备

2019-01-13
阅读 9 分钟
5.6k
首先,为什么我需要做这个项目准备工作呢?因为常年习惯React开发的我,最近突然接手了一个Vue项目,而之前基本没有过Vue的实践,这么突兀让还在沉溺于React开发的我进行Vue开发,甚是不习惯,那自然我需要想办法让Vue开发尽量与React相似,这样大概让自己在开发过程中更得心应手吧。

关于回流与重绘优化的探索

2018-12-09
阅读 3 分钟
1.6k
杭州下雪了,冷到不行,在家躺在床上玩手机,打开微信进入前端交流群里日常吹水,看到大佬在群里发了一篇文章你应该要知道的重绘与重排,文章里有一段骚操作,就是为了减少重绘与重排,合并样式操作,这个骚操作成功的引起了我的注意,然后开启了我的探索。

记一次前端面试的全过程

2018-11-24
阅读 4 分钟
7.4k
有赞一面结束后过了两天就收到了二面的邀请,我回复面试邀请的短信,说最近可能请假太多,能不能约到晚上面试,对方很很爽快的答应了,就约在了晚上七点半,我回复可以的,然后第二天,收到了确切的面试的时间和地点,时间定在了晚上7点15分。

一年半经验,百度、有赞、阿里前端面试总结

2018-11-17
阅读 12 分钟
19.3k
人家都说,前端需要每年定期出来面面试,衡量一下自己当前的技术水平以及价值,本人17年7月份,毕业到现在都没出来试过,也没很想换工作,就出来试试,看看自己水平咋样。

webpack 插件总结归类

2018-10-26
阅读 8 分钟
22.1k
功能类 html-webpack-plugin 自动生成html,基本用法: {代码...} copy-webpack-plugin 拷贝资源插件 基本用法: {代码...} webpack-manifest-plugin && assets-webpack-plugin 俩个插件效果一致,都是生成编译结果的资源单,只是资源单的数据结构不一致而已。 webpack-manifest-plugin 基本用法: {代码...} as...

Canvas API

2018-09-19
阅读 6 分钟
1.9k
矩形 fillRect(x, y, width, height) 填充矩形 strokeRect(x, y, width, height) 绘制矩形边框 clearRect(x, y, width, height) 清除指定矩形区域,让清除部分完全透明。 rect(x, y, width, height) 绘制一个左上角坐标为(x,y),宽高为width以及height的矩形。 绘制矩形 DEMO 绘制路径 beginPath() 新建一条路径,生成...

记一次React项目Webpack4配置过程

2018-08-17
阅读 13 分钟
4.4k
最近新项目过多,在新项目中每次使用 webpack 都是拷贝之前的项目的配置文件过来,改改直接使用,很多配置还是一知半解,一直想用心的从头配置一次 webpack,加深对 webpack 的理解,所以,有了本文,先献上以下内容github地址。

《高性能网站建设指南》读书笔记

2018-08-02
阅读 4 分钟
2.5k
C/S协议,请求与响应构成,短连接协议,请求响应完成后马上断开连接。GET请求包含一个URL,然后是请求头,POST除了URL和请求头外,还拥有请求体,请求之前要组装请求体,所以速度上没有GET请求快。HTTP响应包含请求码、响应头和响应体。

Jest+Enzyme进行react项目测试

2018-08-02
阅读 4 分钟
7.3k
Jest 是 Facebook 开发的一个测试框架,它集成了测试执行器、断言库、spy、mock、snapshot和测试覆盖率报告等功能。React项目本身也是使用Jest进行单测的,因此它们俩的契合度相当高。

浅谈前端技术的发展

2018-06-24
阅读 6 分钟
2.1k
当时的网页只能做简单信息展示还很 LOW,后来一家叫 SUN 的公司搞了个 Java 小程序(Applet),可以跑在网页中制造很酷炫的效果。另外一家叫网景的公司觉得很牛逼,于是赶紧招人准备出复刻版,由于项目紧,程序员花了两周时间搞出了JavaScript,结果项目上线后效果出乎意外的好!于是 JS 大火。

antd源码解读(二)Tooltip组件解析

2018-05-01
阅读 4 分钟
11.3k
antd的Tooltip组件在react-componment/trigger的基础上进行封装,而组件Popover和Popconfirm是使用Tooltip组件的进行pop,在react-componment中,使用到组件tc-trigger的还有menu、select、dropdown、time-picker、calendar等,本文主要对tc-trigger源码进行解读。

antd源码解析(一)Form组件解析

2018-04-18
阅读 6 分钟
15.3k
看过antd源码的都知道,antd其实是在一组react-componment组件的基础上进行了一层ui封装,本文主要解读antd组件Form的基础组件react-componment/form,另外会略过development模式下的warning代码。

vue.js学习笔记

2018-04-16
阅读 10 分钟
2.2k
指令 指令(Directives)是带有v-前缀的特殊属性。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM。 v-if条件判断 {代码...} <template>元素当做不可见的包裹元素 {代码...} v-if是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 v-sho...

Promise实现原理

2018-02-26
阅读 4 分钟
22.7k
在Promise没有出现之前,异步编程需要通过回调的方式进行完成,当回调函数嵌套过多时,会使代码丑化,也降低了代码的可理解性,后期维护起来会相对困难,Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Pr...

浅谈浏览器多进程与JS线程

2018-02-01
阅读 5 分钟
15.1k
引言 一直对浏览器的进程、线程的运行一无所知,经过一次的刷刷刷相关的博客之后,对其有了初步的了解,是时候该总结一波了。 进程、线程之间的关系 一个进程有一个或多个线程,线程之间共同完成进程分配下来的任务。打个比方: 假如进程是一个工厂,工厂有它的独立的资源 工厂之间相互独立 线程是工厂中的工人,多个工...

redux从零开始入门笔记

2018-01-28
阅读 11 分钟
12.6k
学过react的都知道,react用state和props控制组件的渲染情况,而对于JavaScript单页面日趋复杂的今天,JavaScript需要管理越来越多的state,而这些state包括着各种乱七八糟途径来的数据。甚至有的应用的state会关系到另一个组件的状态。所以为了方便对这些state的管理以及对state变化的可控性。这个时候Redux这个东西就...

Java使用Nashorn,调用Promise实现服务端渲染

2018-01-20
阅读 8 分钟
8k
Nashorn JavaScript引擎是Java SE 8 的一部分,并且和其它独立的引擎例如 Google V8(用于Google Chrome和Node.js的引擎)互相竞争。Nashorn通过在JVM上,以原生方式运行动态的JavaScript代码来扩展Java的功能。

react和d3.js(v4)力导向图force结合使用

2017-11-29
阅读 7 分钟
10.7k
前段时间由于性能要求,需把项目d3的版本从v3升级到v4,据了解d3由于在v4版本之前是没有进行模块化的,所以v3代码的扩展性是比较差的,考虑到长远之计,d3在v4版本算是对代码进行了模块化的重构吧,给开发者提供了一些可定制化的东西,所有api变化较大,这个坑还需各种研究文档才能填完,好了,下面开始我的表演了。