当前位置: 首页 > news >正文

【Flask开发】嘿马文学web完整flask项目第4篇:4.分类,4.分类【附代码文档】

教程总体简介:2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 1.5数据库设计 2.用户认证 Json Web Token(JWT) 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目部署uWSGI 配置 启动 9.部署 10.1异常和日志 10.补充 10.2 flask-restful 1.项目目录实现 3.数据库迁移: 1.JWT:json web token 2.jwt工具的封装 4.用户权限校验 5.登录验证装饰器 1.书架列表 2.书架管理 3.最后阅读 2.分类书籍列表 3.热门搜索 7.3小说-详情 2.小说目录 2.阅读偏好 3.阅读设置

完整笔记资料代码:https://gitee.com/yinuo112/Backend/tree/master/Flask/嘿马文学web完整flask项目/note.md

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

4.分类

  • 分类书本列表
  • 分类列表大类,男生、女生

4.2分类书本列表

  • 在applet_app/category.py文件中实现业务。
1-1 分类书本列表接口设计
  • 接口名称:分类-书本列表-筛选
  • 接口路径:/categoryies/filters
  • 请求方法:GET
  • 请求参数:
参数名称是否必须参数类型参数位置备注
pageTrueintquery当前页数
pagesizeTrueintquery每页数据大小,默认10条
category_idTrueintquery分类id
wordsTrueintquery字数类型id,0 所有 ,1表示50万字以下,2表示50~100万字,3表示100万字以上
orderTrueintquery排序条件,1表示书籍的热度,2表示书籍的收藏数量
  • 返回数据:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{"counts": 11,"items": [...{"author": "","categoryID": 1,"categoryName": null,"id": 9,"imgURL": ""introduction": "腹黑总裁..","state": 1,"title": "腹黑总裁,宠溺娇妻"},{"author": "","categoryID": 1,"categoryName": null,"id": 10,"imgURL": ""introduction": "不要再纠缠爱我...","state": 1,"title": "不要再纠缠爱我"}],"page": 1,"pages": 2,"pagesize": 10
}
1-2 分类书本列表的基本业务:
  • 获取参数
  • 根据分类id,查询书籍大分类
  • 根据查询结果,使用关系引用,获取分类信息,使用set存储分类数据
  • 根据分类信息,查询书籍表,获取分类范围内的书籍的查询对象
  • 根据参数words判断查询条件,使用查询对象,进一步按书籍字数进行过滤查询
  • 根据参数order判断查询条件,使用查询对象,按照书籍的热度或是收藏数量排序查询
  • 对查询结果进行分页处理
  • 定义临时列表,遍历查询结果,添加数据
  • 返回结果
1-3 代码实现

1、创建蓝图

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from flask import Blueprintcategory_bp = Blueprint('category', __name__)

2、定义视图

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 定义路由,分类书籍列表@category_bp.route('/filters')
def category_book_list():# 1.获取参数:page/pagesize/category_id/words/orderpage = request.args.get('page',1,int)pagesize = request.args.get('pagesize',10,int)category_id = request.args.get('category_id',0,int)# 字数类型说明:0表示所有,1表示50万字以下,2表示50~100万字,3表示100万字以上words = request.args.get('words',-1,int)# 排序条件说明:1表示按热度,2表示按收藏order = request.args.get('order',1,int)# 参数判断if not category_id:return jsonify(msg='缺少分类id'),400# 2.根据分类条件category_id,查询数据,查询书籍大分类数据categories = BookBigCategory.query.get(category_id)# 3.判断查询结果,根据大分类数据,使用关系引用,获取二级分类数据# 使用列表推导式,使用set集合seconds_id = set([i.cate_id for i in categories.second_cates])# 4.根据分类数据,查询书籍表,获取分类范围内的书籍数据# -----过滤查询:保存的是查询结果对象,因为,后续需要对数据进行再次查询的操作query = Book.query.filter(Book.cate_id.in_(seconds_id))# 5.根据字数条件words查询书籍数据# -----1表示50万字以下,2表示50~100万字,3表示100万字以上if words == 1:query = query.filter(Book.word_count < 500000)elif words == 2:query = query.filter(Book.word_count.between(500000,1000000))elif words == 3:query = query.filter(Book.word_count > 1000000)# 6.根据排序条件order,按照最热、收藏数量进行排序查询# -----1表示按热度,2表示按收藏if order == 1:query = query.order_by(Book.heat.desc())elif order == 2:query = query.order_by(Book.collect_count.desc())else:return jsonify(msg='错误的排序选项'),400# 7.对查询结果进行分页处理,paginate# -----paginate函数表示分页:返回结果为分页的对象# 第一个参数表示页数,第二个参数表示每页的条目数,第三个参数False表示分页异常不报错paginate = query.paginate(page,pagesize,False)# items表示获取分页后的数据、page表示当前页数、# pages表示每页数据条目数total表示分页的总页数books_list = paginate.itemsitems = []# 8.遍历分页数据,获取每页数据、总页数for item in books_list:items.append({'id':item.book_id,'title':item.book_name,'introduction':item.intro,'author':item.author_name,'state':item.status,'category_id':item.cate_id,'category_name':item.cate_name,'imgURL':'})# 9.转成json,返回数据data = {'counts':paginate.total,'pagesize':pagesize,'pages':paginate.pages,'page':paginate.page,'items':items}return jsonify(data)

3、使用postman对接口进行测试:

4.分类

  • 分类书本列表
  • 分类列表大类,男生、女生

5.1搜索热门搜索词

  • 在applet_app/search.py文件中实现业务。
1-1 热门搜索词接口设计
  • 接口名称:搜索-热门搜索词
  • 接口路径:/search/tags
  • 请求方法:GET
  • 请求参数:
参数名称是否必须参数类型参数位置备注
key_wordTruequery关键词
  • 返回数据:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{'title':'搜索词','isHot':'是否热门'
}
1-2 热门搜索词的基本业务:
  • 获取参数
  • 根据关键词参数,搜索关键词表进行过滤包含关键词查询
  • 返回结果
1-3 代码实现
  • 1.创建蓝图
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 导入蓝图from flask import Blueprint# 创建蓝图对象search_bp = Blueprint('search',__name__,url_prefix='/search')
  • 2.定义视图
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 定义路由,关键词热门搜索@search_bp.route("/tags")
def tag_list():# 1.获取参数,用户搜索的关键词key_wordkey_word = request.args.get("key_word")# 校验参数if not key_word:return jsonify([])# 2.根据参数,查询数据库,搜索关键词表进行过滤查询、过滤关键词# 热门搜索词,默认提供10条数据search_list = SearchKeyWord.query.filter(SearchKeyWord.keyword.contains(key_word)).limit(10)# 3.返回查询结果data = [{'title':index.keyword,'isHot':index.is_hot,}for index in search_list]# 转成json返回return jsonify(data)
  • 因为数据库search_key_word表里目前没有数据,可以在搜索-精准高匹配推荐功能完成后,再进行功能测试。

5.2搜索书本列表

  • 在applet_app/search.py文件中实现业务。
1-1 搜索书本列表接口设计
  • 接口名称:搜索-书本列表-模糊
  • 接口路径:/search/books
  • 请求方法:GET
  • 请求参数:
参数名称是否必须参数类型参数位置备注
pageTrueintquery当前页数
pagesizeTrueintquery页大小,默认10条
key_wordTruestringquery关键词
  • 返回数据:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{"counts": 11,"items": [...{"author": "","categoryID": 1,"categoryName": null,"id": 9,"imgURL": ""introduction": "腹黑总裁..","state": 1,"title": "腹黑总裁,宠溺娇妻"},{"author": "","categoryID": 1,"categoryName": null,"id": 10,"imgURL": ""introduction": "不要再纠缠爱我...","state": 1,"title": "不要再纠缠爱我"}],"page": 1,"pages": 2,"pagesize": 10
}
1-2 搜索书本列表的基本业务:
  • 获取参数
  • 判断查询关键词是否存在
  • 如果存在关键词,按照书籍名称进行包含关键词过滤查询
  • 对查询结果进行分页处理
  • 遍历分页结果,添加数据
  • 返回数据
1-3 代码实现

1、创建蓝图

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from flask import Blueprintsearch_bp = Blueprint('search', __name__,url_prefix='/search')

2、定义视图

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 定义路由,搜索书本列表@search_bp.route('/books')
def search_books():# 1.获取参数,key_word/page/pagesizekey_word = request.args.get("key_word")page = request.args.get('page',1,int)pagesize = request.args.get("pagesize",10,int)# 2.检查关键词参数if not key_word:return jsonify(msg='参数错误'),400# 3.根据关键词参数,对书籍数据库进行过滤查询,包含query = Book.query.filter(Book.book_name.contains(key_word))# 4.判断查询结果# 5.对查询结果进行分页处理,items/page/pagespaginate = query.paginate(page,pagesize,False)# 获取分页后的书本数据book_list = paginate.items# 6.遍历分页后的数据,获取每本书籍的数据items = []for book in book_list:items.append({'id':book.book_id,'title':book.book_name,'intro':book.intro,'author':book.author_name,'state':book.status,'category_id':book.cate_id,'category_name':book.cate_name,'imgURL':'})# 7.返回结果data = {'counts':paginate.total,'pages':paginate.pages,'page':paginate.page,'items':items}return jsonify(data)

3、使用postman对接口进行测试:

相关文章:

【Flask开发】嘿马文学web完整flask项目第4篇:4.分类,4.分类【附代码文档】

教程总体简介&#xff1a;2. 目标 1.1产品与开发 1.2环境配置 1.3 运行方式 1.4目录说明 1.5数据库设计 2.用户认证 Json Web Token(JWT) 3.书架 4.1分类列表 5.搜索 5.3搜索-精准&高匹配&推荐 6.小说 6.4推荐-同类热门推荐 7.浏览记录 8.1配置-阅读偏好 8.配置 9.1项目…...

【MySQL】002.MySQL数据库基础

文章目录 数据库基础1.1 什么是数据库1.2 基本使用创建数据库创建数据表表中插入数据查询表中的数据 1.3 主流数据库1.4 服务器&#xff0c;数据库&#xff0c;表关系1.5 MySQL架构1.6 SQL分类1.7 存储引擎1.7.1 存储引擎1.7.2 查看存储引擎1.7.3 存储引擎对比 前言&#xff1a…...

Python爬取视频的架构方案,Python视频爬取入门教程

文章目录 前言方案概述架构设计详细实现步骤1.环境准备2. 网页请求模块3. 网页解析模块4. 视频下载模块5. 异常处理与日志模块 代码示例&#xff1a;性能优化注意事项 前言 以下是一个全面的使用 Python 爬取视频的架构方案&#xff0c;包含方案概述、架构设计、详细实现步骤、…...

ERC-20 代币标准

文章目录 一、什么是 ERC-20&#xff1f;核心价值&#xff1a;互操作性简化开发生态基石 二、ERC-20 的六大核心功能基础功能授权与代理转账事件通知 三、ERC-20 代币的典型应用场景四、ERC-20 的技术优势与局限性优势&#xff1a;局限性&#xff1a; 五、ERC-20 代币的创建步骤…...

SpringBoot实战1

SpringBoot实战1 一、开发环境&#xff0c;环境搭建-----创建项目 通过传统的Maven工程进行创建SpringBoot项目 &#xff08;1&#xff09;导入SpringBoot项目开发所需要的依赖 一个父依赖&#xff1a;&#xff08;工件ID为&#xff1a;spring-boot-starter-parent&#xf…...

GSO-YOLO:基于全局稳定性优化的建筑工地目标检测算法解析

论文地址:https://arxiv.org/pdf/2407.00906 1. 论文概述 《GSO-YOLO: Global Stability Optimization YOLO for Construction Site Detection》提出了一种针对建筑工地复杂场景优化的目标检测模型。通过融合全局优化模块(GOM)​、稳定捕捉模块(SCM)​和创新的AIoU损失函…...

解读json.loads函数参数

json.loads()函数是解码JSON字符串为Python对象的核心工具。本文将深入探讨json.loads()函数的各个参数。 一、基本功能与输入类型 1. 功能概述 json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=N…...

2025.04.10-拼多多春招笔试第一题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 01. 神奇公园的福娃占卜 问题描述 LYA在一个神奇的公园里发现了一条特殊的小径,小径上排列着一群可爱的福娃玩偶。这条小径有 n n...

【学习笔记】CPU 的“超线程”是什么?

1. 什么是超线程&#xff1f; 超线程&#xff08;Hyper-Threading&#xff09;是Intel的技术&#xff0c;让一个物理CPU核心模拟出两个逻辑核心。 效果&#xff1a;4核CPU在系统中显示为8线程。 本质&#xff1a;通过复用空闲的硬件单元&#xff08;如ALU、FPU&#xff09;&a…...

Docker Harbor

下载Harbor安装包 wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz 解压安装包 tar xvf harbor-offline-installer-v2.5.0.tgz cd harbor 配置harbor vi harbor.yml hostname: registry.example.com # Harbor …...

天梯集训笔记整理

1.着色问题 直接标注哪些行和列是被标注过的&#xff0c;安全格子的数量就是未标注的行*列 #include <bits/stdc.h> using namespace std;const int N 1e510; int hang[N],lie[N];int main(){int n,m;cin>>n>>m;int q;cin>>q;while(q--){int x,y;ci…...

C语言复习笔记--指针(4)

在经过前几篇的复习后我们已经了解了大部分指针的类型,今天让我们继续复习指针的其他内容吧. 函数指针变量 函数指针变量的创建 什么是函数指针变量呢&#xff1f;函数指针变量应该是⽤来存放函数地址的&#xff0c;未来通过地址能够调⽤函数的。 那么函数是否有地址呢&#x…...

008二分答案+贪心判断——算法备赛

二分答案贪心判断 有些问题&#xff0c;从已知信息推出答案&#xff0c;细节太多&#xff0c;过程繁杂&#xff0c;不易解答。 从猜答案出发&#xff0c;贪心地判断该答案是否合法是个不错的思路&#xff0c;这要求所有可能的答案是单调的&#xff08;例&#xff1a;x满足条件…...

Netty之内存池的原理和实战

深入理解Netty的内存池机制及其应用实践 在高性能网络编程中&#xff0c;内存管理对于系统的稳定性和性能至关重要。Netty作为一个高效的网络通信框架&#xff0c;通过引入内存池机制有效地解决了内存分配和回收频繁带来的性能瓶颈和内存碎片问题。本文将深入探讨Netty内存池的…...

Elasticsearch 向量数据库,原生支持 Google Cloud Vertex AI 平台

作者&#xff1a;来自 Elastic Valerio Arvizzigno Elasticsearch 将作为第一个第三方原生语义对齐引擎&#xff0c;支持 Google Cloud 的 Vertex AI 平台和 Google 的 Gemini 模型。这使得联合用户能够基于企业数据构建完全可定制的生成式 AI 体验&#xff0c;并借助 Elastics…...

《算法笔记》3.1小节——入门模拟->简单模拟

1001 害死人不偿命的(3n1)猜想 #include <iostream> using namespace std;int main() {int n,count0;cin>>n;while(n!1){if(n%20) n/2;else n(3*n1)/2;count1;}std::cout <<count;return 0; }1032 挖掘机技术哪家强 #include <iostream> using namespa…...

每日一题(小白)暴力娱乐篇24

由题已知这是一个匹配题目&#xff0c;题目已经说了三阶幻方是给定的&#xff0c;经过镜像和旋转&#xff0c;镜像*2旋转*4&#xff1b; 总共八种方案&#xff0c;然后接收每次的数据去匹配&#xff08;跳过0&#xff09;&#xff0c;如果匹配就输出匹配的数组&#xff0c;如果…...

C++:函数模板类模板

程序员Amin &#x1f648;作者简介&#xff1a;练习时长两年半&#xff0c;全栈up主 &#x1f649;个人主页&#xff1a;程序员Amin &#x1f64a; P   S : 点赞是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全…...

第18章:基于Global Context Vision Transformers(GCTx_unet)网络实现的oct图像中的黄斑水肿和裂孔分割

1. 网络概述 GCTx-UNET是基于传统UNet架构的改进版本&#xff0c;主要引入了以下几个关键创新&#xff1a; GCT模块&#xff1a;全局上下文变换器(Global Context Transformer)模块 多尺度特征融合&#xff1a;增强的特征提取能力 改进的跳跃连接&#xff1a;优化编码器与解…...

深入理解 Spring 的 MethodParameter 类

MethodParameter 是 Spring 框架中一个非常重要的类&#xff0c;它封装了方法参数&#xff08;或返回类型&#xff09;的元数据信息。这个类在 Spring MVC、AOP、数据绑定等多个模块中都有广泛应用。 核心功能 MethodParameter 主要提供以下功能&#xff1a; 获取参数类型信息…...

Docker部署HivisionIDPhotos1分钟生成标准尺寸证件照实操指南

文章目录 前言1. 安装Docker2. 本地部署HivisionIDPhotos3. 简单使用介绍4. 公网远程访问制作照片4.1 内网穿透工具安装4.2 创建远程连接公网地址 5. 配置固定公网地址 前言 相信大部分人办驾照、护照或者工作证时都得跑去照相馆&#xff0c;不仅费时还担心个人信息泄露。好消…...

python多线程+异步编程让你的程序运行更快

多线程简介 多线程是Python中实现并发编程的重要方式之一&#xff0c;它允许程序在同一时间内执行多个任务。在某些环境中使用多线程可以加快我们代码的执行速度&#xff0c;例如我们通过爬虫获得了一个图片的url数组&#xff0c;但是如果我们一个一个存储很明显会非常缓慢&…...

HDCP(五)

HDCP 2.2 测试用例设计详解 基于HDCP 2.2 CTS v1.1规范及协议核心机制&#xff0c;以下从正常流程与异常场景两大方向拆解测试用例设计要点&#xff0c;覆盖认证、密钥管理、拓扑验证等关键环节&#xff1a; 1. 正常流程测试 1.1 单设备认证 • 测试目标&#xff1a;验证源设…...

datagrip如何连接数据库

datagrip连接数据库的步骤 2025版本 想要链接数据库是需要一个jar包的&#xff0c;所以将上面进行删除之后&#xff0c;需要下载一个jar包 那么这个时候需要链接上传一个mysql链接的jar包 选择核心驱动类 上述操作完成之后&#xff0c;然后点击apply再点击ok即可 如下图说明my…...

Spring Boot 自动配置与启动原理全解析

下面分两部分系统讲解&#xff1a; 第一部分&#xff1a;Spring Boot 自动配置原理&#xff08;核心是自动装配&#xff09; 一、Spring Boot 的自动配置是干嘛的&#xff1f; 传统 Spring 开发时&#xff0c;你要写一堆 XML 或配置类&#xff0c;非常麻烦。Spring Boot 引入…...

python 基础:句子缩写

n int(input()) for _ in range(n):words input().split()result ""for word in words:result word[0].upper()print(result)知识点讲解 input()函数 用于从标准输入&#xff08;通常是键盘&#xff09;读取用户输入的内容。它返回的是字符串类型。例如在代码中…...

QML 中 Z 轴顺序(z 属性)

在 QML 中&#xff0c;z 属性用于控制元素的堆叠顺序&#xff08;Z 轴顺序&#xff09;&#xff0c;决定元素在视觉上的前后层次关系。 基本概念 默认行为&#xff1a; 所有元素的默认 z 值为 0 同层级元素后声明的会覆盖先声明的 父元素的 z 值会影响所有子元素 核心规则…...

Redis快的原因

1、基于内存实现 Redis将所有数据存储在内存中&#xff0c;因此它可以非常快速地读取和写入数据&#xff0c;而无需像传统数据库那样将数据从磁盘读取和写入磁盘&#xff0c;这样也就不受I/O限制。 2、I/O多路复用 多路指的是多个socket连接&#xff1b;复用指的是复用一个线…...

蓝桥杯c ++笔记(含算法 贪心+动态规划+dp+进制转化+便利等)

蓝桥杯 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; //常使用的头文件动态规划 小蓝在黑板上连续写下从 11 到 20232023 之间所有的整数&#xff0c;得到了一个数字序列&#xff1a; S12345…...

每日算法-250410

今天分享两道 LeetCode 题目&#xff0c;它们都可以巧妙地利用二分查找来解决。 275. H 指数 II 问题描述 思路&#xff1a;二分查找 H 指数的定义是&#xff1a;一个科学家有 h 篇论文分别被引用了至少 h 次。 题目给定的 citations 数组是升序排列的。这为我们使用二分查找…...

swagger + Document

swagger 虽然有了api接口&#xff0c;对于复杂接口返回值说明&#xff0c;文档还是不能少。如果是一个人做的还简单一点&#xff0c;现在都搞前后端分离&#xff0c;谁知道你要取那个值呢...

线程同步与互斥(下)

线程同步与互斥&#xff08;中&#xff09;https://blog.csdn.net/Small_entreprene/article/details/147003513?fromshareblogdetail&sharetypeblogdetail&sharerId147003513&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link我们学习了互斥…...

MySQL 优化教程:让你的数据库飞起来

文章目录 前言一、数据库设计优化1. 合理设计表结构2. 范式化与反范式化3. 合理使用索引 二、查询优化1. 避免使用 SELECT *2. 优化 WHERE 子句3. 优化 JOIN 操作 三、服务器配置优化1. 调整内存分配2. 调整并发参数3. 优化磁盘 I/O 四、监控与分析1. 使用 EXPLAIN 分析查询语句…...

SD + Contronet,扩散模型V1.5+约束条件后续优化:保存Canny边缘图,便于视觉理解——stable diffusion项目学习笔记

目录 前言 背景与需求 代码改进方案 运行过程&#xff1a; 1、Run​编辑 2、过程&#xff1a; 3、过程时间线&#xff1a; 4、最终效果展示&#xff1a; 总结与展望 前言 机器学习缺点之一&#xff1a;即不可解释性。最近&#xff0c;我在使用stable diffusion v1.5 Co…...

位掩码、哈希表、异或运算、杨辉三角、素数查找、前缀和

1、位掩码 对二进制数操作的方法&#xff0c;&#xff08;mask1<<n&#xff09;,将数mask的第n位置为1&#xff0c;其它位置为0&#xff0c;即1000...2^n&#xff0c;当n较小时&#xff0c;可以用于解决类似于0/1背包的问题&#xff0c;要么是0&#xff0c;要么是1&…...

安装OpenJDK1.8 17 (macos M芯片)

安装OpenJDK 1.8 下载完后&#xff0c;解压&#xff0c;打开 环境变量的配置文件即可 vim ~/.zshrc #export JAVA_HOME/Users/xxxxx/jdk-21.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-17.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-11.jdk/Contents…...

Spring Boot 自动加载流程详解

前言 Spring Boot 是一个基于约定优于配置理念的框架&#xff0c;它通过自动加载机制大大简化了开发者的配置工作。本文将深入探讨 Spring Boot 的自动加载流程&#xff0c;并结合源码和 Mermaid 图表进行详细解析。 一、Spring Boot 自动加载的核心机制 Spring Boot 的自动加…...

2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制

流水线上也有每个位置的温度、压力、流量等诸多参数。只有参数处于正常范 围时&#xff0c;最终的产物才是合格的。这些参数很容易受到外部随机因素的干扰&#xff0c;所 以需要实时调控。但由于参数众多&#xff0c;测量困难&#xff0c;很多参数想要及时调整并不容 易&#x…...

Richardson-Lucy (RL) 反卷积算法 —— 通过不断迭代更新图像估计值

文章目录 一、RL反卷积算法&#xff08;1&#xff09;主要特点&#xff08;2&#xff09;基本原理&#xff08;3&#xff09;关键步骤&#xff08;4&#xff09;优化算法 二、项目实战&#xff08;1&#xff09;RL 反卷积&#xff08;2&#xff09;优化&#xff1a;RL 反卷积 …...

2025.04.10-拼多多春招笔试第四题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 04. 优惠券最优分配问题 问题描述 LYA是一家电商平台的运营经理,负责促销活动的策划。现在平台上有 n n n...

------------------V2024-2信息收集完结------------------

第二部分信息收集完结撒花*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* 。 进入开发部分&#xff0c;工具要求&#xff1a;phpstorm Adobe Navicat16 小皮 准备完毕 php开发起飞起飞~~~~~...

Java Lambda与方法引用:函数式编程的颠覆性实践

在Java 8引入Lambda表达式和方法引用后&#xff0c;函数式编程范式彻底改变了Java开发者的编码习惯。本文将通过实战案例和深度性能分析&#xff0c;揭示如何在新项目中优雅运用这些特性&#xff0c;同时提供传统代码与函数式代码的对比优化方案。 文章目录 一、Lambda表达式&a…...

2025年常见渗透测试面试题- PHP考察(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 PHP考察 php的LFI&#xff0c;本地包含漏洞原理是什么&#xff1f;写一段带有漏洞的代码。手工的话如何发掘&am…...

【在校课堂笔记】南山 - 第 10 节课 总结

- 第 92 篇 - Date: 2025 - 04 - 10 Author: 郑龙浩/仟墨 【Python 在校课堂笔记】 南山 - 第 10 节课 文章目录 南山 - 第 10 节课一 in –> 存在性测试 - 基础介绍二 in –> 例题 - 火车票 - 使用 in 优化**问题**【代码 - 以前的代码】【代码 - 使用存在性测试 in】 …...

GaussDB ECPG与Oracle Pro_C深度对比:嵌入式SQL开发者的迁移指南

GaussDB ECPG与Oracle Pro*C深度对比&#xff1a;嵌入式SQL开发者的迁移指南 一、体系架构差异 关键组件对比表 二、语法兼容性分析 核心语法差异对比 c /* Pro*C示例 */ EXEC SQL SELECT empno INTO :emp_id FROM employees WHERE ename :name;/* ECPG等效实现 */ EXEC…...

debian系统中文输入法失效解决

在 Debian 9.6 上无法切换中文输入法的问题通常与输入法框架&#xff08;如 Fcitx 或 IBus&#xff09;的配置或依赖缺失有关。以下是详细的解决步骤&#xff1a; 1. 安装中文语言包 确保系统已安装中文语言支持&#xff1a; sudo apt update sudo apt install locales sudo…...

2025年危化品安全管理人员备考指南|智能题库+核心考点解析

作为危化品生产单位安全管理人员&#xff08;主要负责人&#xff09;&#xff0c;考试内容主要涵盖三大模块&#xff1a; 法律法规体系 《安全生产法》修订要点&#xff08;2023版&#xff09; 危险化学品重大危险源辨识标准&#xff08;GB 18218&#xff09; 最新《化工过…...

我为女儿开发了一个游戏网站

大家好&#xff0c;我是星河。 自从协助妻子为女儿开发了算数射击游戏后&#xff0c;星河就一直有个想法&#xff1a;为女儿打造一个专属的学习游戏网站。之前的射击游戏虽然有趣&#xff0c;但缺乏难度分级&#xff0c;无法根据女儿的学习进度灵活调整。而且&#xff0c;仅仅…...

SpringBoot企业级开发之【用户模块-更新用户基本信息】

接口文档&#xff1a; 开发前我们先看一下接口文档&#xff1a; 这是实现的预想结果&#xff1a; 实现思路&#xff1a; 设计一下我们的实现思路 拿起家伙实操&#xff1a; 1.controller 定义一个方法去修改用户&#xff1a; 注意&#xff01;是【put请求】 //更改用户信…...

循环神经网络 - 长短期记忆网络的门控机制

长短期记忆网络&#xff08;LSTM&#xff09;的门控机制是其核心设计&#xff0c;用来解决普通 RNN 在长程依赖中遇到的梯度消失与信息混淆问题。为了更进一步理解长短期记忆网络&#xff0c;本文我们来深入分析一下其门控机制。 一、理解长短期记忆网络的“三个门” 所谓门控…...