05 2022 档案

摘要:###基于原型链的继承方式 ####继承属性 let f=function(){ this.a=1; this.b=2; } let o=new f(); f.prototype.b=3; f.prototype.c=4; console.log(o.b) //2 b是o的自身属性,所以输出2 co 阅读全文
posted @ 2022-05-12 10:40 mengxiangzhi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:介绍 npm-check-updates可以帮助我们检测package.json dependencies 升级到最新版本,忽略特别版本 全局安装 npm install -g npm-check-updates 查看所dependencies的最新版本 ncu [ ] 1/1 100% updat 阅读全文
posted @ 2022-05-10 11:21 mengxiangzhi 阅读(229) 评论(0) 推荐(0) 编辑
摘要:Array.of() 如果要实现一个将方法参数arguments变成数组的功能,你会怎么实现? Array.prototype.slice.call(arguments) Array.of Array.of(1, 2, 3); // [1, 2, 3] 如果原生不支持,我们可以使用如下代码 if ( 阅读全文
posted @ 2022-05-10 10:53 mengxiangzhi 阅读(245) 评论(0) 推荐(0) 编辑
摘要:###Lazy Loading Routes 利用import动态导入 import('/modules/my-module.js') //import() 返回一个promise .then((module)=>{ }); https://developer.mozilla.org/zh-CN/d 阅读全文
posted @ 2022-05-09 09:38 mengxiangzhi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:###将第三库分割成多个文件 利用浏览器缓存 HTTP2 并发数量没有限制 ####使用SplitChunksPlugin进行手工分割 optimization.splitChunks https://webpack.docschina.org/plugins/split-chunks-plugin 阅读全文
posted @ 2022-05-09 07:04 mengxiangzhi 阅读(38) 评论(0) 推荐(1) 编辑
摘要:主要目的减小包文件的大小 ####使用工具webpack-bundle-analyzer 可以作为webpack plugins使用 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugi 阅读全文
posted @ 2022-05-09 06:16 mengxiangzhi 阅读(64) 评论(0) 推荐(0) 编辑
摘要:如何让koa支持http://localhost:3000/1.png直接访问静态资源,图片、文本等,可以使用koa-static 创建一个public文件夹,放入1.png,2.txt 文件 安装koa-static npm install koa-static 引入koa-static cons 阅读全文
posted @ 2022-05-07 15:40 mengxiangzhi 阅读(41) 评论(0) 推荐(0) 编辑
摘要:koa-combine-routers 可以使路由分模块,目录更加清晰,容易维护 app.js const Koa = require('koa') const router = require('./routes') const app = new Koa() app.use(router()) 阅读全文
posted @ 2022-05-07 14:57 mengxiangzhi 阅读(119) 评论(0) 推荐(0) 编辑
摘要:前置条件 koa-router 路由解析 koa-body 传输数据的body格式进行转义,例如json格式、文件上传 @koa/cors 解决跨域问题 安装koa-router、koa-body、@koa/cors npm install -S koa-router koa-body @koa/c 阅读全文
posted @ 2022-05-07 11:13 mengxiangzhi 阅读(144) 评论(0) 推荐(0) 编辑
摘要:为什么有async/await 为了使代码简洁,避免回调地狱写法出现 创建一个async/await demo router.get('/async',async(ctx)=>{ let result=await new Promise((resolve)=>{ setTimeout(functio 阅读全文
posted @ 2022-05-07 11:03 mengxiangzhi 阅读(28) 评论(0) 推荐(0) 编辑
摘要:创建3个middleware 中间件是按照注入的顺序被执行的,使用next方法保证执行下一个middleware,如果没有使用next方法,则不会执行接下来的middleware const Koa=require('koa') const app=new Koa() const middlewar 阅读全文
posted @ 2022-05-07 10:54 mengxiangzhi 阅读(23) 评论(0) 推荐(0) 编辑
摘要:安装koa-router npm i @koa/router 引用并实例化koad-router const Koa=require('koa') const Router=require('@koa/router') const app= new Koa() const router = new 阅读全文
posted @ 2022-05-07 10:30 mengxiangzhi 阅读(32) 评论(0) 推荐(0) 编辑
摘要:安装koa npm i koa 创建koa实例,创建index.js 文件 const Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'Hello World';}); app.liste 阅读全文
posted @ 2022-05-07 10:10 mengxiangzhi 阅读(28) 评论(0) 推荐(0) 编辑
摘要:什么是重构 软件内部调整,不改动原来的功能,将原来设计不合理的地方,进行完善,解决技术债务等问题。提高代码可理解、降低维护成本。 早期系统 开发速度快 功能业务相对简单 遵循编码规范,不允许不好的代码产生 晚期系统 业务复杂 代码量庞大 代码相对不规范 代码耦合性比较高,修改一处,容易引起其它问题 阅读全文
posted @ 2022-05-05 10:57 mengxiangzhi 阅读(94) 评论(0) 推荐(0) 编辑
摘要:日志记录 第一时间获取用户操作行为 及时解决技术债务 遏制新增 code review 脏数据兜底和检验 单元测试 崩溃预警 自动化测试 更广的灰度触达 性能优化体系 阅读全文
posted @ 2022-05-05 10:39 mengxiangzhi 阅读(22) 评论(0) 推荐(0) 编辑
摘要:技术填补 开发过程中因为时间紧迫导致的不合理的实现 某些算法性能较差 暂时没有想到更好的实现方式而妥协 例如刚开始使用if...else实现,随着条件越来越多,逐渐难以维护 可以使用责任链模式 架构设计前期没有考虑到的细节 例如交互细节-> props传递参数(交互冗余,流程较长) 使用全局状态管理 阅读全文
posted @ 2022-05-05 09:34 mengxiangzhi 阅读(22) 评论(0) 推荐(0) 编辑
摘要:技术前期准备 技术选型:社区氛围、发展规模、未来发展趋势、与团队的契合、维护成本、迁移成本、执行效率 充分调研每一项技术可能带来的利弊 最大程度上预测架构设计中的缺陷,防止意外发生 技术优化 在构建发展过程中,可能存在有悖与技术 架构优化 架构不是一蹴而就的,架构是不断演进的 阅读全文
posted @ 2022-05-04 18:09 mengxiangzhi 编辑
摘要:系统架构师 负责整体系统的架构设计 着眼全局,基础服务和各系统协调 负载、可靠性、伸缩、扩展 应用架构师 从应用程序的维度,负责某个应用的技术架构,主要偏业务系统 关注理解业务,梳理模型、设计模式、接口、数据交互等 业务架构师 从业务流程的维度,关注某一个行业、业务领域分析,获取领域模型 也叫业务领 阅读全文
posted @ 2022-05-04 17:32 mengxiangzhi 阅读(112) 评论(0) 推荐(0) 编辑
摘要:稳定性 系统受到外来作用影响时,系统经过一个过渡阶段,仍然能够自身系统稳定 健壮性 计算机软件在输入错误、磁盘故障、网络过载、有意攻击,能否不宕机 架构质量的衡量 拓展性 维护性 可管理 高可用 日常开发中的架构质量 理解难度 接入依赖的成本 崩溃率和错误率的指标 开发效率 错误上报和信息收集等功能 阅读全文
posted @ 2022-05-04 17:24 mengxiangzhi 编辑
摘要:系统级架构 应用在整个系统内,如何和与后台服务通讯、与第三方系统集成... 设计前端首要条件:了解前端系统与其他系统关系 关系包括业务关系和协作机制 设计后端:与后台数据传输机制 包括:api设计原则、token、权限 前端与后端的关系考虑的主要因素:前后端分离架构设计 前后端分离架构:如何实施技术 阅读全文
posted @ 2022-05-04 17:07 mengxiangzhi 编辑
摘要:单一职责原则 一个类或者一个方法而言,应该仅有一个引起它变化的原因。 如果有多个职责,应该拆分成2个类 开放封闭原则 软件实体对扩展是开发,对修改是封闭的 尽量用继承或者组合的方式扩展类的功能,而不是直接修改类代码 里氏替换原则 父类能够被子类替换 在函数式编程关注度不高 最少知识原则(迪米特法则) 阅读全文
posted @ 2022-05-04 16:34 mengxiangzhi 编辑

点击右上角即可分享
微信分享提示