- 博客(77)
- 收藏
- 关注
原创 【js逆向】数据解析
Regular Expression, 正则表达式, 一种使用表达式的方式对字符串进行匹配的语法规则.我们抓取到的网页源代码本质上就是一个超长的字符串, 想从里面提取内容.用正则再合适不过了.正则的优点: 速度快, 效率高, 准确性高 正则的缺点: 新手上手难度有点儿高.不过只要掌握了正则编写的逻辑关系, 写出一个提取页面内容的正则其实并不复杂正则的语法: 使用元字符进行排列组合用来匹配字符串 在线测试正则表达式。
2024-11-07 07:23:31
616
2
原创 【server】springboot 整合 redis
Redis的安装非常简单,到Redis的官网(),下载对应的版本,简单几个命令安装即可。
2024-07-07 23:36:07
1235
6
原创 2、图形验证码
现今,市面上的图形验证码付费的,免费的多种多样,主要形式有滑动拼图、文字点选、语序点选、字体识别、空间推理、智能随机等。而处理也分为web端和sever端两部分此处以免费的kaptcha 为例,进行数字图形验证码的解析。
2024-07-05 23:58:42
404
原创 【server】nacos 安装
也可以在服务启动类上添加@EnableDiscoveryClient 注解。将mysql-schema.sql 文件内容写入到sql数据库中。-m standalone : 单机模式。创建start.bat。
2024-07-05 07:55:11
1000
原创 【server】3、注册中心与配置中心
官网: Consul by HashiCorpspring-cloud-consul: Spring Cloud Consul :: Spring Cloud ConsulgitHub 官网 :GitHub - hashicorp/consul: Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, dist
2024-07-04 20:31:37
1051
原创 【web】3、封装axios
2:使用响应拦截器,可以在响应拦截器中处理一些业务(进度条结束、简化服务器返回的数据、处理http网络错误)在开发项目的时候避免不了与后端进行交互,因此我们需要使用axios插件实现发送网络请求。1:使用请求拦截器,可以在请求拦截器中处理一些业务(开始进度条、请求头携带公共参数)在根目录下创建utils/request.ts。我们经常会把axios进行二次封装。
2024-07-01 07:12:56
166
原创 【web】2、集成插件
template>-- svg:图标外层容器节点,内部需要与use标签结合使用 -->-- xlink:href执行用哪一个图标,属性值务必#icon-图标名字 -->-- use标签fill属性可以设置图标的颜色 -->//接受父组件传递过来的参数//xlink:href属性值前缀prefix: {},//提供使用的图标名字//接受父组件传递颜色color: {},//接受父组件传递过来的图标的宽度width: {},//接受父组件传递过来的图标的高度。
2024-06-30 17:28:03
619
原创 快速搭建linux虚拟机环境
说明:此处的系统资源是采用VMwareWorkstation 虚拟机进行制作的,如果采用virtualbox ,需要进行自己制作系统资源,上面的系统资源账号为lxtx 密码为admin123, 也可以自行进行制作系统资源,资源网上搜索一大堆。一般centos都带有yum,可以通过 yum list 进行检测是否有yum源,如果没有,进行安装。虚拟机开机,采用root账户登录,然后修改网络IP。虚拟机开机,采用root账户登录,然后修改网络IP。选择需要配置的虚拟机,选择。选择需要配置的虚拟机,选择。
2024-05-08 06:46:05
873
原创 【并发编程】ConditionObject
ReentrantLock 提供了同synchronized(wait 和 notify)类似的功能 ,await及signal想要执行await 和 signal ,必须先要有lock锁资源System.out.println("子线程获取锁资源并await挂起线程");try {try {System.out.println("子线程挂起后被唤醒!持有锁资源");}).start();
2024-02-12 21:05:00
1057
原创 【并发编程】锁-源码分析
/ 释放锁资源不分为公平锁和非公平锁,都是一个sync对象// 释放锁的核心流程// 核心释放锁资源的操作之一// 如果锁已经释放掉了,走这个逻辑// h不为null,说明有排队的(录课时估计脑袋蒙圈圈。// 如果h的状态不为0(为-1),说明后面有排队的Node,并且线程已经挂起了。if (h!= 0)// 唤醒排队的线程// ReentrantLock释放锁资源操作// 拿到state - 1(并没有赋值给state)
2024-02-10 21:48:11
527
原创 【mysql】InnoDB引擎的索引
N个结点构成的有限集合。树中有一个称为”根(Root)”的特殊结点其余结点可分为M个互不相交的树,称为原来结点的”子树”
2024-01-31 22:49:43
1440
原创 【js逆向】scrapy基础
Scrapy到目前为止依然是这个星球上最流行的爬虫框架. 摘一下官方给出对scrapy的介绍scrapy的特点: 速度快, 简单, 可扩展性强.Scrapy的官方文档(英文):在上述案例中, 我们使用字典作为数据传递的载体, 但是如果数据量非常大. 由于字典的key是随意创建的. 极易出现问题, 此时再用字典就不合适了. Scrapy中提供item作为数据格式的声明位置. 我们可以在items.py文件提前定义好该爬虫在进行数据传输时的数据格式. 然后再写代码的时候就有了数据名称的依据了.
2024-01-30 23:36:14
1642
1
原创 【并发编程】锁
乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。在 Java中 java.util.concurrent.atomic 包下面的原子变量类就是使用了乐观锁的一种实现方式 CAS 实现的。总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁,就是在做操作之前先上锁。
2024-01-13 11:42:28
970
2
原创 【js逆向】请求头
首先, cookie就是保存在客户端(浏览器)上的一个字符串. 在每次发送请求时, 浏览器会自动的带上cookie的信息传递给服务器.尤其在用户登录后, 为了能准确的获取到用户登录信息. cookie一般都会在请求是跟随请求头一起提交到服务器.
2024-01-11 23:57:23
1254
原创 【js逆向】爬虫之进程,线程,协程
进程:运行中的程序. 每次我们执行一个程序, 咱们的操作系统对自动的为这个程序准备一些必要的资源(例如, 分配内存, 创建一个能够执行的线程. )线程:程序内, 可以直接被CPU调度的执行过程. 是操作系统能够进行运算调度的最小单位. 它被包含在进程之中, 是进程中的实际运作单位.这样一种模型, 在程序遇到了IO操作(费时不费力的操作)时, 自动切换到其他任务. 该模型被称为协程.
2024-01-06 11:43:03
1492
原创 【并发编程】并发编程的三大特性
可见性问题是基于CPU位置出现的,CPU处理速度非常快,相对CPU来说,去主内存获取数据这个事情太慢了,CPU就提供了L1,L2,L3的三级缓存,每次去主内存拿完数据后,就会存储到CPU的三级缓存,每次去三级缓存拿数据,效率肯定会提升。这就带来了问题,现在CPU都是多核,每个线程的工作内存(CPU三级缓存)都是独立的,会告知每个线程中做修改时,只改自己的工作内存,没有及时的同步到主内存,导致数据不一致问题。// ....System.out.println("t1线程结束");});
2024-01-06 00:25:16
907
原创 【JS逆向】如何一招彻底解决selenium WebDriver无响应
selenium 无响应,最常见的原因是,webDriver与浏览器版本不匹配导致的。而chrome 目前新的版本都是会自动升级的,这就会导致一段时间不用selenium时,driver就无法使用了。
2024-01-02 00:05:06
5453
原创 【AI】人工智能本地环境集成安装
可以看到CUDA最高支持12.2版本 ,可以安装12.2以下的版本(选择越接近的越好,越接近,兼容性将会越好)下载完成,解压后将bin include lib 拖入到你对应的CUDA安装目录的v12.0目录中。由于我安装的CUDA12.0 的版本,此处选择12.X版本进行安装 ,选择对应安装版本。是建立在numpy基础上的高效数据分析处理库,是Python的重要数据分析库。在高级配置中,添加如下4个配置 ,可以相对路径,也可以采用绝对路径。选择插件安装位置,可以在你之前安装的位置,新建一个。
2023-12-24 21:43:16
1519
1
原创 【AI 问题集】AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘
修改backend 方案,由于是通过 matplotlib引入 ,因此可以将matplotlib.backends进行修改。从问题中可以看到 :module 是设置成 backend_interagg 即 backend 是 agg。从源码中,我们可以看到,matplotlib.pylot 的默认 backend 是设置成agg的。我们修改 backend 配置:matplotlib.use(‘TkAgg’)backends的参数有如下。执行官网例子,将列表画成线。
2023-12-21 23:15:25
5146
原创 【并发编程】线程基础
线程是CPU调度的基本单位,每个线程都是执行一个进程中的某一块代码程序片段。进程多线程是指:一个进程内运行的多个线程,多线程的目的是为了提高CPU的利用率,用以提升程序的执行效率,提高用户体验。串行就是从头到尾一个一个的顺序执行并行就是同时处理这里的并发并不是指三高中的并发问题,是指多线程中的并发概念(CPU调度线程的概念),CPU在极短的时间内,反复切换执行不同的线程,看起来好像在并行。
2023-12-17 22:33:50
1167
原创 【算法】直接插入排序
N个数字要排序完成,总共进行N-1趟比较,第i趟的排序次数为(N-i)次-0次不等,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的插入。
2023-12-17 00:14:02
592
原创 【算法】冒泡排序
N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数。
2023-12-16 19:07:03
534
1
原创 【算法】选择排序
选择排序逻辑:对数组中的数据,先假定一个最小的数据下标,然后进行循环寻找到最小数据的下标,放在第一层循环的最初始位置例:从0 ~ N-1 寻找到最小值,放在0位置从1~N-1 寻找到最小值 ,放在1位置从2~N-1 寻找到最小值,放在2位置。。。
2023-12-16 18:32:31
499
原创 【Flink】容错机制
目录1、检查点编辑1.1 检查点的保存1.1.1 周期性的触发保存1.1.2 保存的时间点1.1.3 时间点的保存与恢复1.1.3.1保存编辑1.1.3.2 恢复的具体步骤:1.2 检查点算法1.2.1 检查点分界线(Barrier)1.2.2 分布式快照算法(Barrier对齐的精准一次)1.2.3 分布式快照算法(Barrier对齐的至少一次)1.2.4 分布式快照算法(非Barrier对齐的精准一次)1.3检查点配置1.3.1启用检查点 1.3.2检查点存储1.3.3其它高级配置1.3.3.1常
2023-12-03 15:06:41
1200
原创 【SpringBoot】SpringBoot3.X 兼容 mybatis-plus 解决全过程
最近闲来无事,将springboot 2.X 升级到 springboot 3.X,整个3.X的项目springboot 采用3.X后,结果出现各种问题,网上也是一堆的解决方案,可惜很多方案并不适合自己。
2023-12-02 20:05:34
3289
原创 【Redis】Redis的内部设计与实现
Redis 为各种文件事件需求编写了多个处理器,若客户端连接Redis,对连接服务器的各个客户端进行应答,就需要将socket映射到连接应答处理器写数据到Redis,接收客户端传来的命令请求,就需要映射到命令请求处理器从Redis读数据,向客户端返回命令的执行结果,就需要映射到命令回复处理器当主服务器和从服务器进行复制操作时, 主从服务器都需要映射到特别为复制功能编写的复制处理器。假如你的过期 key,靠定期删除没有被删除掉,还停留在内存里,除非你的系统去查一下那个 key,才会被redis给删除掉。
2023-12-02 08:31:45
1209
原创 【Redis】Redis缓存使用问题
只要使用到缓存,无论是本地内存做缓存还是使用 redis 做缓存,那么就会存在数据同步的问题。我以 Tomcat 向 MySQL 中写入和删改数据为例,来给你解释一下,数据的增删改操作具体是如何进行的。
2023-12-02 08:27:45
1255
原创 【Redis】Redis高并发高可用(主从复制、哨兵机制)
在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis 副本。复制功能是高可用Redis的基础,后面章节的哨兵和集群都是在复制的基础上实现高可用的。
2023-12-01 06:56:00
1074
原创 【Redis】Redis高并发高可用(集群方案)
分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集。
2023-12-01 06:50:53
1214
原创 【Redis】Redis底层原理(持久化 分布式锁)
Redis虽然是个内存数据库,但是Redis支持RDB和AOF两种持久化机制,将数据写往磁盘,可以有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。
2023-11-30 07:08:18
1392
1
原创 【Redis】Redis高级特性和应用(慢查询、Pipeline、事务、Lua)
许多存储系统(例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功能。
2023-11-30 07:01:20
1328
原创 【Flink】Standalone运行模式
独立模式是独立运行的,不依赖任何外部的资源管理平台;当然独立也是有代价的:如果资源不足或者出现故障没有自动扩展或重分配资源的保证,必须手动处理。所以独立模式一般只用在开发测试或作业非常少的场景下。提前启动集群,并通过Web页面客户端提交任务(可以多个任务,但是集群资源固定)。
2023-11-23 23:29:58
1393
原创 【Flink】Process Function
它是底层提炼的一个可以自定义处理逻辑的操作,被叫作“处理函数”(process function)。
2023-11-21 23:24:55
939
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人