自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FPGA中AXI-FIFO主机接口的自定义实现与versal读写工程分析

本文解析了AXI-FIFO主机接口的实现方案,核心模块通过将复杂AXI协议转换为类FIFO的本地总线接口,简化了DDR4读写操作。设计采用状态机自动处理Burst拆分、地址递增等AXI协议细节,并提供了数据校验机制。Verilog位复制语法被用于测试数据生成,工程具有协议抽象、易于集成等优势,适用于图像处理、数据采集等场景。

2026-05-10 17:35:56 83

原创 C++ 位标志(Bit Flags)在枚举类型设计中的应用技巧

BitFlags是一种高效的二进制状态管理技术,通过位运算实现多状态组合。核心原理是为每个状态分配独立的二进制位(如1、2、4等2的幂次方值),使用位或(|)组合状态、位与(&)检测状态、位与取反(&~)移除状态。该技术广泛应用于权限系统(Read/Write/Execute)和UI状态管理(Visible/Enabled),具有O(1)时间复杂度的性能优势。C++中可通过enum class和Qt的QFlags实现类型安全,建议使用静态断言防止位冲突。相比传统方法,BitFlags节省内存

2026-05-10 15:06:54 135

原创 深入了解场效应管(FET)的基本原理与特性分析

场效应管(FET)是一种电压控制型半导体器件,具有高输入阻抗和低功耗特性。主要分为JFET和MOSFET两类:JFET通过PN结电压控制沟道宽度;MOSFET则分为增强型和耗尽型,通过栅极电压控制导通。关键参数包括阈值电压、导通电阻等。MOSFET广泛应用于开关电路、电机驱动等领域,使用时需注意静电防护、驱动电压和散热设计。与三极管(BJT)相比,FET具有更快的开关速度和更好的热稳定性。

2026-05-10 03:57:02 282

原创 基于STM32平台的多旋翼无人机系统设计与实现

系统由主控MCU(STM32F103C8T6)、电机电调、MPU6050六轴传感器、NRF24L01无线模块和电源系统构成。主控STM32F103C8T6负责传感器数据采集(IIC接口)、姿态解算和PWM输出(72MHz主频)。该方案完整覆盖嵌入式开发全流程,涉及电路设计、传感器融合、实时控制等关键技术,适合作为嵌入式学习和毕业设计项目。PID数学模型: u(t)=Kpe(t)+Ki∫e(t)dt+Kd(de(t)/dt)编程语言C++www.blog.chattyghost.com++C语言的魅力。

2026-05-10 02:36:14 217

原创 C++中vector与string的关键应用及区别解析

vector是一种动态数组容器,能够自动调整大小以容纳元素。其内存布局连续,支持随机访问。主要特点包括自动扩容、内存连续性和随机访问能力。// 空vector// 5个元素,默认初始化为0// 5个元素,初始化为1// 初始化列表string s1;// 空字符串// 直接初始化// 重复字符构造。

2026-05-09 13:53:03 274

原创 突发,马斯克xAI解散了!22万张GPU忍痛全给Claude

太突然了!xAI没了。就在刚刚,马斯克官宣:xAI直接解散,并入SpaceXAI,成为旗下一款AI产品。一句话,一个公司消失了。几乎同时,SpaceX和Anthropic联合官宣:租下Colossus 1全部算力,22万块GPU,300+兆瓦计算能力,几天内上线Claude推理。而就在一周前,马斯克还坐在奥克兰联邦法庭的证人席上,和奥特曼打那场可能重塑AI行业格局的世纪官司。一边在法庭要求罢免奥特曼,一边把超算租给奥特曼最大的竞争对手。简直不敢想象有多疯狂!

2026-05-09 00:46:59 330

原创 C++ 面试题:C++中 constexpr 函数的限制有哪些?

摘要:C++中constexpr函数要求参数和返回类型必须是字面类型,包括基本类型、引用、数组、字面值类等。禁止动态内存分配、异常处理等操作。C++11中constexpr成员函数隐式为const,C++14取消此限制。C++20开始支持虚函数。编译器对递归深度有限制(如GCC默认512层),可通过选项调整。示例显示C++14+允许循环,但禁止动态分配,C++20允许虚函数constexpr化。版本演进显著扩展了constexpr功能。

2026-05-09 00:38:50 331

原创 C/C++ 中 volatile 关键字详解:原理、作用与实际应用

摘要:volatile是C/C++中用于防止编译器优化的关键字,确保每次访问变量时都从内存读取最新值。它常用于硬件寄存器操作、中断服务程序和多线程状态标记等场景,保证变量变化的可见性。但volatile不能保证原子性和线程安全,也无法替代互斥锁等同步机制。过度使用volatile可能影响性能,应合理应用于需要实时读取内存的特殊场景。

2026-05-08 22:06:15 361

原创 SpringBoot实战:高效实现API限流策略

你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。

2026-05-03 21:26:44 282

原创 Spring Boot 整合 Druid 并开启监控

如果默认配置不能满足你的需求,你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要,可以在这里添加更多配置,如过滤器、拦截器等@Bean@Bean通过以上步骤,我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池,并开启了其监控功能。这不仅提高了数据库访问的效率,还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。

2026-05-03 19:53:06 464

原创 node.js卸载并重新安装(超详细图文步骤)

1、Node.js下载网址2、一路点击next3、安装到本地位置,按需求自行更换安装路径(建议不做修改默认C盘)4、不需要选择或更换,默认安装,直接next,它会自动添加系统变量。5、点击Install,进入如下图所示的Node.js install进度界面6、出现以下界面安装完成7、我们使用Windows+R快捷键,输入cmd进入命令行界面,验证安装是否成功:8、以上node的环境已经安装完成,npm包管理器也有了。

2026-05-03 18:21:56 29

原创 MySQL中COALESCE函数

从多列中选择第一个非 NULL 的值,例如在联系人信息中优先显示电子邮件,其次是电话号码。值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁。是一个功能强大且常用的 SQL 函数,主要用来处理。是一种 SQL 函数,用于返回参数列表中。例如,计算一个表中的平均值,但对。值的场景,并提供默认值或备用值。它常用于处理可能存在。在计算过程中处理可能为。替换为指定的默认值。,包含员工的工资 (

2026-05-03 16:51:33 152

原创 Java进阶-思维导图

2026-05-03 15:19:07 32

原创 Flask:后端框架使用

Flask是由python语言编写的轻量级Web应用框架,主要应用于后端框架,处理客户端请求并返回响应。

2026-05-02 14:24:38 351

原创 springBoot连接远程Redis连接失败(已解决)

我本地没有安装redis,当然连接不上了,但是为什么我配置的远程ip,会连接到本地!由于在springBoot中每个配置项都会有一个默认的自动配置类与之对应,我这里配置了但是没效果,显然配置失败,项目使用默认的localhost进行连接的,那为啥会配置失败呢。首先,我是先用jedis进行的redis连接,成功连接,没有任何问题,说明redis配置,以及访问地址、端口、密码都是正确的。而我使用的是spirngBoot3,上面的yml配置方法是springBoot2的配置方法,所以产生了配置失效!

2026-04-21 09:36:15 180

原创 Spring Boot 排除自动配置

Spring Boot 自动配置非常强大,有时需要排除/禁用 Spring Boot 某些类的自动化配置。当自动配置类不在类路径下时,使用。

2026-04-21 07:15:13 18

原创 Nginx中如何配置WebSocket代理?

通过上述配置,Nginx 可以作为 WebSocket 代理,将客户端的 WebSocket 连接转发到后端服务器。这些配置确保了 WebSocket 连接的正确性和稳定性。如果你有更具体的问题或需要进一步的技术细节,请随时告诉我。

2026-04-21 04:58:03 32

原创 MySQL SQL100道基础练习题

select * from newtable where gz > (select max(gz) from newtable where dept_id = (select id from dept where dept_name = ‘财务部’));select name,(select dept_name from dept where id = dept_id) as ‘职位’,gz from newtable where name in (‘黄语焉’,‘李嘉欣’);

2026-04-21 02:41:50 152

原创 CORS:跨域访问、如何在Nginx中配置允许跨域访问

跨域访问(Cross-Origin Resource Sharing, CORS)是浏览器安全策略的一部分,用于控制不同源(origin)之间的资源共享。当一个网页尝试从不同的源(协议、域名或端口中的任何一个不同)加载资源时,就会触发跨域访问问题。

2026-04-21 00:24:08 31

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

递归 SQL 是指在 SQL 查询中,

2026-04-19 18:31:36 174

原创 SpringBoot 如何调用 WebService 接口

调用WebService接口的方式有很多,今天记录一下,使用 Spring Web Services 调用 SOAP WebService接口根据接口给出的SAOP的示例,封装好对应的实体类,因为我这里的类型都是String,大家也可以根据实际情况,封装好对应的类注意注解的参数,namespace = “http://*******/” 给接口提供的域名地址。

2026-04-19 15:40:11 187

原创 Redis内存设置

需要注意, maxmemory限制的是Redis实际使用的内存量, 也就是used_memory统计项对应的内存。由于内存碎片率的存在, 实际消耗的内存可能会比maxmemory设置的更大, 实际使用时要小心这部分内存溢出。通过命令修改(重启失效):config set maxmemory-policy allkeys-lru 命令设置内存淘汰策略,config get maxmemory-policy 命令获取当前采用的内存淘汰策略。allkeys-lru:对所有key使用LRU算法进行删除(生产推荐)

2026-04-19 13:01:55 204

原创 mysql时间时区修改、set global、配置文件-default-time-zone

通过查看mysql错误日志或二进制日志可以看到时间和时区并不与国内的东八区时间一致。

2026-04-19 10:15:23 192

原创 java进阶知识点

缺点:会制造大量垃圾,由于他们不能被重用而且对于它们的使用就是”用“然后”扔“,字符串就是一个典型的例子,它会创造很多的垃圾,给垃圾收集带来很大的麻烦。当然这只是个极端的例子,合理的使用不可变对象会创造很大的价值。其次,String类的主力成员字段value是个char[]数组,而且是用final修饰的。这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变。通过接口的引用和构造方法的表达,将一些事情整好了反过来传给需要用到的地方~

2026-04-19 01:43:52 232

原创 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器

我们在本地测试成功,但是我们如果需要长期异地办公,需要结合cpolar内网穿透实现公网远程使用服务器,这里我们需要将SSH使用的本地IP映射为公网TCP地址,才能实现异地开发。地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。为了方便演示,我们在前述过程中使用了Cpolar生成的TCP地址隧道,其公网地址是随机生成的。

2026-04-18 06:23:18 231

原创 【spring】Spring事件监听器ApplicationListener的使用与源码分析

Override@AutowiredapplicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));applicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));@Override。

2026-04-18 03:59:29 168

原创 SQL常用语句(基础)大全

数据控制语言:用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。DQL是数据查询语言,主要就是select配合其他限制条件的关键字进行查询。如果查询数据的来源来自多张表,则必须对这些表进行连接查询。DDL是数据定义语言,主要是对数据库和数据表的操作。只有当第一个排序条件值一样,才会执行第二个排序条件。左外连接:是表1和表2的交集再并上表1的其他数据。右外连接:是表1和表2的交集再并上表2的其他数据。DML是数据操作语言,主要是对数据表的操作。

2026-04-18 01:35:59 174

原创 springboot整合最新版minio和minio的安装(完整教程,新人必看)

下面是老版的操作。

2026-04-17 23:47:34 338

原创 Springboot-配置文件中敏感信息的加密:三种加密保护方法比较

本文介绍三种方式。我们可以自定义加解密算法来实现数据的加解密,这里采用AES算法。工具类的代码省略。建议用第三种方式,因为这种加密算法可以自定义,并且不需要把加解密的秘钥放到配置文件里,即便有人拿到配置文件,也无法得到真实的密码,更加的安全。而且第三种方式对业务代码没有侵入,也不需要特定引入第三方库和配置其他东西。

2026-04-17 23:15:24 325

原创 Spring Boot问题总结

Svn 的 Update 与Maven 的update project 作用有什么区别 - 费曼带我飞 - 博客园。Spring Boot的启动器Starter详解 - chszs的专栏 - CSDN博客。参考了下其它正确的Spring Boot项目,发现是这行配置及代码出错了。然后执行:右击项目–>Maven–>Update Project(貌似Maven项目重新编译时使用后者比较好使。把它改成如下代码,重新install成功了。猜测可能是代码编译问题,尝试重新编译,Web开发要用后者。

2026-04-04 05:56:18 192

原创 MySQL|MySQL 中 `DATE_FORMAT()` 函数的使用

是 MySQL 中的一个内置函数,用于格式化日期和时间数据。它可以根据指定的格式字符串来展示日期和时间,使得数据更容易阅读和理解。本文档将详细介绍函数的使用方法及其常见应用场景。

2026-04-04 02:56:40 223

原创 spring session、spring security和redis整合的简单使用

通过user进行登录,再次查看redis,我们可以发现先前的sessionId改变了,同时还多出了一条数据"spring:session:index:org.springframework.session.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME:user",这条数据就是我们刚登陆的user。点击Log Out退出登录,然后再出查看redis,我们会发现之间的增加的那条用户数据不见了。访问SessionController中的。

2026-04-02 06:48:47 269

原创 Nginx—Rewrite

匹配输入字符串的起始位置匹配输入字符串的结束位置匹配前面的字符零次或多次匹配前面的字符一次或多次匹配前面的字符零次或一次匹配除 之外的任何单个字符转义字符,使后面的字符被视为普通字符或特殊字符d匹配数字(相当于[0-9]{n}匹配前面的字符恰好 n 次{n,}匹配前面的字符至少 n 次{n,m}匹配前面的字符至少 n 次,至多 m 次[]定义字符集,匹配括号内的任意单个字符[c]匹配单个字符 c[a-z]匹配小写字母中的任意一个匹配所有大小写字母或数字()

2026-04-02 03:32:18 360

原创 Java进阶整理

对于一个程序员不能只是停留在满足平常的业务开发的水平,所以今天来整理一下Java的进阶知识。

2026-04-02 00:15:17 19

原创 CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现

注意在创建的时候有些镜像无法拉取到,可以在Dockerfile文件中修改配置使用其他的镜像。: 通过创建符号链接,攻击者可以尝试构造一个路径遍历的恶意 URL。该漏洞利用了路径遍历问题,使攻击者能够访问系统中本不应暴露的文件(如。攻击者能够进一步利用该信息来获取其他敏感数据或执行任意代码。这段代码创建了一个静态文件资源的路由。目录“跳出”并访问系统的其他目录(如。来尝试获取指向其他系统路径的文件。拿到环境的源码使用docker搭建。文件的内容,证明存在该漏洞。),从而获取系统敏感信息。

2026-04-01 22:33:41 27

原创 莫名奇妙的nginx请求偶发400

nginx的error日志里连接拒绝的没有了,accesslog里的400也没有了,其实error里显示了连接拒绝的ip:端口 ,我还好奇0.0.0.0:9999怎么ip都是0,原来配置的upstream问题。(3)客户nginx打开了request_body开关,但异常回调的数据看不到accesslog的请求体,只能看到一个http请求 400的错误。云平台----->客户nginx前置机 (或其他防火墙)---->客户内网nginx ---->java应用。有些数据回调正常,有少量数据回调异常!

2026-04-01 20:23:25 139

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

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

2026-04-01 19:04:47 322

原创 从基础到高级,看完这篇Java进阶文档,你会发现没有那么难

不管是基础还是中级、高级,每个part都至关重要重要的,而且我觉得特别是基础这一块,如果基础都没有打牢,那怎么去盖楼?而以上我所例举的全部基础部分的面试题、中级开发所对应问题以及高级程序员要掌握的知识点,相关的完整解析都有全部整理的啦。基础部分题目+答案有40多页,中级开发的也有40多页,高级部分的内容就比较多了(有180页了),全都弄成PDF文件了需要的的朋友可以私star小编【面试】即可~

2026-04-01 04:59:47 325

原创 SQL实现md5加密方法

MD5(Message Digest Algorithm 5) 是一种广泛使用的哈希算法,它将输入的字符串(或数据)转换为固定长度的 128 位(16 字节)哈希值。不可逆性:MD5 是一种单向哈希算法,这意味着你无法从 MD5 哈希值还原出原始数据。输出固定长度:无论输入数据的长度如何,MD5 输出的哈希值始终是 32 个字符的十六进制数(128 位)。碰撞性。

2026-04-01 01:53:55 187

原创 Spring Cloud Gateway

登录认证以及请求接口认证的方法在filter方法中实现过滤器链@Override// 登录认证以及请求接口认证的方法在filter方法中实现。

2026-03-31 05:08:23 197

空空如也

空空如也

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

TA关注的人

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