闪烁之狐
03
09
模块化的发展历程 模块化的发展历程
一、模块化1.1.什么是模块化 模块划就是按照一定的规则把代码封装成若干的相互依赖的文件并进行组合 每个模块内的数据都是私有的,只向外选择性的暴露一些方法和数据与外界进行数据通信 1.2.模块化的意义 有利于代码分享、解耦以及复用 团队并
2023-03-09
01
06
react 虚拟列表之 FixedSizeList 封装 react 虚拟列表之 FixedSizeList 封装
1. 长列表渲染 如果有海量数据在浏览器里一次性渲染会有以下问题 计算时间过长,用户需要长时间等待,体验差 CPU 处理时间过长,滑动过程中可能卡顿 GPU 负载过高,渲染不过来会出现闪动 内存占用过多,严重会引起浏览器卡死和崩溃 优化
2023-01-06
06
浏览器缓存机制介绍与缓存策略剖析 浏览器缓存机制介绍与缓存策略剖析
缓存可以减少网络  IO  消耗,提高访问速度。浏览器缓存是一种操作简单、效果显著的前端性能优化手段。对于这个操作的必要性,Chrome 官方给出的解释似乎更有说服力一些: 通过网络获取内容既速度缓慢又开销巨大。较大的响应需要在客户端
06
安全问题:CSRF 和 XSS 安全问题:CSRF 和 XSS
1 前言 CSRF:基本概念、攻击方式、防御措施 XSS:基本概念、攻击方式、防御措施 有人问:SQL注入算吗?答案:这个其实跟前端的关系不是很大。 2 CSRF2.1 CSRF 的基本概念、缩写、全称 CSRF(Cross-site
04
V8 内存管理(垃圾回收机制) V8 内存管理(垃圾回收机制)
V8 也会申请内存,申请的内存又会分为堆内存和栈内存 1.1 栈 栈用于存放 JS 中的基本类型和引用类型指针 栈的空间是连续的,增加删除只需要移动指针,操作速度非常快 栈的空间是有限的,当栈满了,就会抛出一个错误 栈一般是在执行函数时
03
JS中的继承 JS中的继承
一、原型链继承构造函数、原型和实例的关系: 每个构造函数都有一个原型对象,原型有一个属性指回构造函数,而实例有一个内部指针指向原型。 原型链的基本构想: 如果原型是另一个类型的实例呢?那就意味着这个原型本身有一个内部指针指向另一个原型,相应
2023-01-03
11
16
sentry监控 sentry监控
基本原理 https://github.com/zhilinYu/zhufeng-public/tree/master/%E5%89%8D%E7%AB%AF%E7%9B%91%E6%8E%A7monitor/monitor https:/
2022-11-16
09
16
文化建设 文化建设
公司文化: Open minded and cooperative - 开放合作,虚心自省 Simple and direct communication - 不甩锅,不抱怨 Always seek for truth - 基于事实,追求真
2022-09-16
16
连续数组test1 连续数组test1
题目 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。
2022-09-16
08
17
软件下载 软件下载
脚本之家脚本之家 Navicat Premium15Navicat Premium15安装及破解教程详解亲测有效(附破解失败解决方案)
2022-08-17 高红翔
17
node 工具使用 node 工具使用
nvm 安装和使用 nvm 一个 nodejs 版本管理工具! node 官网 nvm 的简介、安装、使用(简单明了) 安装后,每个命令都失败并显示消息“C:\Users%username%\AppData\Roaming\nvm 找不到或
2022-08-17 高红翔
09
umi4升级 umi4升级
工程已经升级到了 umi4(需要安装pnpm, 然后 pnpm install),下面罗列了一些变动须知: 1、关于包管理器 换成了 pnpm 理由 和 npm 使用方式一致 2、关于 @umijs/max umi 和 @umijs
2022-08-09
10 / 11