如何提升系统架构能力?
系统设计与架构,与系统的业务类型关联很大,比如,传统的业务系统主要关注的是领域建模设计,高并发、高可用、数据一致性等系统,在设计的时候会与业务系统有较大的差别,所以这里针对不同类型的系统,来简单介绍一下设计的时候面临的一些难点与解决方案。
系统设计与架构,与系统的业务类型关联很大,比如,传统的业务系统主要关注的是领域建模设计,高并发、高可用、数据一致性等系统,在设计的时候会与业务系统有较大的差别,所以这里针对不同类型的系统,来简单介绍一下设计的时候面临的一些难点与解决方案。
在过去,与大多数工程师一样,我认为前端代码的设计水平大多与工程师的能力有直接关系。但随着接手了几个多人协作的大型前端项目,我开始意识到,这种认知对短生命周期的小型项目可能适用,但对真正的大型项目,仅靠提升工程师质量有时并不能直接提升代码的质量。
随着前端的发展,特别是 React、Vue 等构造单页应用的兴起,前端的能力得以很大提升,随之而来的是项目的复杂度越来越大。此时的前端的静态资源也越来越庞大,而毫无疑问 javascript 资源已是前端的主体资源,对于压缩它的体积至为重要。
.gitignore 文件是 Git 版本管理工具下的一个文本文件,该文件定义了一组规则,这些规则用于排除不需要用 Git 进行管理的文件。即通过 .gitignore 文件告诉 Git:哪些文件不需要你来管理。因此,也称为忽略文件。本文详解介绍了 .gitignore 文件的用法及规则。
Promise 是 js 里面非常重要的一部分,搞懂了 Promise 才能更好的去理解 async, await 和 generator。但是往往很多时候就是不理解 Promise 的机制,所以这次通过一步步实现一个 Promise 来加深自己的印象,提高自己的思维。
对于前端来说,登录就是把用户信息提交上去,后续就不用前端去担心了。但是,当我真正完整地做过一个登陆 sdk 项目,就会发现这里边的逻辑不是那么简单。本文总结了目前各种主流系统登录方式,包括:Session、JWT、单点登录(SSO)以及 OAuth2。