- 博客(51)
- 收藏
- 关注
原创 PHP vs Golang:30秒看懂核心差异
PHP与Golang对比摘要:PHP专为Web开发设计,适合动态网页和CMS系统,采用解释执行和动态类型,生态成熟但性能有限;Golang由Google开发,擅长高性能后端服务、分布式系统和云原生应用,具有静态类型、编译执行和原生并发支持(goroutines),性能更优但学习曲线略高。PHP适合快速开发内容网站,Golang更适合构建高并发微服务。选择取决于项目需求:传统Web选PHP,高性能服务选Golang。
2026-03-31 16:58:40
340
原创 PHP vs C语言:核心差异全解析
摘要: PHP和C语言在设计和应用上有显著差异。PHP是解释型语言,专为Web开发设计,支持动态类型和自动内存管理,适合构建动态网站。C语言是编译型语言,强调性能和底层控制,需手动管理内存,适用于系统编程和高性能应用。PHP语法简单且内置Web功能,而C语言更接近硬件,适合开发操作系统或嵌入式系统。选择取决于项目需求:PHP适合快速Web开发,C语言适合高性能或底层系统开发。
2026-03-31 16:56:48
371
原创 对Docker部署的MySQL中的数据进行备份恢复
使用Docker部署的MySQL进行备份/恢复与传统方式类似,但需要考虑Docker容器的特殊性。以下是详细的步骤,帮助你在Docker环境中进行MySQL的全量备份。
2026-03-24 23:46:03
213
原创 MySQL——用户管理
在使用MySQL时,初始都是只有一个,跟Linux类似,拥有最高管理员权限。如果数据库将来要被多个人使用,如果所有人都通过root登录,那么就可以对所有的数据库信息进行操作,这显然是不安全的,因此MySQL也必须做用户管理。
2026-03-18 04:04:21
218
原创 Spring Boot文件上传
在图5-14所示的文件上传页面中,共添加了3个上传的文件,每个上传文件后方对应一个【删除】按钮,用于移除上传的文件。单击文件上传页面的【上传】按钮,如果存在未选择的文件,会提示“请选择一个文件”,否则选择好的上传文件会进行上传处理,效果如图5-15所示。从图5-16可以看出,在定制的上传文件存储目录“F:/ile/”下,出现了选择上传的3个不同类型的文件,同时文件名也根据设置进行了相应的修改,读者还可以打开每个文件查看具体的文件内容。从图5-15可以看出,文件上传成功后页面会提示“上传成功”。
2026-03-17 14:28:34
209
原创 PON架构(全光网络)
目前组网架构世界上有一种最快的速度又是光,以前传统以太网络规划满足不了现在的需求。有线网无线网全光网络方案场景全光网络分类以太全光网络PON(Pas-sive-Optical Network 无源光网络)再典型的中大型高校网络中 推荐万兆入室 千兆到桌面的带宽设计 一般三层 (终端-接入层-汇聚层-核心层-出口(安全设备)-互联网)单校区核心设备 一般采用两台高性能的核心交换机 双机的方式采用的是 M-LAG 多校区之间核心交换机采用100G互联,并为将来升级更大的带宽出口预留汇聚层设备,一般采用高转发能力
2026-03-17 12:01:28
366
原创 MySQL四种备份表的方式
MySQL的备份方式多种多样,不同的备份方式各有优缺点。对于中小型数据库,mysqldump和MySQL Workbench工具较为合适,操作简便,且支持表结构和数据的备份。对于只需要数据导出分析的情况,可以使用语句。而对于大型数据库和实时备份的需求,Binary Log增量备份是一种高效的解决方案。在实际应用中,应根据业务的规模、数据的重要性和恢复时间的需求选择合适的备份方式。同时,定期测试备份的有效性是确保数据安全的关键环节。
2026-03-17 04:38:22
361
原创 Java进阶06List集合&泛型
在内存中不是连续的,每个结点有自己的存储地址,包含其存储的具体数据值和下一个结点的地址。见名知义,单链表即链接方向是单向的,对链表的访问要通过顺序读取从头部开始。**注意:**next()方法每调用一次,迭代器指针会后移一位,就会把不同集合元素的信息拼接到一起打印,为了避免这种信息错乱,增强for循环是JDK5之后出现的,其内部原理就是一个Iterator迭代器,它简化迭代器的代码书写,是迭代器遍历的语法糖。接口中的某个抽象方法确定不了参数的具体类型,就可以声明泛型,让该方法的泛型去匹配接口的泛型。
2026-03-17 01:59:35
195
原创 如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。打开浏览器,我们来测试一下访问配置成功的二级子域名,出现nginx欢迎界面表示成功,可以正常访问。然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址。,可以看到nginx隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。,找到需要配置二级子域名的隧道,点击右侧的。
2026-03-15 12:43:49
297
原创 修改表字段属性,SQL总结
可以改变字段的数据类型、长度、默认值或注释,但不会更改字段名称。varchar转为mediumtext。NVARCHAR2 转为NCLOB。将需要修改的字段的值设置给临时字段。修改临时字段的名字为需要修改字段名。可以同时更改字段名称及其属性。varchar转为text。新增临时字段为NCLOB。,并将其数据类型改为。来修改字段的默认值。
2026-03-15 11:35:54
146
原创 【分布式】Hadoop完全分布式的搭建(零基础)
将接下来预计要进行连接的虚拟机ip都入加入到hosts文件,根据自己需要搭建的集群数量决定,本文的Master01用于伪分布式搭建,node1,node2及node3用于完全分布式的搭建,要记录对应的ip地址,以便进行后续操作。打开准备好的远程连接软件,我们后续将都在此进行操作,因为可直接粘贴复制和传送文件(用xshell也可),此处可用root登录也可用普通用户,后续因为yarn的使用,需要用普通用户连接。修改相应的IP地址,默认网关,和刚才虚拟机中的保持统一字段,在本文中统一为10.
2026-03-15 10:26:51
350
原创 【Spring Boot】Spring Boot解决循环依赖
环依赖是指两个或者多个bean互相依赖对方,从而形成一个闭环。例如:Bean A依赖于Bean B,而Bean B又依赖于Bean A。可能会导致Spring在尝试创建这些bean实例时出现问题,因为他们互相等待对方被创建,最终导致应用程序无法启动。Spring是如何发现这种循环依赖的问题的呢?通过依赖图来检测和发现循环依赖问题。
2026-03-15 04:53:26
350
原创 Redis之Redis事务
watch指令类似于乐观锁,在事务提交时,如果watch监控的多个KEY中任何KEY的值已经被其他客户端更改,则使用EXEC执行事务时,事务队列将不会被执行,同时返回Nullmulti-bulk应答以通知调用者事务执行失败。
2026-03-14 11:31:19
138
原创 Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
通过本文的学习,我们掌握了如何将 Node.js 应用与 Docker 深度整合,并成功部署到容器中。使用多阶段构建优化镜像大小,避免将不必要的文件和依赖打包进最终镜像。合理利用 Docker 缓存,将不常变化的操作(如安装依赖)放在 Dockerfile 的前面,以加速构建。保持容器的简洁性和高效性,只包含应用运行所需的文件,避免不必要的依赖。确保数据持久性,通过 Docker 卷来管理数据库或文件数据,避免容器删除时数据丢失。
2026-03-14 10:18:03
308
原创 MySQL查看日志
二进制日志( BINLOG )记录了所有的 DDL (数据定义语言)语句和 DML (数据操纵语言)语句,但不包括数据查询( SELECT 、 SHOW )语句。作用:① . 灾难时的数据恢复;② . MySQL 的主从复制。在 MySQL8 版本中,默认二进制日志是开启着。
2026-03-14 02:57:29
359
原创 MySQL 的mysql_secure_installation安全脚本执行过程介绍
1.设置 MySQL root 用户密码。2.删除匿名用户。3.禁止 root 用户远程登录。4.删除测试数据库。5.重新加载权限表。
2026-03-14 01:42:29
188
原创 JDK17在Windows安装以及环境变量配置(超详细的教程)
如果您系统中没有安装JRE,他会提示你安装JRE,在我们开发环境中,JDK中已经带有JRE,因此你可以不安装JRE.很多同学在其他的地方也能下载,但是我还是强烈推荐如果有条件使用官网的下载链接。这个地方如果你更换了安装目录,要记住这个目录,一会在进行环境变量配置的时候需要用到这个目录。为了让系统能自动识别到我们的JDK,那么我们需要去配置JDK的环境变量。点击“编辑系统环境变量”即可。点击“关闭”按钮完成安装。
2026-03-14 00:27:49
240
原创 【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
在PHP5.4版本之前,Nginx处理PHP的流程是调用php-fpm,php-fpm再创建进程,调用php-cgi,以此实现了Ngixn对PHP的解析问题,此时php-fpm起到的是管理php-cgi的作用。fast-cgi协议改进了进程的处理模式,当一次通信完成后,通信进程会得以保留,不会杀死通信使用的进程,其他的通信还可以继续使用这个进程,这样一来,就大大提升了系统资源使用效率。最后,信息安全是一个持续的过程,需要不断地学习和更新知识,跟踪最新的漏洞和攻击技术,并采取相应的防护措施。
2026-03-13 19:55:23
315
原创 防火墙安全策略(基本配置)
凡是由设备构造并主动发出的报文均可认为是从Local区域中发出,凡是需要设备响应并处理(而不仅是检测或直接转发)的报文均可认为是由local区域接收。此时,即使配置了接口所在安全域允许访问local区域的安全策略,也不能通过该接口访问本地防火墙。缺省安全策略位于策略列表的最底部,优先级最低,所有匹配条件均为any,动作默认为禁止。所以服务器回包时候,会直接查询会话表,实现通信,所以防火墙只需要放行一边就行,流量能出去能建立会话,流量就可以按照会话回来。id表示安全区域ID,取值4~99,默认递增。
2026-03-13 04:06:22
197
原创 如何使用C#与SQL Server数据库进行交互
3.对应项目,系统添加数据库连接。3. 数据查询:通过点击按钮,应用程序能够查询并显示student表中的所有数据,使用户可以轻松地查看数据库中存储的信息。2. 数据插入:点击相应按钮可以将预设的学生信息插入到数据库的student表中,这提供了一种简单的数据录入方式。1. 数据库连接与测试:通过点击按钮可以测试与数据库的连接,确保应用程序能够成功连接到本地数据库XSCJDB。4. 按姓名查询:应用程序还提供了按姓名查询学生数据的功能,用户只需输入学生姓名,即可获取相应的学生信息。
2026-03-13 01:22:37
167
原创 Vanna AI:告别代码,用自然语言轻松查询数据库,领先的RAG2SQL技术让结果更智能、更精准!
Vanna,是一款革命性的AI SQL智能体,可以将复杂的SQL查询简化为日常语义对话。在生成式AI的助力下,Vanna 让数据库查询变得前所未有的简单和直观。它是基于 OpenAI 和 Google 提供的大语言模型(LLM)。Vanna 通过预训练模型,结合你的数据库进行微调,可以快速帮你量身打造一个定制化的AI助手。Vanna 是一个获得 MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。GitHub 已经高达7200 颗星??
2026-03-12 09:07:12
163
原创 SpringMVC的工作流程
在上述过程中,DispatcherServlet、HandlerMapping、HandlerAdapter和ViewResolver对象的工作是在框架内部执行的,开发人员只需要配置DispatcherServlet,完成Controller中的业务处理并在View中展示相应信息。DispatcherServlet是前端控制器,是整个流程控制的中心。(5) HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器。
2026-03-12 01:22:16
211
原创 Spring Boot 3.4 正式发布,结构化日志!
通过将注入到@Bean方法中来定义动态属性的功能已被弃用,现在默认会导致失败。替代方法是实现一个单独的@Bean方法,返回一个,此方法应注入属性值来源的容器。这种方式解决了一些容器生命周期问题,并确保属性值来源的容器在属性被使用之前已经启动。如果仍希望注入(需承担可能的生命周期问题),可以将设置为warn或allow。前者会记录警告但允许注入,后者则会完全恢复 Spring Boot 3.3 的行为。在类型匹配时,基于 Bean 的条件现在会忽略非默认候选 Bean。
2026-03-11 20:13:00
383
原创 npm无法加载文件:因为在此系统上禁止运行脚本
出现需要管理员权限提示,可选择执行 Set-ExecutionPolicy -Scope CurrentUser。出现的ExecutionPolicy参数后输入:RemoteSigned。说明不是环境变量的问题,那么定位到注册列表的问题。三、可能是环境变量的问题,进入cmd,输入。显示Restricted,说明状态是禁止的。,显示 RemoteSigned 改好了。二、node的版本是可以打印出来的。这个目录下看到是有这个文件的。再来使用npm就可以了。在vscode中输入。
2026-03-11 02:22:43
558
原创 MySQL中between and的基本用法
是支持数值查询的,当字段类型是数值时 between A and B等同于>=A and <=B。not between and表示指定范围之外的值。not between A and B相当于 < A or >B。从上面示例可以看出,还有两条数据时间是在2024-10-30日范围内,但是并没有被查询出来。当between and用于数值查询时,常用于字段类型为int、decimal等。当查询时间范围时要注意可能会遇到时间精度问题,具体参考下面示例。示例:查询年龄不在24到25之间的用户。
2026-03-10 07:06:55
244
原创 Java自学路线图之Java进阶自学
说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。
2026-03-10 03:07:59
188
原创 深入探索Spring Cloud Gateway:微服务网关的最佳实践
API网关是一个反向路由,屏蔽内部细节,为调用者提供统一入口,接收所有调用者请求,通过路由机制转发到服务实例。API网关是一组“过滤器Filter”集合,可以实现一系列与核心业务无关的横切面功能,如安全认证、限流熔断、日志监控。
2026-03-09 06:30:05
384
原创 使用Kubernetes部署Spring Boot项目
这种类型的服务会在集群中的每个节点(Node)上开放一个指定范围(通常是 30000 - 32767)内的随机端口,外部客户端可以通过访问集群中任意节点的该随机端口来访问到服务背后的应用(这里就是。也就是说,从服务的 8080 端口接收到的流量会被转发到对应的 Deployment 所管理的 Pod 的 8080 端口上。在该 Maven 项目的 pom.xml 中添加以下配置,在 一行之前添加Spring Boot 相关的依赖及打包插件。当其他服务或 Pod 在集群内部要访问这个服务时,会使用这个端口。
2026-03-09 02:29:18
203
原创 【MySQL】复合查询
首先,要有一张每个部门的平均工资临时表,然后用临时表与员工表做连接查询,从连接查询的结果中筛选出来符合条件的即可。首先我们要始终明确一点:sql查询出来的结果一定是一张表,所以可以把一个子查询的结果当做一个临时表使用。在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。先查询10号部门的岗位,就当前表而言,其结果会有多行记录;然后再找出岗位相同的。首先要找出最高的工资,然后使用工资去比较,使用嵌套查询(子查询),也是在开发过程中使用的最多的连接查询。
2026-03-08 12:31:08
379
原创 Spring的@Configuration注解:深入解析与实战指南
在Spring框架中,Bean是指由Spring容器管理的对象。Spring容器负责创建、配置和管理这些对象的生命周期。Bean通常是应用程序中的组件,如服务、存储库、控制器等。注解是Spring框架中非常重要的一个注解,用于标记一个类为配置类,表示该类包含Bean的定义。通过注解,开发者可以精确控制Bean的创建和管理过程,包括组件扫描、导入其他配置类、条件配置等。在实际项目中,注解广泛应用于数据源配置、Web安全配置等场景。希望这篇文章能帮助你更好地理解注解的使用,并在实际项目中灵活应用它。
2026-03-08 06:20:01
234
原创 SpringBoot 3.x 整合swagger
对于SpringBoot而言,Swagger的作用是通过后端SpringBoot代码快速生成接口文档,方便测试接口以及前端使用。
2026-03-07 05:42:20
224
原创 MySQL中replace into详解、批量更新、不存在插入存在则更新、replace into的坑
以下总结replace into时可能会遇到的场景pk:主键 uk:唯一索引。
2026-03-06 09:58:33
397
原创 Java语法进阶
一、Object类、常用API二、Collection、泛型三、List、Set、数据结构、Collections四、Map与斗地主案例五、异常、线程目标:1、说出进程的概念2、说出线程的概念3、能够理解并发与并行的区别4、能够开启新线程4.1 并发与并行4.2 线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。进程:线程是进程
2026-03-06 02:47:02
178
原创 开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理,使应用程序能够处理各种不同的请求场景,提高应用程序的灵活性和可扩展性。在数据验证和转换方面,高级用法提供了更精细和准确的控制,确保输入数据的质量和安全性。它还能更高效地处理异步操作,提升应用程序的性能和响应速度,特别是在处理大量并发请求时优势明显。此外,高级用法还有助于更好地整合数据库操作、实现数据的持久化和查询优化,以及实现更严格的认证和授权机制,保护应用程序的敏感数据和功能。总之,掌握 FastAPI 的高级用
2026-03-05 05:28:22
306
原创 【玩转全栈】----Django模板语法、请求与响应
像之前那个页面,太过简陋,而且一个完整的页面,也不可能只用HttpResponse返回文本,这就可以用django的模板语法,模板语法相当于将前后端分离了,前端专写页面,写成一个html文件,然后后端在视图函数中可以通过渲染(render)将前端的html文件渲染为HTTP响应。这里的用户名和密码是自己设置的,一般来说,用户名和密码是不会出现在代码中的,容易泄露,可以存放于数据库中,但我图方便就先这样了,后面再出一个完整的Django和Mysql连接的博客。提交的查询参数的一个对象。
2026-03-05 01:45:27
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅