自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue-electron踩坑日记——多窗口界面显示问题

本文仅针对vue-electron库打包后多窗口页面空白(主窗口页面正常显示)的问题解决,如果在主窗口页面就已经无法显示了,请自行百度或参考electron入坑指南。1.问题描述及原因分析       因项目需要制作一个桌面字幕系统,实现方案是通过主窗口打开字幕窗口显示字幕。在本地测试服务器跑通之后...

2019-04-20 10:16:35 18984 18

原创 go解析含passphrase的pem秘钥

在编写TLS配置时需要用到需要用到一串包含passphrase的RSA秘钥,本想通过官方库的方式解析使用,但由于安全因素,官方已经禁用了。GO团队认为PEM encryption的实现是不好的,不够安全的,因此官方移除了实现,并且也不推荐相关的外部实现的库。的讨论可以看出社区对这个需求的渴望已经很久,但官方并没有太多关注。等函数,导致无法通过官方库去实现这个需求。

2024-05-04 14:49:23 669

原创 【kafka】docker容器bitnami/kafka使用SASL鉴权(无TLS)

可以设置为一个新的listener,也可以设置为现有的listener(controller除外),本文就以设置现有的listener为例,将改值设置为。后来发现其实是可以单独使用SASL,而且官方文档没有完整的配置资料,最后在Issue上找到解决方案。最近在学习kafka消息队列,了解到kafka是通过SASL来进行用户认证的。参数的作用是一致的,都是为了设置broker之间通信的配置,由于。默认值的,但是这个值在容器使用中会出现错误,而且在。设置之后依然存在问题,本文暂不讨论,后续就以。

2024-05-01 13:34:08 1965

原创 记一次Mac(M1)交叉编译Windows系统的过程

通过MinGW-w64实现在Mac(M1)环境交叉编译为Windows的应用

2024-04-15 21:24:50 818

原创 Debian 11使用ssmtp工具发送邮箱

smtp

2023-03-08 16:08:10 773

原创 【nestjs】使用websocket协议通信

nestjs踩坑

2022-07-08 18:31:04 3364

转载 【nest】单元测试如何mock typeORM的数据

参考github:issue

2022-04-06 16:55:35 566

原创 【linux】记录nodejs使用图片处理工具gm

前言nodejs项目需要生成缩略图,由于node本身无法处理,需要用到GraphicsMagick工具,于是开始网上找工具,中间踩了一些坑,于是记录下来。安装GraphicsMagick安装这个工具没有难度,按照nodejs使用graphicsmagick生成缩略图步骤操作即可。当我使用nodejs的gm模块去处理缩略图的时候,遇到了问题。直接使用nodejs跑脚本,能成功处理图片。当在使用了pm2管理的项目中跑相同的代码时却报了以下错误Error: Could not execute Grap

2021-10-22 11:43:02 683

原创 ssh_exchange_identification: Connection closed by remote host的处理步骤

1.检查C:\Windows\System32\drivers\etc\host文件2.检查C:\Users\guoxiaoshen\.ssh\config文件ssh -T git@github.com 出现 ssh_exchange_identification: Connection closed by remote host 的错误

2021-07-12 09:41:37 429

原创 【数字签名】如何正确地加签/验签

       项目上需要用到数字签名,原本是简单的服务器签名,客户端验签的流程。因为ios端没有找到比较好的验签库,故根据网传的步骤实现验签,但死活验签不成功,折腾了半天。       网上的验签流程:数字签名的技术流程描述如下:发送方使用摘要算法对原文HASH生成信息摘要;发送方使用自己的私钥对信息摘要进行签名(加密);发送方将原文本身和已签名的信息摘要一

2021-07-06 21:31:35 1122

原创 【运维】记一次yapi安全漏洞导致服务器被木马入侵的处理过程

       原本今天应该是一个愉快的周六,突然收到阿里云告警,说服务器有木马风险,让我赶紧处理,我顿时就懵逼了,上阿里云一看,好家伙,4个风险提示。       漏洞出自yapi服务,二话不说先停了服务,然后去yapi的github上看看,果不其然,有人提了相关issue。       

2021-07-03 21:30:34 2611 2

原创 记一次pm2升级导致部分项目无法启动的问题

       项目上的pm2是3.2.2,近期发现官方的版本都要到5.x了,于是心念念地想升级到4.x,在测试服升级到4.5.6后观察了一个月,没有发现问题,果断在正式服升级。       升级的操作非常简单,官网上只用到了三个命令:# 将项目备份pm2 save# 升级pm2npm install pm2 -g# 项目升级pm2 update&nbs

2021-06-11 23:47:01 2734

原创 mysql命令记录

权限:flush privileges; # 刷新MySQL的系统权限相关表,更新权限后使用此命令可以避免重启服务索引:# 创建索引:# <索引名>:指定索引名。一个表可以创建多个索引,但每个索引在该表中的名称是唯一的。# <表名>:指定要创建索引的表名。# <列名>:指定要创建索引的列名。通常可以考虑将查询语句中在 JOIN 子句和 WHERE 子句里经常出现的列作为# 索引列。# <长度>:可选项。指定使用列前的 leng

2021-05-30 15:36:05 78

原创 npm7.x安装依赖失败的解决方案

在安装vue3相关依赖时,遇到错误了npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency tree       在以往的版本中,npm安装遇到自动解决的依赖冲突时,会发出警告但不会阻止安装。但是在npm7中,则会阻止安装。       通过检索,发现可以使用以下命令安装npm

2021-05-25 10:58:00 1467

原创 git记录

1、合并提交git rebase -i HEAD~4 注:4 表示要合并的条数,根据自行需要输入合并远程提交可以现在本地可以用git push -f命令,但需要确保远程提交和本地同步,避免提交后丢失了其他提交。参考链接...

2020-07-09 14:38:38 106

原创 记录微信开发的坑(Taro小程序和公众号H5)

Taro小程序(注:项目用的是taro框架,没有去深究是微信的坑还是taro的坑)1、Taro.createSelectorQuery无法获取子组件的选择器。解决方案:// 子组件// 子组件获取选择器,通过父子通信的方式传递给父组件const query = Taro.createSelectorQuery().in(this.$scope);2、pageScrollTo无法跳转子组件的selector,应该还是无法获取子组件的选择器 。解决方案:通过上面1的解决方案获取子元素的选择器距

2020-07-08 11:16:09 1509 1

原创 vue实现淘宝tabContainer组件

   淘宝的tabContainer是一个值得学习的组件,本文介绍自己对淘宝tabContainer的研究,实现一个tabContainer组件。首先体验一下淘宝的tabContainer组件失败的尝试一开始的想法是横向纵向都用滚动的方式这个方案在chrome浏览器打开手机调试工具时,两个方向都能实现滚动,且滚动时另一个方向不会滚动。但是在手机safari浏...

2020-04-06 22:18:26 412

原创 记录换行符导致txt显示乱码的bug

系统:win 10 1809bug:通过xftp将linux的txt文件下载到本地windows系统,用系统自带文档文件打开时,出现乱码。解决办法:通过vs code将文件换行符格式改为CRLF(\r\n),重新打开即可。猜测bug原因:windows系统支持的换行符格式是CRLF,在打开文件时,系统会将LF换行符转换为CRLF,当文件过大,或者换行符过多,无法完成转换,则显示乱码。...

2020-03-21 17:52:46 794

原创 记录文本光标显示在最后的代码

focusTextEnd (e: Event): void { let o: any = e.target; if (o.setSelectionRange) { //W3C setTimeout (function () { o.setSelectionRange(o.value.length, o.value.length); o.f...

2019-12-31 17:23:18 149

原创 socket.io-client源码分析——建立socket连接

介绍socket.io是一种用于服务端和客户端的双向通信的js库,提供了长轮询和websocket这两种实现方式socket.io-client是其在客户端的实现。socket.io通过方法on监听服务器的通信,通过事件emit向服务器传递信息。socket.io-client对外暴露相关api,处理与外界的交互,对外界数据通过socket.io-parser库解析成socket.io协议...

2019-12-28 23:56:36 4857

原创 vue-cli3中关于prefetch、preload和路由懒加载的研究

// 官方提供的路由懒加载的写法{ path: '/about', name: 'about', // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded whe...

2019-12-06 22:27:09 12591

原创 mongo aggregate的使用,以及常用api的记录

mongo的find查询能满足基本的使用,但是遇到复杂的查询时,find方法就显得很力不从心,mongo提供了aggregate(聚合)查询功能,经过几次使用和踩坑,越发觉得强大,特写下此文,记录常用的api。

2019-07-31 19:49:46 766

转载 virtual dom详解

从零开始创建Virtual DOM

2019-07-08 15:03:52 210

转载 linux安装python3

Linux 安装python3.7.0

2019-06-29 20:06:36 141

转载 HTML5操作麦克风获取音频数据(WAV)的一些基础技能

https://www.cnblogs.com/shihuc/p/9703508.html

2019-06-20 09:24:24 1885

原创 vue,mint-ui解决loadmore组件滑动卡顿的问题

1、问题描述mint-ui是应用在移动端上的一个vue的ui库,loadmore组件可以进行上拉刷新和下滑刷新的操作,但在使用过程中发现该组件滑动出现卡顿现象,并且常常无法定位到当前滚动位置(即出现回滚)。2、解决方案为组件添加父元素标签,设置css属性{ overflow-x: auto; overflow-y: scroll; -webkit-overflow-scroll...

2019-06-05 10:58:05 2147 6

原创 vue-electron踩坑日记——打包后的体积问题

本文仅针对vue-electron框架下的打包处理,不一定符合您的情况,请自行辨别1.问题描述及原因分析     解决了多窗口界面显示问题,发现每次打包的时间都特别长,可是项目大小也就几M,这种情况太异常了,于是去查看了项目大小,发现是300多M,整整大了十倍有余。     因为项目小,需要的...

2019-04-29 19:47:12 11762 1

原创 electron踩坑日记

最近开始接触electron,在此记录遇到的坑和填坑记录。1、窗体透明设置api:BrowserWindow({transparent: true}坑:transparent和backgroundColor冲突,当设置这两个属性后,backgroundColor会覆盖transparent的效果,即使设置backgroundColor: 'transparent'也不能起作用(ps:在这里纠...

2019-04-16 11:53:43 1310

原创 nodejs支付宝支付链接

记一下,nodejs支付宝第三方支付的链接,传送门

2018-12-28 09:30:58 956

原创 linux的man命令

linux的bash shell下可以使用man命令查看命令的详细介绍和使用说明,具体如下:man dateman date命令第一行会显示DATE(1)括号里的1代表这个命令的意义代号及意义:代号意义1使用者在 shell 环境中可以操作的指令或可可执行文件2系统核心可调用的函数与工具等3一些常用的函数( function )与函数库( libr...

2018-10-15 20:16:00 237

原创 vue通过反向代理设置解决http跨域请求问题

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在没有接触到反向代理之前,常常通过服务器端设置允许跨域的方式来解决跨域问题,这在生产环境容易发生安全问题。最近通过项目了解到反向代理这个方法来解决跨域问题。 反向代理的概念: 反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部

2018-09-17 15:39:19 4234 3

转载 [转] ES6中的Map和Set对象使用方法整理

1、Map对象 Map对象是一个简单的键/值映射。任何值(包括对象和原始值)都可以用作一个键或一个值。使用set方法,将对象o当作m的一个键。将对象o当作m的一个键var m = new Map();var o = {p: &quot;Hello World&quot;};m.set(o, &quot;content&quot;)m.get(o) // &quot;content&quot;Map也可以接受一个数组作为参数。该数..

2018-08-23 11:29:47 617

原创 mongodb操作指令以及在node.js封装mongodb的操作方法

1、启动mongodb:cd path/mongodb/bin // 打开命令行,切换到mongodb目录下的bin目录mongod --dbpath path/mongodb/data/db // 设置path/mongodb/data/db目录为数据库目录mongo.exe 或者 mongo // ...

2018-08-18 17:02:36 562

原创 http请求头和响应头设置

js设置请求头:var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")xhr.open(type, url)xhr.setRequestHeader(key, value) // 设置http请求头,且必须在xhr.open()函数之后设置xhr.send()...

2018-08-08 10:39:48 8564 1

原创 es7 async await语法糖

async:async 声明一个函数为异步处理函数,它的返回值总是为Promise对象。在函数内return x,会以Promise.resolve(x)的方式呈现。示例:async function asyncFn (str) { return str}let asyncRet = asyncFn('I am a Async Function.')asyncRet.th...

2018-07-29 13:32:00 1231

空空如也

空空如也

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

TA关注的人

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