- 博客(189)
- 资源 (1)
- 收藏
- 关注
原创 Day119 持续集成docker+jenkins
本文介绍了使用Docker和Jenkins进行项目部署的实践方法。主要内容包括: Dockerfile编写与镜像构建 通过Dockerfile将SpringBoot项目打包为镜像 详细说明Dockerfile指令含义 演示镜像构建和容器运行过程 Docker Compose多容器编排 介绍Docker Compose安装方法 演示创建MySQL和Redis服务的YAML配置 说明如何通过docker-compose启动多容器应用 项目测试部署 展示如何将初始化SQL脚本挂载到MySQL容器 提供完整的项目部
2025-08-18 10:45:36
1038
原创 c语言-1.核心语法
本文概述了编程语言的基础概念和C语言核心语法。编程语言通过语法规则将程序转化为机器码执行,经历了从机器语言到高级语言的发展历程。C语言作为编译型语言,需要借助IDE工具进行开发。文章详细介绍了变量声明、数据类型、内存存储原理、printf输出函数、标识符命名规则等基础语法,并对比了const常量和宏定义两种常量形式。重点讲解了整数、浮点数等数据类型的存储方式,以及C99标准新增的精确控制类型(intX_t/uintX_t)。最后通过示例代码展示了C语言程序的基本结构和注释方法。
2025-08-13 16:47:56
1145
原创 Day118 Spring Security
Spring Security是一个保护Java Web应用安全的框架,其核心是基于过滤器链实现请求拦截和认证授权。本文介绍了Spring Security的基本结构、内置认证功能以及如何自定义用户认证流程。主要内容包括: Spring Security采用过滤器链机制,通过SecurityFilterChain提供默认的拦截规则和登录逻辑。 内置案例演示了基本功能,包括自动生成的登录页面和默认用户(user/随机密码),可通过配置修改默认用户名密码。 详细讲解了认证原理,展示了如何从数据库获取用户信息替代
2025-08-11 10:21:20
666
原创 Day117 单体基础架构设计
文章摘要:本文介绍了单体基础架构设计的关键要点,包括架构设计的目的(支持业务和容量扩展)以及架构发展历程(从单体到分布式)。详细分析了单体架构的优缺点,并确定采用SpringBoot2.7.x的单体前后端分离架构。技术选型包含SpringBoot、MySQL、MyBatis等核心组件,以及Knife4j、JWT等辅助工具。最后提供了基于JDK8的项目创建步骤和关键依赖配置,为构建可扩展的单体应用奠定了基础。
2025-08-08 15:10:28
973
原创 Day116 若依融合mqtt
展示了若依框架与MQTT的集成方案,包括数据库配置、依赖添加、配置类编写等,实现了网页按钮控制MQTT消息收发及数据存储功能。文章提供了完整的代码仓库地址和详细的操作步骤,为开发者快速搭建MQTT物联网应用提供了实用参考。
2025-08-07 16:05:04
669
原创 Day115 SpringBoot整合Redis,RedisTemplate和注解两种方式的使用
本文介绍了SpringBoot整合Redis的两种方式:注解方式和RedisTemplate方式。注解方式通过@Cacheable、@CachePut、@CacheEvict等注解实现缓存操作,需在启动类添加@EnableCaching注解,并配置缓存key和条件。RedisTemplate方式需要额外配置Redis连接参数和自定义RedisTemplate,实现更灵活的缓存控制。两种方式都要求对象实现Serializable接口,并可通过条件表达式控制缓存行为。
2025-08-05 14:52:43
612
原创 在线学堂-4.媒资管理模块(三)
本文介绍了视频处理中的转码需求及分布式任务调度的实现方法。主要内容包括: 视频处理需求分析:需要通过Java程序对上传视频进行格式转码(如avi转mp4),使用FFmpeg工具实现高效处理。 分布式任务调度方案: 多线程和分布式结合处理大批量任务 比较了Timer、ScheduledExecutor和Quartz三种实现方式 引入XXL-JOB轻量级分布式任务调度框架 XXL-JOB架构:由调度中心、执行器和任务组成,支持并行调度、高可用、弹性扩容和避免重复执行等特性。 文章提供了代码示例和系统架构图,为视
2025-07-07 17:20:37
1096
原创 在线学堂-3.媒资管理模块(二)
本文介绍了媒资管理模块中视频上传功能的设计与实现。系统采用断点续传技术处理大文件上传,核心内容包括:1)教学机构用户可查询和上传媒资文件;2)上传流程通过分块处理实现断点续传,将文件分割为多个1MB块独立上传;3)提供分块合并测试代码,验证文件完整性。该方案解决了大文件上传不稳定问题,提升了用户体验,通过MD5校验确保文件传输准确性。技术实现采用RandomAccessFile进行文件读写,支持分块上传中断后从中断点继续上传。
2025-07-02 17:44:55
684
原创 Day114 配置文件解析
本文介绍了Spring Boot项目中两个关键配置类和MD5加密工具的实现。首先通过CorsConfig类配置了全局跨域策略,允许所有来源、请求方法和头部的跨域访问。其次InterceptorConfig类配置了权限拦截器和静态资源处理,拦截所有请求的同时排除静态资源目录访问。最后提供了MD5Util工具类,包含三种加密方法:小写MD5加密、大写MD5加密和字节转十六进制字符串,用于密码等敏感信息的加密处理。这些实现解决了前后端分离项目的跨域问题、权限控制和数据加密等常见需求。
2025-07-01 17:31:13
360
原创 Day113 切换Node.js版本、多数据源配置
本文介绍了Node.js版本管理工具nvm的安装与配置方法,以及多数据源配置的实现。第一部分详细讲解了nvm的下载安装、环境变量配置,以及如何使用nvm安装和切换不同Node.js版本。第二部分展示了Spring Boot项目中多数据源的配置方式,包括主从数据库的yaml配置示例,支持MySQL和达梦数据库两种数据源,并提供了数据库连接池的参数设置。文章通过命令行示例和截图直观地展示了nvm的使用过程,同时给出了完整的yaml配置文件示例,便于开发人员快速实现版本管理和多数据源配置。
2025-06-30 17:40:09
700
原创 Day112 若依配置knife4j、P6Spy
本文介绍了如何在若依框架中集成常用开发工具:1. 使用Knife4j替换默认Swagger3,改善API文档界面,配置依赖并保留原Swagger3功能;2. 通过CorsConfig配置解决跨域问题;3. 集成P6Spy实现SQL日志增强,包括实际执行SQL、耗时等信息的彩色输出。配置步骤涵盖依赖引入、yml配置修改及配置文件创建,这些优化显著提升了开发和调试效率。
2025-06-19 17:13:44
617
原创 Day111 达梦数据库-若依-MP适配
本文介绍了达梦数据库的安装使用和若依框架集成MyBatis-Plus的步骤。第一部分详细说明达梦数据库的下载、安装、初始化及可视化工具连接过程。第二部分展示若依框架集成MyBatis-Plus的具体操作,包括在各模块pom文件中添加依赖、配置MyBatisPlusConfig类等。文章通过图文结合的方式,提供了完整的操作指引。
2025-06-18 17:22:24
1364
原创 在线学堂-2.媒资管理模块(一)
媒资管理系统业务流程与架构设计 媒资管理系统(MAM)是教育机构管理教学资源的数字化平台,主要功能包括:媒资查询、文件上传(图片/文档/视频)、视频自动处理、文件删除和媒资审核。业务流程涵盖教学机构上传课程图片、视频,系统自动处理视频转码,运营人员审核媒资内容,以及课程计划与媒资的绑定关系。系统采用微服务架构,引入Spring Cloud Gateway作为统一网关,通过Nacos实现服务发现和配置中心功能。技术实现上包括媒资文件表、待处理视频表等数据模型,前端通过网关统一访问各微服务接口,提高了系统的可维
2025-06-09 15:31:06
807
原创 在线学堂-1.内容管理模块
摘要: 在线学堂是一个针对成人职业技能教育的网络课堂系统,提供软件开发、职业资格认证等课程。项目采用前后端分离架构,使用SpringBoot、SpringCloud等技术栈,包含内容管理、媒资管理、订单支付等核心模块。教学机构可发布课程,运营人员审核后开放学习。课程分为免费和收费两种类型,学员选课后可在线学习。项目采用微服务架构,包含用户端、机构端和运营端,支持CDN加速、负载均衡等技术优化性能。开发过程中涉及Git代码冲突处理、Maven打包原理及依赖版本冲突解决方案。
2025-04-16 17:30:52
705
原创 Day87补 Mybatis-plus的Wrapper用法
Wrapper : 条件构造抽象类,最顶端父类QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装LambdaQueryWrapper :用于Lambda语法使用的查询WrapperLambdaUpdateWrapper : Lambda 更新封装Wrapper。
2025-03-26 11:20:00
871
原创 Day110 若依
若依框架搭建与使用指南 摘要:本文详细介绍了若依(RuoYi)框架的多种版本选择,包括前后端混合、前后端分离、微服务和移动端版本。重点讲解了基于Vue3的前后端分离版本RuoYi-Vue的搭建流程,涵盖MySQL数据库初始化、Redis配置、前后端项目启动等关键步骤。同时提供了代码生成器的使用教程,通过一个课程管理案例演示了从表结构导入到完整CRUD功能实现的全过程。最后简要介绍了若依内置的权限系统及其在企业级应用中的实际应用场景。
2025-03-24 16:50:30
1143
原创 Day76 补JWT
Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
2025-02-28 15:15:54
640
原创 Day109 MySQL深入及优化
索引结构描述B+Tree索引最常见的索引类型,大部分引擎都支持 B+ 树索引Hash索引底层数据结构是用哈希表实现的, 只有精确匹配索引列的查询才有效, 不支持范围查询R-tree(空间索引)空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少Full-text(全文索引)是一种通过建立倒排索引,快速匹配文档的方式。类似于Lucene,Solr,ES上述是MySQL中所支持的所有的索引结构,接下来,我们再来看看不同的存储引擎对于索引结构的支持情况索引。
2025-01-24 16:39:27
872
原创 Day104 JVM 原理及优化
JVM是Java程序运行的核心环境,主要包含类加载器、执行引擎、运行时数据区和垃圾回收器等组件。运行时数据区包括方法区、堆、虚拟机栈等,用于存储程序运行时的数据。JVM通过垃圾回收机制自动管理内存,采用分代收集策略,将堆划分为新生代和老年代,分别使用复制算法和标记-清除/整理算法进行回收。常见的垃圾收集器包括Serial、ParNew等,针对不同场景优化性能。JVM的跨平台特性使Java程序能在不同操作系统上运行,同时提供内存管理、线程调度等功能,是Java生态的重要基础。
2025-01-24 11:03:07
1420
原创 云岚到家项目100问 v1.0
我们使用的是SpringBoot定义Controller方法,接口设计包括7个方面,定义controller方法根据接口设计的内容进行定义:1.根据HTTP请求方法使用不同的注解使用 @GetMapping注解表示GET方法HTTP方法与注解对应如下:@PutMapping:put方法@DeleteMapping:delete方法@PostMapping:post方法@RequestMapping 可用于任何方法2.在类及方法上设置接口路径。
2025-01-23 17:07:45
1729
原创 Day99 Gitub、系统分层架构
GitHub 是一个基于web的服务平台,主要用于版本控制和协作,让开发者和项目团队能够更好地一起工作。它提供了一个 Git 代码仓库的托管服务,Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 为更好地管理 Linux 内核开发而设计在 GitHub 上,用户可以创建自己的项目仓库来管理代码,同时也可以参与到其他人的项目中。GitHub 提供了许多协作特性,比如问题跟踪、项目管理、代码审查、团队讨论等,这些都极大地促进了开源项目的合作和发展。
2025-01-23 15:48:16
1091
转载 【云岚到家】10.预约下单-熔断降级
本文介绍了预约下单模块的系统设计与实现。该模块的核心流程包括:用户选择服务、填写预约信息、在线支付和订单状态管理。系统采用单一订单表结构,包含订单基础信息、价格信息、下单人信息和服务信息等字段,支持7种订单状态流转(待支付、派单中、待服务、服务中、订单完成、已取消、已关闭)。订单表设计简化了无需购物车的服务预约场景,通过存储服务项、城市编码、服务地址、时间等信息实现完整的预约功能,并集成支付状态、退款状态等交易相关属性。
2025-01-22 16:01:29
303
转载 【云岚到家】5.我的账户-实名认证
本模块在维护银行账户信息时需要上传银行卡照片,本项目的图片服务器使用阿里的OSS存储参考 “Day98 OSS” 开通阿里OSS服务,并在publics服务配置参数。
2025-01-21 16:01:43
825
转载 【云岚到家】9.索引同步-搜索接口
本文介绍了基于Canal+MQ+ES实现索引同步的方案。首先在ES中创建serve_aggregation索引并定义映射结构,包括服务类型、服务项等字段的配置。然后通过编写同步程序继承AbstractCanalRabbitMqMsgListener类,监听MQ消息并实现数据同步逻辑:当检测到binlog中的新增/更新操作时调用batchSave方法写入ES索引,删除操作时调用batchDelete方法删除对应文档。最后启动foundations服务作为MQ消费者完成同步通道建立。该方案实现了数据库变更到ES
2025-01-20 14:01:45
1105
转载 【云岚到家】8.数据同步方案es-Canal-MQ
本文介绍了服务搜索的技术实现方案,重点分析了基于Elasticsearch的全文检索系统架构。系统通过两个入口提供搜索服务:门户顶部的搜索框和"全部服务"分类目录。为解决高并发场景下MySQL性能不足的问题,采用Elasticsearch实现倒排索引机制,支持高效分词查询。为确保数据一致性,设计Canal+MQ的索引同步方案:Canal解析MySQL的binlog日志,通过消息队列将数据变更同步到ES。文章还详细阐述了消息可靠性的保障措施,包括生产者确认机制(ConfirmCallbac
2025-01-18 16:05:01
1555
转载 【云岚到家】7.门户缓存实现实战
本文介绍了使用XXL-JOB实现定时任务更新缓存的具体方法。首先对比了JDK Timer和XXL-JOB的优缺点,指出XXL-JOB在分布式环境下的优势。然后详细讲解了XXL-JOB调度中心的部署流程,包括源码获取、环境启动等步骤。接着说明了执行器的配置方法,包括依赖引入、参数设置以及在调度中心添加执行器。最后给出了定义缓存更新任务的具体代码示例,通过@XxlJob注解实现定时任务的业务逻辑。整个过程涵盖了从环境搭建到任务实现的完整链路,为分布式定时任务的开发提供了实用指导。
2025-01-17 17:04:49
1226
转载 【云岚到家】6.门户缓存方案选择
重点分析了Spring Cache框架的应用,通过注解方式(@Cacheable、@CacheEvict等)实现Redis缓存管理。文章详细说明了如何在项目中集成Spring Cache和Redis,包括依赖引入、配置Redis连接等步骤。最后以服务信息查询为例,演示了如何使用@Cacheable实现数据缓存功能,首次查询数据库后将结果存入缓存,后续查询直接读取缓存以提高响应速度。
2025-01-16 16:43:31
1311
转载 【云岚到家】2.区域服务后续开发及完善
文章详细介绍了区域服务管理系统的功能开发,包括删除、下架、设置热门和取消热门四个核心功能。通过接口定义、代码实现和状态校验等步骤,展示了完整的开发流程。每个功能都包含Controller层定义、Service接口及实现,并配有严格的业务逻辑校验(如服务存在性检查、状态验证)。其中删除功能仅限草稿状态,下架功能需上架状态,热门设置则要求服务处于上架状态。开发采用Spring Boot框架,结合MyBatis-Plus实现数据库操作,并通过事务管理确保数据一致性。
2025-01-16 15:39:05
818
转载 【云岚到家】3.客户管理-认证授权
本文介绍了家政服务平台的多端认证模块设计与实现。系统包含小程序端、服务端APP、机构PC端和运营管理PC端,分别采用不同的认证方式:小程序通过微信OpenID认证,服务人员使用手机验证码登录,机构和管理端采用账号密码认证。详细阐述了小程序认证的开发流程,包括申请小程序账号、配置后端服务、部署前端环境等关键步骤,并提供了各端认证流程示意图和界面截图,为构建多角色认证系统提供了具体实现方案。
2025-01-15 16:19:07
1332
转载 【云岚到家】1.项目熟悉-查询区域服务开发
云岚到家是一个O2O家政服务平台,采用Spring Cloud Alibaba微服务架构,包含用户端小程序、服务端APP、机构端和运营端PC系统。项目核心流程包括服务上架、用户下单支付、抢单派单、服务执行和评价售后五大环节。系统架构分为用户层、负载层、服务层和数据层,使用Nacos、RabbitMQ、Elasticsearch等中间件。运营基础模块主要管理服务类型、服务项、区域信息及上架服务,涉及serve_type、serve_item、region、serve等核心表。项目采用前后端分离开发模
2025-01-14 15:53:48
1606
原创 【云商城】高性能门户网构建
OpenResty 是一个基于 Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关OpenResty® 通过汇聚各种设计精良的 Nginx模块(主要由 OpenResty 团队自主开发),从而将 Nginx有效地变成一个强大的通用 Web 应用平台。
2025-01-09 17:06:10
1516
2
原创 Day97 文件上传及下载(minio、oss)
Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,可以很简单的和其他应用的结合;是目前非常流行的分布式对象存储系统(OSS)对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本Object:存储到 Minio 的基本对象,如文件、字节流Bucket:用来存储 Object 的逻辑空间。每个 Bucket 之间的数据是相互隔离的。
2025-01-08 14:27:51
1342
原创 云商城--基础数据处理和分布式文件存储
Ceph于2004年发表,并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储CRUSH算法:Crush算法是ceph的两大创新之一,简单来说,ceph摒弃了传统的集中式存储元数据寻址的方案,转而使用CRUSH算法完成数据的寻址操作。CRUSH在一致性哈希基础上很好的考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。
2025-01-07 17:16:11
1490
原创 云商城--业务+架构学习和环境准备
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用。
2025-01-06 17:11:53
1561
原创 Day105 seata分布式事务
事务的ACID原则原子性:事务中的所有操作,要么全部成功,要么全部失败一致性:要保证数据库内部完整性约束、声明性约束隔离性:对同一资源操作的事务不能同时发生持久性:对数据库做的一切修改将永久保存,不管是否出现故障。
2025-01-03 09:51:41
850
原创 Day108 shell编程
Shell是一种解释型语言,和python类似;shell以后主要用于脚本编写,通过脚本实现自动化部署和调度;Shell脚本文件的后缀是.sh,不过也可以不写语法: 变量名=变量值定义变量案例: a=123 # "="左右两侧不能有空格1.打开/etc/profile2.在/etc/profile中定义变量,注意变量前边加上一个export关键字3.刷新/etc/profile文件。
2024-12-10 14:38:59
1027
原创 Day106 Elasticsearch
ES是一个使用Java语言并且基于Lucene编写的搜索引擎框架,他提供了分布式的全文搜索功能,提供了一个统一的基于RESTful风格的WEB接口,官方客户端也对多种语言都提供了相应的API。他提供了分布式的全文搜索功能:简单的说 可以分布式部署 或者 集群部署,一个机器干不了的事情,那么多个机器共同完成。而我们的ES就不一样了,这个框架出现的时候 就是为了 在千万级别的数据中,实现数据的快速搜索…Lucene:这个框架是啥 简单说就是也是一个搜索引擎的框架,ES是基于这个框架编写的一个搜索引擎框架。
2024-12-06 17:14:15
770
原创 Day107 Zookeeper、ElasticJob
在网上很多的地方说咋们这个Zookeeoer是一个分布式的协调服务,其实这个说法很不准确,因为这个分布式的协调服务其实就是框架利用这个目录的存储系统 来完成了对服务的管理,他本身是没有服务协调的这个功能的。Dubbo+Zookeeper来完成微服务的开发,这个时候的Zookeeper是一个注册中心的角色,这个注册角色中心的功能也是其他框架给我们实现了的,Zookeeper只不过存储了这些数据而已…而我们的@Scheduled是无法再分布式系统中实现统一调度的,这样执行任务的话,那么这个任务是混乱的…
2024-12-06 17:10:36
924
学生管理系统 web2.0 MVC版本
2024-08-08
学生管理系统 web1.0(基于servlet+jsp)后面有升级版
2024-08-08
mybatis基本使用
2024-03-14
面向对象版本的学生管理系统(文档已放入博客中)
2024-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅