聊聊浏览器缓存机制把

缓存可以说是性能优化中简单高效的一种优化方式了,它可以显著减少网络传输所带来的损耗。 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。 接下来的内容中我...

Read More

面试遇到这些问题怎么回答

1.你遇到最难的技术问题是什么?举个最近的例子把,对react的,我之前是写vue的,最开始我再写react的时候,他能在return中直接写html标签非常不理解,然后在我实际写demo中会出现很多错误,所以我会采用github上看别人reactUI的源码,因此我还专门写了一篇博客,模仿他们的代码,向他们学习,因为身边也没人用react,我是自学的所以我还...

Read More

Javascript 调试常见报错

ECMA-262 定义了下列 7 种错误类型: Error 错误 EvalError 全局错误 ReferenceError(引用错误) 对象表明一个不存在的变量被引用。 RangeError 对象标明一个错误,当一个值不在其所允许的范围或者集合中。 SyntaxError(语法错误)对象代表尝试解析语法上不合法的代码的错误。 typeError...

Read More

趣谈 React 的由来

近期开始的了新的学习(react),本人学习有个习惯,喜欢去探索由来和历史,俗称吃瓜(手动滑稽) 一般网上的视频教程只会教你怎么用 react 但是并不会告诉你 react 是当初是怎么来的,为了解决哪些痛点。 首先我们先来看一段 js 原生代码。 这是一段很简单的代码,用于操作 result 的增减,现在,让我们来抽象的看待这个问题,画个图来表示: ...

Read More

39丨综合:前端架构

在传统桌面软件开发中,架构师是一种通过设计架构保证团队能够良好分工和有序工作的岗位。 在工程领域,我们凡是要做点什么事儿,都会有明确的目的性,这个目的性,一定是为了完成生产服务业务的。 为什么桌面软件开发需要架构师和架构设计呢?因为桌面软件开发具有高度的复杂性,如果没有架构,就没法分解成互相耦合低的模块来分工。 所以一般来说,架构是为了分工而存在的。但是到了...

Read More

38丨综合:搭建系统

不知道你在工作中有没有遇到过这样的事情:一个运营找过来说,有一个紧急又简单的临时活动页面要做,希望打断现有的产品开发节奏临时插入。 这类页面技术难度不高,业务上通常属于“紧急不重要”的事情。 这些需求技术上没挑战,线上存在时间短,上线时间紧又没有任何调整空间,它们往往会成为前端团队里人人都不喜欢的“垃圾需求”,谁要是接了这种需求,就只能自认倒霉。 但是,...

Read More

37丨综合:持续集成

持续集成是近现代软件工程中的一个非常重要的概念。它是指在软件开发过程中,以定期或者实时的方式,集成所有人的工作成果,做统一的构建和测试。 与持续集成相对的做法是:独立开发各个模块,在软件开发的最终阶段才做集成。持续集成的优势是及早处理集成阶段的问题,使软件质量和开发进度可控。 现在持续集成还有升级版本:持续交付和持续部署,这些因为需要更为完善的基础设施,...

Read More

36丨综合:工具链

古语云:“工欲善其事,必先利其器”,程序员群体对工具的爱好和重视是一个悠久的传统。简单趁手的工具是程序员开发的好帮手。 但是在工程方面,工具不仅仅是简单的“趁手”即可,假如一个团队人人都自己发明几个小工具,那么后果将会是灾难性的:同一个团队的同学无法互相配合写代码,一旦有人离职,可能某一个项目就永远无法跑起来了。 所以我们今天从工程的角度谈一谈工具体系的...

Read More

35丨综合:性能

性能是个特别有意思的话题,在我之前的工作中,从入门的初级工程师到高级别的技术专家,大家都很喜欢谈性能,我以前参与晋升评审,每年总能听到很多关于性能的晋升述职。 性能总论 while 循环快还是 for 循环快 |0 是不是比 Math.floor 性能好? 网上随处可以见到一类对性能的讨论。一些新人也非常热衷此类讨论。但是实际上,它们除了让你写代码的时...

Read More

34丨浏览器:整理所有API

浏览器的 API 数目繁多,我们在之前的课程中,已经一起学习了其中几个比较有体系的部分:比如之前讲到过的 DOM 和 CSSOM 等等。但是,如果你留意过,会发现我们讲到的 API 仍然是标准中非常小的一部分。 我们按照每个 API 所在的标准来分类。所以,我们用代码来反射浏览器环境中全局对象的属性,然后我们用 JavaScript 的 filter 方法来...

Read More