自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(291)
  • 资源 (6)
  • 收藏
  • 关注

原创 二叉树遍历练习题

由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间。通过前序遍历找到子树的根,在中序遍历中找到根的位置,然后确定根左右子树的区间,即根的左侧为左子树中所有节点,根的右侧为右子树中所有节点。B的左子树:JGDHK B的右子树:空 C的左子树:ELIM C的右子树:F。7的左子树: 4 7的右:空 9的左子树:6 9的右子树:2。D的左子树的根:G D的右子树的根:H E的右子树的根:I。

2024-07-01 16:19:02 198

原创 guli商城业务逻辑-基础篇笔记

删除只能使用逻辑删除,也就是把数据库里的删除字段从0改成1,数据不可以真正的删除掉,所以就要用到mybatis-plus的逻辑删除来执行数据库操作。找到我们之前逆向生成的代码,用的是人人代码逆向生成项目生成的,具体流程看我之前的文章。因为接口的后端api地址跟后台地址不一致,需要通过注册api网关的方式转发来解决。这里先处理人人后台的后端,后面在对接上guli的接口。单独创建一个异常类,他的作用就是用来统一处理异常的。为了避免重复的造轮子,先创建出来一个公共的类category.vue。

2024-06-16 22:25:12 1215

原创 Python 爬取淘宝指定搜索商品评论 标题 销量 计算sign

只需要替换原来的Cookie和token即可使用,自动计算对应链接地址的sign直接使用即可。需要注意是一个账号爬取过多会有验证码。

2024-06-14 14:20:53 242

原创 CTF-Misc学习笔记

我要加密的字符串为 " beyondlight" ,在上表中寻找与明文字母对应的数字组合,组合中第一个数字为横坐标,第二个数字为纵坐标,两个数字共同定位明文字符。在密码学中,凯撒密码(Caesar cipher),或称凯撒加密、凯撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。2.密文中出现的数字范围为1-5,超出这个范围的数字可能是与明文相同的数字。这个可以查看不同的色彩通道。

2024-06-04 14:01:25 330

原创 web安全基础学习笔记

index.php是一个用PHP语言开发的网站的首页,index是普遍意义上的“首页”,也就是你输入一个域名后会打开一个页面,基本上就是index.xxxx(基本上首页都不会把index.xxxx显示在url里,但也不绝对) 使用index.php~下载到源代码。eregi函数在进行匹配的时候,如果碰到%00会意味着字符串的结束,因此我们只需要传入%001234,他截取到%00后匹配的时候就会变成111,111在1114中,成功绕过。只要通过让他的语句结果为真就可以进行注入,找到注入点让他的结果不一样。

2024-06-03 20:07:52 894 1

转载 创建一个vue项目(webpack 和 vue-cli3)

解释一下这个命令,这个命令的意思是初始化一个项目,其中webpack是构建工具,也就是整个项目是基于webpack的。所以选第一个独立放在一个文件。vue create project-name //project-name是你要创建的文件夹名字。Sass/SCSS (with dart-sass) //运行处时速度比node块。Linter / Formatter //规范层面。

2024-05-17 13:15:29 80

原创 黑马guli商城项目初始化-SpringCloud微服务项目初始化使用SpringCloudAlibaba快速搭建分布式系统

*** 1、如何使用Nacos作为配置中心统一管理配置* 1)、引入依赖,* 2)、创建一个bootstrap.properties。* 3)、需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties* 4)、给 应用名.properties 添加任何配置* 5)、动态获取配置。* @RefreshScope:动态获取并刷新配置* @Value("${配置项的名}"):获取到配置。

2024-05-16 10:58:13 711

原创 使用人人开源renren-fast快捷搭建后台管理系统

这个报错是因为SSL的问题,在SQL语句后面加上去 &useSSL=false 即可。

2024-05-15 21:24:58 221

原创 HyperLogLog的使用做UV统计

使用Jedis连接Redis并操作HyperLogLog。

2024-05-15 01:12:54 254

原创 Redis学习笔记

业务阻塞后会出现极端情况,一个线程的锁超时释放后,这个进程结束阻塞的同时也会把另一个线程的锁给释放掉了。先刷新用户的token如果不存在就接着往下走,然后走到下一个拦截器中拦截。目前都是同步进行的,优化方案是使用异步。使用独立的线程来解决耗时的部分。解决方案,存放一个线程标识,是自己的锁才能释放不释放别人的锁。在之前的写法高并发的场景下库存会出现超卖的问题。使用map结构来计算同一个线程进入了多少次锁。先操作数据库在写入缓存出现异常的情况较少。乐观锁是用来解决更新数据时候的并发问题,添加redis线程锁。

2024-05-14 10:19:25 902

原创 linux使用docker 安装mysql redis

https://hub-stage.docker.com/ 前往这里搜索容器来部署。每个容器都有独立的运行环境。

2024-04-24 17:22:00 504 2

原创 归并排序算法

然后得到了一个新的序列,然后对比两个序列的头部看看那个序列的头部最小。第一次排序完成后就会得到一个新的数组,然后重复以上操作继续两两合并。然后把两个序列内容进行排序对比头部移动到新的序列里面去。例如这个数组,进行从大到小的顺序来合并。最后只剩下一组序列,归并排序就到最后了。

2024-04-09 17:53:45 230

原创 我的创作纪念日

提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等​​。

2024-03-25 21:08:08 295

原创 差分【Java】

【代码】差分【Java】

2024-03-19 22:59:43 291

原创 【Python】使用selenium对Poe批量模拟注册脚本

【代码】【Python】使用selenium对Poe批量模拟注册脚本。

2024-03-19 22:20:56 677

原创 字母异位词分组【每日一题】

可以通过案例找到规律,每个词排序完后是同一个,所以通过hasmap存储排序过的值做key,值是存储单词集合。

2024-03-17 21:33:34 308

原创 【哈希表】Java

给每份数据分配一个编号,放入表格(数组)建立编号与表格索引的关系,将来就可以通过编号快速查找数据1.理想情况编号当唯一,数组能容纳所有数据2.现实是不能说为了容纳所有数据造一个超大数组,编号也有可能重复解决1.有限长度的数组,以【拉链】方式存储数据2.允许编号适当重复,通过数据自身来进行区分。

2024-03-17 20:03:43 115

原创 区间问题【前缀和】

前缀和数组:用于处理 连续多次取区间和 操作的情况,取区间和期间不能对原数组进行区间增减数操作。

2024-03-17 03:31:16 611

原创 二叉树数据结构【Java】

【代码】二叉树【Java】

2024-03-16 15:33:14 236

原创 数据结构中的堆(Java)

在堆的操作中,非叶子节点的重要性体现在维护堆的性质(如最大堆或最小堆)方面。非叶子节点是指至少有一个子节点的节点,它们位于堆的上层。在二叉堆(Binary Heap)中,非叶子节点的数量总是等于总节点数的一半(向上取整)。在堆(Heap)这种数据结构中,节点被分为两类:叶子节点(Leaf Nodes)和非叶子节点(Non-Leaf Nodes)。叶子节点是指没有子节点的节点,它们位于堆的最底层。在堆中,叶子节点的数量总是大于或等于非叶子节点的数量。该方式适用索引为0起点的堆。

2024-03-12 22:28:15 388

原创 leetcode 3074. 重新分装苹果 【Java】

【代码】leetcode 3074. 重新分装苹果 【Java】

2024-03-12 22:05:32 282

原创 队列模拟栈

队列是先进先出的数据结构。栈是后进先出的数据结构。

2024-03-06 01:50:08 208

原创 链表哨兵例子

【代码】链表哨兵例子。

2024-03-05 22:25:05 251

原创 递归学习资料

使内存能够得到及时的释放,某些编译器可以对尾调用做优化。时间优化但是增加了空间成本,增加了空间复杂度。

2024-03-04 21:56:25 266

原创 vue教程

一旦起了名字就是具名插槽,需要添加template包裹起来。

2024-02-24 22:05:37 1021

原创 每日算法/路飞吃桃/Z递归

【代码】每日算法/路飞吃桃/Z递归。

2024-01-28 17:09:38 121

原创 ensp实验

network 192.168.1.0他直连的网段 0.0.0.255网段的反掩码。同样的另一台交换机也是一样,lsw2配置完lsw4也要配置。配置好接口的ip地址根据这个ip地址做地址池分配就可以了。acsess只允许通过这个254vlan10的这一个区域。设置完成后设置vlan10的ip地址也就是他的网关。dhcp动态协议给他一个范围他自行分配ip地址。开启他的dhcp 选择他的模式为global。陪完整对应的ip地址之后可以配置ospf了。根据接口的网段来分配ip地址,从大到小的方式。

2023-12-24 01:10:18 934

原创 Java队列

【代码】Java队列。

2023-10-12 00:38:36 166

原创 软考软件设计师-存储管理-文件管理-计算机网络(中

只有后面没有在使用的才能进行替换,比如3后面的0和2都是马上需要访问到的所以不能换,1排在最后面优先把1替换掉把1换走把3换进来。逻辑块是5我们直接求他的最后一块是多少,第一块是5一共要装256块因为第一块已经装上了那就是256-1减去第一块。接口就是往前推算,从3这个内存块开始,最近使用过8,1,2就不能把他们换走,往前看最久一次使用的是7所以先把7给换走。访问到0的时候0是有的不需要置换,当访问到33在里面没有所以需要置换进去。只要在内存块中没有的都是缺页面的,比如内存块701一直到2才是没有缺页的。

2023-09-23 02:06:23 404

原创 软考软件设计师-计算机组成与体系结构(上

根据前驱图画出六个进程中是v先操作还是p先操作。例如先执行a然后在释放执行b。然后在P2中 S2执行前要先保证a先执行完成了P(a)先把a给锁定住,等a执行完成后在执行s2,执行后又释放Vc和Vd【【2023软件设计师备考】软考中级 | 软件设计师考点理论精讲【零基础适用】】 【精准空降到 41:49】

2023-09-20 17:54:46 877

原创 C语言指针快速入门

简单的说指针用于表示地址,存放的是一个地址。

2023-09-13 22:48:36 170

原创 缓存穿透、缓存雪崩的解决思路

通过返回一个空值回去,就不会一直访问到数据库了。什么是缓存雪崩

2023-02-23 15:20:47 120 1

原创 Mysql的视图

1.视图可以看做一个虚拟的表,本身是不存储数据的。视图的本质可以看作是存储起来的select语句2.视图中涉及到的表都统称为基表3.针对视图多DML操作,会影响到对应基表中的数据。反之亦然4.视图本身的删除,不会导致基表中数据删除。5.视图的应用场景:针对小型项目,就不推荐使用视图。6.视图的的有点:简单控制。

2023-02-12 20:15:31 409

原创 使用Apifox创建Mock智能操作

点击接口后面的Mock就可以自定义函数了。

2022-12-15 13:36:45 1441

原创 hutool请求使用POST或者GET响应中文乱码问题解决方案

请求的时候后面加上CharsetUtil.后面是根据响应类型来使用编码,我用的是GBK就能返回中文了。

2022-12-12 20:46:08 2820

原创 通过JAVA删除Linux上带特殊格式和中文名文件

因为我要通过流上传文件到本地处理,处理完成后进行删除,但是有些流文件包含中文名和特殊字符导致无法删除。带有特殊格式的中文名文件,无论怎么转义删除都提示没有这个文件,导致无法删除。

2022-12-02 09:34:00 369

原创 【脱壳修复】脱壳修复IAT

如果脱壳后没有秀发IAT那也只能在你的电脑上运行,无法在别人电脑上运行,因为IAT是为了提升软件的兼容性,软件启动后每次运行都会获取当前电脑的API函数地址,脱壳后就会损坏IAT也就无法获取机器的API函数地址。可以通过od 右键 查看所有模块调用 来查询目前程序所调用的API函数地址。

2022-10-22 20:58:05 73

原创 【脱壳-寻找OEP】壳常用的函数寻找OEP

我们这次用GetProcAddres来测试,载入我们的测试文件然后Cttrl+G输入GetProcAddress获取函数的地址下断点,但是下的是条件断点,只针对函数加载进行记录而不是进行下断。但是这里的数据有几千行不知道哪一行是我们要定位的数据,我们在他的代码段设置访问断点然后一直按住F9往下运行一直到他被断下来为止。这次我们用的是特殊OD。之后一直F9停下来的就会出现代码段,这就是我们的OEP了,但是这个方法不太好用不建议使用。设置esp的记录为记录值,因为esp的栈顶数据读入的第一条肯定是他。

2022-10-20 22:54:59 316

原创 【脱壳-寻找OEP】通过堆栈平衡法找到OEP(ESP定律)

本次教程用的还是用UPX的加密,直接载入这个文件可以看到一个pushad,每个pushad都有他对应的popad,他的作用就是把右边的寄存器内容压入栈中,popad就是把压入栈中的内容进行还原。我们到堆栈里给他设置一个硬件访问断点,因为他是从第一个开始弹出所以要在第一个地址里设置断点,所以等到他pop出来还原的时候也就是解码完成了,就可以顺着找到oep。对比后发现他把内容都给压入到栈中了,到popad那一步的时候他又会把压入的内容还原到堆栈中去。跳过去就是我们的OEP了。

2022-10-19 23:15:16 389

原创 【脱壳-寻找OEP】通过内存定位OEP实现脱壳

注意:不需要去断加壳程序原本的代码断,因为他本身的代码断是做解密 还原 写入的,没必要在他本身做断点。这次用的也是UPX的壳,载入特殊od后可以看到upx的壳是在我们原始oep的代码外面,UPX0里面才包含我们的原始入口点,UPX1是不包含的,UPX1这块就对 解密 还原 写入这三个步骤进行操作,然后写入到UPX0这个输入表中,也就是我们真实的OEP入口代码地址。设置完后F9运行,可以发现他断在了我们的入口点处,代码已经解密完成了,加壳程序已经还原了他的代码,这也是还原后执行的第一行代码段被我们断了下来。

2022-10-19 21:42:49 477

Linux hadoop,hive,javajdk,mysql数据库等压缩包

Linux 搭建Hive链接mysql教程 适用搭建hadoop,配置环境使用

2022-01-04

tesseract-ocr安装包和中文语言包.zip

tesseract-ocr安装包和中文压缩包

2021-12-20

wechat_devtools_1.03.2007151_x64.exe

微信小程序开发工具

2021-11-24

python浏览器爬虫xpat插件

更方便在浏览器调试

2021-11-01

python浏览器爬虫xpat插件

更方便在浏览器调试

2021-11-01

芒果网络验证网页一键加密加壳系统全套源码加密exe和dll

加密dll和exe包含源码加壳端和管理端可二次开发

2021-07-12

空空如也

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

TA关注的人

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