自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逆水行舟,不进则退

当你丧失好奇心的时候,你已经开始变得平庸

  • 博客(315)
  • 收藏
  • 关注

原创 调用百度翻译api批量翻译文本,python脚本实现

【代码】调用百度翻译api批量翻译文本,python脚本实现。

2024-05-29 13:43:43 246

原创 nodejs工具脚本json转excel

js json 转 excel

2024-04-19 20:08:09 362

原创 canvas星空粒子特效

canvas星空粒子特效

2024-04-18 18:00:00 202

原创 typescript实现一个简单的区块链

上面的代码定义了一个名为 Block 的类,并为其添加了五个属性,分别是 index,timestamp,data,previousHash 和 hash。其中,index 表示区块在区块链中的位置,timestamp 表示区块生成的时间戳,data 表示区块中存储的数据,previousHash 表示前一个区块的哈希值,hash 表示当前区块的哈希值。上面的代码中,我们首先获取最新的区块,然后将其哈希值赋值给新的区块对象的 previousHash 属性。最后,将新的区块对象添加到 chain 数组中。

2023-10-19 16:18:42 405 1

原创 封装localStorage,支持切换存储引擎 sessionStorage,支持vue hook方式调用

【代码】封装localStorage,支持切换存储引擎 sessionStorage,支持vue hook方式调用。

2023-10-08 17:26:28 336

原创 基于el-tooltip组件封装超出显示省略号,鼠标hover显示tooltip的组件

基于el-tooltip组件,实现一个超出行才显示hover tip的组件。

2023-09-15 14:47:11 227

转载 在github上快速找到自己评论过或者发布过的问题

通过在GitHub搜索中放入is:issue involves:my-username(此处是你的github名)来实现此目的。我在github某个项目想的某个问题下发布了提问,后来我解决了这个问题,然后我想快速找到这个问题,并把我的解决办法放到上面,在github上快速找到自己评论过或者发布过的问题。此时会找到你参与的所有问题。

2023-09-01 11:31:30 1034

原创 vue3渲染函数h的简单使用——定义局部组件

h函数返回的是 Vnodes,无法直接在template使用,需要用一个组件render接收。使用看demo。

2023-08-31 10:17:00 1011

原创 CSS transform:rotate;无效问题

一度任务样式被覆盖了,样式不生效没选中元素的class。但是设置hover改变大小是生效的。今天遇到一个奇怪的问题,CSS给 icon图标设置一个hover 旋转180deg的效果,不生效。

2023-08-09 11:39:54 1282

原创 JS中判断是否是用new调用函数

有时候我们在开发组件或者插件的过程中,会需要去判断一个函数是否是是用new关键字来调用,如果是则做一些业务处理,否则抛出异常。那么在JS中我们该怎么去判断呢🤔?

2023-08-03 10:20:10 549

原创 自用vscode neovim插件配置文件 init.vim

系统文件生效的配置文件存放不同,window系统的配置目录 在。和在 vscode 中使用 neovim 使用不同的配置文件。这样配置是为了区分 terminal 中使用 neovim。注意 window系统生效的配置文件。

2023-07-06 09:42:14 1815

原创 vscode 快速修复(quick fix) 快捷键(Ctrl + .)被占用问题解决方法

vscode 快速修复(quick fix) 快捷键(Ctrl + .)被占用。,与 vscode 快速修复(quick fix)快捷键冲突。切换到微软拼音,在输入法。取消中/英文标点切换。再点设置 - 按键。

2023-06-28 20:08:34 2756

原创 vue项目国际化方案vue-i18n,i18n-all使用

这个库也是比较多管理后台使用的国际化方案。用它就对了,详情看下官网。配置文件,需要自定义语言文件目录的项目,需要配置相关参数,才能生效。vscode 插件,使用 i18n-ally ,可以多语言开发。注意:需要配置 vue-i18n 工具使用预览才生效。vue国际化一般使用。

2023-06-26 18:54:41 704

原创 wezterm 自用配置,修改默认打开终端

wezterm 是一款比较好用的跨平台终端软件。windows自带的cmd和powershell,实在太丑了,不喜欢使用。改用这款挺好用的。wezter + bash(git for windows)

2023-06-06 19:18:48 2187

原创 手写Promise

面试题:手写实现Promise

2023-03-14 16:38:41 82 1

原创 js面试题版本号排序问题

js面试题,版本号排序问题。

2023-03-09 19:24:04 92

原创 初识虚拟DOM渲染器

首先简单说一下什么是虚拟DOM,虚拟DOM就是一个描述真实DOM的JS对象。渲染器就是把虚拟DOM渲染成真实DOM的功能代码。

2023-03-06 19:39:35 471

原创 小程序瀑布流实现

瀑布流布局,一般等宽,不等高的列表排列原理是找出高度之和最小的那一列,在高度最小列继续添加元素可以通过absolute定位实现,动态计算每一项的top和left。

2022-11-30 11:42:08 1467 1

原创 js栈数据结构的实现与简单实现任意进制转换

栈(Stack)是一种遵循后进先出的原则(LIFO)的有序集合。新保存的或待删除的元素保存在栈的同一端,称作栈顶,另一端叫栈底。操作栈数据都是在栈顶操作。中学数学学过,十进制转二进制,利用的是除余法。得到的余数,逆序串起来就是二进制的转换结果。在十进制转二进制的基础上扩展,允许自定义除数。在js中,可以用数组的。

2022-11-06 17:26:25 169

原创 Charles 抓包工具实用教程

遇到过很多调试场景不是在本地环境,比如移动端线上环境、一些第三方客户端环境,调试问题往往比较困难。这种情况可是实用抓包工具抓包调试,查看请求数据,对调试十分有帮助。此文介绍如何使用Charles抓包工具。本人使用过 Fiddler 抓包,再使用 Charles 抓包工具,发现 Charles 工具更好用,而且比 Fiddler 更稳定。

2022-10-18 13:45:27 993

原创 vue2旧项目迁移到vite开发,提升编译效率

旧项目太庞大,每次开发都很费时间,保存预览一次需要3-4s的时间。已经升级用 webpack4的情况下,项目最早是 webpack3,编译一次,7-10s的时间,大大影响效率。想着再用vite升级一下开发效率。

2022-09-20 19:27:27 1413

原创 小程序工程化实战 + webpack

基于webpack5,支持es6、Promise、async/await、scss、less,支持云开发,实现工程化打包小程序项目的脚手架,可直接应用到生产环境。

2022-07-12 10:20:18 595 1

原创 记一次webpack3升级到webpack4的实践过程

但是随着时间的推移,这种优化产生的效果越来越弱化,手上的项目体积越来越大,对本地开发热更新速度和生产打包发布速度都有了很大的影响。webpack3升级到webpack4迫在眉睫,这篇博文将记录一些我在升级过程中遇到的坑。......

2022-07-07 20:40:53 854

原创 小程序jsencrypt不兼容处理一步步“调教”jsencrypt过程,调到服为止

什么是RSA加密,详情可以百度。简单来说 RSA加密算法是一种非对称加密算法。是一种通过公钥加密,私钥解密的非对称加密方法。一般公钥对外暴露,私钥私密保存,只有正确的私钥可以解密出正确的内容。jsencrypt 是一个基于rsa加解密的js库。jsencrypt是不兼容小程序的,因为小程序没有window对象。如果需要在小程序中使用需要修改源码,进行适配小程序。本文不仅介绍如何适配,还介绍如何一步步调式适配的过程。......

2022-07-06 11:15:20 1356

原创 nodejs利用nodemail库,发邮件

由于工作需要,经常需要发邮件,每次频繁发送的邮件大部分内容都是相同的,觉得每次打开邮箱编辑写信比较烦。本着 DRY 的原则,为什么不学一下 自动发邮件的nodejs脚本呢?开干。准备nodejsnpm install nodemailer 发送邮件的库npm i pug 使用pug模板,写email模板发送邮件脚本const path = require('path');const fs = require('fs');const nodemailer = require("node.

2022-05-30 11:50:06 851 4

原创 配置 `git hooks` 安装 husky@7 钩子+`lint-staged@12 格式化缓冲区的内容

问题先行git hook husky 不生效问题v4 版本及以上 在 package.json 中配置 husky 字段已经不可用。Why husky has dropped conventional JS config 放弃了传统的js配置。如果您使用Windows,那么husky只会使用系统上全局安装的版本。这里需要在全局安装 husky配置 git hooks 安装 husky @7 钩子+lint-staged @12 格式化缓冲区的内容git 版本 > 2.9.0

2022-05-26 15:55:47 1053

原创 nodejs tar 打包脚本,打包压缩文件文件夹

用nodejs打包压缩文件准备工作:nodejsnpm i tar 安装 tar 包,用于打包压缩,命令类似 linux 下的 tarconst fs = require('fs')const path = require('path')const tar = require('tar')function cleanFile(pathStr) { if (fs.existsSync(pathStr)) { const stat = fs.statSync(pathStr)

2022-05-24 17:21:09 3028 2

原创 jenkins 部署 vue(nodejs)打包项目

jenkins 部署 vue(nodejs)打包项目准备:jenkinsjenkins 插件 Git Parameter Plugin 参数化构建过程jenkins 插件 ssh Publisher 远程部署全局配置好 ssh 远程服务器,测试联通「可选」全局配置,git 仓库,或者 项目配置 git 仓库,建议使用 token 访问仓库配置 pipeline 项目def url = "https://oauth2:Lxxxxxxxxxxxxxx@gitlab.xxxx.com/goo

2022-05-23 14:25:09 953

原创 小程序全局配置分享好友/朋友圈,可带参数

小程序全局分享配置App({ onLaunch: function(options) { this.onShareAppMessage() }, onShareAppMessage() { // 监听路由变化 wx.onAppRoute((res) => { const page = getCurrentPage() if (page) { // 这里和下面 onShareAppMessage,

2022-05-12 14:53:07 1440

原创 用node写一个压缩文件的脚本

文章目录用node写一个压缩文件(zip格式)的脚本注意推荐 tar用node写一个压缩文件(zip格式)的脚本缘起日常的发包没有运维自动化,本着不要 DRY 的原则,重复的流程应该写成自动化或半自动化的方式。安装依赖 npm i --global archiver实现逻辑思路:从路径读取文件(或目录),交给 archiver 处理压缩,输出结果const fs = require('fs')const path = require('path')const archiver = re

2022-03-01 10:44:19 526

原创 JavaScript 断点调试技巧

Contents1 为什么要使用 debugger2 Chrome debugger 基本用法3 VS Code 调试 SPA 应用4 Chrome 调试 Nodejs5 使用 VS Code 调试 Nodejs6 Conditional Breakpoint 条件断点7 总结JavaScript 断点调试技巧我认为 【Conditional Breakpoint 条件断点】非常有用,在调试循环体的时候。学到了之前没学过的debugger技巧。...

2022-01-21 09:04:41 698

原创 原生js实现瀑布流效果

原生js实现瀑布流效果效果图:代码:<!-- 样式部分 --><style> * { margin: 0; padding: 0; } #box { position: relative; height: 1000px; } img { display: block; width: 220px; background-color: #ccc; } .item { box-sh

2022-01-11 11:47:01 150

原创 一款更快的 git clone GitHub 源码 cli 工具

文章目录说明一款更快的 git clone GitHub 源码 cli 工具安装使用说明一款更快的 git clone GitHub 源码 cli 工具原理是使用了国内的镜像代理,每次使用git前要修改镜像地址觉得麻烦,就封装到cli工具中,方便使用安装npm i -g fast-git-cloneoryarn add -global fast-git-clone使用fast-git-clone 的使用和 正常的 git clone 子命令一样正常使用fast-git-clone c

2022-01-08 17:52:47 484

原创 写一个nodejs脚本上传打包dist目录

Introductionnodejs 脚本实现上传前端打包目录 dist。用到 ssh2-sftp-client 这个包实现上传功能。在项目根目录运行 upload-dist 把打包后的 dist 目录上传到服务器服务器上的 dist 目录内容会被清空后,再上传Installationnpm install -D @hotsuitor/upload-dist# oryarn add -D @hotsuitor/upload-distExample在项目根目录下新建 .env.loca

2022-01-08 17:49:06 1090

原创 nodejs 实现上传文件

如果我看得比别人更远,那是因为我站在巨人的肩膀上——艾萨克·牛顿没有使用原生 nodejs 实现上传文件,调用了现成的 ssh2-sftp-client 库,实现 sftp 链接,并进行文件操作。Introductionnodejs 脚本实现上传前端打包目录 dist。用到 ssh2-sftp-client 这个包实现上传功能。在项目根目录运行 upload-dist 把打包后的 dist 目录上传到服务器服务器上的 dist 目录内容会被清空后,再上传Installationn.

2021-12-23 10:17:16 1142

原创 npm publish 发布遇到错误 E426、E403

npm publish 发布遇到问题npm login 登录错误 426npm ERR! code E426npm ERR! 426 Upgrade Required - PUT http://registry.npmjs.org/-/user/org.couchdb.user:hotsuitor需要设置 registry 地址 而且是需要 https,有坑:这里设置成 http 地址的仓库地址还是会报同样的错误npm config set registry https://regis.

2021-12-23 10:10:17 2681

原创 如何把图片转换成渐进式图片

优化图片加载体验,可以把图片改为渐进式图片。加载效果是先模糊,再清晰。如果把图片转成渐进式图片呢?PS 编辑修改代码转换import osfrom PIL import Image # pip3 install pillowdef handleImage(origin_file_path, progressive_file_path): """ 处理图片为 渐进图。等价于在PS中“存储为web所用格式”,打开后选择“连续”就是渐进式JPEG。 """ .

2021-11-26 10:37:21 1859

原创 js判断一个数是否整数,同理可判断一个数是否带小数

这篇看看如何判断为整数类型(Integer),JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示,和Java的double类型一样。但实际操作中比如数组索引、位操作则是基于32位整数。方式一、使用取余运算符判断任何整数都会被1整除,即余数是0。利用这个规则来判断是否是整数。12345function isInteger(obj) {return obj%1 === 0}isInteger(3) // trueisInteger(3.3) // false 

2021-11-04 09:58:30 870

原创 yarn、pnpm、npm script传递参数的方式

Yarn 和 pnpm(或npm) 调用命令时接收参数的方式不同,例如,在如下 package.json 配置中:{ "scripts": { "command": "modern command" }}当需要执行 modern command --option :使用 Yarn 时,需要执行 yarn command --option。使用 pnpm 时,需要执行 pnpm run command -- --option。这是因为 pnpm 对于命令参数的处理与 Yarn 并不相同

2021-11-04 09:47:16 2677

原创 vim从入门到进阶学习笔记

文章目录参考手册vim模式vim编辑技巧移动大法 normal模式vim快速增删改查搜索替换多文件操作vim文本对象(Text Object)vim复制粘贴和寄存器insert模式下的复制粘贴寄存器vim 宏(macro)vim补全大法给vim换配色vim文件目录和搜索插件文件内容快速定位编辑成双成对 `vim-surround`强大的模糊搜索与替换插件vim-go插件neovim课程总结参考手册中文参考手册入门参考vim模式V (大V) 选择当前行ctrl+v 进行方块操作vim编辑

2021-08-12 17:05:13 354

空空如也

空空如也

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

TA关注的人

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