自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梁小Wai的技术博客

不断学习,追求完美,总有一天会成为大牛

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 Error: ReferenceError: ReadableStream is not defined

midway项目在build完,docker启动时,莫名地报错Error: ReferenceError: ReadableStream is not defined,之前一直好好地,初时以为是新加的代码引起,后来排除了。查看了报错包在github上的issues,有7条记录,逐一查看后将里面提的方法都试了一遍,有些不知道是配置不对还是怎样,问题依旧。

2024-08-20 14:57:01 190

原创 react项目中需要条形码功能,安装react-barcode使用时报错

react项目中需要条形码功能,用yarn add安装react-barcode后,在项目中使用import Barcode from ‘react-barcode’,页面中一直白屏

2024-04-09 15:22:19 527

原创 记录一次服务器与微信公众号通讯和白名单配置的问题

阿里云服务器A(固定公网ipA)作为网关将请求转发到阿里云服务器B(无公网ip),两台服务器在同一区域同一内网

2024-02-05 10:55:24 494

原创 记录一次接近24万条数据导入Mysql的过程

根据削峰填谷的思想,今天尝试了一个新方法

2024-01-09 14:28:04 391 1

原创 uniapp项目初始化时报gyp ERR

估计是当前node的版本与node-gyp对应不上。卸载node v18.16.1

2023-10-07 11:49:25 482

原创 本人用uniapp做微信公众号开发易错点整理

wxUpdateAppMessageShareData和updateTimelineShareData,即自定义“分享给朋友”及“分享到QQ”按钮的分享内容和自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容功能,数据填齐了,用原来的链接打开网页,在微信里分享给朋友,结果还是没有样式的,只见到链接。以为哪里出问题,检查了几次,又将微信提供的旧接口接上去,问题依旧,后来想来想去,将链接发到公众号,在公众号里打开,分享就正常了。近期因业务需要对接微信公众号的功能,以此文记录自己实践中一些易错点。

2023-07-31 17:51:28 406

原创 获取uuid哪种方法效率最高

近期旁边的同事问我,获取uuid有什么方法?我随口就回答:用uuid包,因为一直都在用,感觉没啥问题。

2023-03-24 14:09:47 634 1

原创 解决uniapp插件robin-editor设置字体颜色和背景颜色报错的问题

今天在h5上使用uniapp开发时使用robin-editor,设置字体颜色和背景颜色报错

2022-06-23 14:10:44 588

原创 近期使用nodejs pinyin包时遇到的问题

虚拟机的linux、nodejs和npm相关参数为安装pinyin版本为2.11.2,本地调试没啥问题,开发好的程序通过云效用docker部署到服务器,但是cnpm i会报错。

2022-06-08 14:05:48 1610

原创 ant design pro v5 git commit时报ERROR invalid commit message format的解决方法

ant design pro v5 git commit时报错的解决方法

2022-03-25 12:01:51 6017

原创 MySQL小数存储时不建议使用double

今天做项目时遇到一个比较奇怪的情况,某个存储过程在数据表中取值,表中的该值(amount_second)的类型是double(13,2),存储的值为-3.22。直接用语句读取时没有此问题,取出的值为-3.22,但是使用存储过程取出值为存储过程如下:CREATE DEFINER=`cashuser`@`%` PROCEDURE `select1`()BEGIN DECLARE selectsql VARCHAR(4001); SET selectsql = "SELECT chang

2021-12-08 18:08:51 1556

原创 [ioredis] Unhandled error event: Error: connect ETIMEDOUT报错的解决办法

之前项目中redis初始化是使用@Init 装饰器来处理,近期配置中心上线后,配置将统一到配置中心获取。@Init 就不能再使用了,因为其先于远程配置获取,redis初始化要改为远程配置获取完成后才做。偶尔会报[ioredis] Unhandled error event: Error: connect ETIMEDOUT,部分文章说要将connectTimeout设置成10000,但是查看文档后,默认设置就是如此。所以不合理。看完文档后发现是lazyConnect设置成true就不再报错。完美解决

2021-12-01 18:24:46 5132

原创 nodejs导出csv文件时遇到的问题总结

近期项目中需要数据导出功能,之前的项目使用过exceljs,觉得挺不错。就将之前写过的代码抽取出来,封装成通用接口。然后在electron端主进程编写好调用程序,给前端调用时,前端反映下载打开的csv文件是乱码。What???我本地测试过没有呢,马上跑去他的机子去看下究竟,原来他用的MS office,还真有问题(我是用wps,显示正常)。主要的文件编码方式有:ANSI、UTF-8、UTF-8无BOM、UCS、UCS-2 Big/Little Endian、Unicode查看https://gi

2021-11-29 17:16:12 656

原创 本人在使用Electron和打Arm包时遇到的问题及解决方法

这段时间公司项目需要做Electron开发,我负责部分主进程开发和打包工作。1、不能跨系统来打包即不能在windows下打linux的包,需要用vmware安装一个有界面的linux操作系统来完成此工作,可以装ubuntu 20。2、打linux包的命令 "package:linux": "rm -rf src/dist && yarn build && electron-builder build --linux", "package:armv7l":

2021-11-26 09:18:56 4127

原创 阿里云签名机制nodejs实现时遇到的小插曲

近期项目需要对接阿里云的api,用接口调用时需要使用签名机制。文档是明明白白的,自己接入时遇到些小插曲。1、时间问题,使用了几种方法转换都没成功Message: 'The input parameter "Timestamp" that is mandatory for processing this request is not supplied.'最后发现下面这个转换才是正确moment(new Date()).utcOffset(0).format()2、percentEncode时漏

2021-11-16 17:26:21 955

原创 使用Jest做单元测试时遇到的问题

近期对一个项目写单元测试后,运行时有以下提示:Jest did not exit one second after the test run has completed.This usually means that there are asynchronous operations that weren’t stopped in your tests. Consider running Jest with --detectOpenHandles to troubleshoot this issue.

2021-11-11 11:42:20 3119

原创 ubuntu20.04.3 LTS安装cgi运行环境

用了几天时间学习了C++的简单使用,学到最后C++与web的结合,生成了cgi文件后想在浏览器直接浏览,需要apache提供对外能力。1、安装apache2sudo apt install apache2安装完成后查看状态sudo systemctl status apache22、建目录su rootcd /var/wwwmkdir cgi-bin3、修改配置cd /etc/apache2/conf-enabledvi serve-cgi-bin.conf修改成,指向刚

2021-11-08 15:07:56 621

原创 试用阿里云API网关OpenID Connect中业务API使用JWT认证插件遇到的问题

一、缘由近期试用阿里云API网关作为中转,开始时安全认证方式选择无认证。好快就能接通。二、升级安全方式再将安全认证方式调整为OpenID Connect,模式选择业务API。要求配置一个Token对应的参数名称,初时以为是token名,就随便起了个mytoken。配置好之后,用postman请求,报错。Status :400 Bad RequestX-Ca-Error-Code :I400JRX-Ca-Error-Message : JWT required header:X-Token mi

2021-04-25 14:52:57 670

原创 Mongodb的geoNear两种写法精准度比较

近期在研究geoNear的写法时发现它有平面和曲面的计算方法。索引是用2d索引起点:113.389891,22.933699终点:113.389853,22.934714用百度地图测量谷歌地图写法1{near: data.gps, spherical: true, distanceField: "gps", distanceMultiplier: 6371, maxDistance: distance/6371}程序计算的结果:112.12m写法2{near: data.gps,

2021-03-24 15:42:21 472

原创 mongodb使用aggregation聚合geonear和条件过滤时遇到的问题

公司的内部项目,不方便截图显示,请见谅运行环境:nodejs v14.16.0MongoDB V4.2.3问题有一个需求,要通过接口查询客户的列表,数据里面带有形如gps:{X:118, y: 23}的坐标,微信小程序度使用此接口时,前端会将当前坐标、范围和一些查询条件传进来,接口要由近到远查询出相应的客户列表,并返回具体距离。PC端后台,则只有普通查询条件,接口返回相关数据。早两天,产品说在小程序端加个距离不限的选项,其实就是距离设大点,设到3000km,全中国都覆盖了,接口早就预留,不用改

2021-03-24 14:27:47 845

原创 第一次接触docker-compose,轻松解决容器编排的问题

这星期有项目要上线,接触到Docker部署,学会了编写Dockerfile文件,放到本地部署的虚拟机上面玩。一个容器是nodejs程序,玩得很顺利,能正常访问mongo的测试库;再用Docker部署了一个mongo数据库,用VS连接到数据库是正常的,接口正常。再用Robo 3T连接Docker部署的Mongo也是正常的。将程序放到虚拟机,build完之后,启动容器,用postman访问,接口不能访问。看log,发现nodejs在容器里访问mongodb显示超时。明明本机访问都是没有问题的,怎么会不行的

2020-10-29 17:53:53 144

原创 Docker常用的操作汇总

一、Docker服务重启service docker restart二、Docker搜索需要的镜像docker search [镜像名]三、Docker拉取镜像docker pull node#指定版本镜像docker pull node:10.15.3-alpine镜像版本号可以到https://hub.docker.com/查找四、查看已有的镜像docker images五、强制删除已有镜像docker rmi [镜像ID] -f六、查看已有的容器(运行与停止的)docke

2020-10-27 17:11:45 202

原创 使用async.whilst要注意的地方

近期在review以前同事的源码时,发现他使用了async.whilst方法。仿效其在本地调试时,发现程序死活都不执行,研究了半天,终于解开了谜团。首先了解一下whilst的参数whilst接受三个参数,第一个为判断函数,只有在该函数返回时,第二个参数参会执行。第二个参数便是表达核心逻辑的函数。第三个则是第一个参数返回false之后的回调函数。async.whilst(test, fn, function(err, n){})注意async包的版本我同事那源码是比较早之前写的,用的是2.6.2的包

2020-10-24 15:17:42 623

原创 使用 Got包的一些体会

近期使用Got包时,发现一些神奇的事情,如果大家有遇到的话,欢迎交流。形如此函数:Got: function(seqno, gotbody, callback) { let {method, url, options} = gotbody; options.timeout = 200 got[method](url, options).then(response => { callba

2020-10-23 17:28:18 916 1

原创 Mongodb查找最大值总结

在上一篇文章(https://blog.csdn.net/Wai_Leung/article/details/109179767)提到Mongodb中的Max key不是用来查找最大值的,那么实际应用中该如何查找呢?方法一:对目标值按大到小排序后,再取出第一条具体查询语句是db.getCollection('collection1').find().sort({ id: -1}).limit(1)在Robo 3T中运行,有10万条数据集中,...

2020-10-20 14:25:19 11456 2

原创 Mongodb的Min key和Max key是能查找最大最小值的新功能吗?

今天,在一个偶然的机会,在Mongodb的文档中看到$type(https://docs.mongodb.com/manual/reference/operator/query/type/),试了一下其中的功能,觉得不错,在列表最后TypeNumberAliasNotesMin key-1“minKey”Max key127“maxKey”在Robo 3T中对一个collection进行查找db.getCollection('c1').find({"id"

2020-10-20 14:13:25 1590

原创 docker容器中bash: top: command not found的解决方法

新部署了一个MySQL的docker容器,插入10万测试数据时,想看下内存和CPU的占用情况,进入容器后运行top,报错bash: top: command not found,docker果然是最简形式,没有多余的东西。那就apt-get update一下呗,继续报错root@ad7556******:/# apt-get updateErr:1 http://deb.debian.org/debian buster InRelease

2020-10-16 13:50:37 8227 3

原创 async/await并行编程总结

日常使用async/await这对好基友的时候,多数是用一函数把它们包起来或者直接使用,如以下写法function getName () { return new Promise((resolve, reject)=>{ setTimeout(()=>{ resolve('lcwai') }, 2000) })}function getId () { return new Promise((resolve, r

2020-10-13 10:10:04 361

原创 彻底理解Nodejs中callback、promise、yield、async、await

callback是Nodejs里最经典写法const fs = require('fs')const fileName = 'hello.md'function fsReadFile (file, cb) { fs.readFile(file, 'utf8', function(err, data) { if (err == null) { // console.log(data) // return data

2020-10-10 11:22:13 1464

原创 使用chai对express进行单元测试时报错 TypeError: app.address is not a function

今天在使用chai对express进行单元测试时,报错 TypeError: app.address is not a functionapp.js文件内容const express = require('express')const bodyParser = require('body-parser')const app = express()const port = 3000const routes = require('./routes/index')// 定义数据解析器app.use

2020-09-30 14:56:11 831

原创 解决 MySQL存储过程插入中文的错误,代码: 1366 Incorrect string value: ‘\xE6\x88\x91%$#...‘

在调用以前同事的一个接口时,发现使用MySQL的存储过程插入中文时报错。错误代码: 1366Incorrect string value: '\xE6\x88\x91%$#...' for column 'title' at row 1在title中插入英文和数字都没问题,当包含中文时就会报错。初时以为数据库字符集的问题。SHOW VARIABLES LIKE 'character%';SHOW VARIABLES LIKE 'collation_%';发现character_set_da

2020-09-18 14:01:50 856 2

原创 如何优雅快速在多层对象中查找是否包含需要的key或者value

工作中经常遇到多层对象中查找是否包含需要key或者value的问题,通过手写循环语句,虽然可以解决问题,但是如何快速优雅地解决呢?基本思路是先从第一层数据查找,如何发现里面包含对象,进去继续查找,直到找到为止。建议使用递归的方法,以减少编程量,但是使用递归法时,条件必须写好,要不好容易会进入死循环,我有一次试过,直接将CPU全部占完,电脑无法动弹。写法参考:...

2020-09-08 15:27:06 741

原创 异步调用的update函数改为同步,循环后统一返回结果

mongodb批量修改数据,其实有内部方法,db.[collectionName].update({查询器},{修改器}),不是这里讨论的重点。今天要讨论的是,异步调用的update函数改为同步,逐条更新后统一返回结果。因为update方法是异步函数,所以要用点技巧来编写。首先明白异步转同步大概有两种方法:async/await和then。平常使用时两个方法都可以,但是使用async.auto,各函数串行调用时,特别是带有for循环的调用中,建议使用async/await。function upd

2020-09-03 15:13:53 464

原创 判断带json的数组是否有重复项

经常在项目中遇到带json的数组需要判断是否有重复项,形如:[{k:1, m: 2}, {k:1, m: 2}]此情况无法通过indexOf或者==来判断写了一个函数,以解决此问题 checkArrayRepeat: function(arr) { if (arr.length <= 0) return false; let s = new Set(); arr.map( v => { s.add(JSON.

2020-08-18 12:12:46 2893

原创 通过nodejs对mongodb的写入和查询性能进行的测试

近期对mongodb的写入和查询性能做了一个分析,前提是各个接口独立测试,没有进行复合测试,即读写接口同时测试等情况。总结了以下几点内容:1.从数据上显示写入或者编辑数据的性能不受数据条数影响,平均时间在15-20ms左右。2.数据超30条后,复杂的语句,例如带模糊查询,范围查询和排序操作耗时尤为明显,即使建了复合索引,性能提升也是有限的。删除上面提到的查询后,性能明显提升。优化思路:数据量大时尽量使用精准查询,避免使用以上查询,但是有时业务需要也是没有办法。如果耗时太久的接口,可以采用定期转移

2020-08-17 12:12:52 587

原创 通过Docker安装Gitlab,修改gitlab.rb后无法重启

通过Docker安装Gitlab-ce,命令如下docker run -d -p 8443:443 -p 8091:80 -p 222:22 --name gitlab --restart always -v /data1/gitlab/config:/etc/gitlab -v /data1/gitlab/logs:/var/log/gitlab -v /data1/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:lates

2020-07-16 15:56:28 3223 9

原创 《Node与Express开发》发现了一些错误

这本书相信好多人都不陌生,我在学习的时候发现了一个错误。在第65页,红箭头所指的地方meadowlark.js如下配置按照书本所示的,我在本地运行时发现没有值输出代码修改成以下的,模板就可以显示出相应的值...

2020-06-30 10:00:52 252

原创 真正解决Docker运行MySQL后,本地无法访问的问题

适用系MySQL8.0.x/5.6.x一、跟着教程安装1.1 拉取 MySQL 镜像docker pull mysql:latest1.2 查看本地镜像使用以下命令来查看是否已安装了 mysql:docker images1.3 运行容器安装完成后,我们可以使用以下命令来运行 mysql 容器:docker run -itd --name mysql8 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql参数说明:-p 3308:33

2020-06-16 21:45:40 16343 15

原创 uniapp开发的安卓app使用webview调起微信h5支付

uniapp开发的安卓app使用webview调起微信h5支付

2020-06-10 10:09:46 3850 3

原创 uniapp使用时遇到request:fail abort statusCode:-1

今天像往常一样开发,用uniapp开发好的H5页面在本地测试成功,用安卓机模拟测试时,使用uni.request时报request:fail abort statusCode:-1,平时都一直在用,怎样今天就无端端报这个错呢?1、排除了接口问题,用postman测试,接口正常2、以为api文档修改了,查了一下,没什么改变3、打个正式包试了一下,也是无法请求到数据,报错依旧查了官方的论坛,有网友提到是uni.request里面的sslVerify参数,改成false,问题依旧。后来再查了一下,原来是

2020-06-04 21:47:45 25998 12

Discuz! X3版本QQ互联英文乱码显示的解决方法

正常安装Discuz! X3版本,QQ互联显示正常,而升级Discuz! X3版本的QQ互联分享到“QQ好友和群”却显示英文。 参考Discuz!官方论坛的帖子 ://www.discuz.net/forum.php?mod=viewthread&tid=3255103 仍无法解决,后来发现问题并且在【重新开启QQ互联,同步站点信息】这里面。 尝试重新上传QQ互联的程序文件 /source/plugin/qqconnect/ ,下载默认程序提取此文件夹的内容上传覆盖。 无果。。。。 后来自己动手找原因,发现问题,请下载module.zip,替换相应文件。

2013-05-17

Hide IP Platinum(隐藏IP) V3.50 绿色汉化版

已更新到最新版 Hide IP Platinum(隐藏IP)下载一款网络工具,可以隐藏你的在线IP地址,可以自动查找代理服务器并设置使用,你不需要关心任何东西,Hide IP Platinum 可为你完成所有的事情 主要有以下功能和用途: 保护个人隐私,免受垃圾信息骚扰。 隐藏IP地址和操作系统信息,免受黑客攻击。 频繁更换代理服务器地址,更好保护你的隐私。 访问原来不能访问的国内外网站。 发送匿名邮件和实施匿名攻击。 直接解压即可用,已注册新版本支持快捷键

2013-01-23

空空如也

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

TA关注的人

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