自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Kubernetes k8s】(两万字超详细)Ubuntu-22.04搭建 k8s-1.30.1集群,开启Dashboard-2.7.0、部署ingress-nginx-1.10.1

kubeadm是自动引导整个集群的工具,本质上k8s就是一些容器服务相互配合完成管理集群的任务,如果你知道具体安装哪些容器那么可以不用这个。kubalet是各个节点的总管,它上面都管,管理Pod、资源、日志、节点健康状态等等,它不是一个容器,是一个本地软件,所以必须得安装kubectl是命令行工具,给我们敲命令与k8s交互用的,必须得安装大白话就是:在此之前我们都是直接访问service,让service负载均衡到Pod上,优点是直接,缺点是随着service的增多端口会越来越多,不好记。于是我们在。

2025-03-22 15:24:02 861

原创 SQL进阶——JOIN操作详解

如果某个表中的行在另一个表中没有匹配的行,那么这些行将不会出现在查询结果中。在实际开发中,我们经常需要执行更复杂的查询,例如多表连接查询和子查询。与普通的子查询不同,关联子查询是指在子查询中使用主查询中的列作为条件。在每一行中,子查询都会使用不同的主查询行数据。子查询的结果通常用于限制主查询的结果集,或者作为表的输入。查询所有的员工和部门信息,不论员工是否有部门,或者部门是否有员工。有多种类型,不同的连接方式根据连接条件的不同展现出不同的结果。表的连接中,我们查询所有部门信息,即使某些部门没有员工。

2025-03-22 02:37:03 756

原创 springCloud网关Zuul和GateWay区别

springcloud getway 它是基于spring 5.0 、spring boot 2.0 和spring reacter,为微服务提供一个简单有效的网关API路由接口。Spring Cloud GetWay 作为Spring Cloud生态系统的网关,目标是为了代替zuul,SpringCloud GetWay 是基于webFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。

2025-03-22 01:00:16 408

原创 Springboot3学习(5、Druid使用及配置)

启动项目,我们可以看到Springboot3自带的数据库连接池是HikariPool,HikariPool的主要优点是高性能,而我们即将集成的Druid数据库连接池,主要有点则是丰富的扩展以及优秀的监控性能。从学习的角度来讲,Druid相比较其他数据库连接池而言,更加的全面。我们新增application.yml,来配置druid相关配置,注释掉application.properties(ymlx相比于properties,更加的简洁和易读),配置如下。输入配置的账号密码,进入监控页面,如下图。

2025-03-10 23:37:56 312

原创 Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API,以及本地私有化部署DeepSeek R1模型两种方式来整合使用。本地化私有部署可以参考这篇博文。

2025-03-10 17:38:30 1308

原创 Redis和Redis-Desktop-Manager的下载、安装与使用

3、配置环境变量:高级系统设置 => 环境变量 => 系统变量 => path。6、Redis-Desktop-Manager连接Redis(在连接时需要先。2、将下载好的压缩包解压即可【Redis-x64-3.2.100.zip】(3)点击Browse更换安装位置,点击Install。5、安装Redis-Desktop-Manager。4、在命令行输入:redis-server 命令。(2)点击【I Agree】(1)点击Next下一步。(5)点击Finish。

2025-03-10 12:52:24 740

原创 OpenResty & Nginx:详细对比与部署指南

Nginx 和 OpenResty 都是高性能的 Web 服务器和反向代理服务器,但它们有着不同的特性和应用场景。Nginx 是一个轻量级的、高性能的 HTTP 和反向代理服务器,而 OpenResty 是基于 Nginx 的集成软件平台,增强了 Nginx 的功能,特别是通过嵌入 Lua 脚本支持来实现灵活的 Web 应用开发。Nginx 和 OpenResty 都是强大的 Web 服务器,各有其优点和适用场景。

2025-03-07 23:02:56 736

原创 MySQL的底层原理与架构

了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。

2025-03-05 19:18:11 1142

原创 mysql 您要的日期查询都在这

本文介绍了mysql常用日期查询的方法。希望能帮助到您。

2025-03-05 17:56:19 268

原创 java面试项目介绍,详细说明

反射机制的使用原理深入理解Java中的反射反射的概念反射的原理反射的主要用途反射的运用获得Class对象判断是否是某个类的实例创建实例获取方法获取构造器信息获取类的成员变量信息调用方法利用反射创建数组invoke方法invoke执行过程权限检查调用MethodAccessor的invoke方法JVM层invoke0方。由于现在的公司接触不到新技术,对自己的市场竞争力无比焦虑,未来职业道路怎么走这个凛冽寒冬,你终于明白,现在的工作机会很少,薪资很难有较大涨幅,Java工。找大厂面试题,看套路!

2025-03-05 16:31:36 391

原创 Java基础面试题(1)

如果你的类型class中的一个方法使用了static修饰成了静态方法,那么你的这个方法虽然可以被其他的class类型继承,但是在这个子class类型中,你却不能够重写static静态方法,那么这就要求我们,class类型中向外功能服务也就是calss类型中定义的方法,如果它是静态的,那么就肯定不能是抽象的,因为抽象的方法,它是没有功能的,而一个static静态方法又不能被重写,所以这就会导致,class类型中的这个static功能一直什么功能都不能实现,这就违背了我们的对象可以看成“服务提供者”这一原则。

2025-03-05 01:23:41 241

原创 DBeaver下载安装及数据库连接(MySQL)

在根目录下创建一个txt文件(可以在其他地方创建完成后移到根目录下),名字叫my,文件后缀为ini。6.驱动下载后再次点击测试链接,提示已连接,点击确定、完成即可,至此DBeaver连接MySQL数据库成功。本文讲解使用zip文件,点击Download即可下载,下载完成后解压到本地文件夹(记住路径,一会儿要用)。5. 第一次连接MySQL时会出现弹窗,提示下载驱动,点击下载即可。1. 第一次打开时可能会出现提示,是否创建样本数据库,点击否即可。6. 选择组件,默认即可,点击下一步。

2025-03-05 00:06:06 1647

原创 问题:Flask应用中的用户会话(Session)管理失效

这个解决方案能够有效地处理大多数会话管理的问题,并提供了基本的安全保护。app.permanent_session_lifetime = timedelta(days=7) # 设置会话有效期为7天。pp.secret_key = ‘your-super-secret-key’ # 在生产环境中应使用复杂的随机密钥。当用户登录后,有时会话会意外失效,导致用户需要重复登录。session.pop(‘user_id’, None) # 安全地移除会话。在生产环境中使用更安全的会话存储方式,比如Redis。

2025-03-03 12:00:14 338

原创 深入探索Spring Cloud Gateway:微服务网关的最佳实践

API网关是一个反向路由,屏蔽内部细节,为调用者提供统一入口,接收所有调用者请求,通过路由机制转发到服务实例。API网关是一组“过滤器Filter”集合,可以实现一系列与核心业务无关的横切面功能,如安全认证、限流熔断、日志监控。

2025-03-02 22:17:32 598

原创 如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站

相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。打开浏览器,我们来测试一下访问配置成功的二级子域名,出现nginx欢迎界面表示成功,可以正常访问。然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址。,可以看到nginx隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。,找到需要配置二级子域名的隧道,点击右侧的。

2025-03-02 20:58:22 594

原创 初级爬虫实战——麻省理工学院新闻

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。的字段,包含标题、内容,作者,发布时间,链接地址,文章快照 (可能需要翻墙才能访问)其实就四个模块,列举出来就好,然后对每个分别解析爬取每个模块。实际上是获取所有的page参数,然后进行遍历获取所有的标签。如图可知是get请求,需要传一个参数page。寻找冗余部分并删除,例如。前三个模块的版面列表。第四个模块的版面列表。

2025-03-02 19:19:41 404

原创 一文深入搞懂ARM处理器架构

A32架构的ARM的地址总线为32位,故CPU可寻址范围为0x00000000~0xffffffff寻址空间为4GB,所有的内部和外部存储或者外设单元都需要通过对应的地址来操作,不同芯片外设的种类数量寻址空间都不一样,为了能让内核更方便的管理不同的芯片设计,ARM内核会先给出预定义的存储映射。不过需要注意的是由于修改的CPSR是该模式下的影子CPSR,即SPSR,因此并不是实际的CPSR,所以一般的做法是修改影子CPSR,然后执行一个MOVS指令来恢复执行某个断点并切换到新模式。每条指令都采用标准字长。

2025-03-01 15:29:53 757

原创 【python】pyspark.errors.exceptions.base.PySparkRuntimeError [JAVA_GATEWAY_EXITED] Java gateway proce

综上所述,安装Java8,再安装合适版本的spark,spark版本和pyspark版本一致更不会出错,配置好JAVA_HOME,SPARK_HOME,PYSPARK_PYTHON。只要环境配置好和版本正确的话就没问题了。

2025-02-28 23:28:19 717

原创 【Golang】slice切片

可以声明一个未指定大小的数组来定义切片**(切片不需要说明长度。)**

2025-02-28 14:28:29 254

原创 Sql-labs 靶场搭建及通关

该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容。该语句的意思是查询information_schema数据库下的columns表里面且table_users字段内容是users的所有column_name的内。爆出库是 ctfshow,ctftraining,information_schema,mysql,performance_schema,security,test。

2025-02-28 12:48:38 687

原创 SpringBoot项目部署运行步骤,超详细的部署教程,教你如何从0到1部署运行一个SpringBoot项目,小白也能看懂哦~

经常有初学JavaWeb的小伙伴down了一个Springboot的项目,但是不知道怎么运行,所以出一篇Springboot的部署教程希望对这些小伙伴能有所帮助。

2025-02-28 11:05:29 888

原创 SpringBoot 使用 spring.profiles.active 来区分不同环境配置

很多时候,我们项目在开发环境和生产环境的配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境,我们要用生产数据库,这时候,我们可以利用 profile 在不同的环境下配置用不同的配置文件或者不同的配置。

2025-02-27 14:11:44 741

原创 Spring Boot 集成 Kettle

Kettle 最初由 Matt Casters 开发,是 Pentaho 数据集成平台的一部分。它提供了一个用户友好的界面和丰富的功能集,使用户能够轻松地设计、执行和监控 ETL 任务。Kettle 通过其强大的功能和灵活性,帮助企业高效地处理大规模数据集成任务。

2025-02-27 12:48:40 748

原创 RabbitMQ 进阶

每个只能配置一个,因此我们可以在配置类中统一设置。@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此 ConfirmCallback 需要在每次发消息时定义。具体来说,是在调用 RabbitTemplate 中的 convertAndSend 方法时,多传递一个参数:id:消息的唯一标示,MQ 对不同的消息的回执以此做判断,避免混淆:回执结果的 Future 对象。

2025-02-27 11:26:41 1060

原创 Mysql详细教程(建议收藏)

左侧的emp表是员工表,里面存储员工的基本信息,包含员工的ID、姓名、年龄、职位、薪资、入职日 期、上级主管ID、部门ID,在员工的信息中存储的是部门的ID dept_id,而这个部门的ID是关联的 部门表dept的主键id,那emp表的dept_id就是外键,关联的是另一张表的主键。:事务简单理解是一组操作(SQL语句执行)的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,保证这些操作要么同时成功,要么同时失败。), (值1, 值2, …

2025-02-26 02:33:06 950

原创 MySQL--》如何通过选择合适的存储引擎提高查询效率?

存储引擎:就是存储数据、建立索引、更新/查询数据等技术的实现方式,存储引擎是基于表的而不是基于库的,所以存储引擎也可以被称为表类型,我们可以通过如下查询表的创建语句,可以看到当前创建的表的存储引擎是什么?我们可以通过 show engines;语句查询当前数据库支持的存储引擎有哪些,如下所示:create table 表名 (字段1 字段1类型...

2025-02-26 01:13:17 268

原创 java面试为何那么难

如今的备战面试也变得无比困难,绝大部分问题都不是能在生产工作中能遇到的,“会用、熟练使用”已不再是如今java面试的主旋律,深度与广度似乎成为了如今选拔人才的关注点。14年前后井喷的大量转行程序员一度使得软件公司出现了过度饱和的情况,加之培训机构的学习成本之低对于本科计算机行业的大学生而言也是种不公平,没错,行业需要洗牌。

2025-02-25 21:51:38 266

原创 Java基础面试题50题

序列化机制(包括序列化和反序列化)的本质是用流将对象读到内存和写入外存。序列化机制的意义就是将对象脱离程序运行独立存在应用场景是在RMI(远程方法调用)中应用,即通过网路或跨平台传输对象,而RMI是javaEE开发基础,所以javaEE要求传递的参数与返回值都实现序列化机制序列化是用流将java对象转成二进制写入硬盘或网络反序列化是用流将二进制数据转为java对象写入内存。

2025-02-24 22:57:43 760

原创 Java 常见的面试题(Hibernate)

*ORM:**对象关系型映射,主要是解决对象与关系数据库存在的互不匹配的现象的技术ORM的方法论基于3个核心原则简单:以最基本的形式建模数据传达型:数据库结构被任何人都能理解的语言文档化精确性:基于数据模型创建正确标准化了的结构常用的ORM框架有:hibernate,mybatis可以将Hibernate的实体类定义为final类,但这种做法并不好。

2025-02-24 19:16:39 465

原创 AI驱动TDSQL-C Serverless 数据库技术实战营-电商可视分析

AI 技术的应用极大地提升了运营效率,并为电商行业带来了个性化推荐、用户行为分析、库存管理和市场趋势预测等关键领域的数据分析能力,在这种背景下,构建一个高效、可靠的AI电商数据分析系统显得尤为关键。本手册旨在详细指导开发者如何利用腾讯云的高性能应用服务 HAI 和TDSQL-C MySQL Serverless 版构建 AI电商数据分析系统。

2025-02-24 16:26:43 941

原创 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)

创建csrf包,csrf包下创建Security安全配置类WebSecurityConfig,该类定义了Security的安全控制。(1)在dao包的UserDao接口中,添加用户登录的方法(2)在resources下的mapper包中的UserMapper.xml文件中配置用户登录访问接口</select></mapper>(3)在controller包中的UserController类中添加登录接口(1)在dao包的UserDao接口中,添加用户注册的方法。

2025-02-22 04:02:25 1010

原创 SQL 实战—递归 SQL:层级结构查询与处理树形数据

递归 SQL 是指在 SQL 查询中,

2025-02-21 22:23:25 890

原创 SpringBoot核心框架之AOP详解

AspectOrientedProgramming(面向切面编程,面向方面编程),其实就是面向特定方法编程。场景:项目部分功能运行较慢,定位执行耗时较长的业务方法,此时就需要统计每一个业务的执行耗时。思路:给每个方法在开始前写一个开始计时的逻辑,在方法结束后写一个计时结束的逻辑,然后相减得到运行时间。获取方法运行开始时间运行原始方法获取方法运行结束时间,计算执行耗时原始方法就是我们需要计算时间的方法,并且可以对原始方法进行增强,其实这个技术就是用到了我们在Java基础部分学习的。

2025-02-21 17:24:31 718

原创 Spring 多实例注入

Spring 容器中保存的 bean 默认是单例的,通常来说这样做可以降低 bean 对象创建的频率,在某些访问量大的场景下可以节省对象创建消耗的时间,提高响应性能。但在一些其他场景,比如脚本调度处理多个消息队列中的消息,这时候拉取各个队列消息的步骤是完全相同的,只不过各条队列的名称和密码不一样,显然可以使用一个专门的。自动注入无法保证每次获取的都是新的实例,一个解决方法是通过 Spring 的。,这样每次从 Spring 容器中获取其实例的时候都会返回一个新的对象。指定类的代理模式,这样使用注解。

2025-02-21 15:31:02 738

原创 rustdesk远程桌面自建服务器

首先,我这里用到的是阿里云服务器 centos7版本,win版客户端。

2025-02-21 02:24:37 362

原创 PHP下载安装以及基本配置

和客户端的 JavaScript 不同的是,PHP 代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的。使用 PHP 的最大的好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。如果有像我这样的输出,就说明安装成功啦!打开新的命令行窗口,不在安装路径下,输入。

2025-02-21 00:39:04 235

原创 MySQL输入密码后闪退?

在服务列表中,找到以“MySQL”开头的服务(例如,MySQL、MySQL56、MySQL57、MySQL80等,具体名称取决于你的MySQL版本和安装方式)。有时候,default-character-set=gbk这样的设置可能会导致问题,你可以尝试将其注释掉或删除,然后重启MySQL服务。②修改SQL语法:如果你不想改变MySQL的版本,那么你可以尝试修改SQL查询语句,确保它们符合目标MySQL服务器的语法要求。如果MySQL服务已启动并且你输入了正确的密码,你应该能够成功连接到MySQL服务器。

2025-02-20 22:41:04 439

原创 使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式

如果你想使用特定的配置文件名,而不必指定完整路径,可以使用 --spring.config.name 参数。1.指定路径和文件名:使用 --spring.config.location 或 -Dspring.config.location 指定完整路径。2.仅指定文件名:使用 --spring.config.name 或 -Dspring.config.name 指定文件名。同时使用 --spring.config.location 和 --spring.config.name。

2025-02-16 10:06:16 689

原创 【分布式】Hadoop完全分布式的搭建(零基础)

将接下来预计要进行连接的虚拟机ip都入加入到hosts文件,根据自己需要搭建的集群数量决定,本文的Master01用于伪分布式搭建,node1,node2及node3用于完全分布式的搭建,要记录对应的ip地址,以便进行后续操作。打开准备好的远程连接软件,我们后续将都在此进行操作,因为可直接粘贴复制和传送文件(用xshell也可),此处可用root登录也可用普通用户,后续因为yarn的使用,需要用普通用户连接。修改相应的IP地址,默认网关,和刚才虚拟机中的保持统一字段,在本文中统一为10.

2025-02-16 01:10:12 1151

原创 【MySQL系列文章】Linux环境下安装部署MySQL

本次安装部署主要针对Linux环境进行安装部署操作,系统位数6464MySQL版本:v5.7.38。

2025-02-15 22:52:55 1180

空空如也

空空如也

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

TA关注的人

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