- 博客(175)
- 收藏
- 关注
原创 5.9培训
访问http://192.168.1.100:81/static/upload/2025/05/09/43517f739c388a9e.php运行木马脚本,空白证明成功。先找文件上传的地方,打开代理链接BP,它需要一个xls文件。bp拦截了之后,我们修改请求,把后缀改成php,发送请求。我们创建一个sqzr.xls。找到我们的静态资源所在的位置。
2025-05-09 15:39:58
244
原创 robots.txt
###什么是robots.txt? robots.txt是一个协议,我们可以把它理解为一个网站的"管家",它会告诉搜索引擎哪些页面可以访问,哪些页面不能访问。也可以规定哪些搜索引擎可以访问我们的网站而哪些搜索引擎不能爬取我们网站的信息等等,是网站管理者指定的"君子协议"。如何查看robots.txt?在浏览器的网址搜索栏中,输入网站的根域名,然后再输入/robot.txt即可查看。
2024-01-04 21:09:15
1387
原创 Get请求
打开跨站源网站,例如www.baidu.com,浏览器F12,在console控制台输入,上面代码回车,即可。可以通过返回的错误信息和network中的response信息定位问题。
2024-01-04 19:23:08
461
原创 nc的用法
可以检测指定IP的UDP端口能否访问,如果是TCP端口去掉 -u 选项就可以了nc -l port可以启动一个本地服务器,接受发往指定端口的数据,并打印到控制台可以启动一个本地服务器,接受发往指定端口的数据,并保存到名为 filename 的文件中可以启动一个本地服务器,接受发往指定端口的数据,并转发到ip:new_port的机器上。
2024-01-04 19:22:30
531
原创 Redis缓存雪崩、缓存击穿、缓存穿透
用户的数据一般都是存储于数据库,数据库的数据是落在磁盘上的,磁盘的读写速度可以说是计算机里最慢的硬件了。当用户的请求,都访问数据库的话,请求数量一上来,数据库很容易就奔溃的了,所以为了避免用户直接访问数据库,会用 Redis 作为缓存层,因为 Redis 是内存数据库,我们可以将数据库的数据缓存在 Redis 里,相当于数据缓存在内存,内存的读写速度比硬盘快好几个数量级,这样大大提高了系统性能。引入了缓存层,就会有缓存异常的三个问题,分别是。
2023-03-01 22:15:58
1301
1
原创 YYGH-##-未来展望
这个寒假在复习的同时需要逐步完善YYGH系统除了一人一单优化还需要完成一个基于aop日志输出到elasticsearch,还搭建了ELK技术栈,高效搜索日志和排查问题。同时还要在活动模块完成一个抽奖模块。
2022-12-06 21:04:57
449
原创 YYGH-BUG-08
今天在做一人一单的过程中需要用到lua表达式存在resources但是找不到存放的lua文件,分析原因可能是build的过程中未导入文件。在maven的文件中添加。
2022-11-29 20:12:27
602
原创 YYGH-16-活动优化
之前现在我们实现的逻辑,存在问题。如果同一用户同时来很多请求,通过了查询订单判断。同时开启秒杀就无法实现一人一单,于是需要给秒杀功能添加一个锁,传统的是无法满足需求的,因为我们的YYGH系统是分布式架构,需要使用redis来完成分布式锁。同时由于下单业务和秒杀业务是高度耦合的我们可以利用来完成,对于他们直接的解耦,这里我用到的是Redis消息队列-基于Stream的消息队列,之所以不使用之前的rabbitmq是因为,这个逻辑不需要对他。
2022-10-24 17:13:54
975
原创 YYGH-15-活动模块
最近在浏览博客的时候发现一个比较好的文章,计划自己实现一个活动模块,这里我不只是想要实现一个秒杀活动,还有做任务得奖励,奖励就是暂时是体检门诊,后期会添加其他活动奖励。微服务 Spring Boot 整合Redis 实现优惠卷秒杀 一人一单_Bug 终结者的博客-CSDN博客1.先简历一个act模块,在数据库中简历yygh_act数据库,创建表coupon_user(存放活动券),字段id,coupon_id,user_id,start_time,end_time,state(0未使用,1已使用,2已过期)
2022-10-07 16:33:14
363
原创 MySQL错误:Incorrect table definition;there can be only one auto column and it must be defined as a key
问题描述:MySQL建时表报错:Incorrect table definition;there can be only one auto column and it must be defined as a key(表格定义不正确;只能有一个自动列,并且必须将其定义为键)错误原因:表格中有多个列设置为自动增加或者只有一个自动增加的列但是并没有将其设置为一个键。修正方式:保证自动增加的列只有一个并且将其设置为一个键。
2022-10-01 11:48:38
5709
原创 SpringBoot配置读写分离
服务端代理:需要独立部署一个代理服务,该代理服务后面管理多个数据库实例,在应用中通过一个数据源与该代理服务器建立连接,由该代理去操作底层数据库,并返回相应结果。优点是支持多语言,对业务透明,缺点是实现复杂,实现难度大,同时代理需要确保自身高可用客户端代理:在连接池或数据库驱动上进行一层封装,内部与不同的数据库建立连接,并对SQL进行必要的操作,比如读写分离选择走主库还是从库,分库分表select后如何聚合结果。优点是实现简单,天然去中心化,缺点是支持语言较少,版本升级困难Cobar。
2022-09-18 22:45:46
2084
原创 重识JAVA基础-反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上的总结就是什么是反射反射就是把java类中的各种成分映射成一个个的Java对象。
2022-09-03 16:58:25
206
原创 YYGH-14-监测中心
最近又有一个新的构思,就是通过SpringBoot Actuator,完成对于所有的service模块的监控,并且在admin显示数据,这个思路来源于阿里云类似于这样显示一个折线图思路:1.这个监测功能整合到sta模块,建立一个数据库service_sta,里面建立一个表ramMonitor,字段(id,服务名称,ram占用,时间),再建立一个表cpuMonitor(id,服务名称,cpu占用率,时间)
2022-08-20 17:12:57
232
原创 Spring原理解析
通过这个图片我们可以看出来,在ApplicationContext中有一个beanFactory在它中有singletonObjects,这里面存放了我们的所有bean接下来我们通过反射来获取到BeanFactory中的我们来看这段代码,先通过反射获取到了singletonObjects之后ApplicationContext的getBeanFactory()获取BeanFactory,之后singletonFactories成员变量调用get这个操作获取BeanFactory()的singletonFa
2022-08-11 16:42:52
294
原创 SpringBoot整合原理解析
阶段一:SpringApplication 构造阶段二:执行 run 方法得到 SpringApplicationRunListeners,名字取得不好,实际是事件发布器封装启动 args准备 Environment 添加命令行参数(*)(准备环境变量,和配置变量)ConfigurationPropertySources 处理(*)(添加一个处理参数格式的处理器)通过 EnvironmentPostProcessorApplicationListener 进行 env 后处理(*)...
2022-08-11 16:38:15
460
原创 YYGH-BUG-06
gateway无法加载配置文件,今天要开发客服模块,加载完前端之后发现有问题一开始以为是前端导入新的依赖有问题,回滚之后问题还是有,这里排查到应该是无法网关无法使用,在尝试重启idea之后还是没有用。这时打开idea生成的文件发现里面没有配置信息,此时gateway无法加载信息。这时发现resources文件标记不对。.....................
2022-07-29 21:32:45
210
原创 YYGH-BUG-05
.SQLException: Incorrect string value: ‘\xE5\x8C\x97\xE4\xBA\xAC…’ for column ‘hosname’ at row 1at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate当我们需要插入数据的时候这个报错,查询后得知[org.springframework.context.support.DefaultMessageSo
2022-07-10 22:02:28
268
原创 YYGH-12-下载中心
基于SpringCloud的预约挂号系统 - 小岚 (zhaodapiaoliang.top)承接上一篇说的,把这个系统进一步完善增加一个下载中心的功能这是我1.前端两个页面,一个是订单下载(负责控制下载)另一个是下载中心(展示下载下来的url)2.建立一个yygh_oss的mysql库,里面建立一个download表,字段有id,医院id,医院名称,开始日期,结束日期,文件url,status (这个status,0为还没有下载,1为已经下载,2为下载失败)3.在order模块设置一个根据医院和开始结束时
2022-07-10 22:00:11
662
原创 Java动态代理原理分析
如果$Proxy0就是jdk创建的动态代理对象我要增强foo方法,可以这样但是我们希望通过public static void main(String[] args)来控制增强,那么我们的代码改成了这样现在有一个问题这个只能增强foo这个方法,当要增强别的方法,就不能这么写了。于是我在代理类里面通过反射创建了存放当前方法的参数现在我们这个软件又有一个问题就是无法返回参数这时我们需要改变一下InvocationHandler的invoke方法让他返回Object,同时我们由于我们不能每次调用方法都去反
2022-07-06 16:28:14
652
原创 基于SpringCloud和Vue的前后端分离-预约挂号系统
网上预约挂号是近年来开展的一项便民就医服务,旨在缓解看病难、挂号难的就医难题,许多患者为看一次病要跑很多次医院,最终还不一定能保证看得上医生。项目用到的技术项目笔记做这个项目的时候写的笔记 预约挂号项目在开发的时候也遇到了不少bug,这里我记录下来也上传到博客上YYGH-BUG-01YYGH-BUG-02YYGH-BUG-03YYGH-BUG-04GitHub项目地址:java后台:https://github.com/xiaozhaotongzhide/YYGH管理前端:https://github.c
2022-07-03 21:17:28
1696
1
原创 YYGH-11-定时统计
我们通过定时任务,每天8点执行,提醒就诊pom配置文件application.properties在rabbit-util模块com.atguigu.yygh.common.constant.MqConst类添加启动类建立serviceorder建立监听模块orderService预约统计我们要再管理页面添加一个可以展示每天预约数的折线图.这里我们用到了ECharts来做思路分析1.前端发送一带有查询数据的请求,到sta模块2.sta调用feign请求order模块,3.order模块获取每
2022-07-03 14:20:48
353
原创 YYGH-10-微信支付
微信扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。申请步骤:(了解)第一步:注册公众号(类型须为:服务号)请根据营业执照类型选择以下主体注册:个体工商户| 企业/公司| 政府| 媒体| 其他类型。第二步:认证公众号公众号认证后才可申请微信支付,认证费:300元/年。第三步:提交资料申请微信支付登录公众平台,点击左侧菜单【微信支付】,开始填写资料等待审核,审核时间为1-5个工作日内。第四步:开户成功,登
2022-07-01 14:44:03
267
原创 YYGH-BUG-05
80行报错空指针异常证明这里一直显示失败今天在整合微信支付的时候遇到一个bug,更新订单状态的时候我们需要根据订单号查询相对应的订单同时更改订单的状态为已支付证明没有查到orderinfo这时我们发现getid是不行的应该getOrderid改完之后重启项目这时我们发现现在已经是预约成功了那么为什么我们改了这里就支付成功了呢,无需再次支付是这样的.1.前端调用接口,生成二维码,返回一个mapmap里面最重要的就是一个url存放二维码2.前端解析map,显示二维码,同时前端每3秒检查支付
2022-06-29 22:42:40
185
原创 YYGH-9-预约下单
之前我们做到了分析下单参数:就诊人id与排班id1、下单我们要获取就诊人信息2、获取排班下单信息与规则信息3、获取医院签名信息,然后通过接口去医院预约下单4、下单成功更新排班信息与发送短信现在到了点击确认挂号,我们就需要,在订单表生成订单先来看一下订单表结构我们发现现在这个订单交易号肯定是订单模块自己生成,有一些数据是需要从hosp模块取得,还有一部分就诊人信息是需要在user模块获得我们先来写这2个模块的Feign操作模块:service-usercontrollerservice搭建service-
2022-06-28 11:21:59
447
1
原创 YYGH-BUG-04
之前改用邮箱的坑因为手机字段位数问题在测试的过程中遇到这样一个问题不要慌先看问题格式错误,然后这个是一个排班的id,检查排班id是否有异常的格式转换发现把一个Stirng转换成Long肯定是有问题的改掉这里有一个空指针问题,我们点进去这个方法发现是ReserviceTimeget不到找一下orderInfo的来源发现它是从这里来的这时我们注意到在向医院模块发送请求的时候reservice就是空的说明在这之前就已经是空了可以看到orderInfo的属性来自于scheduleOrderVo而这个Vo又是通过Fe
2022-06-28 10:44:13
596
原创 YYGH-8-预约挂号
我们要做成这样的效果.分析1.首先我们要根据参数在mongodb中读出医院,然后根据医院编号和参数读出科室。同时在医院中有预约规则根据预约规则。计算出周期和要显示的天数。service中的getBookingScheduleRule方法获取可预约时间的方法2.根据计算出来的可预约时间找到对应的排班信息,同时利用mongoTemplate.aggregate的sum方法,来计算可用的预约数,为了方便我们之后演示我们需要建立一个map,key是工作时间value是预约规则和剩余数量3.根据日期对应排班的m
2022-06-27 15:15:25
441
原创 从0配置RabbitMQ
docker安装RabbitMQ查看仓库里的RabbitMQ安装RabbitMQ这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可启动RabbitMQ安装插件先执行docker ps 拿到当前的镜像ID进入容器安装插件ctrl+p+q退出当前容器访问地址http://linuxip地址:15672,这里的用户名和密码默认都是guest...
2022-06-27 11:08:16
237
原创 实现一个基于Java语言的简易关系型数据库
用来学习关系型数据库(如Mysql)的设计理念、核心骨架、基本算法。涉及的核心原理自平衡的排序二叉树: 我们的数据库采用平衡二叉树,来加快增删改查的速度序列化:因为要存储到磁盘空间上,对添加数据之后的二叉树进行序列化StartUpMain这个是启动类要,启动用的建表的逻辑:建立一个Entity类定义一个int id,作为查询的主键,定义一个map类型存放各个属性,定义一个String的Table.我们的数据库是一个比较简单的数据库,所有的存放类都是Entity的实例建立一个自平衡的二叉树,存储数据在这个过
2022-06-24 22:32:35
897
原创 SpringBoot整合优秀轮子
在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要内容如下:首先出场的是包下的类,该类主要用于操作集合或者返回集合,我个人非常喜欢用它。在工作中经常有对集合排序的需求。看看使用工具是如何实现升序和降序的:执行结果:1.2 获取最大或最小值有时候需要找出集合中的或者
2022-06-24 19:11:37
1054
原创 YYGH-7-用户管理
YYGH系统要增加一个用户认证的功能,需要把图片上传到服务器,考虑到未来的用户比较多我们现在实验云oss服务器。这里我选用的是七牛云,因为他有免费的10G额度。首先我们要先来配置七牛云。完成实名之后创建一个存储空间,为他配置好一个域名正好我在阿里云上有一个域名,于是准备把一个二级域名给他cdn.zhaodapiaoliang.top这样我们的七牛云就配置好了测试一下上传文件,我们就需要用springboot控制上传这是官方的SD...
2022-06-21 16:59:21
523
原创 YYGH-BUG-03
今天在做图片上传系统,整合七牛云的时候在上传一个文件的时候报错org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceeded
2022-06-19 15:09:26
197
原创 YYGH-6-微信登录
OAuth主要角色现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式核心的技术不是用户名和密码,而是token,由AuthServer颁发token,用户使用token进行登录这个是微信登录的开发平台微信开放平台:https://open.weixin.qq.com授权的流程https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open141931
2022-06-14 14:58:49
358
1
原创 YYGH-BUG-02
今天在做预约挂号系统微信登录通过accessToken,openid获取登录信息的时候发现nickname这个是一种乱码这里我们通过,编辑器查看一下这个昵称到底是什么格式的编码UTF-8显然不是GBK显然也不是看来正向不好推出,已知我们的昵称是沉迷学习!!!所以我们产看一下沉迷学习的各种编码格式最终通过对比发现微信昵称通过Http传输其编码格式为windows1252完成在原代码中更改......
2022-06-13 21:30:20
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人