自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 前端性能优化完全指南:从入门到实战

在当今互联网时代,用户对页面加载速度的要求越来越高。据统计,页面加载时间每增加1秒,用户流失率会增加11%。作为前端开发者,掌握性能优化技能已经成为必备技能。本文将结合实际项目经验,详细介绍前端性能优化的各种方法。代码分割:合理拆分代码包,避免单个包过大懒加载:非关键资源采用懒加载策略压缩优化:启用代码压缩和图片压缩缓存策略:合理设置缓存策略加载性能:通过资源优化、缓存策略提升加载速度渲染性能:通过虚拟滚动、防抖节流优化渲染效率交互性能:通过合理的事件处理和异步操作提升响应速度网络性能。

2025-09-18 11:03:01 956

原创 前端工程化常见问题总结(二)

例如节省空间的硬链接和符号链接的使⽤ ,这些都有助于提⾼其性。,指单个仓库中管理多个项⽬ ,有助于简化代码共享、版本控。,即使这些依赖包被不同的项⽬所依赖。我们写的每⼀条可以独⽴执⾏的代码都是。快的原因在于其优化的⽂件存储⽅式、依赖管理⽅式以。,根据配置选项进⾏代码验证、检查并修复问题。,变量名、属性名、参数名等各种声明和引⽤的名字。,下⼀次修复则会根据当前修复过⼀次的代码再继。⼀个仓库中多个相关项⽬ ,很容易看到整。各项⽬构建、打包、代码校验都各⾃维护,,多个依赖可能在多个仓库中存在不同版。

2025-08-01 15:27:52 891

原创 前端工程化常见问题总结

使⽤不同的插件可以增强Webpack的功能 ,例如 ,使⽤html-webpack-plugin可以 将打包后的js⽂件⾃动引⽤到HTML⽂件中。⽤于配置排除打包的模块 ,例如 ,可以将jQuery作为外置扩展 ,避免将其打包到应 ⽤程序中。在确定好输出内容后 ,根据配置确定输出的路径和⽂件名 ,把⽂件内容写⼊到⽂件系。出该模块依赖的模块 ,再递归本步骤直到所有⼊⼝依赖的⽂件都经过了本步骤的处理。Chunk转换成单独的⽂件加⼊到输出列表 ,这步是可以修改输出内容的最后机会。使⽤上⼀次得到的参数初始化。

2025-07-28 10:41:55 1038 1

原创 TS学习指南

是 JavaScript 的超集,添加了静态类型系统和现代语法特性,适用于大型项目开发。

2025-04-29 11:30:51 579

原创 Vuex状态管理及其持久化使用指南

npm install vuex@4 # Vuex 4 兼容 Vue 2 和 Vue 3// 持久化插件// 定义子模块(示例:用户模块)namespaced: true, // 开启命名空间state: {age: 18},},},actions: {},getters: {// 主 Storestate: {count: 0,loginStatus: '用户已经登录'},},},actions: {},getters: {

2025-04-29 10:55:39 1149

原创 Pinia 及其持久化插件的完整使用指南

persist: {key: 'my-app-user' // 自定义存储键名persist: {

2025-03-30 20:57:25 2343 1

原创 开源操作系统复习3

移动到第15行( ), 向下复制10行( ),移动文本末尾( ),粘贴( ) ,下面正确做法的指令序列是((1)一般命令模式(编辑模式):yy(复制一行)、p(粘贴)、dd(删除一行)、/(查找)D.touch ./file01 会创建file01文件,并覆盖原有的file01文件。将当前编辑的文件另存为file.bak文件,保存在当前工作目录下,其正确执行的命令是(当前目录中只有一个文件file01 ,关于touch命令,哪些表述是正确的( C )(3)末行模式(命令行模式):w(写入)、q(退出)、!

2025-03-13 21:11:07 620

原创 开源操作系统复习2(知识点+习题)

可以修改目录里的文件,建立新的文件与目录:删除已经存在的文件与目录(不论该文件的权限为何!在Linux系统中,所有的文件、程序或正在运行的进程都从属于一个特定的用户。当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限, 但并不具备有删除该文件本身的权限!rite):可更改目录结构列表的权限,即建立新的文件与目录、删除文件与目录、重命名已经存在的文件或目录、移动该目录内的文件、目录位置。将根目录下的www文件权限改为只有属主用户有执行权限,其他人没有任何权限,其命令是(

2025-03-08 20:36:39 736

原创 开源操作系统复习1(知识点+习题)

传统意义Linux内核用于管理硬件,提供合理的资源分配(CPU、内存、输入输出及文件系统、设备驱动),为便于应用程序开发,提供系统调用层(接口工具),供应用程序与硬件交互。用户登录Linux操作系统后,会开启用户专用进程及相关环境设置,其中包括shell程序,即用户界面环境,通常的shell程序是Bash、csh、sh等。目录中有5个文件,文件名分别为stu.c、stu1.c、stu2s.c、stu3.cpp、stua.sh,执行ls stu*.?shutdown -r time 重启;

2025-03-04 10:54:49 789

原创 Python解力扣算法题十(详解)

给你一个下标从 0 开始的字符串 word 和一个字符 ch。给你一个下标从 0 开始的整数数组 nums ,返回 nums 中满足 i mod 10 == nums[i] 的最小下标 i;给你一个字符串 s ,以及每组的长度 k 和一个用于填充的字符 fill ,按上述步骤处理之后,返回一个字符串数组,该数组表示 s 分组后 每个组的组成情况。请你返回满足 0 <= i < j < n ,nums[i] == nums[j] 且 (i * j) 能被 k 整除的数对 (i, j) 的 数目。

2024-12-18 13:50:00 760

原创 Python解力扣算法题(九)(详解)

例如,(5, 6)和(2, 7)之间的乘积差是(5 * 6) - (2 * 7) = 16。给你一个整数数组nums ,选出四个不同的下标w、x、y和z ,使数对(nums[w], nums[x])和(nums[y], nums[z])之间的乘积差取到最大值。s1[list1[0]], s1[list1[1]] = s1[list1[1]], s1[list1[0]] # 交换不相等字符的位置。给你一个混合字符串 s ,请你返回 s 中 第二大 的数字,如果不存在第二大的数字,请你返回 -1。

2024-11-30 15:50:38 920

原创 Python解力扣算法题(八)(基础题详解)

【代码】Python解力扣算法题(八)(基础题详解)

2024-11-20 15:49:03 941

原创 Python解力扣算法题(七)(详解)

按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i]。# 返回一个长度为 n 的布尔数组 result,如果把所有的 extraCandies 给第 i 个孩子之后,他会拥有所有孩子中 最多 的糖果,那么 result[i] 为 true,否则为 false。# 其中 j 是满足 j > i 且 prices[j]

2024-11-15 18:08:37 801

原创 Python解力扣算法题(六)(详解+注释)

您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。# 排序后的高度情况用整数数组 expected 表示,其中 expected[i] 是预计排在这一行中第 i 位的学生的高度(下标从 0 开始)。# 考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),否则返回 false。

2024-11-05 21:04:58 938

原创 Python解力扣算法题5(详解+注释)

9.假设我们的deck是[1, 2, 2, 3, 3, 3],则经过collections.Counter处理后得到的count将是{1: 1, 2: 2, 3: 3}。# 接下来取列表中的第三个元素3,再次调用gcd(acc, 3),这次acc已经是上次迭代的结果1,所以math.gcd(1, 3)的结果也是1。# 我们就判断goal是否是s+s的子串,如果是,那么就说明goal可以通过旋转操作从s得到,返回True,否则返回False。如果是,则返回 最大元素的下标 ,否则返回 -1。

2024-10-31 15:06:31 938

原创 Python解力扣算法题4(基础)

8.给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复。# 比赛开始时,记录是空白的。# 在这段代码中,Counter(nums)会返回一个字典,其中的键是数组中的数,值是这个数在数组中出现的次数。

2024-10-18 19:02:55 430

原创 Python解力扣算法题3(基础)

具体来说,bin_ans = map(lambda x: '0' if x == '1' else '1', bin_num)这一行中,bin_ans是一个迭代器,它保存了对lambda函数调用的“引用”,所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。# # 而不是直接的结果。# ^是异或,传入两个十进制整数,比较这两个整数对应二进位不同为1,相同为0,拿到处理后的十进制数,bin再将十进制转为二进制(字符串),计算其中1的个数即为答案。

2024-10-18 18:58:25 362

原创 Python解力扣算法题(二)

返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。# 5.这道题目的核心要求是实现一个函数 reverseVowels(s),其功能是在给定的字符串 s中,仅反转所有的元音字母(aeiouAEIOU),但保持辅音字母和其它字符的位置不变。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。# 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。

2024-10-11 19:11:30 663

原创 Python解力扣算法题(基础)

# min(i + k + 1, len(nums))就是规定了在abs(a-b)<=k的范围去找想要的情况,没找到False。# # 在满足abs(a-b)<=k且nums[i] == nums[j]的范围内寻找True的情况都没找到就返回False。请你找出并返回那个只出现了一次的元素。# 1.两个数先倒序,再相加,再倒序,输入的数是由列表组成的,输出的结果也是由列表组成的。# # 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动。

2024-09-25 20:18:20 463

原创 Python学习笔记(十)

以二进制方式读取文件,不支持中文(加上encoding="UTF-8"变成中文),如果还想让二进制变成中文,除了encoding="UTF-8",还可以将读到的内容.decode("utf-8")# f = open("D:\测试.txt", "r", encoding="UTF-8") #写encoding="UTF-8"关键字传参是因为encoding不是顺序第三位。# f = open("D:\测试.txt", "r", encoding="UTF-8")

2024-08-26 11:58:55 487

原创 Python学习笔记(九)

user_info('甜甜', gender='女', age=9) # 可以和位置参数混用,但位置参数必须在前,且符合参数顺序。# user_info(age=10, gender='女', name='潇潇') # 可以不按照参数的定义顺序传参。# print(f"姓名是:{name}, 年龄是:{age}, 性别是:{gender}")# print(f"姓名是:{name}, 年龄是:{age}, 性别是:{gender}")

2024-08-26 11:41:10 329

原创 Python学习笔记(八)

print(f"元组对象的反向排序结果:{sorted(my_tuple, reverse=True)}")# print(f"列表对象的反向排序结果:{sorted(my_list, reverse=True)}")# print(f"字符串对象反向的排序结果:{sorted(my_str, reverse=True)}")# print(f"元组对象的排序结果:{sorted(my_tuple)}")# print(f"元组转元组的结果是:{tuple(my_tuple)}")

2024-08-19 10:05:07 440

原创 Python学习笔记(七)

# 学生的考试信息是:{'王力鸿': {'语文': 77, '数学': 66, '英语': 33}, '周杰轮': {'语文': 88, '数学': 86, '英语': 55}, '林俊节': {'语文': 99, '数学': 96, '英语': 66}}# print(f"字典1的内容是:{my_dict1}, 类型:{type(my_dict1)}") #字典1的内容是:{'王力鸿': 99, '周杰轮': 88, '林俊节': 77}, 类型:<class 'dict'>

2024-08-13 17:43:55 391

原创 Python学习笔记(六)

my_set = {"智慧教育", "大厂程序员", "itmi", "智慧教育", "大厂程序员", "ithmi", "智慧教育", "大厂程序员", "ithmi"}print(f"my_set_empty的内容是:{my_set_empty}, 类型是:{type(my_set_empty)}")print(f"my_set的内容是:{my_set}, 类型是:{type(my_set)}")my_set = {"传智教育", "大厂程序员", "itmi"}

2024-08-10 23:46:02 1525 1

原创 Python学习笔记(五)

print(f"将字符串{my_str}进行split切分后得到:{my_str_list}, 类型是:{type(my_str_list)}")值是:{value2}")# t7 = ("传智教育", "黑马程序员", "黑马程序员", "黑马程序员", "Python")# t8 = ("传智教育", "黑马程序员", "黑马程序员", "黑马程序员", "Python")# print(f"字符串{my_str}被strip('12')后,结果:{new_my_str}")

2024-08-10 23:31:26 369

原创 Python学习笔记(四)

print(f"通过pop方法取出元素后列表内容:{mylist}, 取出的元素是:{element}")# print(f"通过remove方法移除元素后,列表的结果是:{mylist}")mylist = ["第一个元素", "第二个元素", "第三个元素"]# print(f"列表在追加了一个新的列表后,结果是:{mylist}")# print(f"列表被修改元素值后,结果是:{mylist}")# print(f"列表在追加了元素后,结果是:{mylist}")

2024-08-10 23:27:36 1083

原创 Python学习笔记(三)

print("-------------查询余额------------")# print("-------------主菜单------------")# print(f"无返回值函数,返回的内容类型是:{type(result)}")# print("-------------存款------------")# print("-------------取款------------")# print(f"无返回值函数,返回的内容是:{result}")

2024-08-10 11:34:29 397

原创 MongoDB学习笔记(三)

使用Python操作MongoDB:使用管理员用户:

2024-08-08 19:55:02 342

原创 MongoDB学习笔记(二)

2024-08-07 21:23:22 139

原创 MongoDB学习笔记(一)

它文档中不能有重复的键,每个文档都有一个默认的id键,相当于关系型数据库中的主键,这个键的值在同 个集合中必须是唯一的,_id键值默认是Objectld类型,在插入文档的时候,如果用户不设置文档的id值,MongoDB会 自动 生成 一个唯一的Objectld值进行填充。需要注意的是,通常插入集合的数据都具有一定的关联性。上限集合(Cappedcollections)与一般集合的主要区别在于其可以限制集合的容量大小,在数据存满时,可以从头开始覆盖最开始的文档,从而进行循环写入。3.MongoDB的优势。

2024-08-07 17:07:46 466

原创 Hbase学习笔记(一)

2024-08-06 10:02:08 136

原创 关于Redis的集群面试题

Redis支持多个数据库,并且每个数据库是隔离的不能共享,单机下的redis可以支持16个数据库(db0~db15);若在Redis Cluster集群架构下,则只有一个数据库空间,即db0。如果执行的key数量比较少,就不用mget了,就用串行get操作,如果真的需要执行的key很多,就使用Hashtag保证这些key映射到同一台redis节点上。在生产上采用的是Redis Cluster集群架构,不同的key会划分到不同的slot中,因此直接使用mset或mget等操作是行不通的。

2024-08-04 11:10:27 726

原创 NoSql学习笔记(三)

客户端在连接的时候,只需要连接集群中任意一个可用的节点即相当于连接到整个redis的集群,集群各个节点的状态是基于ping pong机制维护者,当某个节点出现宕机,需要出现过半以上的节点认为其宕机才生效。可以给每个节点构建一个哨兵服务,每个哨兵都去监控这个主节点,当主节点出现宕机后,哨兵首先会统计自己对应redis服务停止同步工作,然后哨兵会从众多的从节点中选择一台成为主节点,然后让其余的节点继续担任从节点,但是此时需要各个从节点从新的主节点上同步数据。分别存储在三个节点中。4.redis的哨兵模式。

2024-08-04 10:43:48 313

原创 NoSql学习笔记(二)

redis的数据都是存储在内存中,在内存中的数据,一旦发生宕机或者服务器出现断电的情况,都有可能导致内存数据出现丢失的问题,redis为了保证数据不丢失,提供持久化的方案。此处采用java来连接redis操作:使用java连接redis的客户端框架jedis。频繁的创建连接和关闭连接,是一个既耗费时间也耗费资源的事,一般不建议频繁的构建连接操作。指的是将内存中数据移植在磁盘中进行存储操作,这个过程称为持久化,也称为序列化或钝化。官方推荐,其提供API与redis的命令是一样的,大大降低了学习的成本。

2024-08-01 17:10:53 289

原创 NoSql学习笔记(一)

redis是一款非关系型的nosql数据库,开源免费,基于C语言编写的易可进行持久化的基于内存的key-value型的数据库。

2024-08-01 12:01:45 324

原创 Linux学习笔记(三)

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy语法:cp [-r] 参数一 参数二•-r选项,可选,复制文件夹必须加-r,复制文件加与不加均可•参数1,Linux路径,表示被复制的文件或文件夹•参数2,Linux路径,表示要复制去的地方蓝色的文件是文件夹,黑色是文本文件mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move语法:mv 参数一 参数二•参数1,Linux路径,表示被移动的文件或文件夹。

2024-07-31 13:39:31 570

原创 Linux学习笔记(二)

不过,现在我们还未学习vi编辑器,无法向文件内编辑内容,所以,暂时,我们先通过图形化在图形化中,手动向文件内添加内容,以测试cat命令准备好文件内容后,可以通过cat查看内容。1.当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录我们可以通过cd命令,更改当前所在的工作目录。•同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用Linux系统内置有一个文件,路径为:/etc/services,可以使用more命令查看。

2024-07-29 22:17:02 1050

原创 Linux学习笔记(一)

图形化操作是指使用操作系统附带的图形化页面,以图形化的窗口形式获得操作反馈,从而对操作系统进行操作、使用命令行操作是指使用各种命令,以文字字符的形式获得操作反馈,从而对操作系统进行操作、使用。•-a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)可以看到,ls -a对比ls列出的内容更多了。•在Linux系统中,路径之间的层级关系,使用:/来表示,出现在开头的/表示:根目录,出现在后面的/表示:层次关系。语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。

2024-07-27 21:09:36 558

原创 计算机网络复习题(五)

一、匹配题IJKLMNOPQRS12.T保持计时器I.用于防止过多报文进入网络而造成路由器与链路过载现象的机制。J.TCP连接建立的过程。K.TCP连接释放的过程。L.分配给标准的Internet服务的进程标识。M.客户进程使用的进程标识。N.源主机进程与目的主机进程之间建立的连接。O.由IP地址与对应的进程号组成的标识。P一种不可靠的、无连接的传输层协议。Q.UDP校验和校验的对象除了原有报头之外增加的部分。

2024-07-26 17:19:13 1005

原创 计算机网络复习题(四)

10.某企业分配给人事部的IP地址块是10.0.11.0/27,分配给企划部的IP地址块是10.0.11.32/27,分配给市场部的IP地址块为10.0.11.64/26,那么这三个地址块经过聚合后的地址是( A )。1.如果目的网络、目的主机都对,但是IP分组携带的是TCP报文,而目的主机使用的是UDP协议,那么目的主机在丢弃该分组之后,向源主机发送的ICMP报文的类型是( C )。G.使用隧道技术,利用公用的互联网,使一个机构中分布在不同场所的主机能够象使用本机构的专用网那样进行通信。

2024-07-26 16:58:33 964

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除