实习记录(二)
实习记录(二)此篇文档其实也可叫做小程序性能优化的初步探索,记录我在实习期间对我业务所在领域的小程序进行性能现状数据梳理和部分性能优化实操。
ps:完整的实际性能数据、完整代码不会附上,涉及到隐私信息。
一、数据收集如何获得小程序启动的各个环节的数据,需要设计一个方法,将各个环节数据上报到监控平台(别用打印这种蠢方式,而且只能针对单个案例,不具有普适性)。
上报的核心使用公司内AegisV2 SDK上报数据。
引入相应的wx sdk,进行初始化,组里其实已有相关的上报,不过做的是错误的监控上报;
实现测速上报方法reportTime
要求传入两个参数:测速名称、测速耗时;
进行传入参数的推荐判断,如超过15s不进行上报、耗时的正负等;
调用sdk的reportTime方法;
实际启动的测速
冷启动前的耗时无需我们自定义上报统计,官方的PerformanceEntry里面有一个appLaunch的指标,指的便是冷启动耗时;
冷启动耗时的结束点是page的onReady阶段,对应的也相当于是vue的mounted阶段(原因是,两者都是在界面渲染完成后执行,进行DOM操作和相关的初始化 ...
实习记录(一)
实习记录(一)月底就要离职了,从五月中旬入职到现在,已经三个半月了,时间过得真快啊,特开此贴记录一下在此期间的一些学习与收获吧。
ps:预计将撰写三篇文档从整体到技术细节来回顾我的FiT实习之旅。
一、业务参与1.1 开发要求三个多月的过程中,首先让我熟悉了组内亦或者说大厂严谨的开发流程与标准。
从需求评审到概要设计,从方案评审到需求开发,从埋点上报到CR体验,从监控发布到值班监控。这一系列的流程从懵懂到熟悉,让我收获良多。
1.2 开发重点组里的业务围绕于微信服务下九宫格中的信用卡还款业务,模块众多:还款、借款、超V,我的需求多数围绕于超V下的用卡领域,也发现其拥有与其他业务不同的特殊点:页面迭代快、活动模块多、外部依赖高。
1.3 问题挖掘不知道是不是我的运气问题,开发需求总会发现一些线上问题,被迫让我开发周期延长/需求从易到难,不过确实在一定程度上能快速提升我的开发能力。
二、地图定制化2.1 场景描述我们围绕的是超V业务,那么用户在申请超V卡后,可能会处于未激活状态,这个时候会提示用户“在线激活”或“查看附近网点”,那么若用户点击查看附近网点,会根据用户的定位,从近到 ...
八股—计网
一、响应式响应式的本质:数据与函数的关联
数据:
函数中用到的数据(读取到某个属性)
读取的对象是响应式的
函数:
被监控的函数(vue2是watch,vue3是effect)
具体的函数常见:render、watchEffect、watch、computed
小程序常见知识
小程序常见知识一、主包和分包分包:指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同分包,用户在使用时按需进行加载。
分包的原因:小程序上线,要求整个小程序大小不超过16M(主包+所有分包),单个主包/分包大小不超过2M。
分包加载规则:小程序启动默认下载主包并启动分包,用户进入分包某个页面时,客户端会把对应分包下载。
1.1 分包类型分包类型分为:普通分包、独立分包。
1.1.1 普通分包在app.json的subpackages节点中声明分包的结构即可。
打包原则:
主包也可有pages;
tabBar页面必须在主包内;
分包之间不能相互嵌套;
主包资源是全局公用的,分包相对于拥有自己的作用域,不能使用其他子包资源。
1.1.2 独立分包独立分包也是分包,独立于主包和其他分包,单独运行,一个小程序可以有多个独立分包。
与普通分包的区别就在于:不依赖主包就能运行。
应用场景:可以按需,将某些具有一定功能的独立性页面配置到独立分包中,可以提升启动速度。
配置很简单,直接在subpackages对应的分包配置加一个属性:
1"indepe ...
八股—计网
八股—计网记录一下常见的计算机网络相关的八股
一、url历程面试经常会遇到一类问题:浏览器输入url会发生什么?
其实这类问题属于老掉牙的问题,但仔细剖析,涵盖了诸多概念,现对其进行分析。
1.1 url组成输入url,那就得首先明白url的组成。
协议:常见的如http、https
域名
端口号:可省略,采用默认端口号:http-80,https-443
虚拟目录:域名后的/开始到最后一个/结束,非必需
文件名
锚
参数
1.2 详细过程输入url,以https://www.baidu.com/为例。
检测输入的url是否合法,包括协议、主机名等,是否存在非法字符;
接着进行缓存判断,如果命中缓存,则直接使用缓存数据;
这里缓存又分为强缓存和协商缓存。
强缓存
强缓存存在两种:expires、cache-control(http1.1存在)
若存在cache-control,则判断max-age是否过期;
若存在expires,则判断有效时间是否过期;
协商缓存协商缓存也存在两种:if-modified-since、if-none-match(http ...





