1.PGO
http://www.zangcq.com/2020/05/04/%E7%BC%96%E8%AF%91%E4%BC%98%E5%8C%96%E6%8A%80%E6%9C%AF-pgo/
PGO 是 Profile Guided Optimization 的缩写,主要是用sampling的方法,对应用程序进行剖析,得到分析的数据,然后反馈给下一次编译。
2.逻辑编排与可视化搭建
https://mp.weixin.qq.com/s/ZVZ1skvmIWIjcSz9HhDU3Q
微信小程序和快手小程序,也是一套DSL和runtime的结合,小程序平台先制定提供给第三方开发者的语法规范(DSL),然后平台去实现解析执行DSL的逻辑,第三方只需要按照语法规范生产内容,就搭好了一个完整的小程序。
稳重说DSL的本质是DAG(有向无环图),描述的很直观吧,每一个逻辑都有start和end。提供给了产品运营用汉语写代码的能力,但是提供元组件和原逻辑给产品运营之后,研发效率真的提升了么?还是说只是成本转移了。面对复杂的业务和交互逻辑,其实用可视化元组件搭建的成本,单从时间上来说,应该是高于直接研发的??
3.前端模块化开发面试题
https://mp.weixin.qq.com/s/ibb9nueKo_gcPfe0LST8CQ
随着vite的出现,前端模块化的问题已经成为面试必备面试题之一。
esModule写法类似commonjs,和AMD一样支持异步加载,优化了循环依赖的问题。
4.常用js的代码片段
https://mp.weixin.qq.com/s/WZHZ82BlwjyOR1b1MRhhAA
主要介绍了一些数据处理的func,比如byteSize、array的应用、Date处理,我理解这些功能func其实lodash和date-fns都是有提供api的。
5.ast分析
https://mp.weixin.qq.com/s/9FLkAmeBH18QjlZPztPc8Q
6.一文带你了解如何排查内存泄漏导致的页面卡顿现象
https://mp.weixin.qq.com/s/5PwqCbYvwtBHQBqyENJf1g
文章里面帮忙复习了内存泄漏的概念、垃圾回收的概念和回收方法,还列出了内存浪费的5种情况(闭包、全局变量、分离的dom节点、console.log、定时器)和定位方法。
7.Web性能指标之CLSL(累计布局位移(Cumulative Layout Shifts))
https://mp.weixin.qq.com/s/r2eEQhySZbKSsMSGHFBbyQ
这是一篇看着很有用,但是普通业务中用不到的文章😂
就是防止页面元素抖,让用户有个好的感官体验。
很多pc页面,内容超长之后,右侧会出现滚动条,从有滚动条的页面切到没有滚动条的页面,肉眼可见的页面内容位移,应该是CLS问题的一个场景。
8.一文速览 TypeScript 装饰器 与 IoC 机制
通过示例解释了装饰器的种类和用法,控制翻转Ioc,最后示例demo,用ts装饰器在nestjs中解析路由场景结尾。
https://mp.weixin.qq.com/s/w1LcwX1_8xpnsLmvxqc2sA
9.领域驱动设计
https://mp.weixin.qq.com/s/pucRuY-BtgccEc0ZiGVyVg
其实vue2的编程理念就是基于数据和行为的,而vue3出现了compositionAPI和vue hooks的概念,和react一样了。每一个可被复用的function和hook,都可以理解为一个功能领域domain。
可能我没有理解“领域”的精髓,还是没懂为什么用“领域”这个词来代表一些模块
10.前端项目渲染模式讲解 from 奇舞团
包括csr、ssr、ssg、nsr等。csr是最常见;ssr 需要前端启个node服务去做预渲染,生成预渲染模板,实现成本高,但是收益大,能有效缩减首屏时间,也有助于提升开发人员的技术能力;ssg(静态网站渲染)用过,比如vite-ssg,但是小体量的站点,没啥感觉.
不过ssg也算是服务端渲染,预渲染过程中,不能出现window、navigater等变量,不然build时候会提示变量不存在 ReferenceError: navigator is not defined;
csr build的时候,会把需要的资源链接直接放在index.html的 script 或者 lint 等标签内,交给客户端去加载资源渲染页面;
https://mp.weixin.qq.com/s/GgA-Vv6w0vqVnsV8DBqnmw