自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (1)
  • 收藏
  • 关注

原创 以用户为中心的前端性能

前端性能对用户体验很重要。如果页面加载太慢,用户就会失去耐心而离开。页面加载出来后,用户会下意识地去操作页面,如果页面没有及时给出反馈,用户就会感知到页面延迟。

2023-12-04 07:22:26 101

原创 订单业务和系统设计(一)

订单其实很常见,在电商购物、外卖点餐、手机话费充值等生活场景中,都能见到它的影子。那么,一笔订单的交易过程是什么样子的呢?文章尝试从订单业务架构和产品功能流程,描述对订单的理解。

2023-11-04 22:51:20 222

原创 构建类型安全的前端应用

对于Web应用来说,类型安全问题无处不在。例如,代码本身引入的类型错误;用户输入的数据类型不对;或者接口传参的类型错误等等。这些都会**影响系统的稳定性**。所以,我们要**构建类型安全的应用**。

2023-09-10 16:17:35 258

原创 网站都离不开的Form表单

Form表单`允许用户输入数据并向Web服务器发送数据`,是一个重要的交互控件。例如,常见的用户注册页面,用户输入个人信息后,点击按钮提交注册。

2023-09-02 16:11:20 128

原创 前端需求分析

当我们接到一个需求后,要先做好三件事情:1.了解需求的业务价值;2.明确需求的内容;3.分析需求的可行性

2023-07-15 10:21:19 450

原创 对账,清算,结算

一个常见的支付场景: 小明在淘宝上买了一个水杯,价格100元,使用支付宝支付成功后,淘宝商家提示购买成功,准备发货。 在这个过程中,资金交易是怎么进行的呢?

2023-07-09 09:09:34 391

原创 网络通信的安全性(HTTPS)

互联网环境错综复杂,网络通信的安全性更是不容小嘘。首先,使用非对称加密完成秘钥交换,再用对称加密传输,防止数据被窃听; 其次,用数字签名来验证数据完整性和身份验证,防止数据被篡改; 最后,通过数字证书核实网站身份,防止身份冒充。综上所述,这三个核心技术保障了HTTPS通信的安全性。

2023-04-06 23:42:49 814

原创 登录认证和鉴权

登录认证的应用场景很广泛,例如用户登录微信之后才能发起聊天,看朋友圈;登录支付宝之后才能进行支付等等。这些场景涉及用户权限,所以系统要知道当前用户是谁,以及用户有没有操作权限,那么具体怎么实现呢?

2023-03-23 21:39:44 1125

原创 浏览器缓存是如何提升网站访问速度的

为了提高网站的访问速度,降低服务器的负载,就有了浏览器缓存。浏览器缓存的核心是过期时间和协商缓存:服务器在返回资源时指定过期时间,浏览器收到响应后把数据存起来。下一次请求时如果资源未过期,则返回本地缓存数据;当缓存数据过期了,浏览器要跟服务器验证资源是否已更新,如果资源更新了再去请求新的数据,否则返回304。浏览器缓存有很多的实际应用场景,例如:静态资源缓存优化、HTML协商缓存优化、敏感数据禁止缓存、代理服务器缓存控制。

2023-02-12 10:57:41 654

原创 JavaScript怎么处理并发?

作为浏览器脚本,JavaScript要处理各种任务,例如处理用户输入,请求网络数据,展示后台数据等等。那么,单线程的JavaScript是如何处理并发的呢?

2023-01-13 13:00:00 1989

原创 如何选择一个合适的Web存储方案

Web客户端存储是一个现代Web应用必不可少的功能,常见的有Cookie、WebStorage和IndexedDB等,如何选择一个合适的Web存储方案呢?

2022-12-26 12:30:00 745

原创 浏览器跨域访问控制(CORS)

出于安全考虑,浏览器限制页面脚木发起跨域请求,所以XMLHttpRequest和fetch API是遵循**同源策略的。

2022-12-23 21:34:51 1102

原创 JavaScript的限流防抖

限流和防抖都是用来处理频繁事件的。频繁地触发事件,容易产生性能问题,这时就需要限流,即限制函数执行频率。另外,还可能导致重复执行和不必要的处理,这种需要防抖,即限制函数只执行一次。

2022-12-13 22:35:01 571

原创 前端多环境部署

前端程序一般会部署在开发、生产等不同环境中,各个环境的配置信息可能不同。可以通过静态编译和动态加载的方式来实现自动加载环境配置。最终实现程序和配置解耦,并且支持动态修改配置。

2022-12-06 23:17:36 880

原创 如何让页面跳转更丝滑

路由的本质是将URL映射到指定页面,它是Web应用的基本功能。为了提升页面跳转的交互体验,出现了SPA,它实现了在不刷新页面的情况进行页面更新和页面跳转。主要有基于URL #hash和基于history api两种实现方案。

2022-12-04 23:05:48 731

原创 JavaScript是如何实现模块化的?

为了提高代码的可复用性,开发者设计了模块化规范,包括CommonJS,AMD和ES6 Module等。其中,前两者分别是面向服务器端和浏览器端的,而ES6 Module是JavaScript语言标准。

2022-11-15 22:11:00 1225

原创 现代化前端构建之hashing

浏览器请求资源时,使用本地缓存可以减少不必要的请求,从而提升页面加载速度,减少服务器压力。通常使用文件名+文件内容hash值来命名文件,这样通过文件名就可以判断资源是否更新,从而保证缓存资源能够及时更新。

2022-10-08 22:10:21 325

原创 npm和yarn是如何管理代码依赖的?

在我们的代码里面,经常会用到各种第三方软件包,当引用的包越来越多时,管理好代码中的依赖是很有必要的。主流的包管理工具有npm和yarn,它们又是如何实现依赖管理的呢?

2022-09-23 07:41:11 436

原创 JavaScript的this为什么这么设计

this作为JavaScript语言的核心语法,我们在开发中是经常用到的。例如在对象方法中,通过this访问对象属性;在构造函数中,用this初始化实例对象。那么JavaScript为什么会有this呢?

2022-09-04 16:06:10 321

原创 js闭包:函数和其词法环境的绑定

1.词法作用域:根据源代码中声明变量的位置,来确定变量在何处可用;并且内部函数可以访问其外部作用域的变量。2.闭包:JavaScript函数和它的词法环境是绑定在一起的。

2022-07-25 14:00:00 150

原创 JavaScript内存管理和内存泄漏

像C语言这样的底层语言,一般是`由应用程序手动分配内存和释放内存的`。而JavaScript是`由引擎自动完成内存管理`的。虽然JavaScript会自动释放内存,但如果编码不当,也会造成`内存泄漏`问题。文章分析了JavaScript的`内存管理机制`,同时,总结了几种典型的内存泄漏的场景,最后,介绍了排查内存泄漏的相关实践。希望能够帮助我们在编码中尽量避免内存泄漏的问题,即使有问题了也可以快速定位。

2022-05-21 17:06:28 861

原创 低代码平台搭建 - 组件几何变换

在低代码平台,用户可以选中画布中的组件,然后通过鼠标`直接`改变组件的大小、位置和旋转角度。即用可视化的方式实现组件的`几何变换`。文章通过手写一个组件几何变换功能来加深理解其背后的原理。

2022-05-07 21:43:09 395

原创 虚拟dom原理:用js对象来描述页面

作为计算机工程师,框架是实际开发中都会用到的。理解框架原理,对更好地使用它和定位问题是很有帮助的事情。本文实现了一个简单的vdom渲染过程,来帮助理解vdom原理。

2022-03-28 00:00:00 1009

原创 vue响应式原理:观察者模式

作为计算机工程师,框架是提高开发效率的重要工具。理解框架的核心原理,有助于更好地使用它和定位问题。同时,一个优秀的框架,其设计方案和实现原理也是值得我们学习和借鉴的。本文将通过实现一个简单的响应式系统,来理解vue.js的响应式原理。

2022-03-13 15:24:38 2320

原创 如何用同步的方式来实现异步编程?

文章介绍了异步回调、Promise、Generator和async/await四种异步编程方案,通过分析它们的演进过程,我们可以看到Promise解决了异步回调的`Callback Hell`问题;Generator的出现让`用同步的方式来实现异步编程`成为了可能,async/await则是结合了Promise和Generator优势的`语法糖`。在开发中,我们应该根据实际情况,选择最合适的方案。

2022-02-14 23:22:29 935

原创 在浏览器地址栏输入URL,按下enter键后发生了什么?

文章梳理了浏览器【页面导航】 和 【页面渲染】的过程,理解该过程的实现原理,有助于性能优化和更快地定位问题。

2021-11-14 21:58:37 3299

原创 如何构建DOM树-语法分析

文章通过简单的概念和代码示例,介绍了DOM树的构建过程。了解DOM树的结构,可以让我们更好地使用DOM API来操作HTML内容。

2021-10-18 22:58:14 302

原创 浏览器是如何读懂HTML的-词法分析

文章通过简单的概念和代码示例,介绍了HTML词法解析的过程。

2021-10-18 22:41:28 309

原创 Web安全 - 如何开发一个安全的网站?

SQL注入

2021-10-10 17:11:25 2434

原创 如何判断JavaScript变量类型

优先使用Object.prototype.toString.call(),可用于准确判断内置对象子类型和基本类型变量。typeof可用于区分对象类型和基本类型。instanceof可用于判断自定义构造函数的实例对象。

2021-09-15 18:55:55 172

原创 前端专题篇 -- 【性能优化】

前端性能优化、优化目的、优化三部曲、优化指标、【async】、【defer】

2021-05-20 18:50:16 231 1

原创 理论基础篇 -- 【计算机网络通关29讲笔记】

TCP、UDP、请求应答、超时重传、滑动窗口、连续有序序列、URL

2021-04-19 21:24:11 421

原创 其它篇 -- 【如何写好软件设计文档】

文章主要 总结了软件设计文档的编写流程,方便后续有需要可参考。

2021-01-30 08:50:41 143

原创 后端功能设计篇 --【定时任务】

文章主要总结了定时任务的设计思路和常见的实现方案。关键词:定时任务、Quartz、CRON

2021-01-24 09:41:50 1964 1

原创 后端功能设计篇 -- 【聊聊你的登录功能是怎么实现的】

登录功能、暴力破解、中间人攻击、验证码、短信验证

2020-07-20 18:32:24 1301

原创 前端功能设计篇 --【移动端适配】

移动端适配、Vue适配

2020-06-18 09:46:18 340

原创 后端服务器篇 -- 【nginx】

nginx通用配置

2020-06-03 20:05:16 132

原创 前端专题篇 -- 【Modern Web】

【开发分工模式】、【现代WEB开发特征】、【现代WEB开发现状】

2020-05-17 17:27:47 420

原创 前端功能设计篇 --【图片文件上传】

图片文件上传

2020-04-06 12:05:32 325

原创 理论操作系统篇 -- 【进程上下文切换】

1.进程上下文切换过程:@1.由中断、异常、系统调用等触发中断,将cpu切换为内核模式,将eip,esp,eflages压入内核堆栈;@2.保存硬件未来得及保存的现场信息;@3.调用中断服务程序;@4.检查need_resched标志位,若有效则进行以下步骤@5;@5.调用schedule()函数完成进程调度,schedule()会执行以下步骤@6,@7;@6.调用pick...

2018-12-31 00:18:01 3720

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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