基于SpringBoot的公益慈善平台
一、项目背景介绍:
基于SpringBoot的公益慈善平台是一款致力于为社会所有人带来便利服务的B/S架构的应用程序。随着网络技术的发展,公益慈善网站已经逐渐成为公益行动的主要信息载体。在这个平台上,主要有管理员、捐赠者和志愿者三种角色,他们各自拥有不同的权限和功能。
管理员作为平台的运营者,主要负责管理整个平台的运行情况,包括用户信息管理、项目管理等。而捐赠者则是为公益事业做出贡献的人,他们可以浏览平台上的各种公益项目,并选择自己感兴趣的项目进行捐赠。此外,他们还可以在平台上查看自己的捐赠记录和捐赠的项目进展情况。
志愿者是公益事业的重要推动力,他们在平台上可以找到自己感兴趣的志愿者活动,并进行报名参与。同时,他们也可以在平台上查看自己的志愿服务记录和参与的活动信息。
在技术实现上,该平台采用了SpringBoot整合Mybatis、Redis等主流开发技术,以提供高效、稳定的服务。此外,还整合了支付宝支付、websocket聊天室等功能,为用户提供更便捷的操作体验。
二、项目技术简介:
- JAVA:Java是一门 面向对象编程语言 ,不仅 吸收了C++语言的各种优点 ,还摒弃了C++里难以理解的 多继承、指针 等概念,因此Java语言具有 功能强大和简单易用 两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 简化 新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
- Mybatis:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
- Spring-Mvc:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。
- Bootstrap:Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。 国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
- Html:HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。
三、系统功能模块介绍:
四、数据库设计:
1:article(article)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 文章ID |
user_id | int | NULL | 作者用户ID |
title | varchar | NULL | 文章标题 |
content | longtext | NULL | 文章正文 |
status | int | NULL | 文章状态:发布(1),回收站(2) |
read_count | int | NULL | 阅读量 |
img | varchar | NULL | 封面图片 |
type | int | NULL | 类型:文章由普通用户发布(1),活动由管理员发表(2) |
is_checked | int | NULL | 文章审核,0:未审核,1:审核通过,2:审核不通过 |
info | varchar | NULL | 审核未通过返回的消息 |
gmt_create | datetime | NULL | 数据插入时间,即发布时间 |
gmt_modified | datetime | NULL | 更新时间 |
2:article_activity(article_activity)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
article_id | int | NULL | 文章的ID |
activity_article_id | int | NULL | 活动文章的ID |
gmt_create | datetime | NULL | 插入数据的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
3:certification(certification)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
user_id | int | NULL | 用户ID |
name | varchar | NULL | 机构名称 |
leader_name | varchar | NULL | 领导者姓名 |
id_card | varchar | NULL | 领导者身份证号码 |
type | varchar | NULL | 机构类型 |
show_name | varchar | NULL | 认证称号(XXX官方账户) |
prove_img | varchar | NULL | 单位证明/营业执照图片地址 |
id_card_img0 | varchar | NULL | 领导者身份证照片(反面) |
id_card_img1 | varchar | NULL | 领导者身份证照片(正面) |
is_checked | int | NULL | 审核(0),成功(1),失败(2) |
info | varchar | NULL | 认证未通过返回的消息 |
gmt_create | datetime | NULL | 插入数据的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
4:comment(comment)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
user_id | int | NULL | 发表评论用户的ID |
user_name | varchar | NULL | 用户名 |
img | varchar | NULL | 用户头像地址 |
target_id | int | NULL | 目标ID:可以是项目ID 、文章ID |
type | int | NULL | 类型:项目(1),文章(2) |
content | varchar | NULL | 评论内容 |
reply_id | int | NULL | 回复评论的ID |
is_first | int | NULL | 是否置顶:置顶(1),不置顶(0) |
gmt_create | datetime | NULL | 插入数据的时间,即发表评论的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
5:feedback(feedback)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
user_id | int | NULL | 反馈的用户的ID |
user_name | varchar | NULL | 用户名 |
img | varchar | NULL | 用户头像地址 |
content | varchar | NULL | 评论内容 |
gmt_create | datetime | NULL | 插入数据的时间,即发表评论的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
6:link(link)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
name | varchar | NULL | 名称 |
target_url | varchar | NULL | 链接地址 |
type | int | NULL | 类型:顶部菜单(1),友情链接(2) |
gmt_create | datetime | NULL | 插入数据的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
7:message(message)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
receive_user_id | int | NULL | 接收消息的用户ID |
sent_user_id | int | NULL | 发送消息的用户ID |
type | int | NULL | 类型:项目评论(1)/文章评论(2)/审核 (3) |
target_id | int | NULL | 目标ID:公益项目/文章ID |
title | varchar | NULL | 标题 |
content | varchar | NULL | 消息的内容 |
is_read | int | NULL | 是否已读:未读(0),已读(1) |
gmt_create | datetime | NULL | 插入数据的时间,即发表评论的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
sent_user_img | varchar | NULL | 发送消息的用户头像 |
8:message_board(message_board)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
name | varchar | NULL | 昵称 |
| varchar | NULL | 邮件地址 |
content | varchar | NULL | 留言内容 |
gmt_create | datetime | NULL | 插入数据的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
9:project(project)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
name | varchar | NULL | 名称 |
background | varchar | NULL | 背景 |
target | varchar | NULL | 目的 |
theme | varchar | NULL | 主题 |
sponsor | varchar | NULL | 赞助 |
content | longtext | NULL | 内容 |
img | varchar | NULL | 公益项目的封面 |
gmt_create | datetime | NULL | 插入数据的时间 |
gmt_modified | datetime | NULL | 更新的时间 |
10:user(user)
字段名 | 类型 | 默认值 | 列注释 |
id | int | NULL | 主键ID |
name | varchar | NULL | 姓名 |
password | varchar | NULL | 密码 |
| varchar | NULL | 邮箱地址 |
phone | char | NULL | 手机号码 |
address | varchar | NULL | 地址 |
sex | int | NULL | 性别:女(0)男(1) |
birthday | date | NULL | 出生年月 |
career | varchar | NULL | 职业 |
certification_id | int | NULL | 认证类型ID |
img | varchar | NULL | 头像地址 |
status | int | NULL | 状态:正常(0),封禁(1) |
gmt_create | datetime | NULL | 注册时间 |
gmt_modified | datetime | NULL | 最近更新 |
role | int | NULL | 角色:普通用户(0)管理员(1) |
五、功能模块:
- 系统主页:浏览系统主页、留言、浏览公益项目、浏览平台活动、浏览求助文章,每次浏览都会累积访问量
- 用户登录注册:填写用户信息进行账号注册(邮箱验证码)、使用邮箱密码进行登录、忘记密码(邮箱验证码并重置)、退出登录
- 公益项目:包括项目标题、内容(Markdown)、封面、背景、主题、目的、赞助
- 平台活动:
- 留言:
- 普通用户后台:| 仪表盘 | 数据统计、最新活动、最新求助文章 | | ---------- | ------------------------------------------------------------ | | 求助文章 | 标题、编写求助文章(Markdown编辑器)、上传封面、关联平台活动、文章搜索、重新编辑 | | 审核队列 | 等待审核、已审核 | | 文章回收站 | 删除文章后自动加入回收站,可再次删除、移出回收站 | | 评论管理 | 置顶评论、删除评论、查询详情 | | 通知消息 | 查看消息、全部已读 |
- 管理员用户管理:
- 管理员公益项目发布:
- 管理员认证审核:
管理员评论管理:
六、代码示例:
/*** 发布求助文章*/@PostMapping("/publishArticle")@ResponseBodypublic String publishArticle(String title, String content, String imgPath, Integer activityId) {// 生成文章对象Article article = Article.builder().title(title).content(content).userId(loginUser.getId()).type(TypeStatus.ARTICLE).readCount(0).status(TrashStatus.NOT_IN).isChecked(CheckStatus.WAIT).gmtCreate(new Date()).gmtModified(new Date()).build();// 为文章设置封面,如果为空就生成随机封面article.setImg(StringUtils.isEmpty(imgPath) ? OssUtils.getRandomFace() : imgPath);if (articleService.insert(article)) {if (activityId != -1) {articleService.insertArticleActivity(article.getId(), activityId);logger.info("【成功】:添加文章活动");}result.setCode(200);logger.info("【成功】:添加文章");} else {result.setCode(500);logger.info("【失败】:添加文章");}return JSONObject.toJSONString(result);}/*** 更新文章*/@PostMapping("/updateArticle")@ResponseBodypublic String updateArticle(Integer id, String title, String content, String imgPath, int activityId) {// 生成文章对象Article article = Article.builder().id(id).title(title).content(content).status(TrashStatus.NOT_IN).isChecked(CheckStatus.WAIT).gmtModified(new Date()).build();// 为文章设置封面,如果为空就生成随机封面article.setImg(StringUtils.isEmpty(imgPath) ? OssUtils.getRandomFace() : imgPath);if (articleService.update(article)) {if (activityId != -1) {// 获取原来参加的活动Article activity = articleService.getActivityByArticleId(id);if (activity == null || activity.getId() != activityId) {// 删除参与的活动articleService.deleteArticleActivity(id);// 添加新的活动articleService.insertArticleActivity(article.getId(), activityId);logger.info("【成功】:更新文章活动");}}result.setCode(200);logger.info("【成功】:更新文章");} else {result.setCode(500);logger.info("【失败】:更新文章");}return JSONObject.toJSONString(result);}/*** 将文章移到回收站*/@GetMapping("/putIntoTrash")public String putIntoTrash(@RequestParam("id") Integer id, @RequestParam("checked") Integer checked) {// 获取文章Article article = articleService.getById(id);if (article.getType() == TypeStatus.ACTIVITY) {logger.info("【失败】:将文章移到回收站,类型错误");return "error/400";}if (article.getUserId() != loginUser.getId()) {logger.info("【失败】:将文章移到回收站,无权限");return "error/401";}article.setStatus(TrashStatus.IS_IN);if (articleService.update(article)) {logger.info("【成功】:将文字移到回收站");} else {logger.info("【失败】:将文字移到回收站");}return "redirect:/my-articles?checked=" + checked;}
七、项目总结:
之前在教材内容读书过程中开发设计技术专业知识,对研究过程的认知,对开发设计设计课程学习,及其如何有效开展系统的市场分析和设计。老师还选了更具有标志性管理方案系统来解读教学过程,课下安排工作使们进行练习。在这段时间,老师还应当掌握系统地完成和测试。应对餐厅点餐管理系统的开发,的脑海里的确有一个清晰的认知。在系统制做及配套文本文件撰写中,按照软件开发流程一步步做好本职工作。
从系统的角度看,依据餐厅点餐管理系统生产,其艰难在于功能清楚、系统构造设计、设计使用性能数据库系统、挑选核心技术进行系统功能等,这种都是自己的难题。针对这一艰难,实行了一些防范措施。当也不知道系统的功能时,在网上找到很多相似的系统,做好记录了一些系统的一般功能,并用了这一系统的高效功能的一部分。除此之外,在在网络上得到了很多关于系统设计的前提知识,包含系统模块划分、设计规范、数据库表的设计和创建,及其程序流程编码的专业技能知识,包含撰写与使用数据和信息加上、删掉和变更编码控制器。在系统序号进行相关功能后,认真的试了系统中所有功能,最后发现自己研发的系统符合规定,能接受。系统功能与系统剖析设计高度一致,系统质量稳定。为应对客户的实际操作不正确,还设有不恰当反馈机制,系统性能稳定。唯一的最大的缺点是系统数据报表的设计不健全,字段名称相匹配的引用类型不正确,一部分系统编码很多地方并没有注解,编码不足简易。
从文本文件的角度看,依据基于SpringBoot的公益慈善平台生产后,应叙述生产过程的需求,包含怎样进行数据分析报告、怎样进行系统设计及其系统功能的具体运作实际效果。在这期间,用了接近一个月的时间来做。要实现院校标准化的文档排版标准,多次在老师的建议下学习办公软件使用和排版设计设计。坚持就是收益。经过长时间的的撰写和优化,的文档终于完成。
总而言之,尽管制做经历了太多阶段,但如果认真完成这件事情,们将在每一个环节得到许多知识,在每一个环节的操作过程中锻练们自己的实践技能。根据该项目的制做,开始明白,许多知识不但来源于书籍,来源于教师在课堂教学中讲的知识,还来源于各种网络学习平台和社会实践。到现在为止,将继续努力,维持新知识的深入学习习惯性
八、源码获取:
此源码非开源,若需要此源码可扫码添加微信进行咨询!
相关文章:

基于SpringBoot的公益慈善平台
一、项目背景介绍: 基于SpringBoot的公益慈善平台是一款致力于为社会所有人带来便利服务的B/S架构的应用程序。随着网络技术的发展,公益慈善网站已经逐渐成为公益行动的主要信息载体。在这个平台上,主要有管理员、捐赠者和志愿者三种角色&…...

Python网络爬虫(一):HTML/CSS/JavaScript介绍
1 HTML语言 1.1 HTML简介 HTML指的是超文本标记语言:HyperText Markup Language,它不是一门编程语言,而是一种标记语言,即一套标记标签。HTML是纯文本类型的语言,使用HTML编写的网页文件也是标准的文本文件,可以使用任意的文本编辑器例如记事本打开HTML文件,查看并修改H…...

机器学习每周挑战——旅游景点数据分析
数据的截图,数据的说明: # 字段 数据类型 # 城市 string # 名称 string # 星级 string # 评分 float # 价格 float # 销量 int # 省/市/区 string # 坐标 string # 简介 string # 是否免费 bool # 具体地址 string拿到数据…...
开发语言漫谈-C语言
个人认为C语言是最伟大的开发语言(没有之一)。C语言开创了高级语言的新时代。比C更低级的是汇编语言,这个东西就是反人类的玩意。之后的语言或多或少都受C语言的影响。更神奇的是直到现在,C语言还有生命力。C语言的发明人丹尼斯里…...
vue3导入excel并解析excel数据渲染到表格中,纯前端实现。
需求 用户将已有的excel上传到系统,并将excel数据同步到页面的表格中进行二次编辑,由于excel数据不是最终数据,只是批量的一个初始模板,后端不需要存储,所以该功能由前端独立完成。 吐槽 系统中文件上传下载预览三部…...
Java常用API之Encoders类解读
写在开头:本文用于作者学习Java常用API 我将官方文档中Encoders类中所有API全测了一遍并打印了结果,日拱一卒,常看常新 在Spark中,Encoders类提供了一些静态方法用于创建不同数据类型的编码器。 首先,我遇到这样一个…...

java中大型医院HIS系统源码 Angular+Nginx+SpringBoot云HIS运维平台源码
java中大型医院HIS系统源码 AngularNginxSpringBoot云HIS运维平台源码 云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工…...

windows部署Jenkins并远程部署tomcat
目录 1、Jenkins官网下载Jenkins 2、安装Jenkins 3、修改Home directory 4、插件安装及系统配置 5、Tomcat安装及配置 5.1、修改配置文件,屏蔽以下代码 5.2、新增登录用户 5.3、编码格式修改 5.4、启动tomcat 6、Jenkins远程部署war包 6.1、General配置 6.2、Sourc…...
设计模式|责任链模式(Chain of Responsibility Pattern)
文章目录 结构优点缺点使用责任链的步骤示例有哪些知名框架采用了责任链模式责任链模式和链表有什么关联常见面试题 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你创建一个对象链。请求将沿着这个链传递ÿ…...

文件服务器之二:SAMBA服务器
文章目录 什么是SAMBASAMBA的发展历史与名称的由来SAMBA常见的应用 SAMBA服务器基础配置配置共享资源Windows挂载共享Linux挂载共享 什么是SAMBA 下图来自百度百科 SAMBA的发展历史与名称的由来 Samba是一款开源的文件共享软件,它基于SMB(Server Messa…...

20.安全性测试与评估
每年都会涉及;可能会考大题;多记!!! 典型考点:sql注入、xss; 从2个方面记: 1、测试对象的功能、性能; 2、相关设备的工作原理; 如防火墙,要了解防…...
阿里巴巴实习面经
本人bg:浙江大学,计算机研二,本科也是浙大计算机专业的。 在阿里巴巴达摩院实习,算法岗,我是去年拿到的阿里巴巴达摩院的实习offer,这个过程还是比较惊心动魄,所以我称之为惊心动魄版本…...

javaweb学习(day11-监听器Listener过滤器Filter)
一、监听器Listener 1 Listener介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程 序、Listener 监听器、Filter 过滤器 Listener 是 JavaEE 的规范,就是接口 监听器的作用是,监听某种变化(一般就是对…...

教你快速认识Java中的抽象类和接口
目录 引言 抽象类(Abstract Class) 抽象类的概念 抽象类的图标 抽象类的语法 抽象类的特点 接口(Interface) 接口的概念 接口的图标 接口的语法 接口的特点 接口的使用 接口的意义 抽象类与接口的区别 Object类 结…...

Linux第5课 Linux目录介绍
文章目录 Linux第5课 Linux目录介绍一、打开系统目录二、查看系统目录 Linux第5课 Linux目录介绍 系统目录就是指操作系统的主要文件存放的目录,目录中的文件直接影响到系统是否正常工作,了解这些目录的功能,对使用系统会有很大的帮助。 一…...

GitHub要求2FA?不慌,有它(神锁离线版)帮你!
GitHub宣布,到 2023 年底,所有用户都必须要启用双因素身份验证 (2FA),不能只用密码啦。 说实话,听到这消息小编是非常高兴的。 正如GitHub的首席安全官Mike Hanley所说,软件供应链是从开发者开始的,保护开…...

C语言第四十弹---预处理(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 预处理 1、#和## 1.1 #运算符 1.2、##运算符 2、命名约定 3、#undef 4、命令行定义 5、条件编译 6、头文件的包含 6.1、头文件被包含的方式 6.1.1、本地…...

SYS-2722音频分析仪SYS2722
181/2461/8938产品概述: Audio Precision 2722 音频分析仪是 Audio Precision 屡获殊荣的 PC 控制音频分析仪的旗舰型号,长期以来一直是音频设备设计和测试的全球公认标准。功能齐全的 SYS-2722 提供了测试转换器技术最新进展所需的无与伦比的失真和噪声…...

下载页面上的视频
引言:有些页面上的视频可以直接右键另存为或者F12检索元素找到视频地址打开后保存,但有些视频页面是转码后的视频,不能直接另存为视频格式,可以参考下本方法 以该页面视频为例:加载中...点击查看详情https://wx.vzan.c…...

静态路由协议实验综合实验
需求: 1、除R5的换回地址已固定外,整个其他所有的网段基于192.168.1.0/24进行合理的IP地址划分。 2、R1-R4每台路由器存在两个环回接口,用于模拟连接PC的网段;地址也在192.168.1.0/24这个网络范围内。 3、R1-R4上不能直接编写到…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
从实验室到产业:IndexTTS 在六大核心场景的落地实践
一、内容创作:重构数字内容生产范式 在短视频创作领域,IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色,生成的 “各位吴彦祖们大家好” 语音相似度达 97%,单条视频播放量突破百万…...

Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
算法刷题-回溯
今天给大家分享的还是一道关于dfs回溯的问题,对于这类问题大家还是要多刷和总结,总体难度还是偏大。 对于回溯问题有几个关键点: 1.首先对于这类回溯可以节点可以随机选择的问题,要做mian函数中循环调用dfs(i&#x…...

npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...
自定义线程池1.2
自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本,将线程池中的线程数量交给使用者决定,并且将线程的创建延迟到任务提交的时候,在本文中我们将对这个版本进行如下的优化: 在新建线程时交给线程一个任务。让线程在某种情况下…...