自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解node的web stream模块

这个相信大家都知道,新生代(32 位系统分配 16M 的内存空间,64 位系统翻倍 32M),老生代(64位系统下约为1.4GB,32位系统下约为0.7GB),也就是我们能用V8进行内存管理js堆内存只有1.4G;流式永远是最好的解决方案,对于node,不,对于所有后台开发来说,节省内存最好的办法就是流式,流的作用就是读多少传多少,读1M数据传1M数据给前端,大大减轻了V8内存的负担。内置队列或缓存:可以理解为node根据流输入的数据,用一个链表数据结构建立的缓存,读取、写出的内容都需要经过缓存。

2022-11-04 18:34:26 1658 1

原创 TS扩展类型

同理使用type的规则扩展,如typeA | typeB。关键字的,直接在项目类型声明文件进行扩展。⚠️ 这里是演示,不要瞎扩展。方式一:类型声明文件使用。

2022-10-29 15:59:21 3058

原创 索引签名的使用及松散索引签名

字面量类型严格检测奇怪的现象。

2022-10-22 13:59:16 1346

原创 Git生成的ssh公钥部署在GitHub后校验报错Permission denied(publickey, password, keyboard-interactive)完美解决

Git生成的ssh公钥部署在GitHub后校验报错Permission denied(publickey, password, keyboard-interactive)完美解决

2022-09-23 22:25:29 2707

原创 prisma使用mongodb副本集群报错引发的一些列问题

前提因为prisma对于增删改有事务,所以必须使用mongdb副本集群错误描述错误描述很清楚Addresslocalhost27017,没有找到合适可用的服务.env文件一切都很平平无奇,下面进行排查流程,此处,可以百度,上面有很多教程。...

2022-07-31 18:54:18 906

原创 nodejs writeable write方法源码分析

writeable.write()源码_write()源码writeOrBuffer()源码❗️nodejs中文官网有关的设定,以及TCP套接字一致writeale.write(chunk)而不是使用’drain’事件的漏洞:http://nodejs.cn/api-v16/stream.html#writablewritechunk-encoding-callback❗️这里可能在低版本中第一次是直接写入文件的...

2022-07-02 14:58:51 435

原创 理解node中文件readable.read()方法和引发的思考与总结

首先,我们来看看readable事件,‘data’、'readable’的区别总结:‘data’:即流模式,即读取数据后会自动调用readable.read()方法,然后将chunk(默认buffer)通过事件驱动传入回调函数‘readable’:即暂停模式,顾名思义,调用需要咱们手动掉,就像开关,我们需要readable.read()消费数据,每次读取highWaterMark大小的数据载入缓存,全部消费完毕就会再次去读触发’readable’回调暂停模式......

2022-06-26 20:49:28 480

原创 利用nginx和nps搭建内网穿透测试环境且为https

内网穿透

2022-06-24 19:28:52 2120

原创 node EventEmitter源码分析与实现

events.js#EventEmitter.init()纯对象event.js#EventEmitter.prototype.emit()图解传送门:简单实现EventEmitter

2022-06-19 13:24:02 286

原创 node模块化加载源码

代码helpers.js#makeRequireFunction()helpers.js#Module.prototype.require()loader.js#Module._load()Module._cache[filename] = module;图示让你熟悉熟悉Module._extensions:保存三个处理器,分别处理不同扩展名文件,js文件、json文件、node c++扩展文件loader.js#Module.prototype._compile

2022-05-29 17:33:10 193

原创 vue.config.js配置https未加ssl证书报错/socket-node/info net::ERR解决方案

vue.config.js配置https未加ssl证书报错/socket-node/info net::ERR解决方案记录一波,查阅资料流程背景:因为开发直播间用到TRTC SDK,在web端调试要么http:localhost:port、https:ip:port直播黑盒测试,采用最接近真实的测。一台电脑肯定不够,要么内网穿透,要么局域网,无论哪种方式都逃不掉https协议!我原本的vue.config.js有关https的配置module.exports = { devServ

2022-05-09 11:42:27 2372

原创 mac上通过自动操作达到右键通过vscode打开文件、文件夹

mac上通过自动操作达到右键通过vscode打开文件、文件夹打开mac中的自动操作app搜索运行shell脚本工作流程收到当前:文件或文件夹,位于:访达,传递输入为:变量,并输入一下代码for f in "$@"do echo "$f" cd "$f" /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code . done这里注意:/Applications/Visual\ Stu

2022-04-24 09:30:12 1620 2

原创 egg在dev环境下开启多进程

egg在dev环境下开启多进程问题:eggjs在dev环境下无法使用多进程app.messenger.sendToApp();解决:https://github.com/eggjs/egg/issues/4493问题描述默认的package.json// 版本信息"dependencies": { "egg": "^2.15.1", "egg-scripts": "^2.11.0"},"devDependencies": { "autod": "^3.

2022-03-14 19:22:35 1547

原创 nest使用cloudbase(tcb)进行serverless开发

nest使用cloudbase(tcb)进行serverless开发Tencent Cloud Base:腾讯云平台下面简称tcb前置:注册腾讯云实名开通云开发(Fass(也就是Serverless) + Bass)这里不讲解什么是serverless,什么是Fass,什么是Bass,这种东西你去b站看个20分钟的视频比我罗里吧嗦效率高得多。Tips:腾讯云每月都会分配一定容量免费,超过就是按量付费,这个可以自己看看传送门:tcb免费额度和付费情况踩坑点(如果你是看教程就

2022-02-16 13:21:05 1022

原创 2022年是否有必要用Deno代替Node选择以及Deno的资源大全

2022年是否有必要用Deno代替Node选择以及Deno的资源大全我的答案是:没有。以下内容纯属心得和体验,无技术点,记录今天了解的deno和它目前生态等发展deno官网:https://deno.land/deno中文翻译网:https://deno-cn.vercel.app/什么是Deno?Node作者Ryan Dahl在2018年8月23日发布了第一个版本v0.1.0的deno,为什么Ryan Dahl要革自己的命创造一个新的运行时呢?模块导入规则太多且不兼容:ES模块、Co

2022-02-14 22:48:31 3174

原创 安装PowerShell7并在vscode中使用 安装oh-my-post实现主题和历史命令提示

安装PowerShell7并在vscode中使用 安装oh-my-post实现主题和历史命令提示安装PowerShell7并在vscode中使用安装7:https://github.com/PowerShell/PowerShell/releases我选择的PowerShell-7.2.1-win-x64.msi版本打开:win + R输入pwsh即可,如果提示未找到命令,把刚才安装的目录配置到环境变量path里。例如我的:D:\powershell 7\7打开VsCode ->

2022-02-12 14:56:12 4832

原创 nestjs整合nest-status-monitor后监控页面webscoket访问400 404

nestjs整合nest-status-monitor后监控页面webscoket访问400 404Github:https://github.com/JYbill/nest8-websocket7-status-monitorGitee:https://gitee.com/JYbill/nest8-websocket7-status-monitorissue:https://github.com/GenFirst/nest-status-monitor/issues/12官方并没有给出后续解

2022-02-10 18:24:02 1972

原创 nestjs整合@nestjs-modules-mailer和@nestjs-config以及@nestjs-config和nestjs-config的坑

nestjs整合@nestjs-modules-mailer和@nestjs-config以及@nestjs-config和nestjs-config的坑注意:@nestjs/config和nestjs/config看起来像一个库,实际上是两个库,用法也不同@nestjs/config是官方的:(GitHub地址)https://github.com/nestjs/confignestjs/config更像是第三方插件:(GitHub地址)https://github.com/nestjsx/nes

2022-02-10 14:55:33 1584

原创 pnpm安装使用教程以及pnpm node版本管理以及EPERM operation not permitted symlink问题解决

pnpm安装使用教程以及pnpm node版本管理以及EPERM operation not permitted symlink问题解决pnpm:目前来看是一个大趋势,如:nest-cli目前除了npm、yarn增加了pnpm优势:节约磁盘空间并提升安装速度(改善node_modules 1G的痛苦)小白不懂怎么用:就跟你用npm差不多,除了个别命令名称变了,该怎么用就怎么用花几分钟了解下什么叫pnpm:官网传送门https://pnpm.io/zh/motivation放心

2022-02-09 13:11:25 29269 5

原创 通过ts的反射reflect-metadata和修饰器实现nest的@Controller和@Get功能

通过ts的反射reflect-metadata和修饰器实现nest的@Controller和@Get功能源码GitHub:https://github.com/JYbill/implement-nestjs-controller-getGitee:https://gitee.com/JYbill/implement-nestjs-controller-get还有很多可以完善的地方,通过这个案例,对ts的反射和对象、原型有了很大程度的理解功能原理...

2022-02-08 21:08:19 1128

原创 Typescript + 反射实现Ioc DI依赖注入

Typescript + 反射实现Ioc DI依赖注入参考资料:深入Typescript:Reflect Metadatahttps://github.com/rbuckton/reflect-metadata#api有关开启、安装反射和装饰器参考深入Typescript:Reflect Metadata反射的基本使用import 'reflect-metadata';function Class(): ClassDecorator{ return (target: any)

2022-02-08 14:15:43 731

原创 2022选择nestjs的理由分析

2022选择nestjs的理由分析#年后计划 #nestjs年前Java微服务高级应用、底层实现略微了解后,我的第一阶段算是结束了,准备步入第二阶段时,随之而来有感而发产生了一些新想法。一、是看看表锅的网站,没想到顺风顺水顺财神啊。二、写了一年的Java从开发效率来说每次reload我就在那傻乎乎的等着(小破电脑要换了,但是没钱),想着今后快速开发小型项目、接单、毕设没限定语言的情况下,开发效率显得至关重要了,time is gold 时间就是金钱。三、Node.js这个老朋友

2022-02-06 12:47:19 5157

原创 解决Tabby终端使用zsh主题字体无法识别问题

解决Tabby终端使用zsh主题字体无法识别问题我的问题:在使用了p10k主题后我的界面是这个鬼样子的????作为一个颜控,接受了无数大前端UI框架的洗刷下,这简直对我来说时玷污,我的font icon呢?就这?提示:在GNOME内是正常的解决思路:既然字体显示不出来那就添加能解析出来的字体经过我的不懈努力,在tabby github官网中,查到了很多外国友人和我一样的颜控困扰我的解决方式:https://github.com/Eugeny/tabby/iss

2022-01-18 13:44:19 5499 7

原创 定制oh my zsh主题

定制oh my zsh主题ANSI控制码详细参考:https://juejin.cn/post/6920241597846126599#heading-5oh my zsh外部主题:https://github.com/unixorn/awesome-zsh-plugins#themes因为我用的时centos云服务器,而oh my zsh有些是针对Mac终端 + itemr2制作的。需要导入特殊的字体、特殊的图标,所以我挑选的是没有字体特殊需要的主题我的主题模板选的是0i0:http

2022-01-17 13:43:48 945

原创 Java库:Jansi - 彩色日志输出体验

Java库:Jansi - 彩色日志输出体验环境:JDK8、springboot依赖库:JansiJansi简介:Jansi是一个小型 Java 库,它允许您使用ANSI 转义码来格式化您的控制台输出,即使在 Windows 上也可以使用。引入依赖<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId>

2022-01-15 17:11:41 3070

原创 Redis主从同步原理

Redis主从原理主从建立连接时第一次同步:全量同步Replication ld:简称replid,是数据集的标记,id一致则说明是同一数据集。每一个master都有唯一的replid,slave则会继承master节点的replidoffset:偏移量,随着记录在repl_baklog中的数据增多而逐渐增大。slave完成同步时也会记录当前同步的offset。如果slave的offset小于master的offset,说明slave数据落后于master,需要更新。因此slave做数

2022-01-08 19:03:21 803

原创 APIJSON自定义权限

APIJSON自定义权限鉴定

2021-12-06 17:12:40 2262 2

原创 安装Docker和yum工具

安装yum工具安装yum工具yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken更新镜像源# 设置docker镜像源yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed

2021-11-25 16:01:31 223

原创 GateWay过滤器执行顺序源码分析

GateWay过滤器执行顺序源码分析AddRequestHeaderGatewayFilterFactory配置文件中配有AddRequestHeader就会执行apply方法返回GatewayFilterpublic class AddRequestHeaderGatewayFilterFactory extends AbstractNameValueGatewayFilterFactory { @Override public GatewayFilter apply

2021-11-24 18:02:19 410

原创 Nacos集群下启动微服务报错NacosException failed to req APInacosv1nsinstance after all servers

Nacos集群下启动微服务报错NacosException failed to req APInacosv1nsinstance after all servers环境:spring-cloud:Hoxton.SR10spring-cloud-alibaba:2.2.5.RELEASE原因可能有多点:我是2点和3点的问题,所以仁者见仁智者见智…最常见的可能是版本兼容问题,传送门:https://github.com/alibaba/spring-cloud-alibaba/w

2021-11-22 19:47:24 741 1

原创 Nacos集群搭建

Nacos集群搭建进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf修改cluster.conf配置#it is ip#example127.0.0.1:88480.0.0.0:8848配置多台Nacos的Ip编辑application.properties配置# 使用mysql集群(修改)spring.datasource.platform=mysql# mysql集群的数量(修改)db.num

2021-11-22 17:53:20 1876

原创 枚举的本质

枚举的本质枚举本质是一个类,使用设计模式中的单例模式,但是不可以被反射创建public enum EnumDeep { APPLE("红", 19.23), ORANGE("橙红", 200.01); EnumDeep(String color, double money) {}}很简单的一个枚举类Constructor源码中newInstance方法调用newInstanceWithCaller方法,如果是枚举就会抛出异常@CallerSensitive@Force

2021-11-17 15:50:15 352

原创 浅析JMM线程工作内存什么时候读取主存变量

浅析JMM线程工作内存什么时候读取主存变量JMM中工作内存和主内存的关系以下全是查看其它博客,和自己的猜想结论,欢迎改正。猜想1:释放CPU时间片后再次抢夺成功会将主存的变量刷回线程工作内存。private static int num = 10;// 开3个线程循环读num变量的值, 当num < 1线程就结束for (int i = 0; i < 3; i++) { new Thread(() -> { while (true) {

2021-11-16 13:12:01 888 2

原创 浅析lambda表达式只能引用final修饰的变量

浅析lambda表达式只能引用final修饰的变量引用: lambda表达式只能引用外部final变量总结下面lambda表达式反编译的后的结果:源码:import java.util.function.Consumer;public class LambdaTest { Object instanceObj = new Object(); private void test() { // 用于直接引用 Object localObj

2021-11-10 20:09:58 556

原创 Js的单线程异步和Java的多线程异步的相似的写法

Js的单线程异步和Java的多线程异步的相似的写法以下自己的分析,可能有不对的地方欢迎改正。基础知道JavaScript引擎的单线程原理:异步(微任务、宏任务),同步堵塞模型,异步非堵塞模型知道Java多线程机制Js异步回调函数/Promise在Java中的写法js:在1秒后拿到out变量的值。const out = 100;setTimeout(() => { console.log(out);}, 1000)// 100java: 1秒后输出out

2021-11-04 19:46:41 484

原创 反射机制获取@Target({ElementType.TYPE_USE})修饰的自定义注解

获取@Target({ElementType.TYPE_USE})修饰的自定义注解ElementType.TYPE_USE是JDK8新推出的,可以在任意地方使用使用场景:检测框架public @NotNull("number") Integer number(@NotNull("不可为空") Integer num) { return num;}OverStackFlow由问题引出的解释:https://stackoverflow.com/questions/37898797/

2021-11-02 17:43:19 2373

原创 Centos离线安装Node和PM2

Centos离线安装Node和PM2准备node-linux.tar.gz下载:https://npm.taobao.org/mirrors/node/v14.2.0/node-v14.2.0-linux-x64.tar.gz 想要其他版本可以自己去看,这是淘宝镜像源安装Node上传到服务器并解压tar -xvf node-v14.2.0-linux-x64.tar.gz修改全局变量并重新加载vi /etc/profile# 修改内容export NODE_HOME

2021-10-25 17:31:36 371

原创 Nginx配置SSL证书实现HTTPS

Nginx配置SSL证书实现HTTPS前提由于写好的springboot、小程序时普通http协议,所以不得不花一天搞一下Nginx + SSL证书实现HTTPS协议,从而上线自己的小程序…✨已安装好Nginx,不管是服务器还是本地机了解Nginx已购买域名、备案一、获取免费SSL(腾讯云)阿里云、其他云道理一样https://console.cloud.tencent.com/ssl申请很简单,一步一步走就行了…????一分钟内就可以领取到免费证书下

2021-10-24 18:40:02 1225

原创 小程序父孙组件 孙触发事件传递给父组件 简单eventBus

小程序父孙组件 孙触发事件传递给父组件 简单eventBus环境:tsWeappEventBus.ts:事件公交回调类interface CallBackObj { [index:string]: Function}class EventBus { private eventObj: CallBackObj = {} constructor() { console.log('event bus initing ...'); } /** * 创建回调函数,

2021-10-06 13:52:27 567

原创 微信小程序、uni-app使用iconfont-tools将iconfont彩色字体图标组件化并使用

微信小程序、uni-app使用iconfont-tools将iconfont彩色字体图标组件化并使用安装iconfont-toolsnpm i -g iconfont-tools全局安装工具下载iconfont并使用工具在下载iconfont下# 下载的iconfont.js目标文件下, 一直回车即可iconfont-tools生成iconfont-wapp文件一直回车, 默认是t-icon前缀非sass小程序用.wxss即可,sass小程序和uniapp可以用

2021-10-04 17:21:10 1420

空空如也

空空如也

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

TA关注的人

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