- 博客(138)
- 资源 (1)
- 收藏
- 关注
原创 html中img标签直接使用border-radius时会图片进行了遮挡
该问题是我写完项目之后,UI走查发现的问题,虽然我也发现了问题,但是改起来,不好改,就耽搁了。后面UI还是要求要改。clip-path属性可以对标签进行裁剪,不会影响里面的内容布局;使用clip-path是解决方案的一种,其实也可以通过div标签包裹住img即可;一是因为多了一个标签,多一个还不如少一个,二是因为我有多个这个情况,不可能每个都写一个div标签,这样工作量也很大;综上两个原因,我把此方案放在了下下策。
2025-03-31 22:52:39
408
原创 VUE3项目VITE打包优化
我相信认真看完,还是有收获的,我自己全流程亲测,断断续续花费了我半个月时间,从设想到一步一步拆解实现,然后在生产环境启用,很有收获。文件压缩率高达90%左右 响应速率提升高达85%左右。
2025-03-25 23:31:02
642
原创 纯vue手写流程组件
网上有很多的vue的流程组件,但是本人不喜欢很多冗余的代码,喜欢动手敲代码;刚开始写的时候,确实没法下笔,最后一层一层剥离,总算实现了;大家可以参考我写的代码,可以拿过去定制化修改(因为每个项目的UI风格不一样,更多是样式的不一样);关于功能,多一些点击事件呀什么的,我相信对大家来说是问题不大的,难度的部分是怎么画出来;下面的代码支持vue2也支持vue3,只不过是选项式,反正都支持。不喜欢的,可以稍微改下script部分,改成组合式API就好了。
2025-03-21 22:24:11
677
原创 fontTools工具的使用介绍
python工具库fontTools,我是用来压缩前端字体的,优化前端请求速度的;使用的过程中,遇到了不少的坑,把这个过程记录下来,防止再犯。
2025-03-20 20:02:06
295
原创 实现前端.ttf字体包的压缩
平常字体包都有1M+的大小,所以网络请求耗时会比较长,所以对字体包的压缩也是前端优化的一个点。但是前端如果想要特点字符打包成字体包,网上查阅资料后,都是把前端代码里面的字符获取,但是对于动态的内容,是没有进行处理的。
2025-03-19 20:53:34
382
原创 在windows系统上安装pyenv-win控制python版本
习惯了nvm控制node的版本,python也想这这样,以后python版本自由切换;pyenv-win看名字也知道,只支持windows;
2025-03-18 17:28:31
342
原创 在Linux系统上安装nvm控制node版本
如果node版本太大,如18.19.0,可能会有问题,需要找其他办法解决。输入命令后,需要等一会(1分钟左右),才会下载。启动了之后,才可以全局使用nvm命令。
2024-12-04 10:28:20
419
2
原创 Vue3版本的uniapp项目运行至鸿蒙系统
注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行;按照如下图片点击,快速升级皆可。
2024-11-04 09:35:19
781
原创 Vue2怎么实现代码混淆
webpack4.x 使用2.x的 webpack-obfuscator。webpack5.x 使用3.x的 webpack-obfuscator。我的版本是4.x,使用的是如下版本。
2024-09-25 23:54:04
848
原创 Python实现国密GmSSL
首先我是找得到的gmssl库,经过实操,发现公钥与密钥不能通过pem文件得到,就是缺少导入pem文件的api。这个库的私钥与密钥是16进制的字符串编码,如果是想用这个,我就推荐几个网站吧。在线生成SM2的密钥对的网站gmssl因为我是需要需要通过pem导入的,所以这种方法不适合我。
2024-05-21 00:11:42
2348
6
原创 前端高度变化实现过渡动画
* 必须将子元素的最小高度设置一下,不然没有效果,因为0fr选取的就是文字自动撑开的高度 *//* 反正动画一直在,可以写好动画 */// 如果去掉这句话,那么动画就不会生效。/* 将父设置为grid布局 *//* 设置子高度为0fr *//* 设置子高度为1fr *//* 过度动画持续1s *//* 过度动画持续1s *//* 过度动画持续1s *//* 恢复到原本大小 *//* 初始最大高度 *//* 最终最大高度 *//* 恢复初始高度 */// 恢复最开始的状态。/* 初始高度 */
2023-09-14 08:45:00
2718
原创 uniapp-TypeError: Cannot convert undefined or null to object
错误原因摇摇头就知道了,就是下载的某些依赖的不适配;项目里面的文件就是用来锁住相关版本信息的;在以前的项目中,我经常删除和yarn.lock这些垃圾文件,因为之前没有出现过这样的问题,这次我就删掉。之后就出现了一些列的问题。
2023-04-20 10:15:45
5095
原创 box-shadow的使用
属性解释x-shadow必需的,水平方向偏移的距离,正数则向右,负数向左y-shadow必需的,垂直方向偏移的距离,正数则向下,负数向上blur可选,阴影向内的模糊半径,正数有效,负数无效 (默认0)spread可选,阴影向外的拓展半径,正数放大,负数缩小(默认0)color可选,阴影的颜色值(默认黑色)position可选,外阴影(默认不填)和内阴影(inset)初始化
2022-10-18 17:51:35
738
原创 JavaScript-?.、??、??=、,运算符
在非对象的变量中使用?.,就会返回undefined。如果在??左边是null或者undefined的时候,返回右边的结果。注意:在的版本下,使用??=会报错;??=就是当左边是null或者undefined的时候,赋值右边的结果。,运算符从左到右依次计算,然后返回,最右边的结果。
2022-10-18 13:18:01
864
原创 Uniapp入门
使用Vue.js语法(标签靠近小程序的规范)进行移动端开发的一个框架,只需要编写一套代码,就可以发布在不同的平台(iOS、Android、H5以及各种的小程序)。
2022-09-20 11:19:19
782
原创 JavaScript-Object.defineProperty函数
JavaScript-Object.defineProperty函数语法解释例子语法Object.defineProperty(obj, prop, descriptor)obj: 要操作的对象prop: 要操作的对象的属性名字descriptor: 官方文档给的名字是描述符,我更喜欢叫他为配置对象descriptor配置对象中的所有参数参数 默认值 作用 配置属性 存取数据configurable false 为true时,以后才能修改属性(prop)的配置 ✔ ✔enumer
2022-08-02 16:27:24
217
原创 leetcode-208. 实现 Trie (前缀树)
208. 实现 Trie 前缀树题源知识点前缀树思路代码PythonJavaScriptJavaC题源208. 实现 Trie (前缀树)知识点前缀树前缀树或者说是字典树,都是一个意思。它是一个多叉树Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。前缀树,对于大数据很有用,利用字符串的公共前缀来减少查询时间,最大限度地减少和字符串的直接比较。这道题目的多叉树设计如下:思路就如上图的一样,isEnd判断是否存在单词,其余26个是一
2022-05-01 18:06:50
3118
原创 JavaScript-标签语句
标签语句来源?是什么?怎么用?注意来源?标签语句是我看JavaScript高级程序设计这本书查漏的,一般写代码很少用到这个,现在到这里总结一下。是什么?标签语句配合break或者continue使用,这个标签的作用起的是一个代码块的作用。怎么说呢,就是标签把这一整块当作一个代码块。怎么用?用例子来理解吧block: for(let i = 0; i < 10; i++){ for(let j = 0; j < 10; j++){ console.
2022-04-25 17:34:29
2589
原创 JavaScript-Number对象的总结
Number对象的总结语法Number类属性.MAX_SAFE_INTEGER.MIN_SAFE_INTEGER.NaN.EPSILON.prototype.MAX_VALUE.MIN_VALUE.NEGATIVE_INFINITY.POSITIVE_INFINITYNumber类方法.isNaN().isFinite().isInteger().isSafeInteger().parseFloat().parseInt()Number实例方法.toExponential([value]).toFixed(
2022-04-21 15:33:10
1497
原创 leetcode-479. 最大回文数乘积
479. 最大回文数乘积题源知识点思路代码pythonjavascriptjavaC题源479. 最大回文数乘积知识点枚举 + 数学暴力思路虽然这道题目是暴力,但是暴力有两种:第一种:先2个n位数乘积,然后判断是否为回文整数。第二种:枚举从大到小的回文整数,再去判断是否可以被整除。我选的是第二种,第一种我也不知道能不能过。代码pythonclass Solution: def largestPalindrome(self, n: int) -> in
2022-04-17 08:56:49
718
原创 JavaScript-数组.reduce方法总结
JavaScript-数组.reduce方法总结.reduce语法参数例子数组累加二维数组转换成一维数组数组去重参考资料.reduce语法.reduce(function(previousValue, currentValue, currentIndex, array){ /* 代码 return xx */}, initialValue)有返回值,不会改变当前数组参数function(previousValue, currentValue, currentIndex, array):返
2022-04-14 10:51:43
777
原创 leetcode-357. 统计各位数字都不同的数字个数
357. 统计各位数字都不同的数字个数题源知识点思路代码pythonjavascriptjavaC题源357. 统计各位数字都不同的数字个数知识点数学 - 排列组合思路刚开始拿到这一题,我差点想去枚举,然后累加个数,后面想想算了,肯定没有那么拉跨。后面发现就是一道简单的排列组合:求n位且各个位数的数字互不相同的个数:最高位不能为0,即只有9种,次高位排除最高位然后可以为0,则为9种,下一层则为8种…这道题目,则就是一个简单的递归:f(0) = 1f(1) =
2022-04-11 23:48:24
1986
原创 leetcode-780. 到达终点
780. 到达终点题源知识点思路代码pythonjavascriptjavaC题源780. 到达终点知识点逆向思维 + 二叉树因为我们如果从正向想的话,其实就是一个二叉树 - (x, x + y) (x + y, y);然后我们从(tx, ty)开始想,那么上面就是要么(tx - ty, ty)或者(tx, ty - tx),因为109 >tx,ty > 0;故必须是大的减小的,如果小的减去大的,则为负数,不符合题意。思路递归求解定义出口每一次大的减去小的
2022-04-10 23:11:36
1619
原创 leetcode-954. 二倍数对数组
leetcode-954. 二倍数对数组题源知识点思路代码pythonjava、C、JavaScript待添加代码题源954. 二倍数对数组知识点哈希表对于哈希表,我有了新认识,以前我感觉哈希是哈希,数组是数组,虽然现在我也是这样理解的;但是我发现哈希表也是通过索引来查找的,和数组的查找差不多,只不过数组中的索引只能是大于登录0的整数,而哈希表中即可以满足大于登录0的整数的数组特性,还可以是其他类型的数。哈希中的索引是通过哈希算法得到的。排序对于这道题目来说,排序也至关重要,因为
2022-04-01 09:51:06
2332
原创 python-pdf的去水印操作
python-特殊pdf的去水印操作为什么做出这个?原理特色成果安装依赖代码想法参考文献为什么做出这个?就是有时候从网上下载的资料中的pdf有水印,看着不舒服。比如说我从网上下载的试卷,然后去打印店打印,打印之后水印看着很不舒服,而去水印wps要会员,而我是一个程序员,为什么不做一个呢,何乐而不为。虽然最后是做出来的,但是还是有限制。原理把pdf转化为图片,然后将图片去水印。图片去水印,是又条件限制的,必须水印的颜色和pdf中文字的颜色的rgb相差很大,然后把水印的颜色改变成背景颜色。
2022-03-31 17:04:33
3134
原创 python-普通pdf的添加水印
python-普通pdf的添加水印创建需要的水印模板wps创建输出pdfpython配置安装依赖代码问题感悟创建需要的水印模板wps创建输出pdf水印pdfpython配置安装依赖pip install PyPDF2代码import osfrom PyPDF2 import PdfFileReader as prfrom PyPDF2 import PdfFileWriter as pwdef write_watermark(watermark_pdf_path: s
2022-03-29 15:00:18
2020
2
原创 leetcode-2024. 考试的最大困扰度
leetcode-2024. 考试的最大困扰度题源知识点思路代码JavaJavaScriptpythonC题源2024. 考试的最大困扰度知识点滑动窗口思路滑动窗口,是用双指针而形成的,指针都是从最左边开始的,再次右指针一直右移动,而左指针对条件进行判断('T'或者'F'的数目的最小值与k比较),因为是判断,则左指针和右指针的差一定是越来越大,而不会缩小。代码Java在写java的时候,习惯新把字符串当作数组来用。在java里面数组是数组,字符串是字符串。Map集合中,需要
2022-03-29 10:22:53
1696
原创 leetcode-2028. 找出缺失的观测数据
leetcode-2028. 找出缺失的观测数据题源思路代码pythonjavaCJavaScript题源2028. 找出缺失的观测数据思路刚开始我用了错误的思路(是错误的哦,看看就可以了):先算出剩余数的平均值,然后再在平均值里面把小数取出来,算剩余的和(用剩余的小数乘以缺失的n份),然后就可以得到平均多少个里面有一个多一。我说的不太清楚,也没有关系,反正这是一种错误思想。因为少考虑无限穷小数。正确的思想:算出缺失的n份中,剩余的总数nSum;当nSum大于最大点数6和n的相乘或者n
2022-03-27 12:08:14
1853
原创 python-文字pdf转换为图片pdf
为什么会做这个?因为我们把word转化为pdf,wps默认转化为文字pdf,而图片pdf要会员。网上确实也有网站可以实现免费的,但是未必安全。思路我看了网上的很多代码,都是先把文字pdf先转化为图片,然后再组装成pdf文档。我的思路也是这样的。但是我和他们很大的不一样就是,我不需要先把图片保存起来再提取,而我只需要把图片的信息先存起来,再输出pdf。代码import osimport fitzdef single_wordpdf_to_imgpdf(pdf_path: str)
2022-03-25 17:28:50
892
原创 leetcode-172. 阶乘后的零
leetcode-172. 阶乘后的零题源思路代码JavaScriptpythonjavaC题源172. 阶乘后的零思路刚开始拿到这一题,我先想到的就是10 * 1 = 10;5 * 2 = 10,然后就按这个思路想,但是后面可以把10 * 1 = 5 * 2 * 1 = 5 * 2 = 10。题目其实就是计算5和2的个数,但是根据题意,很明显2个个数一定比5多,所以只需要计算5的个数。该怎么去求呢,其实每一次在相差5的区间中,必定有一个5的倍速的数,所以就可以已5为间隔进行求5的个数的
2022-03-25 08:11:12
2346
原创 python-计算文件夹里面的视频总时间
为什么想做这个有时候学习的时候,离线看视频,想知道总视频的时间,从而盘算好每天看多少个视频,或者每天看多久。代码展示先安装moviepy依赖pip install moviepy代码import osfrom moviepy.editor import VideoFileClip as vfcimport timedef folder_movie_files(folder: str) -> list[str]: # 一个文件夹里面有多少视频文件 movie
2022-03-24 19:06:22
2073
4
原创 python-计算文件夹里的.pdf文件的总页数
为什么做这个?因为有时候我们需要打印,需要知道自己的总页数然后算钱。如果有word,毕竟去打印店,转化为.pdf打印好些。代码展示先安装PyPDF2依赖pip install PyPDF2代码from PyPDF2 import PdfFileReader as primport osdef single_pdf_count(pdf_path: str) -> int: #计算单个pdf的页数 count = 0 try: f =
2022-03-24 17:25:17
1879
原创 nodejs-对redis数据库进行封装
环境redis4.0代码/*** @Author kjprime* @description redis数据库模块*/const redis = require('redis')const redis_config = { host: 'ip', port: 'port', password: 'password', number: number,}const url = `redis://:${redis_config.password}
2022-03-24 10:18:01
1055
原创 leetcode-440. 字典序的第K小数字
这里写目录标题题源知识点字典序10叉树前序遍历写代码先明白需求想法代码思路(n = 13, k = 2)代码题源440. 字典序的第K小数字知识点字典序就是按单个字符排序,先比较同级字符,再比较下一个字符。也就是我们常说的比较字符串的大小,就是用的字典序。例如:1 > 10 > 16 > 2a > aa > ab > b10叉树前序遍历根左右写代码先明白需求暴力枚举是不可能通过的,毕竟数据达到了上亿。想法我们就是
2022-03-23 12:00:30
1864
原创 react打包项目并且部署到Linux服务器上
打包react项目在命令行输入npm run build会在项目中生成build文件夹在测试环境上运行在原react的包中添加依赖npm install serve --save然后可以自定义端口启动(默认3000)serve -s build -p 8380部署到Linux系统别把原来react项目包上传到服务器,自己可以把build文件夹拿出来,重新放入一个新的文件夹中。package.json文件可以这样写{ "name": "react",
2022-03-21 21:53:13
3481
node_form.zip
2020-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人