# Blogs **Repository Path**: ChenYing1996/blogs ## Basic Information - **Project Name**: Blogs - **Description**: 记录一些自己的博客 - **Primary Language**: JavaScript - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2021-04-30 - **Last Updated**: 2022-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 生活值得你继续努力,加油鸭 #### 项目 * [改写keep-alive源码,实现中台路由缓存方案](https://gitee.com/ChenYing1996/blogs/issues/I4PB4P) * [实现CLI集成优化插件 - auto-external-plugin](https://gitee.com/ChenYing1996/blogs/issues/I4SIIB) * [中台qiankun接入技术调研和解决方案【持续更新】](https://gitee.com/ChenYing1996/blogs/issues/I4PHR9) * [【分享】- qiankun核心原理浅解析](https://gitee.com/ChenYing1996/blogs/issues/I4PPU4) * [对vxe-table进行二层封装遇到的坑](https://gitee.com/ChenYing1996/blogs/issues/I4PREA) * [实现前端通用脚手架](https://gitee.com/ChenYing1996/blogs/issues/I4QCHL) * [拖拽组件的封装](https://gitee.com/ChenYing1996/blogs/issues/I4SFYV) * [基于G6封装企业开箱即用的库] * [组件库搭建] * [脚手架搭建流程] * [自动生成骨架屏插件] * [中台搭建技术难点] * [【方案】低代码海报编辑器实现](https://yingchenit.github.io/work/poster-edit/) * [【方案】-基于tina + gulp4 + webpack的小程序构建方案](https://yingchenit.github.io/work/weapp-structure/) * [【方案】-小程序跨页面通信解决方案](https://yingchenit.github.io/work/weapp-event/) * [【方案】-基于tina的小程序埋点方案](https://yingchenit.github.io/work/weapp-maidian/) * [【优化】-图片自动上传oss-plugin](https://yingchenit.github.io/work/imgoss/) #### javascript 「基础不牢 地动山摇」 * [JS代码是怎么执行的](https://gitee.com/ChenYing1996/blogs/issues/I4ERLZ) * [数据类型](https://gitee.com/ChenYing1996/blogs/issues/I4D3UD) * [数据类型转换](https://gitee.com/ChenYing1996/blogs/issues/I4D3VZ) * [数据类型检测及底层检测逻辑](https://gitee.com/ChenYing1996/blogs/issues/I4D511) * [浮点计算精度问题](https://gitee.com/ChenYing1996/blogs/issues/I4D4SL) * [函数的底层运行机制](https://gitee.com/ChenYing1996/blogs/issues/I4D72U) * [构造函数和普通函数执行的区别](https://gitee.com/ChenYing1996/blogs/issues/I4E5T8) * [箭头函数](https://gitee.com/ChenYing1996/blogs/issues/I4FUS6) * [作用域和作用域链](https://gitee.com/ChenYing1996/blogs/issues/I4D736) * [垃圾回收机制](https://gitee.com/ChenYing1996/blogs/issues/I3OYM1) * [THIS](https://gitee.com/ChenYing1996/blogs/issues/I4D873) * [闭包](https://gitee.com/ChenYing1996/blogs/issues/I4DENZ) * [变量提升](https://gitee.com/ChenYing1996/blogs/issues/I4DLUO) * [let、const、var的底层区别](https://gitee.com/ChenYing1996/blogs/issues/I4D874) * [JS事件循环机制](https://gitee.com/ChenYing1996/blogs/issues/I4EPZF) * [检测某个属性是否为对象的"私有属性"或者"共有属性"](https://gitee.com/ChenYing1996/blogs/issues/I4E5XM) * [继承的多种方式以及优缺点](https://gitee.com/ChenYing1996/blogs/issues/I4N49W) * [原型 & 原型链的处理机制](https://gitee.com/ChenYing1996/blogs/issues/I4E8NO) * [面向对象](https://gitee.com/ChenYing1996/blogs/issues/I4ECNB) * [基于ES6创建类的小知识点](https://gitee.com/ChenYing1996/blogs/issues/I4ECRB) * [模块化编程历史](https://gitee.com/ChenYing1996/blogs/issues/I4E180) * [迭代器与 for of](https://gitee.com/ChenYing1996/blogs/issues/I4N3EX) * [实现符合A+规范的Promise](https://gitee.com/ChenYing1996/blogs/issues/I4N4PK) * [DOM事件](https://gitee.com/ChenYing1996/blogs/issues/I4ERUQ) * [WeakMap和map的区别](https://gitee.com/ChenYing1996/blogs/issues/I4Q68X) * [V8sort排序源码] * [跨域处理方案] * [defer 和 async 的区别](https://gitee.com/ChenYing1996/blogs/issues/I4N3JJ) * [Array.from(xxx) 和 [...xxx]的区别](https://gitee.com/ChenYing1996/blogs/issues/I4N3KE) * [ES6中的上下文和ES5的区别] #### VUE2 & VUE3 ##### VUE2 * [数据绑定原理](https://gitee.com/ChenYing1996/blogs/issues/I4OM91) * [模板编译原理](https://gitee.com/ChenYing1996/blogs/issues/I4NNDN) * [Vue中如何进行依赖收集?](https://gitee.com/ChenYing1996/blogs/issues/I4NNAW) * [批量更新和nextTick原理](https://gitee.com/ChenYing1996/blogs/issues/I4NOSY) * [computed和watch的区别 & 原理](https://gitee.com/ChenYing1996/blogs/issues/I4OM86) * [VUE2 DIFF算法原理](https://gitee.com/ChenYing1996/blogs/issues/I4OAB8) * [组件渲染流程](https://gitee.com/ChenYing1996/blogs/issues/I4P6JG) * [组件更新流程](https://gitee.com/ChenYing1996/blogs/issues/I4P6JP) * [异步组件原理](https://gitee.com/ChenYing1996/blogs/issues/I4P6JT) * [函数组件的优点](https://gitee.com/ChenYing1996/blogs/issues/I4P6K4) * [v-model的原理](https://gitee.com/ChenYing1996/blogs/issues/I4P6L8) * [keep-alive原理](https://gitee.com/ChenYing1996/blogs/issues/I4PAFI) * [v-model原理](https://gitee.com/ChenYing1996/blogs/issues/I4OX34) * [Vue.use原理](https://gitee.com/ChenYing1996/blogs/issues/I4OX3X) * [mixin原理和合并策略](https://gitee.com/ChenYing1996/blogs/issues/I4Q1HN) * [生命周期有哪些](https://gitee.com/ChenYing1996/blogs/issues/I4OX4P) * [生命周期原理](https://gitee.com/ChenYing1996/blogs/issues/I4OWYG) * [v-if和v-show的区别](https://gitee.com/ChenYing1996/blogs/issues/I4P6KY) * [v-for中为啥要用key](https://gitee.com/ChenYing1996/blogs/issues/I4OX1P) * [为什么v-for 和 v-if不能连用](https://gitee.com/ChenYing1996/blogs/issues/I4P6KI) * [为什么说DOM更新是异步的](https://gitee.com/ChenYing1996/blogs/issues/I4OX2D) * [组件的data为啥要返回一个函数](https://gitee.com/ChenYing1996/blogs/issues/I4OWZ3) * [Vue.$set原理](https://gitee.com/ChenYing1996/blogs/issues/I4OWZK) * [Vue-router原理和核心实现API](https://gitee.com/ChenYing1996/blogs/issues/I4P6KS) * [Vue中路由懒加载原理] * [Vuex原理] * [vue-lazyloader原理] * [VUE2中组件通讯](https://gitee.com/ChenYing1996/blogs/issues/I4Q1IP) ##### VUE3 * [Vue3和Vue2的区别] * [Vue3代理那块为啥性能比Vue2高](https://gitee.com/ChenYing1996/blogs/issues/I4Q6PG) * [Vue3依赖收集\触发更新的原理](https://gitee.com/ChenYing1996/blogs/issues/I4Q6LL) * [Vue3 ref原理](https://gitee.com/ChenYing1996/blogs/issues/I4Q6VB) * [Vue3 toRef、torefs的原理](https://gitee.com/ChenYing1996/blogs/issues/I4Q9MH) * [Vue3 computed的原理](https://gitee.com/ChenYing1996/blogs/issues/I4Q9CK) * [Vue3 watch的原理] * [Vue3 diff算法] * [Vue3 组件渲染原理] * [Vue3 组件更新原理] * [Vue3 生命周期原理] #### 工程化 * [模块化机制] * [webpack的基本配置] * [webpack打包出来文件分析](https://gitee.com/ChenYing1996/blogs/issues/I4RG2M) * [webpack工作流程](https://gitee.com/ChenYing1996/blogs/issues/I4S157) * [tapable](https://gitee.com/ChenYing1996/blogs/issues/I4SH3L) * [webpack插件机制](https://gitee.com/ChenYing1996/blogs/issues/I4SIJ2) * [webpackloader机制](https://gitee.com/ChenYing1996/blogs/issues/I4SG3E) * [webpack热更新原理](https://gitee.com/ChenYing1996/blogs/issues/I4SKR7) * [webpack怎么分包] * [webpackimport动态加载原理](https://gitee.com/ChenYing1996/blogs/issues/I4RLFR) * [tree shaking原理] * [uglify原理] * [babel原理](https://gitee.com/ChenYing1996/blogs/issues/I4RLJN) * [webpack优化](https://gitee.com/ChenYing1996/blogs/issues/I4SKS1) * [webpack5新特性](https://gitee.com/ChenYing1996/blogs/issues/I4SKS2) * [source-map](https://gitee.com/ChenYing1996/blogs/issues/I4T8OR) #### 网络 * [七层网络模型] * [http、http2.0、http3.0](https://gitee.com/ChenYing1996/blogs/issues/I4QOMV) * [https](https://gitee.com/ChenYing1996/blogs/issues/I4R42C) * [TCP](https://gitee.com/ChenYing1996/blogs/issues/I4QDFC) * [TCP队头阻塞 VS HTTP队头阻塞](https://gitee.com/ChenYing1996/blogs/issues/I4RFJC) * [UDP](https://gitee.com/ChenYing1996/blogs/issues/I4RJME) * [QUIC](https://gitee.com/ChenYing1996/blogs/issues/I4RJNL) * [NDS解析过程](https://gitee.com/ChenYing1996/blogs/issues/I4PUNO) * [CDN的原理是什么](https://gitee.com/ChenYing1996/blogs/issues/I4QUMI) #### 编程冲冲冲 * [发布订阅模式和观察者模式](https://gitee.com/ChenYing1996/blogs/issues/I4SL05) * [函数柯里化- 实现add(1)(2)(3)](https://gitee.com/ChenYing1996/blogs/issues/I4E0WJ) * [实现Promise](https://gitee.com/ChenYing1996/blogs/issues/I4N4PK) * [generator 和 CO原理](https://gitee.com/ChenYing1996/blogs/issues/I4SLG0) * [实现节流防抖](https://gitee.com/ChenYing1996/blogs/issues/I4E43F) * [实现数组去重](https://gitee.com/ChenYing1996/blogs/issues/I4SLL5) * [实现数组展平](https://gitee.com/ChenYing1996/blogs/issues/I4SLLB) * [实现parse方法](https://gitee.com/ChenYing1996/blogs/issues/I4SLLD) * [实现数组深拷贝](https://gitee.com/ChenYing1996/blogs/issues/I4SLHA) * [实现apply、call、bind](https://gitee.com/ChenYing1996/blogs/issues/I4E6EO) * [实现new](https://gitee.com/ChenYing1996/blogs/issues/I4ECLM) * [实现instanceof](https://gitee.com/ChenYing1996/blogs/issues/I4E6NV) * [实现Object.is()](https://gitee.com/ChenYing1996/blogs/issues/I4SLL2) * [手写一个截取url参数然后生成map关系映射的函数] * [koa2洋葱模型手写] * [给定一组url,利用js的异步实现并发请求,并按顺序输出结果](https://gitee.com/ChenYing1996/blogs/issues/I4SLLK) * [实现一个批量请求函数 multiRequest(urls, maxNum)] * [实现JSONP](https://gitee.com/ChenYing1996/blogs/issues/I4SLLG) #### NODE * [require原理] * [node中的事件循环] * [cluster原理] * [流机制] * [pipe原理] * [守护进程] * [进程通信] * [异常处理] * [jwt工作流程] * [express核心原理] * [koa核心原理] #### 浏览器 * [V8工作原理](https://gitee.com/ChenYing1996/blogs/issues/I3OYM1) * [宏观角度下的浏览器](https://gitee.com/ChenYing1996/blogs/issues/I3OYMA) * [Chrome分配渲染进程策略](https://gitee.com/ChenYing1996/blogs/issues/I3QJNJ) * [Chrome浏览器渲染机制内幕](https://gitee.com/ChenYing1996/blogs/issues/I3QNZI) * [解决跨域的方案](https://gitee.com/ChenYing1996/blogs/issues/I3QO1C) * [浏览器的安全](https://gitee.com/ChenYing1996/blogs/issues/I3QO07) * [浏览器的存储](https://gitee.com/ChenYing1996/blogs/issues/I3QO01) * [浏览器的缓存](https://gitee.com/ChenYing1996/blogs/issues/I3QNZX) * [EventLoop 总结](https://gitee.com/ChenYing1996/blogs/issues/I3QNZO) * [什么是 CRP,即关键渲染路径(Critical Rendering Path)? 如何优化 ?] * [从输入url到页面展示的详细过程](https://gitee.com/ChenYing1996/blogs/issues/I4SLUV) #### CICD * [什么是CICD](https://gitee.com/ChenYing1996/blogs/issues/I3QOEF) * [centos7中没有eth0解决方案](https://gitee.com/ChenYing1996/blogs/issues/I3QO9E) * [安装Docker](https://gitee.com/ChenYing1996/blogs/issues/I3QOAL) * [安装jenkins](https://gitee.com/ChenYing1996/blogs/issues/I3QOBT) * [jenkins配置](https://gitee.com/ChenYing1996/blogs/issues/I3QOBX) * [Nexus 制品库的介绍与安装](https://gitee.com/ChenYing1996/blogs/issues/I3QOCK) * [Jenkins 构建前端镜像并上传到制品库](https://gitee.com/ChenYing1996/blogs/issues/I3QOCR) * [Ansible 的介绍和安装](https://gitee.com/ChenYing1996/blogs/issues/I3QODO) * [Ansible 内的概念](https://gitee.com/ChenYing1996/blogs/issues/I3QODZ) * [使用 Ansible 在多台机器部署制品](https://gitee.com/ChenYing1996/blogs/issues/I3QOEB) #### 其他 * [常见图片格式的对比和选择方案](https://gitee.com/ChenYing1996/blogs/issues/I4T8WF) #### 算法 ##### 待做未分类 * [翻转二叉树] * [验证二叉搜索树] * [二叉树的最大深度] * [二叉树的最小深度] * [二叉树的序列化与反序列化] * [二叉树的最近公共祖先] * [从前序与中序遍历序列构造二叉树] * [组合] * [全排列] * [全排列 II] * [整数反转](https://gitee.com/ChenYing1996/blogs/issues/I4LL12) ##### 队列 * [设计循环队列](https://gitee.com/ChenYing1996/blogs/issues/I4JDAQ) * [循环双端队列] * [最近的请求次数](https://gitee.com/ChenYing1996/blogs/issues/I4JFYT) * [亲密字符串](https://gitee.com/ChenYing1996/blogs/issues/I4JH12) ##### 双指针 * [移动零](https://gitee.com/ChenYing1996/blogs/issues/I4F3UO) * [乘最多水的容器](https://gitee.com/ChenYing1996/blogs/issues/I4F4HL) * [三数之和](https://gitee.com/ChenYing1996/blogs/issues/I4F5DD) * [环形链表](https://gitee.com/ChenYing1996/blogs/issues/I4F5DR) * [环形链表的入口节点](https://gitee.com/ChenYing1996/blogs/issues/I4FBWO) * [反转链表](https://gitee.com/ChenYing1996/blogs/issues/I4F5E4) * [两两交换链表中的节点](https://gitee.com/ChenYing1996/blogs/issues/I4FBUT) * [四数之和](https://gitee.com/ChenYing1996/blogs/issues/I4FVYZ) * [删除排序链表中的重复元素](https://gitee.com/ChenYing1996/blogs/issues/I4H594) * [删除链表的倒数第 n 个结点](https://gitee.com/ChenYing1996/blogs/issues/I4H5EJ) * [旋转链表](https://gitee.com/ChenYing1996/blogs/issues/I4H649) * [反转链表2](https://gitee.com/ChenYing1996/blogs/issues/I4H66P) * [分隔链表](https://gitee.com/ChenYing1996/blogs/issues/I4JF2J) * [比较含退格的字符串](https://gitee.com/ChenYing1996/blogs/issues/I4L5ZU) * [两数相加](https://gitee.com/ChenYing1996/blogs/issues/I4LK04) * [回文链表](https://gitee.com/ChenYing1996/blogs/issues/I4MGZQ) * [链表的中间结点](https://gitee.com/ChenYing1996/blogs/issues/I5FK6V) * [重排链表](https://gitee.com/ChenYing1996/blogs/issues/I5FK8G) ##### 堆 * [实现一个大根堆/小根堆] * [最小的k个数] * [前K个高频元素] * [丑数] ##### 递归 * [K 个一组翻转链表](https://gitee.com/ChenYing1996/blogs/issues/I4FHVX) * [二叉树的中序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G7TV) * [二叉树的后序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4LA00) * [二叉树的前序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G7U6) * [二叉树的层序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G8AX) * [N 叉树的后序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G7VB) * [N 叉树的前序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G7VB) * [N 叉树的层序遍历](https://gitee.com/ChenYing1996/blogs/issues/I4G8AS) ##### 栈和队列 * [有效的括号](https://gitee.com/ChenYing1996/blogs/issues/I4F5WB) * [棒球比赛](https://gitee.com/ChenYing1996/blogs/issues/I4KXH6) * [滑动窗口最大值](https://gitee.com/ChenYing1996/blogs/issues/I4FHQR) * [接雨水](https://gitee.com/ChenYing1996/blogs/issues/I4FNKC) * [柱形图中的最大矩形](https://gitee.com/ChenYing1996/blogs/issues/I4FQSH) * [每日温度](https://gitee.com/ChenYing1996/blogs/issues/I4FUD3) * [移除无效的括号](https://gitee.com/ChenYing1996/blogs/issues/I4L9TB) * [基本计算器 II](https://gitee.com/ChenYing1996/blogs/issues/I4LCXL) * [删除最外层的括号](https://gitee.com/ChenYing1996/blogs/issues/I4LF1N) * [字符串解码](https://gitee.com/ChenYing1996/blogs/issues/I4LM4Z) * [最大矩形] * [最短无序连续子数组] ##### 动态规划 * [爬楼梯](https://gitee.com/ChenYing1996/blogs/issues/I4F4IU) ##### 哈希表 * [两数之和](https://gitee.com/ChenYing1996/blogs/issues/I4F4L0) * [有效的字母异位词](https://gitee.com/ChenYing1996/blogs/issues/I4FTAF) * [字母异位词分组](https://gitee.com/ChenYing1996/blogs/issues/I4FTBC)