自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3中的实例

vue3:createApp创建一个Application Instance、应用实例用来注册全局内容,大多数方法支持链式调用,返回实例对象,除了mount方法,他返回组件对象也就是Component instance,还有一种较为特殊的组件类型为 Internal Component instance,在组件实例内部获取自身的实例,使用getcurrentInstance。Vue2:每个Vue应用都是new Vue创建的一个新实例,创建的时候将data作为property添加到响应式系统中。

2024-09-11 11:57:35 601 1

原创 前端测试(Vue)

手动配置太过繁琐、我们可以使用插件,注意项目基于vue-cli 、、vue add unit-jest。支持断言、异步支持、Mock,代码覆盖率、开箱即用、Fast。ant-design-vue和复杂单页面。

2024-09-09 16:54:50 585

原创 [前端]prettier-eslint

创建.vscode->settings.json\。安装插件:prettier eslint。创建.eslintrc.js。

2024-08-13 15:54:04 221

原创 Node-Koa-Mysql

推出koa的最大原因是如果需要处理异步任务,express中间件如果处理异步任务,洋葱模型会被打破,koa能够处理异步任务,并保证代码的执行顺序,koa更加简洁,核心代码仅1600多行,很多框架都趋于这种方式,更简洁,可扩展,就像vue2早期社区内部还封装了网络请求,后面被去除,建议我们使用axios来发送网络请求。如果遇到关键字作为表名或者字段名称,可以使用``来包裹。主键primary key,区分唯一性,主键是表中唯一的索引,也可以设置多列索引,主键的字段应该与业务无关,应该是not null。

2024-08-12 09:57:12 1034

原创 [前端]Next.js

app.jsx。

2024-08-11 20:09:53 435

原创 [前端]手写Nuxt和使用

获取数据主要是通过,支持server-client,api为$fetch,但是我们不怎么用,因为他会在服务端发起一次,然后又在客户端发送一次,不难理解,因为setup生命周期在两端都会回调,这时候我们就需要标识我们的网络请求,避免重复发送,官方也为我们提供了一个Hook,再刷新的时候,只有服务器会发送一次请求,在进行页面路由的时候,只有客户端会发送一次网络请求,爬虫是请求服务器,下载到临时目录的,所以不存在SEO问题。

2024-08-08 22:44:36 887

原创 [前端]TS+React项目搭建和注意事项

区别在于写FC指定,在给组件的属性赋值的时候有更好的提示,和更好的错误检测,以前这种方式自带children,现在没有,自己指定ReactNode类型,可选。我们本质上是拿到对应store.getstate的类型,这是一个函数,我们可以通过typeof拿到对应的类型,在通过ReturnType来拿到对应的返回值类型,但是很麻烦,一种方案是在store类直接暴露类型,我们可以在store中将selector,赋值给自己的变量,随后导出,如何指定类型呢,TypeUseSelectorHook。

2024-07-29 11:01:25 824

原创 【前端】微信小程序与AI Coze对接

【代码】微信小程序与AI Coze对接。

2024-07-25 18:07:35 1168 1

原创 [学习]如何正确的学习?

不去考虑智商这个变量,导致这种现象的重要原因,是知识储备的不同,你懂的越多,你学的越快,橘个栗子,你在读一段话,里面的专业术语你全部认识,或者跟你的已有知识有联系的话,你了解这段话的速度会非常快,这些人的真正优势在于,他已经储存了很多思维和信息,也就是知识储备,学习和记忆的本质,就是把新知识与旧知识建立联系,你存储的就旧知识容量越大,种类越多,旧越能随时找到与新知识之间的联系,就能更快更好的学习,你的每一次联系,都会积累你的本金。

2024-07-25 18:02:25 991 1

原创 【前端】TS语法细节

接口和别名

2024-07-12 18:15:26 759

原创 【前端】函数抽象化和数组的操作

我们通过部分应用和函数柯里化来实现输入从抽象到具体,那今天我们来看看如何将方法从具体到抽象,如何实现函数的组合。

2024-07-08 16:31:28 152

原创 高并发通用解决方案

后来,在网站恢复以后,测试了一下,由于页面的复杂度非常高,当 QPS 达到 7 以后,数据库就会满载,随后云主机也会满载,网站就挂了。Apche与Nginx的性能差异,大概是1:4,如果你的应用还在使用Apche来承载流量,那只需要在前面加上一个nginx,便可以在系统配置不变的情况下,提升系统容量一倍,且nginx对图片和视频流式传输进行了优化,引入nginx反而降低了cpu占用率和内存容量,在如今流量越来越便宜的时代,静态资源反而呈指数级上升,Nginx的优势还在延续。

2024-07-08 11:59:52 1224

原创 JS原理-**

思考:当我们使用setTimeOut这样的内置函数时,他的回调方法的this指向谁?如果我们想要绑定,但不想每次动态绑定就可以使用bind,且在显示绑定里bind的优先级最高,传参方式跟call一样。如果我们将方法当作对象属性的值随后对象调用这个函数,方法内的this会指向这个对象,new这种情况我们下面再讨论。apply(“this”,[...args]) 第一个绑定的this,第二个传入参数,以数组的形式。this的绑定分为隐式绑定和显示绑定,this的指向与定义位置无关,默认绑定到windows中,

2024-07-06 18:12:53 247

原创 [前端]柯里化和部分应用

在函数式编程,响应式编程中,我们应尽量采用不可变和纯函数来增加确定性,在方法的输入,输出,计算中,最难以控制的就是输入,我们来聊聊如何控制输入。// 现在,sumWithOne 是一个新函数,它接受两个参数,并将 1 作为第一个参数传递给 sum。// 也可以再次使用 partial 来创建另一个函数,这次设定前两个参数为 1 和 2。// 使用 partial 函数来创建一个新函数,这个新函数预先设定了第一个参数为 1。

2024-07-06 12:04:30 193

原创 【前端】为何React.js采用对象来做状态管理

我们首先需要探讨的是,什么样的类型的结构能够管理和记录状态,也就是state和一系列行为,还要应用数据不可变,来保证数据的一致性。

2024-07-04 11:31:16 206

原创 [前端]vue-router

随后补充。

2024-06-30 23:55:29 138

原创 【前端】Pinia

随后补充。

2024-06-30 23:54:26 107

原创 [前端]Redux

关于RTK和手写connect,以及插件的事件机制随后补充。在redux中通过派发action来操作数据。

2024-06-30 23:53:00 237

原创 【前端】Date和DayJS

不推荐是同字符串创建日期,因为创建日期的时候不指定时区会默认UTC时区,会和GMT等时区发生冲突,如果想要创建”本地时间“,则需要至少写入HH和mm,这样不同时区也能保持一致。我们可以传入参数new Date(2019,5,11,5,23,59)使用参数创建默认本地时间,不会导致时区混淆,最好不要使用字符串创建日期。所有dayjs对象都是不可变的,我们可以使用clone()来获得一个对象,isValid()可以判断是否通过校验,包括传入的参数能否被正确解析为日期。比较前后可以直接使用>

2024-06-30 22:48:37 540

原创 RabbitMQ可靠性机制

两个回调确保消息正常发送,producer到exchange用confirmcallback。exchange到queue使用retrunCallback来保证。在生产端写回调函数,对回调进行处理。开启配置,这两种方式都在生产段实现。交换机发送到队列是否成功回调函数。

2024-04-04 17:51:52 214 1

原创 springboot配置文件密码加密

使用jasypt进行加密,jdk1.8使用2.12版本,更高版本jdk使用3.0以上,common导入。

2024-04-04 17:34:02 347 1

原创 rabbitMQ+Springboot使用

/设置死信RoutingKey。创建队列,交换机,并绑定关系。

2024-04-04 17:18:23 214 1

原创 yarn add xxxx命令报error Error: certificate has expired

yarn add xxxx命令报error Error: certificate has expired

2024-03-05 15:25:25 223 1

原创 RabbitMQ如何实现死信队列?与RocketMQ的性能差异在哪

RabbitMQ本身不直接支持延时消息的功能,但可以通过使用TTL(Time To Live)和死信队列来实现延时消息的效果。在这种实现方式中,需要为消息设置TTL,使消息在一定时间后变为死信消息,然后再通过交换机和队列的绑定关系将死信消息转发到另一个队列进行消费。在RocketMQ中,发送消息时可以设置消息的延时级别,即消息需要延迟的时间。RocketMQ会根据延时级别将消息存储在对应的延时队列中,在延迟时间到达后,消息会被投递到相应的消费者进行消费。

2024-02-18 00:35:37 764 1

原创 Maven打包报编码GBK的不可映射字符(已解决)

编码GBK的不可映射字符

2024-02-17 23:26:03 1118 1

原创 murmurHash使用方法

murmurhash短链生成

2023-03-20 20:07:12 756

原创 Elstaic-job简单使用

springboot集成elstaic-job实现模拟数据库备份

2023-01-09 22:40:12 135 2

空空如也

空空如也

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

TA关注的人

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