- 博客(139)
- 资源 (6)
- 收藏
- 关注

原创 Nginx停止服务和各种命令
1.停止Nginx服务的四种方法从容停止服务这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。nginx -s quit立即停止服务这种方法比较强硬,无论进程是否在工作,都直接停止进程。nginx -s stopsystemctl 停止systemctl属于Linux命令systemctl stop nginx.servicekillall...
2018-10-31 19:20:42
165153
2
原创 项目埋点统计
例如:统计界面离开,使用监听浏览器的 beforeunload 事件,发起请求统计,采用异步的话接口通常无法返回,在Network中会报错;同步请求导致界面需要等待接口返回后才能关闭浏览器; 基于这种情况浏览器提供了sendBeacon方法。了解sendBeacon// 1. DOMString类型,该请求会自动设置请求头的 Content-Type 为 text/plainconst reportData = (url, data) => { navigator.sendBeacon(ur
2022-04-02 16:13:18
434
原创 nohup npm运行查看日志
nohup永久启动js(个人感觉没有pm2好用)参考文档nohup node server.js &nohup 加在一个命令的最前面,表示不挂断的运行命令& 加载一个命令的最后面,表示这个命令放在后台执行查看后台运行的命令有两个命令可以来查看,ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务,换了终端就看不见了。而ps命令适用于查看瞬时进程的动态,可以看到别的终端的任务。jobsps -aux|grep java(服务名) ps .
2022-03-09 09:00:00
1047
原创 Navicat15安装使用
本安装流程适合各个版本Navicat安装从网络下载Navicat及注册机点击这里链接: https://pan.baidu.com/s/1Fh4BMQF3PlUMT4_RlfBt0A?pwd=ph2h提取码: ph2h1.删除系统自带的杀毒软件,例如360,电脑管家,Windows Defenderwindow10的 Windows Defender 为例:【win + i】进入windows设置 点击【更新和安全】-》【windows安全中心】右边进入【病毒和威胁防护】,点击首页,分别关闭
2022-01-10 09:00:00
6010
3
原创 多行文本 展开收起
https://zhuanlan.zhihu.com/p/373359523<div class="content_box"> <input type="checkbox" id="exp"> <div class="content word" line-clamp="2"> <label class="btn" for="exp"></label> {{orderInfo.originalCont
2021-12-28 09:00:00
210
原创 读取excel
读取Excel文件html:<input type="file" id="excel-file"> <script type="text/javascript" src="./jquery-3.5.1.min.js"></script><script type="text/javascript" src="./xlsx.core.min.js"></script>js:$('#excel-file').change(function(
2021-11-12 17:27:44
88
原创 transition与animate动画区别
transition(过渡)transition: property duration timing-function delay;值描述transition-property规定设置过渡效果的 CSS 属性的名称。transition-duration规定完成过渡效果需要多少秒或毫秒。transition-timing-function规定速度效果的速度曲线。transition-delay定义过渡效果何时开始。animate简写:animati
2021-08-04 15:23:15
308
原创 js数组去重
1.双层循环,切割数组function unique(arr){ for(var i=0; i<arr.length; i++){ for(var j=i+1; j<arr.length; j++){ if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个 arr.splice(j,1); j--;
2021-07-15 14:30:20
41
转载 linux常用命令
目录一、基本命令1.1 关机和重启1.2 帮助命令二、目录操作命令2.1 目录切换 cd2.2 目录查看 ls [-al]2.3 目录操作【增,删,改,查】2.3.1 创建目录【增】 mkdir2.3.2 删除目录或文件【删】rm2.3.3 目录修改【改】mv 和 cp2.3.4 搜索目录【查】find三、文件操作命令3.1 文件操作【增,删,改,查】3.1.1 新建文件【增】touch3.1.2 删除文件 【删】 rm3.1.3 修改文件【改】 vi或vim3.1.4 文件的查看more:百分比显示les
2021-04-12 11:01:29
56
原创 交换两个变量的值不使用第三方变量
一、引入通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。二、四种不借助第三变量的交换方法上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换
2021-03-23 00:50:59
462
原创 HTTP和HTTPS协议
1、http的请求报文和响应报文http请求报文:请求行(请求方法+url)、请求头、请求体http响应报文:状态行(http版本+状态码)、响应头、响应体2、常用的http请求类型请求类型: GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、3、http和https的区别、为什么https更加安全,ssl加密是怎样的http是直接和tcp通讯,https=http+ssl加密http端口号为80,https端口号为443http基于应用层,ht
2021-03-09 23:57:04
86
原创 eslintrc与Vscode
不同的开发人员安装的vscode可能不太一致,导致在开发时运行一直报缩进、空格等问题解决方案:如果遇到 ‘方法前要加缩进’,‘文本缩进没有对齐’ 等情况!Missing space before function parentheses space-before-function-paren可以修改配置文件或是将自己vscode配置修改一下,通常选择修改自己vscode兼容大家项目;在项目根目录.eslintrc.js配置文件添加如下代码:‘space-before-function.
2021-03-06 18:22:14
175
原创 请求接口模拟
模拟接口心得在模拟接口请求中,将请求头中的参值都拿过来使用,防止因为某些值未传导致,请求失败!简化请求头,通常涉及到一些必填字段,例如:Content-Type, Host, Content-Length,和保存token的字段;由于后端在请求配置不同,Content-length不一定传数字,如果请求不需要告知后端,需要获取的字节长度,可设置Content-length: null; 但是需要Transfer-Encoding,Content-Encoding指端配合使用;由图所得;请求中分别删
2021-02-24 16:36:57
368
原创 taro小程序拖拽效果源码
博客由来晴空万里的情况下,产品看技术人员心情不错,于是开始提前布局了。谦虚的向前端提了一个这样的需求,能不能实现拖拽的效果,优化一下排序的可操作性,‘不着急实现的’;听到这,还能忍!必须实现一下!效果图, 代码是原taro vue开发以每一组数据顶部到合作顶部距离,计算排位顺序https://v.qq.com/x/page/b3225uujvcn.html<view class="listbox"> <view v-if="showkelong"
2021-02-03 14:55:53
676
原创 npm发包流程
注册账号https://www.npmjs.com/为后面发布npm包做准备确认本地npm的源是 https://registry.npmjs.org通常下载的node, npm源是淘宝镜像的源地址查询源地址npm config get registry修改源地址npm config set registry https://registry.npmjs.org本地npm添加账号npm adduser账号名密码邮箱创建包npm init包名、license、author
2021-01-29 11:29:23
267
2
原创 websocket,长轮询和轮询
websocket(短轮询)服务端就可以主动推送信息给客户端应用:聊天通讯,多点更新数据轮询正常http接口反复请求长轮询当服务器收到客户端发来的请求后,服务器端不会直接进行响应,而是先将这个请求挂起,有更新则返回。应用:需要实时更新,减少时间差的业务,如投票,买房区别长轮询和短轮询比起来,明显减少了很多不必要的http请求次数,相比之下节约了资源。长轮询的缺点在于,连接挂起也会导致资源的浪费。(长轮询是三个中最消耗资源的)参考地址:https://www.cnblogs.
2021-01-20 11:29:54
241
原创 vue-socket.io实现长链接
之前提到ScokJS.SockJS是一个浏览器JavaScript库,它提供了一个类似于网络的对象。SockJS提供了一个连贯的、跨浏览器的Javascript API,它在浏览器和web服务器之间创建了一个低延迟、全双工、跨域通信通道。今天介绍vue-socket.io 一个专门问题vuejs提供的plugin,这里实现了一个身份证读卡器的socket长链接。引入方式一:只使用了vue-socket.io 的方法,介绍vue-socket.io其实是在socket.io-client基础.
2020-12-11 18:17:47
1162
原创 LCD液晶字体
大屏或是web使用,LCD液晶字体使用方案:去 dafont下载.ttf格式字体,输入0123456789,点击下载(图一)通过fontconverter或者fontsquirrel.com来生成.woff等格式的字体(第二个连接似乎更好用,图二)正常导入.woff文件图一:图二:...
2020-11-26 10:57:29
3275
1
原创 vue禁用浏览器返回按钮
mounted() { if (window.history && window.history.pushState) { // 历史记录 插入当前界面 history.pushState(null, null, document.URL) window.addEventListener('popstate', this.goBack, false) } },destroyed() { window.removeEventL
2020-11-23 17:28:18
865
3
原创 flutter1.12迁移经历(Android)
修改1:修改文件: AndroidManifest.xml地址:android\app\src\main\AndroidManifest.xml影响:该文件用来配置apk 名称,图标,wifi状态等。修改内容:删除application 中 android:name修改activity中 android:name io.flutter.embedding.android.FlutterActivity (不影响打包,但打包后apk无法打开)在application标签中添加 <meta
2020-11-05 18:46:47
249
原创 Flutter开发常见问题
flutter pub get速度慢原因: 防火墙问题,不允许访问**解决方法:设置系统环境中设置FLUTTER_STORAGE_BASE_URL ----- https://storage.flutter-io.cnPUB_HOSTED_URL ------ https://pub.flutter-io.cn版本问题场景: 拿到一个新的Flutter项目,更新完插件,运行项目抱错Error: The method 'DioHttpHeaders.add' has fewer named
2020-10-21 18:05:57
87
原创 弧形背景和倒计时优化
弧形背景.pure_top { width: 100%; height: 100px; position: relative; z-index: 0; overflow: hidden;}.pure_top::after { content: ''; width: 120%; height: 100px; position: absolute; left: -10%; //椭圆左边隐藏10%,右边隐藏10% top: 0; border-radi
2020-10-21 00:10:02
66
原创 flutter快捷键和工具
快捷键1.创建新的StatelessWidget或者StatefulWidgetstless 然后回车,会自动创建以下代码,并定位到名字的编辑处class Mingzi extends StatelessWidget { @override Widget build(BuildContext context) { return Container(); }}stful 然后回车,会自动创建以下代码,并定位到名字的编辑处class extends StatefulWidge
2020-10-16 15:28:53
151
原创 vue通信一(sockjs实现webSocket通信)
以前使用websocketwindow.webSocket = new WebSocket('ws://' + config.webSocketUrl + '/webData/websocket?token=' + token + '&username=' + username);由于项目要求,需要访问网关使用http的连接方式进行socket信息推送,采用SockJs。在项目前期开发,我们都是在全局的js文件中定义socket的连接ip和端口,在页面调用。但在项目优化过程中,我们希望可
2020-10-13 15:34:01
2630
原创 keepAlive扩展
什么是KeepAlive?首先,我们要明确我们谈的是TCP的 KeepAlive 还是HTTP的 Keep-Alive。TCP的KeepAlive和HTTP的Keep-Alive是完全不同的概念,不能混为一谈。实际上HTTP的KeepAlive写法是Keep-Alive,跟TCP的KeepAlive写法上也有不同。TCP的keepalive是侧重在保持客户端和服务端的连接,一方会不定期发送心跳包给另一方,当一方端掉的时候,没有断掉的定时发送几次心跳包,如果间隔发送几次,对方都返回的是RST,而不是AC
2020-09-24 10:07:30
63
原创 vue优化打包速度
优化方向优化压缩css,js,图片等能力能多cpu运行,加快压缩速度这里采用方法二在不修改项目连接ip的情况下,第一次运行不是很快,第二次运行几秒就可以打开本地服务第一:执行,安装以下包npm install terser-webpack-plugin --save-devnpm install --save-dev speed-measure-webpack-pluginnpm install --save-dev hard-source-webpack-plugin第二:在bui
2020-08-28 11:45:32
793
原创 不一样的js语法
优化逻辑语法正常switch判断switch(num) { case "money": // 计算操作1 break; case "profit": // 计算操作2 break; default: break;}通过对象方式判断let mapSum = { 'money': function(f) { // 计算逻辑 // return sums[index] = (f.moneySum / 100).toFixed(2) }, 'profit': func
2020-08-24 17:33:20
68
转载 数据库设计规范
设计规范1.【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:不是频繁修改的字段。不是 varchar 超长字段,更不能是 text 字段。正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存 储类目名称,避免关联查询。2.【推荐】单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。 说明:如果预计2年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。3.【推荐】id必须是主键,每个表必须有主键,且保持增长
2020-08-14 10:42:53
249
原创 express.js项目创建
1. 创建express首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。$ mkdir myapp$ cd myapp通过 npm init 命令为你的应用创建一个 package.json 文件。 欲了解 package.json 是如何起作用的,请参考 Specifics of npm’s package.json handling.$ npm init此命令将要求你输入几个参数,例如此应用的名称和版本。 你可以直接按“回车”键接
2020-08-07 09:13:34
148
原创 u3m8缓存文件.ts合成mp4
u3m8视频在浏览器预览,会缓存.ts 文件合成方法把缓存文件放在一个文件夹中,cmd执行 下面命令对应缓存文件地址,和合成的文件地址与类型 copy /b G:\迅雷下载\demo\*.ts G:\迅雷下载\demo\new.mp4批量处理.ts文件 待补充。。。。...
2020-07-29 16:58:07
4476
原创 正则表达式预览
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d+$验证非正整数(负整数 + 0)
2020-06-29 15:45:09
5294
原创 位运算符在JS中的妙用
1. 使用左移运算符 << 迅速得出2的次方2. 使用 ^ 切换变量 0 或 13. 使用 & 判断奇偶性4. 使用 !! 将数字转为布尔值5. 使用~、>>、<<、>>>、|来取整6. 使用^来完成值交换7. 使用^判断符号是否相同8. 使用^来检查数字是否不相等9. n & (n - 1),如果为 0,说明 n 是 2 的整数幂10. 使用 A + 0.5 | 0 来替代 Math.round()String1. 使用toString(16)取随机字符串2. 使用 split(0
2020-05-20 10:05:39
808
原创 centos7安装node,yarn
方法一:源码包安装官网下载 centos下载最新版10.9 https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xzmkdir /opt/software/ && cd /opt/software/tar -xvf node-v10.9.0-linux-x64.tar.xzmv node-v10.9.0...
2020-03-22 17:24:23
1409
原创 next实现import导入css
遇到的问题:React Next中使用 import "../static/nav.css"; 报错解决方案:安装 @zeit/next-css 包两种安装方式:npm install --save @zeit/next-cssyarn add @zeit/next-css编写配置文件next.config.js(next的总配置文件),导入下面代码即可,const withC...
2020-03-16 09:47:07
804
原创 React通过生命周期优化
shouldComponentUpdateReact组件中,组件是否更新,nextProps:变化后的属性;nextState:变化后的状态;优化原理:通过判断变化后的熟悉,与之前传递给组件的(部分)属性进行比较,如果修改渲染刷新,返回true,不渲染返回false通常传递的数据多,比较需要的属性,可能是数组,可能是值,简单数组可以通过JSON.stringify 转字符串来比较是单...
2020-03-09 17:26:23
336
html2canvas 1.0.0-rc.5
2022-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人