自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Laravel 9.X新特性全解析

Laravel 9.X带来多项重要更新:要求PHP8.0+,集成Symfony Mailer和Flysystem 3,简化路由绑定和Eloquent访问器语法,增强测试功能,改进Blade组件,新增whereBelongsTo查询方法,支持枚举类型,优化任务调度和错误页面。这些改进提升了开发效率、代码质量和框架性能,充分利用了PHP8的新特性。

2026-03-22 17:41:25 305

原创 Laravel 10.x重磅升级:五大核心特性解析

Laravel 10.x版本带来多项重要更新:1)路由系统增强,支持参数类型声明并优化缓存效率;2)新增Process Facade简化进程管理;3)测试工具升级,支持Pest测试框架和精准测试过滤;4)强化类型声明,提升代码健壮性;5)要求PHP 8.2环境,改进队列重试机制等核心功能。该版本显著提升了开发效率、代码质量和系统性能,特别适合构建现代化PHP应用。

2026-03-22 16:31:34 313

原创 Laravel与ThinkPHP框架深度对比

Laravel与ThinkPHP是两大主流PHP框架,在设计理念和功能实现上各有特色。Laravel采用现代化开发模式,强调优雅语法和约定优于配置,依赖Composer生态;ThinkPHP则注重开发效率和中文友好性,提供丰富开箱即用工具。核心功能上,Laravel的Eloquent ORM和Blade模板引擎更强大,ThinkPHP的ThinkORM和内置模板引擎更易用。性能方面,ThinkPHP在中小项目中表现更优,而Laravel架构更灵活但需优化。学习曲线上,Laravel适合有OOP基础的开发者,

2026-03-22 16:23:11 353

原创 ThinkPHP高效学习路径全解析

本文系统介绍了ThinkPHP框架的学习路径。首先需要掌握PHP基础知识和MVC模式,然后学习框架安装、项目结构及环境配置。核心部分包括路由、控制器、模型、视图等组件的使用,以及请求响应、验证器等辅助功能。进阶阶段涵盖中间件、依赖注入、缓存优化等高级特性。最后通过项目实践巩固知识,并关注性能优化、安全防护和部署技巧。建议结合官方文档和社区资源,通过实际项目开发来系统掌握ThinkPHP框架。

2026-03-22 15:34:22 351

原创 Laravel学习指南:从入门到精通

Laravel学习路径指南:从入门到精通的5个阶段 基础准备:掌握PHP核心语法、Composer工具和环境配置 核心概念:学习路由、控制器、Blade模板、Eloquent ORM等基础功能 进阶功能:用户认证、Artisan命令行、队列系统、邮件通知等 深入理解:服务容器、事件系统、API开发、性能优化等高级特性 部署维护:环境配置、部署流程、监控日志等生产环境技能 每个阶段都包含具体的学习内容和实践建议,建议按顺序系统学习,配合官方文档和实际项目练习。Laravel提供了丰富的工具和优雅的语法,是现代

2026-03-22 14:13:16 334

原创 Java vs C++:核心差异全解析

Java与C++的主要区别:C++需要手动内存管理,支持指针和多重继承,性能更高但跨平台需重新编译;Java通过JVM实现跨平台,自动垃圾回收,仅支持单继承但可通过接口扩展,安全性更好但性能略低。C++适合系统级开发,Java更适合企业应用。

2026-03-21 16:56:18 354

原创 PHP vs Python:30字看透两大语言差异

PHP与Python的主要区别在于定位与适用场景:PHP专为Web开发优化,适合传统服务端渲染和CMS系统,语法类C且性能优异;Python作为通用语言,以简洁语法和强可读性著称,在数据分析、AI及跨领域项目中占优。PHP通过Composer管理包,Python依赖pip/PyPI生态。类型系统方面,PHP逐步强化类型支持,Python通过注解实现可选类型提示。选择取决于项目需求,PHP适合快速Web开发,Python更胜任复杂逻辑与科学计算场景。两者在各自领域保持竞争力,需综合评估技术栈与维护成本。

2026-03-21 14:57:31 377 1

原创 零基础快速掌握C++编程

本文提供了C++编程语言的系统学习路径。从环境搭建开始,详细介绍了基础语法(变量、输入输出)、控制结构、函数、指针与引用等核心概念。重点讲解了面向对象编程(类与对象、继承)、标准模板库(STL容器、迭代器)以及文件操作等进阶内容,并涵盖了C++11的现代特性(自动类型推导、Lambda表达式)。文章给出了"动手实践+经典阅读+刷题巩固"的学习建议,并提示常见错误排查方法。全文通过大量代码示例,为初学者构建了从入门到进阶的完整学习框架。

2026-03-21 13:40:25 326

原创 PHP爬虫框架:Goutte vs Panther

PHP爬虫框架对比:Goutte与SymfonyPanther Goutte是轻量级PHP爬虫库,基于Symfony组件构建,适合静态HTML内容抓取。它使用Guzzle处理HTTP请求,DomCrawler解析HTML,支持Cookie和表单提交,学习成本低。Panther则在Goutte基础上增加了浏览器自动化功能,通过Chrome/Firefox无头模式处理JavaScript动态内容,支持WebDriver协议实现点击、等待等交互操作。选择建议:静态网站用Goutte简单高效,动态SPA页面需用Pa

2026-03-21 12:46:47 445

原创 帝国CMS后台操作全攻略

帝国CMS后台操作指南:登录地址默认为/e/admin,核心功能包括内容管理(发布/编辑文章)、栏目管理(创建/配置栏目)和模板管理(编辑/备份模板)。系统维护涉及数据备份、权限设置,扩展功能支持插件管理和缓存更新。安全建议包括修改登录路径、启用操作日志和定期更新系统。所有操作完成后需点击生成按钮更新前台显示。

2026-03-20 20:00:08 283

原创 PHP vs Java:主流编程语言终极对决

PHP和Java是两种主流的编程语言,各有特点:PHP是动态类型脚本语言,主要用于Web开发,语法简单易学,适合快速开发中小型网站;Java是静态类型编译语言,运行于JVM,面向对象特性完善,性能优异,适合开发大型企业应用、Android程序和大数据系统。PHP生态集中在Web领域,Java则覆盖更广泛的应用场景。选择时需考虑项目规模、性能需求和开发团队情况。

2026-03-20 18:07:30 483

原创 PHP与Vue:前后端技术深度对比

PHP与Vue是典型的全栈开发技术组合,二者各司其职:PHP作为服务端语言处理业务逻辑和数据库交互,采用服务端渲染模式;Vue作为前端框架实现动态UI和单页应用,采用客户端渲染。PHP运行于服务器环境,适合构建传统Web应用和CMS;Vue运行于浏览器,专注组件化开发和响应式交互。二者常通过API协作,PHP提供数据接口,Vue消费并渲染数据。这种前后端分离架构既保证了后端安全性,又提升了前端用户体验,形成完整的Web开发生态。

2026-03-20 15:34:32 550

原创 PHP vs Go:30秒读懂核心差异

PHP与Go语言对比摘要: PHP是动态类型解释型语言,适合Web开发,拥有Laravel等成熟框架,采用多进程模型处理请求。Go是静态类型编译语言,专为高并发设计,通过轻量级goroutine实现高效并发,适合云服务和微服务。PHP使用异常处理错误,Go采用显式错误返回值。PHP部署需运行环境,Go编译为独立二进制文件。PHP适合快速开发内容网站,Go更适合高性能网络服务和基础设施工具。两者在各自领域表现优异,选择取决于项目需求和性能目标。

2026-03-20 15:27:40 554

原创 PHP vs C语言:30字解析两大编程语言差异

PHP与C语言是两种特性迥异的编程语言:PHP专为Web开发设计,采用解释执行方式,具有弱类型、自动内存管理等特性,适合快速构建动态网站;C语言是系统级编程语言,需编译执行,强调强类型和手动内存控制,适用于开发操作系统、驱动等底层软件。PHP在Web开发效率上占优,而C语言在性能敏感场景更具优势。两者应用领域不同,也可通过扩展协同工作。开发选择应基于项目需求,Web应用优先PHP,系统编程则选C语言。

2026-03-19 23:05:03 386

原创 PHP vs C++:开发者的终极选择指南

PHP与C++是两种特性鲜明的编程语言:PHP作为解释型脚本语言,采用动态弱类型和自动内存管理,专精于Web开发(如Laravel框架),开发效率高但性能中等;C++作为编译型静态语言,具备强类型检查和手动内存管理能力,适用于系统编程(如游戏引擎开发),虽然开发周期较长但能获得接近硬件的执行性能。二者在类型系统、执行模型和应用领域存在本质差异,分别满足不同层级的开发需求。

2026-03-19 16:39:03 301

原创 Mybatis控制台打印SQL执行信息(执行方法、执行SQL、执行时间)

SQL性能监控是一个程序必要的功能,通常我们可以使用数据库自带的客户端工具进行SQL性能分析。然而对于一些专业度不高的人员来说,当程序出现卡顿或者响应速度变慢时,排查问题变得困难。当程序出现卡顿,通常通过检查服务器磁盘使用情况、程序内存大小,网络带宽以及数据库I/O等方面进行问题排查。然而数据库I/O打高的情况通常是由于SQL执行效率过低导致的。一般项目制的公司都有属于自己的实施人员,然而要让实施人员去排查具体SQL执行过慢问题,这显然对于专业度不高的工作人员来说是一种挑战和煎熬。

2026-03-18 03:00:55 182

原创 docker拉取mysql5.7镜像报错Error response from daemon Get “httpsregistry-1.docker.iov2“

修改配置文件(删除源数据,直接复制粘贴,wq退出即可)进入/etc/docker/daemon.json。

2026-03-18 00:35:51 170

原创 SpringDoc和Swagger使用

Swagger和Springdoc是两个常用的工具,用于生成和维护API文档,特别是针对基于REST的Web服务。它们有效地提升了API的可读性和可维护性,帮助开发者、产品经理和其他利益相关者更好地理解和使用所提供的API。注意:Swagger支持springboot2.0但不支持springboot3.0。

2026-03-17 17:19:42 327

原创 Spring 中的 @ExceptionHandler 注解详解与应用

通过使用注解,你可以轻松地管理 Spring 应用中的异常处理逻辑。这不仅有助于提高代码的可读性和维护性,还能提供更好的用户体验。希望通过本文,你能掌握的使用方法,并将其应用到你的项目中。这篇博客文章详细介绍了注解的用法,并结合示例展示了其在实际开发中的应用场景。通过掌握这些技巧,你可以在开发过程中更加从容地处理各种异常情况。

2026-03-17 15:03:57 250

原创 Redis 安装及配置教程(Windows)【安装】

Redis 是用 ANSI C 编写的,可以在大多数 POSIX 系统中使用,而无需外部依赖。Linux 和 OS X 是 Redis 开发和测试最多的两个操作系统,官方建议使用 Linux 进行部署,Windows版本没有官方支持。Redis 在 Windows 平台上不受官方支持,Redis 官方只提供了源码包(zip、tar.gz 格式)。当然想要在 Windows 上安装 Redis 也还是可行的。

2026-03-17 12:35:28 3117

原创 MySQL不使用子查询的原因

这些案例展示了如何通过不同优化策略提升MySQL查询性能,特别是在处理子查询时。创建合适的索引:经常用于WHERE和JOIN的字段应建立索引,避免在低选择性的字段上建立索引(如性别字段)。避免索引失效的情况:使用函数计算的字段不会使用索引,如应优化为。组合索引的最左前缀法则:确保查询条件从组合索引的最左列开始。使用EXPLAIN分析查询执行计划:通过EXPLAIN关键字可以帮助我们了解查询的执行计划,从而发现性能瓶颈。优化查询语句:避免使用SELECT *,使用LIMIT。

2026-03-17 04:09:47 166

原创 IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)

则只需要匹配最后一段)**如何选择主机号后缀?**在查询出的多个地址中必须选择你DDNS做同步的那个ipv6地址的后缀。注意!你的IPV6必须为EUI64生成这样主机位不会变动。如果是stable-privacy生成则会每次生成不同的后缀,虽然有利于安全性,但是并不适用于防火墙规则编写。可以按照以下教程修改。如果你不想修改,每次的地址都完全随机难以匹配,因此目的地址栏只能空着,仅依靠目标端口实现限制。(指定主机:端口 变为 所有主机:端口)

2026-03-17 01:31:14 239

原创 【JavaEE】Spring Boot 项目创建

src/main/java: Java 源代码src/main/resources: 为静态资源或配置件:/static:静态资源件夹, 如前期学的js, css, html等静态件,不需要服务器数据进绑定的/templates:模版资源件夹, 主要存放动态模板件, 如JSP, Freemarker, Thymeleaf等需要服务器动态渲染数据的件src/test/java: 测试代码源代码除了下面的文件,其他都可以删了。状态码:Http请求的处理结果200:成功2XX 成功。

2026-03-15 03:37:28 346

原创 SpringCloud系列教程:微服务的未来(十四)网关登录校验、自定义过滤器GlobalFilter、GatawayFilter

在微服务架构中,API 网关扮演着至关重要的角色,负责路由请求、执行安全验证、流量控制等任务。Spring Cloud Gateway 作为一个强大的网关解决方案,提供了灵活的方式来实现这些功能。本篇博客将重点介绍如何在 Spring Cloud Gateway 中实现网关登录校验,以及如何利用自定义过滤器(GlobalFilter 和 GatewayFilter)来处理请求和响应。通过这些技术,开发者可以在网关层统一处理认证、授权等功能,同时保持对路由的细粒度控制。

2026-03-15 01:03:35 158

原创 springboot中@PostConstruct注解使用详解

是 Spring 中用于在 Bean 初始化完成后执行一些初始化逻辑的注解。它通常用于在依赖注入完成后执行一些必要的初始化操作,如资源加载、配置初始化等。相比于其他初始化方式,更加简洁直观,推荐在大多数场景下使用。

2026-03-14 19:23:14 343

原创 Spring Cloud Gateway

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

2026-03-14 18:19:48 366

原创 Springboot 3项目整合Knife4j接口文档(接口分组详细教程)

springboot 3开始javax包改成了jakarta,而swagger-oas等包中依然使用的是javax,所以报错。另外springfox已经停止更新有段时间了,并且不支持OpenAPI 3标准,升级Springboot 3.0以后会有更多问题暴露出来。而SpringBoot 3只支持OpenAPI 3规范,因此Spring官网推荐了Springdocspringfox 3.0.0: 同时兼容OpenAPI 2以及OpenAPI 3,但是停更很久了。

2026-03-13 21:33:21 399

原创 开源的不需要写代码的爬虫maxun

转自github热门项目,更多详细信息见github。本文主要是讲一下自己部署遇到的一些小问题。可以直接看最后一节,获得博主专属个人经验。

2026-03-13 02:01:23 204

原创 一个比 Nginx 还简单的 Web 服务器

企业级的 Web 服务器非常多,Nginx、Tomcat、Apache、IIS、FastAPI、Flask 等。今天松哥再给大家介绍一个开源的 Web 服务器,这款服务器具备自动 HTTPS 功能和高度可配置性,它的名字是:Caddy。Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随着 v2 版本发布,Caddy 已经可以作为中小型站点 Web 服务器的另一个选择。Caddy 轻量简单,对新手也比较友好,我们一起来看下 Caddy 的用法吧。

2026-03-12 12:03:43 189

原创 【AimRT】现代机器人通信中间件 AimRT

AimRT是智元机器人公司自主研发的一款机器人通信中间件。AimRT 是一个面向现代机器人领域的运行时开发框架。它基于 C++20 开发,轻量且易于部署,在资源管控、异步编程、部署配置等方面具有更现代的设计。旨在为开发者提供一个轻量化的 ROS2 替代中间件;AimRT 致力于整合机器人端侧、边缘端、云端等各种部署场景的研发。它服务于现代基于人工智能和云的机器人应用,提供完善的调试和性能分析工具链,以及良好的可观测性支持。AimRT 还提供了全面的插件开发接口,具有高度可扩展性。

2026-03-12 09:39:22 245

原创 SpringBoot配置Redis

spring.factories配置类文件。

2026-03-11 23:09:03 13

原创 Spring Boot从0到1 -day02

如果你需要为自己的组件或库添加自动配置支持,可以自己编写自动配置类,并遵循上述模式。创建一个自动配置类,并使用适当的条件注解。使用@Bean方法来定义 bean。如果需要绑定配置属性,可以使用注解。Spring Boot的强大之处在于其条件注解实现自动化和灵活配置。这些注解帮助开发人员轻松构建扩展性强、配置灵活的应用而无需关注复杂配置。通过智能地选择和配置Bean,提升了应用的健壮性和适应性。

2026-03-11 20:41:09 369

原创 MySQL如何给查出的数据 加上序号

定义用户变量i,设置初始值为0,然后将它作为派生表使用,AS定义了表的别名。3、

2026-03-10 08:03:28 45

原创 JAVA集成Jasypt进行加密、解密(SpringBoot)

Jasypt 是 Java 平台的简化加密工具,支持对文本和数据进行加密和解密,尤其适合应用于 Spring Boot 项目的配置文件加密。简单易用的 API支持对属性文件内容加密支持常见的加密算法与 Spring Boot 的无缝集成Jasypt 支持多种加密算法和配置项。如果你需要使用不同的加密算法、密钥生成方式等,可以通过 Java 配置进行自定义。通过自定义@Bean// 配置加密密钥,务必保密// 设置加密算法// 设置密钥迭代次数,影响破解难度。

2026-03-10 04:05:44 222

原创 莫名奇妙的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-03-09 07:26:43 167

原创 华为网络设备配置文件备份与恢复(上传、下载、导出,导入)

在日常运维工作中,会经常存在网络割接的情况,为了保证网络割接失败时能重新回退至原有配置,从而不影响原有的办公环境,在网络割接前的备份工作就非常有必要了。通过将网络设备设置为FTP服务器,然后用PC端和其连接,从而将配置文件进行下载上传。步骤四:重启设备,第一个选项选择N,第二个选项选择Y。备份技术:PC客户端<—>FTP服务器(网络设备)在路由器或交换机的aaa认证上配置FTP服务。

2026-03-09 03:27:11 178

原创 【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置

RabbitMQ 是一个流行的开源消息代理,采用 AMQP(高级消息队列协议)标准。它允许应用程序之间以异步方式交换数据,确保消息的可靠性和灵活性。RabbitMQ 适用于各种场景,如微服务架构、异步处理、工作队列等。高可用性:支持集群模式和镜像队列。消息确认:确保消息被成功处理。丰富的插件支持:可以扩展功能,例如监控、管理等。RabbitMQ 是一个强大的消息队列中间件,能够帮助你实现高效的异步消息传递。通过本文的详细步骤,你应该能够在 Windows 系统下顺利安装和配置 RabbitMQ。

2026-03-08 13:13:01 507

原创 SqlSession was not registered for synchronization because synchronization is not active

SqlSession的使用方式不正确:如果你是手动获取SqlSession(例如通过SqlSessionFactory),则可能需要在手动获取后立即注册到Spring的事务管理器中,但通常这不是推荐的做法。多个以上提到的错误连续出现,有可能导致jar运行终止。这些错误通常涉及到事务管理、数据库连接以及MyBatis与Spring的集成问题,它们都是关键的系统组件,如果处理不当,很可能会引发严重的运行时异常,从而导致整个应用程序崩溃或停止运行。事务未正确开启:确保你的方法被Spring的事务管理器所管理。

2026-03-08 08:43:28 409

原创 SpringBoot下获取resources目录下文件的常用方法

不想折腾的同学可以直接用method3和method4的方法来使用,也可以将模板和资源文件外置,通过绝对路径获取对应文件。有好的方法也欢迎大家一起交流沟通~

2026-03-07 06:30:45 242

原创 Redis重大版本整理(Redis2.6-Redis7.0)

Redis借鉴了Linux操做系统对于版本号的命名规则:node 版本号第二位若是是奇数,则为非稳定版本(例如2.7、2.9、3.1),若是是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,因此咱们在生产环境一般选取偶数版本的Redis。

2026-03-07 02:57:07 266

空空如也

空空如也

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

TA关注的人

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