- 博客(175)
- 收藏
- 关注
原创 Conventional Commits 常用前缀规范
杂项 配置、依赖更新等不影响功能的改动。- 格式 代码格式调整(空格、缩进等)- 修复bug 修复了某个功能问题。- 重构 优化代码结构,不改变功能。- 新功能 添加了新特性。- 文档 更新文档、注释。- 测试 添加或修改测试。
2026-04-10 09:46:29
70
原创 5.4 信息安全与网络安全
在数字化时代,网络安全已经成为每个人都需要关注的重要话题。从个人隐私保护到企业数据安全,网络安全威胁无处不在。本文将全面介绍常见的网络攻击技术、防护措施以及安全防御体系,帮助大家建立完整的网络安全知识框架。
2026-03-11 11:08:45
555
原创 5.3 Internet基础知识
本文系统介绍了互联网基础知识,涵盖域名系统(DNS)、IP地址分类、子网掩码、IPv6协议及常见网络服务。重点解析了域名结构(如www.hust.edu.cn)、IP地址格式(IPv4四段十进制表示)与分类(A-E类),详细说明了子网掩码功能及CIDR记法。特别对比了IPv4与IPv6的地址空间差异(32位vs128位),并介绍了IPv6的冒号十六进制表示法。最后列举了DNS、邮件、WWW等核心网络服务,以及网络故障排查的基本方法(ping测试、DNS检查等),为读者提供了全面的互联网技术入门指南。
2026-03-10 17:10:27
205
原创 5.2 网络的协议与标准
本文系统介绍了软件工程的核心概念与实践方法。首先阐述了软件的特有属性(不可见性、无磨损性等)和软件工程的目标(降低成本、提高质量等)。然后详细讲解了多种开发模型(瀑布、增量、螺旋等)及其适用场景,重点分析了敏捷开发的核心价值观。文章深入探讨了需求分析的层次与方法,以及软件设计的关键原则(模块化、信息隐藏等)和模块独立性指标(耦合与内聚)。最后系统介绍了软件测试的分类(白盒/黑盒)与步骤,软件维护的类型与挑战,以及项目管理中的估算、进度和风险管理方法。全文为软件开发提供了全面的工程化指导。
2026-03-10 15:06:13
160
原创 5.1 计算机网络概述与网络硬件基础
计算机网络是现代信息社会的核心基础设施,其功能包括数据通信、资源共享、负载均衡和分布式处理。网络体系结构分为OSI七层模型和实际应用的TCP/IP四层模型,各层协议协同工作实现网络通信。常见网络设备如交换机、路由器等在不同层级发挥作用。IP地址是网络设备的唯一标识,子网划分可提高地址利用率。掌握网络命令有助于故障排查,网络安全防护则需采取加密、防火墙等措施。理解网络原理能优化实际应用,如提升网速、改善覆盖和增强安全性。
2026-03-10 11:48:39
388
原创 4.4 文件管理与作业管理
本文系统介绍了操作系统设备管理的核心机制。主要内容包括:设备分类(存储、I/O、网络设备等)和管理的四大目标;四种I/O控制方式的演进(程序I/O、中断驱动、DMA、通道);中断处理流程;设备分配原则与算法;缓冲技术解决速度不匹配问题;设备驱动程序功能;SPOOLing虚拟设备技术;以及设备独立性、即插即用等现代优化技术。这些机制共同实现了高效、安全的设备管理,为上层应用提供统一接口。
2026-03-10 11:38:39
343
原创 4.3 设备管理
本文系统介绍了操作系统中的文件管理机制。主要内容包括:文件与文件系统的概念、文件的逻辑结构(顺序/索引/索引顺序文件)、物理存储方式(连续/链接/索引分配)、目录结构(单级/树形/图状)、存取控制方法、存储空间管理技术(空闲表/位示图等)、文件共享与安全措施,以及实际应用中的缓冲、预读等优化技术。文章全面阐述了文件管理系统的功能需求和实现方法,突出了高效性、安全性和可靠性等关键特性。
2026-03-10 11:33:01
229
原创 4.2 存储管理
本文系统阐述了操作系统存储管理的核心概念与技术。主要内容包括:存储管理的基本概念(逻辑地址与物理地址、地址重定位);分区存储管理(固定/可变/可重定位分区);分页与分段存储管理的原理及实现机制;段页式存储管理的优势与地址变换过程;基于局部性原理的虚拟存储管理;常见页面置换算法(OPT、FIFO、LRU、NRU)及其性能比较;以及TLB和多级页表等实际优化技术。这些存储管理方法共同解决了内存资源的高效利用问题,为现代操作系统提供了可靠的内存管理基础。
2026-03-10 11:26:00
409
原创 4.1 进程管理
本文系统介绍了操作系统中的进程管理机制。主要内容包括:1)操作系统的基本特征和功能;2)进程概念及其状态转换(运行、就绪、阻塞);3)进程同步与互斥的PV操作机制及生产者-消费者问题;4)三级调度及常见调度算法;5)死锁的产生条件、预防公式和处理策略;6)线程概念及其与进程的区别。重点阐述了进程作为资源分配和调度的基本单位,以及通过信号量实现进程同步互斥的核心机制。文章还提供了典型例题,帮助理解死锁预防公式的应用。这些知识是操作系统设计的理论基础,对系统开发和资源管理具有重要意义。
2026-03-10 11:23:47
377
原创 Java后端开发标准流程:从数据库到接口的完整实现
本文详细介绍了Java后端开发的标准化流程,以图书管理系统为例,展示了从数据库设计到接口实现的完整开发步骤。文章强调分层架构(Controller-Service-Repository)的设计原则,包括单一职责、向下依赖、Entity与DTO分离等核心思想,并提供了各层的最佳实践建议。
2026-03-10 09:32:30
1300
1
原创 IDEA 更改快捷键关闭当前标签页
摘要:在IntelliJ IDEA中,可通过Ctrl+Alt+S打开设置面板,进入Keymap→MainMenu→Window→EditorTabs→Close选项,将关闭标签页快捷键修改为Ctrl+W(或其他自定义快捷键)。修改后点击Apply和OK保存设置,即可使用新快捷键快速关闭当前标签页,提升开发效率。
2026-03-09 10:01:10
307
原创 3.7 图的相关算法
生成树是包含连通图所有顶点的无回路子图,包含n-1条边。最小生成树(MST)是权值之和最小的生成树,具有边数=顶点数-1、连通无回路等特性。求MST的两种主要算法:普里姆算法(以顶点为主,适合稠密图,时间复杂度O(n²))和克鲁斯卡尔算法(以边为主,适合稀疏图,时间复杂度O(eloge))。两种算法分别适用于不同密度的图,广泛应用于网络设计、电路布线、运输规划等领域。实现时需注意普里姆算法需要存储所有边,克鲁斯卡尔算法需要边排序和并查集操作。
2026-03-09 08:35:40
489
原创 3.6 查找算法
本文系统介绍了常见查找算法及其应用场景。主要内容包括:顺序查找、折半查找、分块查找、树表查找和哈希查找的基本原理、时间复杂度及优缺点。重点分析了折半查找的判定树特性、二叉查找树的构造过程,以及哈希查找中处理冲突的开放定址法和链地址法。文章通过对比各算法的平均查找长度(ASL)和时间复杂度,提出了根据数据规模、有序性和动态变化程度选择合适查找算法的建议:小规模无序数据适用顺序查找,有序静态数据适合折半查找,动态数据推荐树表查找,而哈希查找则适用于需要快速查询的场景。
2026-03-06 14:29:12
70
原创 3.5 排序算法
本文系统介绍了七种经典排序算法:直接插入排序、冒泡排序、简单选择排序、希尔排序、快速排序、堆排序和归并排序。详细阐述了每种算法的核心思想、具体实现步骤和排序过程示例,并用一句话总结其特点。通过时间复杂度分析(O(1)到O(2ⁿ))和综合对比表,比较了各算法在最好、平均、最坏情况下的性能及空间复杂度、稳定性差异。最后给出选型建议:小规模数据适用插入/选择排序,中等规模推荐希尔/快速排序,大规模数据优选快速/归并/堆排序,并需考虑数据特征和空间限制。
2026-03-06 14:22:53
226
原创 3.4 图
本文系统介绍了图论的基本概念与应用。主要内容包括:图的定义(由顶点集V和边集E构成)及其分类(有向图、无向图、完全图);相关概念如度、路径、连通性、子图等;两种存储结构(邻接矩阵和邻接表)的优缺点对比;图的遍历算法(DFS和BFS);最小生成树算法(Prim和Kruskal);最短路径算法(Dijkstra和Floyd);以及拓扑排序的应用。文章还总结了不同类型图的特性、存储结构选择建议和常见算法的时间复杂度,为图论学习提供了系统性的知识框架。
2026-03-06 14:19:42
592
原创 3.3 树和二叉树
本文系统介绍了树和二叉树的基本概念、性质及应用。主要内容包括:1.树的定义与相关术语(结点度、层次等);2.二叉树的性质(结点数量关系)及其与普通树的区别;3.满二叉树和完全二叉树的特征;4.二叉树的两种存储方式(顺序和链式);5.四种遍历方法(前序、中序、后序、层序)及其应用场景;6.最优二叉树(哈夫曼树)的构造算法和WPL计算方法;7.二叉查找树的定义和特性。文章通过示例图示和性质推导,帮助理解各类二叉树的特点及存储遍历方式,最后给出总结对比。
2026-03-06 14:15:21
182
原创 3.2 数组和矩阵
本文系统介绍了数组的存储结构和特殊矩阵的压缩存储方法。主要内容包括:一维和n维数组的定义及特点;二维数组的两种存储方式(按行和按列)及其地址计算公式;对称矩阵、三对角矩阵和稀疏矩阵的压缩存储原理及实现方法。通过典型例题展示了地址计算过程,并对比分析了不同存储方式的优缺点和应用场景。文章指出,虽然压缩存储能节省空间,但会牺牲随机存取性能,适用于图像处理、科学计算等特定领域。
2026-03-06 14:10:07
362
原创 3.1 线性结构
本文系统介绍了线性表、栈、队列和串四种基本数据结构。线性表分为顺序存储(顺序表)和链式存储(链表),对比分析了各自的优缺点及适用场景。详细阐述了单链表、循环链表和双链表的特点与结构。针对栈和队列,分别介绍了顺序/链式实现方式,重点说明栈的LIFO原则和队列的FIFO原则。字符串部分讲解了串的基本概念、存储结构及典型应用。最后总结了各数据结构的对比特征和常见应用场景,如函数调用、任务调度、文本处理等,为数据结构选择提供了指导依据。
2026-03-06 14:00:17
726
原创 2 程序语言基础知识
本文系统介绍了程序语言的核心概念,主要内容包括:1.程序语言分类(低级/高级语言)及翻译方式(编译/解释);2.编译与解释的区别及编译程序工作流程(6个阶段);3.程序语言基本成分(数据、控制结构);4.函数参数传递方式(传值/引用调用);5.表达式转换与求值方法;6.编译过程中的符号表管理和错误处理。重点阐述了编译程序的词法分析、语法分析、语义分析等关键阶段,以及不同数据类型的存储分配方式。文章还总结了程序设计的核心考点,为理解编程语言原理提供了系统框架。
2026-03-06 10:41:52
343
原创 1.3 安全性、可靠性与系统性能评测基础知识
本文系统介绍了信息安全领域的关键技术。对称加密使用单一密钥,速度快但密钥管理困难;非对称加密采用公钥/私钥对,安全性高但速度慢。信息摘要(Hash函数)具有唯一性和单向性,用于数据完整性验证。数字签名结合Hash和非对称加密,实现身份认证和不可抵赖性;数字信封则通过混合加密确保数据保密性。此外,文章还阐述了计算机可靠性指标(MTBF、MTRF)及串联/并联系统的可靠性计算方法。这些技术各具特点,实际应用中常需组合使用以满足不同安全需求。
2026-03-06 10:21:40
409
原创 1.2 计算机体系结构
本文系统介绍了计算机体系结构与存储系统的核心知识。主要内容包括:1.计算机体系结构分类(Flynn、冯泽云等分类法)及CISC与RISC的区别;2.流水线技术原理与性能计算;3.存储系统层次结构,重点讲解Cache工作原理、地址映像方式(直接/全相联/组相联)及替换算法;4.存储器编址计算方法;5.三级存储体系特点及虚拟存储器概念。文章通过典型例题详细演示了流水线时间和存储容量的计算过程,并汇总了地址映像、Cache性能、RISC特点等关键知识点。
2026-03-06 10:11:54
371
原创 1.1 计算机硬件基础知识
本文系统介绍了计算机硬件系统的核心组成与工作原理。主要内容包括:1)计算机硬件由CPU、存储器和输入输出设备构成,其中CPU包含运算器和控制器;2)存储系统分为主存和外存,总线结构简化了系统设计;3)输入输出控制方式包括程序控制、中断、DMA等;4)详细讲解了进制转换、数的表示方法(原码、反码、补码、移码)及校验码原理;5)重点解析了CPU各寄存器功能、总线周期概念和历年真题考点。文章全面覆盖了计算机组成原理的基础知识体系,特别强调了补码表示法对简化运算的重要性。
2026-03-06 09:58:26
435
原创 OAuth2 概念
OAuth2是一种授权协议,允许用户授权第三方应用访问其资源而无需共享密码。其核心流程包括:用户点击登录按钮跳转到授权服务器(如微信),确认授权后获得临时授权码,第三方应用后台用授权码换取访问令牌。相比传统方式,OAuth2更安全,实现了密码隔离、有限授权和临时凭证。它有四种授权模式,最常见的是授权码模式。最佳实践包括使用PKCE扩展、state参数防范CSRF,以及安全存储令牌。OAuth2广泛应用于社交登录、API授权等场景,既保障安全性又提升用户体验。
2026-03-05 09:39:34
444
原创 Vue3 组件封装
本文介绍了Vue组件的基本概念和使用方法。组件是可复用的代码块,类似于乐高积木,包含Props(父传子数据)、Emit(子传父事件)和Slot(内容插槽)三种主要通信方式。通过卡片组件的示例,展示了如何定义组件、传递数据和监听事件。还演示了插槽的使用,让组件可以灵活填充自定义内容。最后以一个简单的计数器组件为例,说明组件的独立性。文章用生活化的比喻帮助理解组件概念,适合Vue初学者快速掌握组件开发的基本模式。
2026-03-03 09:56:55
128
原创 Minion客户端和服务端概念(第三节)
摘要:MinIO架构分为服务端和客户端。服务端相当于仓库,运行在服务器上存储管理文件,通过Docker启动并监听端口;客户端相当于快递员,集成在应用中通过API与服务端交互。使用时,应用通过客户端工具(如MinioClient)连接服务端(指定endpoint和凭证),执行文件操作(上传/下载)。完整流程示例展示了用户头像从前端到服务端的传输过程。核心类比:服务端=仓库(存储),客户端=快递员(存取工具),通过网络请求实现文件流转。
2026-02-27 10:47:36
416
原创 MinIO核心方法详解(第二节)
摘要:本文详细解析了使用MinIO客户端上传文件的核心方法minioClient.putObject()。该方法通过建造者模式构建上传参数,包括设置文件名(object)、存储桶名(bucket)、文件类型(contentType)和文件流(stream)。其中stream参数需要提供输入流、文件大小和分片设置。整个过程可类比快递寄送:客户端如快递员,putObject是寄件操作,各参数分别对应收件人信息、寄送地址、物品类型和实际包裹内容。该方法实现了从前端上传到MinIO服务器的完整文件传输流程。
2026-02-27 10:44:29
498
原创 Logstash 概念
Logstash是ELK技术栈中的核心数据处理工具,采用输入-过滤-输出的管道架构。它能够从文件、数据库等多种来源采集数据,通过grok、mutate等插件进行解析转换,最终输出到Elasticsearch等目标系统。文章详细介绍了Logstash的核心组件、基础配置方法、常用插件(如grok日志解析、mutate字段操作)以及生产环境优化技巧,包括性能调优参数和多管道配置。
2026-02-26 15:51:36
459
原创 回调函数指南
本文深入浅出地讲解了JavaScript回调函数的概念和应用。回调函数是将函数A作为参数传给函数B,由函数B在适当时机调用的编程模式。文章通过外卖、闹钟等生活比喻帮助理解,并展示了数组方法、事件处理、定时器等实际应用场景。针对回调地狱问题,介绍了Promise和async/await两种解决方案,推荐优先使用async/await写法。最后总结了回调函数的适用场景和常见错误,提供了练习题巩固理解。掌握回调函数是学习JavaScript异步编程的重要基础。
2026-02-12 14:48:12
357
原创 Vue 选项式 API vs 组合式 API:区别全解析
Vue3提供了选项式API和组合式API两种编码方式。选项式API沿用Vue2的写法,将代码按data、methods等选项分类,适合新手但逻辑分散;组合式API是Vue3新特性,按功能组织相关代码,无需使用this,支持更好的逻辑复用和TypeScript。核心区别在于代码组织方式和this的使用,前者按类型分组需要this连接,后者按功能分组直接使用变量。建议新手先学选项式API,进阶项目采用组合式API以获得更好的可维护性。
2026-02-12 14:18:08
843
原创 自动管理对象
本文介绍了Spring框架中三个关键概念:1)@Component注解标记类由Spring管理;2)@Autowired实现依赖自动注入;3)Builder模式分步构建对象。三者共同点是实现对象自动管理,避免手动创建。@Component让Spring托管类,@Autowired自动装配依赖,Builder提供灵活的对象构建方式,这些机制简化了开发,提升了代码的可维护性。
2026-02-10 14:25:05
414
原创 Tomcat的概念
Tomcat是Apache开发的开源轻量级Web应用服务器,主要作为Java Servlet和JSP容器运行Java Web应用。其核心功能包括处理Servlet/JSP、内置HTTP服务器,具有跨平台、启动快的特点。相比完整JavaEE服务器更轻量,常与Nginx配合使用(Nginx处理静态请求,Tomcat处理动态内容)。Tomcat包含Catalina(Servlet容器)、Coyote(HTTP连接器)等核心组件,支持快速部署WAR文件,广泛用于企业级Java开发。作为Java Web技术的标准工具
2026-02-04 09:36:17
993
原创 协议包的概念
协议包是连接设备与中心管理平台的通信适配器,实现不同协议间的数据转换。它负责将设备私有协议数据解析为平台标准格式(如车牌识别事件),并将平台指令封装为设备可识别的命令(如开闸、拍照)。协议包采用模块化设计,包含数据解析、指令生成、心跳检测等核心功能,并具备完善的异常处理和日志记录机制。在实际物联网系统中,协议包作为关键中间层,解决了多品牌设备协议差异问题,是平台与硬件高效协同的基础组件。
2026-02-02 10:32:11
304
原创 VS Code 代码片段:让你的编码效率提升 10 倍
代码片段(Snippets)是通过简短缩写快速插入常用代码模板的功能,能显著提升开发效率。文章介绍了代码片段的优势(节省时间、减少错误、统一风格),详细讲解了在VSCode中创建和使用代码片段的方法,包括基础配置、JSON格式、实用示例(如console.log、Vue组件模板等),以及占位符、默认值、变量等进阶技巧。同时提供了团队协作方法和常见问题解答,建议开发者根据常用代码模式持续积累个性化代码片段,并与团队共享以统一开发体验。
2026-01-28 09:31:05
744
原创 Vue组件开发:直接写法 vs 数据驱动,该怎么选?
本文对比了两种前端按钮实现方案:直接写法和数据驱动方式。通过配送机器人管理页面的案例,分析了两种方案的优缺点。直接写法适合按钮数量少(≤5个)、功能固定的场景,具有代码清晰、调试方便的优势;数据驱动方式适合按钮多、需要动态配置的场景,代码更简洁但调试复杂。文章提出折中方案:简单按钮用直接写法,复杂/动态按钮用数据驱动。核心建议是避免过度设计,遵循KISS原则,根据项目实际需求选择最适合的实现方式。
2026-01-27 16:51:19
934
原创 JWT的概念
摘要:JWT(JSON Web Token)是一种用于身份验证和授权的开放标准,由头部、负载和签名三部分组成。其优势包括无状态、跨域友好和标准化,适用于分布式系统。在Java中可通过jjwt库实现JWT的生成与验证。实际应用中需注意安全性和性能问题,如设置合理过期时间、使用HTTPS等。典型流程包括客户端登录获取JWT,后续请求携带令牌进行验证。相比Session,JWT更适合微服务架构,但撤销机制较复杂。最佳实践建议使用安全算法、短有效期和刷新令牌机制,避免敏感信息泄露。
2026-01-22 22:50:51
387
原创 在java后端开发中,LEFT JOIN的用法
Java后端开发中,LEFT JOIN是SQL的重要表连接操作,用于保留左表全部记录(右表无匹配时显示NULL)。摘要介绍了其基本语法、与INNER JOIN的区别,以及三种实现方式:JPA/Hibernate注解查询、MyBatis映射文件和JdbcTemplate。特别强调了使用场景和注意事项,包括索引优化、分页问题和N+1查询避免。同时指出了常见误区,如GROUP BY错误使用和性能问题。正确理解LEFT JOIN对实现复杂查询和优化数据库操作至关重要。
2026-01-22 14:24:05
649
原创 那在HTML中,action是什么
HTML表单中的action属性用于指定提交数据的目标URL。当用户提交表单时,浏览器会将数据发送到action指定的地址。若不设置action,则默认提交到当前页面。action常与method(GET/POST)和enctype属性配合使用。即使使用JavaScript处理表单,保留action属性有助于语义化和兼容性。该属性本质上定义了表单数据的传输目的地。
2026-01-22 09:50:32
647
JavaScript 能够改变 HTML 内容(20行代码)
2023-10-31
php5.4.45nts.zip
2023-12-11
black friday sale(黑色星期五)数据集
2023-12-11
python-弱口令字典生成器(20行代码)
2023-10-29
python-猜词游戏(40行代码)
2023-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅