python使用django搭建图书管理系统
大家好,你们喜欢的梦幻编织者回来了
随着计算机网络和信息技术的不断发展,人类信息交流的方式从根本上发生了改变,计算机技术、信息化技术在各个领域都得到了广泛的应用。图书馆的规模和数量都在迅速增长,馆内藏书也越来越多,管理这些庞大的体系是很困难的,因为图书馆中的情况是随时改变的,因此对图书进行管理,对工作人员来说是非常困难的,图书管理系统利用现代化的计算机技术对大量图书进行管理,图书管理系统相比与传统的手工管理模式,其检索速度更快也更准确。计算机存储技术也降低了运营成本,同时人性化的操作界面也让图书管理员更乐于投入到信息化、自动化的管理。
本文介绍了管理信息系统的基础设计方法,介绍了整个应用系统的设计思路,对各个部分进行了分析,最终完成了一个完整的设计方案;本文设计的是一个图书管理系统,包括管理员页面和个人页面登录进入主菜单,个人页面中实现了可以通过自己的搜素找到自己喜欢的书籍并进行借阅,还可以查到自己借阅的图书,管理员页面实现书籍页面增删改查,更好的管理图书。
本套图书管理系统具有很好的易用性和安全性,系统功能齐全,可以满足图书馆管理的相关工作,希望该图书管理系统能为同类系统的开发提供相应的参考价值。
关键词:
图书管理系统;Django;ORM;Js;信息化;数据库。
第1章 绪论
1.1毕业设计主要内容、功能及技术指标
随着计算机技术的迅猛发展,也带动了信息化技术飞速发展,计算机和信息化表现出的强大功能为人类所重视,在信息技术不断的发展过程中,图书管理系统是图书馆的一个重要组成部分,它作为一种重要的信息处理系统,拥有着大量数据信息存储、吞吐量大等特点,是整个图书馆的信息处理中心,图书管理系统的不断创新,也在不断促进图书馆的信息化建设。图图书管理系统是高效、快速和方便的集成管理。它摒弃了通常人们采用纸媒介人工方式管理图书信息的方式,传统的管理方式有许多缺点,效率低、保密性差。另外随着时间延续,将产生大量的图书馆信息、图书信息,这些都为图书借阅、检索、查询带来了许多困难。
图书馆的图书管理工作非常复杂,有大量的书籍信息,种类繁多,往往工作量较大,每一天都会返回大量的数据,这使图书馆管理工作变得非常具有挑战性。特别是近年来,电子图书的出现,多媒体图书馆的出现,这些都为图书管理工作带来了新的问题。如何更好地适应现代图书管理工作的需求,设计了一套具有较强的适应能力和可塑性的图书管理系统,已经成为一个具有非常高优先级的开发工作。本文将采用面向对象的方法对图书管理系统的开发和设计工作,为图书馆构建一个高效、快速、个性化的图书管理系统,为广大借阅者提供良好的服务,为管理人员提高工作效率。
图书馆图书管理系统可以极大地提高图书馆图书管理的效率,可以精确查询预订库存状态和存储区域,这将惠及广大借阅者,更快更好地满足了他们的需求,为现代图书馆的建设提供了软件支持。
1.2 目前图书管理系统存在的问题
随着现在国家的发展,为了促进学生们的学习,国家开放了更多图书馆,随着图书馆的增多,书籍的藏书种类也越来越多,还分为不同的类别,因此人们不难快速地进行分类,图书馆中借书还书的现象也越来越多,因此借书、还书会超过借出书籍超期、丢失书籍,工作量很大,因此经常会出现这种错误,图书馆的书籍也会随时进行更新,人工更新起来的速度也越来越慢,藏书的知识也得不到良好地控制。
1.3本文研究意义
随着计算机的广泛应用,国家也现在逐渐走进现代化溅射国家,图书馆和一些书店在正常运行中出现了不少问题,需要对书籍资源、借书信息、还书信息进行管理以及管理员可以快速发布新的书籍信息,为了提供图书馆中的这些要求,提高工作效率,本文根据图书馆的不足现象进行了分析,现设计其相应的系统
图书管理系统的对象主要是管理员和个人信息,主要功能是实现图书馆借阅和管理员管理,除了这两个功能,还创建了统计查询、个人登录信息、修改密码等功能
1.4本文研究章节结构
本论文主要分为七个章节对课题进行论述,每个章节的内容如下所示:
- 绪论。主要讲述了对于当前图书管理系统的调研情况,介绍了此课题提出的背景和研究的意义,讲述了国内外的发展情况,最后介绍了论文的主要研究工作和组织结构进行简单的介绍。
- 相关介绍。介绍了此图书管理系统开发时所用的框架Django和新型技术ORM作详细介绍。
- 需求分析。本章首先从需求确定原则和需求协商与验证两个方面对确定图书管理系统的理论做了详细的介绍;接着从系统的总体需求目标和系统功能需求两个方面对系统的需求做了概述。
- 系统设计。本章基于第三章的需求对图书管理系统作了全面的设计,首先设计了系统的总体架构,然后对图书管理系统的功能设计重点的作了介绍,接着对该套系统的数据库和ORM模型作了设计,最后系统的安全性作了分析。系统实现。按照系统的需求和设计说明书,实现了图书管理系统所有的功能模块。
- 系统测试。介绍了测试信息管理系统相关的理论知识;接着对图书管理系统从功能进行测试,保证系统的可用性、易用性和安全性。
- 总结。对论文的主要工作进行了总结,分析本课题开发图书管理系统实现的功能和优势
第2章 相关技术
2.1 Django框架介绍
Django框架是基于python语言开源web应用框架,Django是从真实世界的应用中成长起来的,它是由堪萨斯州Lawrence城市中的一个网络开发小组编写的,Django的问世,大大方便了新闻网站信息的快速建设,方便了信息的传播。

中间件是Django框架的精髓,在该框架下每次请求处理和返回都由中间件来负责完成,中间件就是处理HTTP的request和respons,Middleware都需要“project/settings.py”MIDDLEWARE_CLASSES的定义。处理HTTP的request和response的主要因素。
2.2 ORM技术概述
对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。ORM框架的架构总览图如2.2所示。

2.3本章小结
本章了解了django框架和ORM映射的功能,知道django和ORM的关系,下面就对我们制作管理系统的逻辑思维更加明确,更容易做出管理系统。
第3章 需求分析及概要设计
3.1需求确定原则
根据系统分析的结果,我想到由于现在科技发达,图书馆里的工作人员多而且还不能准确的对书籍进行整理导致常常丢失书籍还会出现借书不还的现象,为了整改这几个方面的要求,就想到制作图书管理系统能代替人工管理图书信息,所以就想做出图书管理系统来管理图书,既能保证书籍得到合理管理,又能减少人工管理。
3.2、总体需求目标分析
目标就是实现系统代替人工管理书籍,既能准确管理图书还可以看到借阅功能,大大降低人工成本,还能更好管理图书。
3.3系统功能结构图及需求分析
根据系统和市场分析主要是管理员更好管理图书,所以必须有添加书籍功能,增删改查功能,账号密码修改功能,退出登录功能等,并且这些数据可以通过数据库查询出来,可以准确完成管理图书工作,图书管理系统对管理员和用户的功能如图下2.3显示。

3.3.1、登录管理模块及需求分析
1.页面出现注册、登录信息,登录成功后,显示用户的个人信息。
2.点击退出登录,可重新更换用户和管理登录。
3.3.2、用户管理模块需求分析
1.用户登录成功后,可以查看个人信息,可退出登录
2.用户可以通过搜索查询功能,找到自己喜欢的书籍,进行借阅。
3.3.3、图书信息管理模块需求分析
1.登录成功后,用户和管理账号都能看到所有图书的信息,管理员可以对书籍信息进行增删改查。
2.管理员可以随时添加新书,随时上架。
3.3.4、图书借阅信息管理模块需求分析
1.用户可以通过搜索查询功能找到自己喜欢的书籍,进行借阅。
2.用户可以查看自己借阅图书信息,里面设置了还书信息。
3.3.5 信息统计模块需求分析
本文主要为了四个模块,查询模块,图书信息管理、增加图书信息,借阅模块,以及还有一些辅助功能,这些功能都能为图书馆管理系统带来好的方面,可以合理管理图书。
3.4本章小结
从图书管理系统分析来说,计算机对图书进行管理,不仅为图书的管理注入了新的生机,而且在运营过程中节省了大量的人力、物力、财力和时间,可以提高图书管理的效率。随着计算机技术的发展,以及计算机在各个企事业单位中应用的普及,计算机强大的功能已为人们深刻认识。它在当今高速发展的信息时代占据着不可缺少的地位,作为计算机应用软件的一部分,使用计算机对图书馆进行综合管理已经远远超过手工管理的效率。
第四章 系统详细设计
4.1系统架构设计
Django的本质
Django是一个开放源代码的Web应用框架,由Python写成。采用了
MTV的框架模式,即模型M,视图V和模版T。简单来说,就是Django给我们提供了一个非常完善的Web框架,是目前Python搭建项目最好用的框架。我们只需要对其中的文件进行修改与增加内容,就能轻松实现请求与响应的基本功能,最终渲染出对应的网页。
MVC模式
MVC就是把web应用分为模型(M),控制器©,视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器©接受用户的输入调用模型和视图完成用户的请求。
MTV模式
MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同:
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
另外还有一个路由分发器,即url分发器,它能将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template。
URL(路由分发):负责分发链接并绑定对应函数的。
Django原理图

4.2 系统功能模块设计
主要模块中有django、pymysql,通过django原理和数据库中的数据实现功能的页面。
4.2.1系统登录模块设计
运用了html+js+css的前端页面设计,django.template.Template 是Django提供的模板类,调用模板类的构造函数Template(),可以快速创建模板对象。调用模板对象的render()方法,可将模板渲染成HTML代码配置访问视图Libray的URL,TemplateResponse使用模板文件生成HttpResponse响应。
4.2.2图书信息管理模块设计
管理模块是当http发送请求,根据url指定函数,再去读取数据库中的数据,因为图书所有信息是存放数据库中的,再到sql请求,将数据传送到相对应的网页中,最后生成页面。
4.2.3 系统借阅管理模块设计
本模块的主要功能是为了用户没有在一定时间内看完某本图书时,可以继续使用,用户可以通过查询个人借阅书籍,借阅书籍在查找图书的最右边操作下的按钮,还可以借阅其他书籍,还可以在借阅读书观看完,及时点击还书。
4.2.4 系统信息查询模块设计
系统信息查询模块,都是用来查询图书信息,个人信息登录页面就会显示出来,管理可以通过自己的管理书籍页面在哪里设置增删改查的功能,可以让图书得到更好的管理。
4.2.6 系统统计模块设计
系统统计模块是管理员可以统计所有的图书管理,这个统计模块是经过数据库图书信息的录入,结合django和前端网页,经过数据库信息的传输,渲染出前端页面。
4.3 数据库结构设计
本系统采用Mysql作为访问数据库的服务器,用它来对数据进行存储,在数据库应用系统的开发过程中,数据库的结构设计是指数据库中各个表的设计,包括系统中的信息保存在哪个数据库中以及各个表之前的关系,数据库的好坏直接对应用系统实现的效果产生影响,好的数据库结构设计会减少数据库的存储,数据库的完整性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现。
4.3.1 系统实体关系图

4.3.2 数据表及对应PYTHON类设计
综合实际来说,图书管理系统library的数据库主要包含如图所示的6张数据表。
Python类的设计
django中设计数据模型类是基于ORM的对象关系映射更方便的进行数据库中的数据操作。
- 对象关系映射
- 把面向对象中的类和数据库表–对应,通过操作类和对象,对数表实现数据操作,不需要写sql,由ORM框架生成
- django实现了ORM框架,在项目中与数据库之间产生桥梁作用
- django数据库定义模型的步骤如下:
- python manage.py makemigrations
- python mange.py migrate
- 在应用models.py中编写模型类,继承models.Model类
- 在模型类中,定义属性,生成对应的数据库表字段
- 属性名 = models.字段类型
- 字段类型 — 一旦修改类型就需要重新迁移
在pycharm终端中执行数据库建立迁移,迁移后会出现一个.py的文件,我们可以通过django自带的admin后台来看见我们所创建的数据模型类。在pycharm终端中输入命令python manage.py createsuperuser。
再次输入用户名和密码

然后开启django项目输入 http://127.0.0.1 :8000/admin/,进去就能看见自己创建的模型类啦。
- 系统具体实现
5.1、项目基础框架搭建
Django项目搭建:
- 已有Python、PyCharm后,创建新项目(自定目录,建议启用VirtualEnv)新环境—解释器

2可在命令行pip install安装Django包,也可以在Pycharm的Python解释器下”+”安装
3注意:
- 命令窗的virtualEnv, activate, deactivate
- PyCharm的Python解释器、运行工作环境PYTHONPATH
- PyCharm工具窗终端(Cmd或Powershell)的配合
5.1.1 创建应用项目
1、安装好Django后,创建/开启django项目(project,注意文件夹结构)
[PyCharm社区版需结合命令窗] django-admin startproject library
2、在Django项目上创建应用(app):
进入Django项目(网站)的根路径, python manage.py startapp Myapp

3、在网站根目录下启动网站(开发服务器)运行:
python manage.py runserver

5.2 系统功能模块实现
系统功能模块分为系统登录模块、用户管理模块界面、图书信息管理模块界面、借阅信息管理模块界、图书查询模块界面五大模块。
5.2.1系统登录模块
在项目根目录下新建一个文件夹static用于存放前端模板静态资源,同时将相关前端资源导入文件夹。
在项目根目录下新建一个文件夹templates用于存放前端网页。创建完成后的目录如下图:

接着我们需要修改DJango配置识别我们的静态资源和模板网页地址.
打开setting.py 文件,找到TEMPLATES配置项修改为如下用于识别模板网页地址:

接着找到 STATIC_URL ,在下方添加 STATICFILES_DIRS 如下 用于识别静态资源地址:
5.2.2、用户管理模块界面实现
登录页面主要运用前端技术html+css+实习学会js的技术进行页面的手机号密码登录,前端页面主要包括用户注册、登录、管理注册,管理登录,用户登录页面通过每个学院学生进行注册,管理登录通过每个区来登录,更容易管理登录,双方登录都要用手机号和密码登录,登录页面如下图所示:


5.2.3图书信息管理模块界面实现
这个页面首先就是django连接数据库中的数据,再加上前端网页的渲染,首先让他连接数据库通过前端网页和urls实现数据交互的,只有图书管理员才能管理图书信息,用户可以通过图书信息进行借阅,功能如下所示:

5.2.4借阅信息管理模块界面实现
用户登录按钮后,可以在查找书籍里面最右边有个按钮,点击就是借阅成功,借阅通过后,可以在借书记录哪里查看是否借出了这本书籍,图书信息是存储在数据库中的,实现借阅功能是前端页面设置了按钮,用js'代码实现,经过url的响应,最后渲染前端页面实现这个功能,功能如下所示:

5.2.5图书查询模块界面实现
图书查询模块设置了用户和管理员都能通过自己的搜素找到相对应的书籍,这个功能实现,是先创建图书信息的数据库,然后连接上去,最后通过前端页面渲染生成这功能,功能如下所示:

5.3本章小结
通过系统各个模块的实现,我们可以了解到每个功能模块所用的方法,也可以每个功能的作用,也可以知道这些模块为接下来的功能实现具有重大意义。
- 系统测试
6.1系统测试方法介绍
该系统在本地服务器上运行和调试,鉴于对系统的内部结构和处理算法的完全了解以及对系统功能的全面掌握对系统进行了测试。
模块功能测试使用正确数据、错误数据、边界数据进行测试,保证平台的正常运行。
6.2系统功能测试
登录录页面的正常登录,使用正确的账号密码进行登录

使用错误的账号密码登录,会出现密码错误的提示。
2.图书查询功能,输入正确的书籍信息进行查询。
图书查询功能输入错误的书籍信息,他会显示未找到该本书。
3.借阅读书按钮的检测,用户在查询功能最右边有个借阅功能,点击借阅就能借到该图书,同时也可以到借阅图书的信息里看。
4.还书记录的按钮,在查看借阅书籍的最右边,也是操作下面有个按钮,点击他就能显示还书成功,点击确定然后书籍就被还回去啦。
5.修改密码,输入最前面的登录页面的密码,再重新设置自己喜欢的密码,两次密码要一致就会显示修改成功,如果两次密码不一致就会导致新密码不一致,请重新输入。
7.测试图书管理图书的增删改查功能,可以更容易管理图书,也能有更准确的数字,可以减少工作量,增删改查也是在图书管理的查找书籍里面最右边的四个按钮,从左到右分别是增删改查功能。
增加图书就是把库存量增加为1
8.修改就是修改功能,可以通过国际标准书号、书本类型、书名、价格、作者、馆藏书、出版社、可借数、版本、书库来修改其中的内容,然后点击确认,会显示修改成功,则相对应的字段就会被修改。
9.清理书籍是要把哪些图书库存没有的可以及时清理走,方便更好管理,清理时点击确定,改书籍就会被清理掉。
10.采购书籍就是图书馆购买的图书,通过国际标准书号、书本类型、书名、价格、作者、馆藏书、出版社、可借数、版本、书库来上架图书,为了让书籍得到更好的上架,也能及时更好管理书籍点击确认后,会显示添加新书籍成功,可以到图书查询找到上架的图书。
6.3系统测试结果
通过编写图书销售管理系统的测试用例,已经检测完毕用户登录模块、用户注册模块、图书分类展示模块、图书添加模块功能测试,这4大模块的功能都很正常,通过这4大模块为图书销售管理系统的后期推广运营提供了强力的技术支撑。
6.4 图书管理系统的实现全过程
一.创建项目
1.先创建一个项目,输入django-admin startproject library,然后再进入library创造一个app项目,输入python manage.py startapp Myapp创造一个app项目,然后在setting里面注册应用。

2.连接数据库,连接一个名叫library的数据库,输入密码和端口号。

在init.py中添加pymysql.install_as_MySQLdb()
二.编写模型
1.在models中添加book模型

定要注册模型
- 数据迁移分别使用python manage.py makemigrations、python manage.py migrate进行数据迁移,这里是因为之前迁移过了,所以会报这样,下面数据表是迁移得到的。
3.配置路由
4配置视图函数
三.静态资源配置
- 创造static的静态文件
引入library.Css和js还有img文件

- 在temolates中创建html文件
login.html

在template文件夹中我又创建了manager和student的文件夹这两个文件分别是管理和学生用户的html文件。
Manager的add_new_book.html内容

三.展示效果
用户效果:

管理员效果:
6.5 本章小结
测试过程中按照严格的方式进行测试,没有发现图书管理系统存在的问题,各个功能都已实现,实现这些功能,经历了2周的时间,保证了图书管理系统完成自己需要的需求,希望图书管理系统能有效地管理图书,使图书数量更准确,能减少人工管理,大大提高了系统化。
第7章.总结
7.1工作总结
经过两周的设计和开发,我对图书管理系统基本开发完毕,其功能能够符合应用需求,对于研发中出现的数据问题也通过百度解决了,通过这次设计能体会到自己技术的提升,还可以巩固上课学过的知识和学习新的语言并掌握,我们实习是做软件开发,刚开始我们在课程上只学过前端和js,我们软件开发只能用到这几个,后面经过几个月的实习,现在对js代码挺熟练应用起来,这个设计是经过自己在学校用心学的知识积累起来做成的一个毕业设计。
刚开发时,我遇到js上的许多问题,后面我专门用了两个月对js的学习,以及和比较厉害的同学一起讨论,最后能够解决,这个设计是完完整整1的开发,在上半学期,django的开发老师在课上只教一些简单的开发,我就从那时候慢慢了解它的原理,知道django原理的开发,开发一个系统起来根本不难,但是加上js的系统开发就比较难啦,这个系统html+css+js+django还有数据库开发出来的,这个设计可以给自己提供一个锻炼、提高的计划。
完成图书管理系统的各个功能和结构的设计,还有各种模型图的建立,把这些结合起来,为以后接手新的项目,处理打下基础。

最后祝大家学计算机的都能成功上岸
相关文章:
python使用django搭建图书管理系统
大家好,你们喜欢的梦幻编织者回来了 随着计算机网络和信息技术的不断发展,人类信息交流的方式从根本上发生了改变,计算机技术、信息化技术在各个领域都得到了广泛的应用。图书馆的规模和数量都在迅速增长,馆内藏书也越来越多,管理…...
JavaScript系列06-深入理解 JavaScript 事件系统:从原生事件到 React 合成事件
JavaScript 事件系统是构建交互式 Web 应用的核心。本文从原生 DOM 事件到 React 的合成事件,内容涵盖: JavaScript 事件基础:事件类型、事件注册、事件对象事件传播机制:捕获、目标和冒泡阶段高级事件技术:事件委托、…...
大话机器学习三大门派:监督、无监督与强化学习
以武侠江湖为隐喻,系统阐述了机器学习的三大范式:监督学习(少林派)凭借标注数据精准建模,擅长图像分类等预测任务;无监督学习(逍遥派)通过数据自组织发现隐藏规律,…...
win11编译llama_cpp_python cuda128 RTX30/40/50版本
Geforce 50xx系显卡最低支持cuda128,llama_cpp_python官方源只有cpu版本,没有cuda版本,所以自己基于0.3.5版本源码编译一个RTX 30xx/40xx/50xx版本。 1. 前置条件 1. 访问https://developer.download.nvidia.cn/compute/cuda/12.8.0/local_…...
FY-3D MWRI亮温绘制
1、FY-3D MWRI介绍 风云三号气象卫星(FY-3)是我国自行研制的第二代极轨气象卫星,其有效载荷覆 盖了紫外、可见光、红外、微波等频段,其目标是实现全球全天候、多光谱、三维定量 探测,为中期数值天气预报提供卫星观测数…...
Codeforces1929F Sasha and the Wedding Binary Search Tree
目录 tags中文题面输入格式输出格式样例输入样例输出说明 思路代码 tags 组合数 二叉搜索树 中文题面 定义一棵二叉搜索树满足,点有点权,左儿子的点权 ≤ \leq ≤ 根节点的点权,右儿子的点权 ≥ \geq ≥ 根节点的点权。 现在给定一棵 …...
HBuilder X 使用 TortoiseSVN 设置快捷键方法
HBuilder X 使用 TortoiseSVN 设置快捷键方法 单文件:(上锁,解锁,提交,更新) 安装好 TortoiseSVN ,或者 按图操作: 1,工具栏中 【自定义快捷键】 2,点击 默认的快捷键设置&…...
Java jar包后台运行方式详解
目录 一、打包成 jar 文件二、后台运行 jar 文件三、示例四、总结在 Java 开发中,我们经常需要将应用程序打包成可执行的 jar 文件,并在后台运行。这种方式对于部署长时间运行的任务或需要持续监听事件的应用程序非常重要。本文将详细介绍如何实现 Java jar 包的后台运行,并…...
Refreshtoken 前端 安全 前端安全方面
网络安全 前端不需要过硬的网络安全方面的知识,但是能够了解大多数的网络安全,并且可以进行简单的防御前两三个是需要的 介绍一下常见的安全问题,解决方式,和小的Demo,希望大家喜欢 网络安全汇总 XSSCSRF点击劫持SQL注入OS注入请求劫持DDOS 在我看来,前端可以了解并且防御前…...
Mysql5.7-yum安装和更改mysql数据存放路径-2020年记录
记录下官网里用yum rpm源安装mysql, 1 官网下载rpm https://dev.mysql.com/downloads/repo/yum/ https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html(附官网操作手册) wget https://repo.mysql.com//mysql80-community-release…...
[项目]基于FreeRTOS的STM32四轴飞行器: 七.遥控器按键
基于FreeRTOS的STM32四轴飞行器: 七.遥控器 一.遥控器按键摇杆功能说明二.摇杆和按键的配置三.按键扫描 一.遥控器按键摇杆功能说明 两个手柄四个ADC。 左侧手柄: 前后推为飞控油门,左右推为控制飞机偏航角。 右侧手柄: 控制飞机飞行方向&a…...
Android15使用FFmpeg解码并播放MP4视频完整示例
效果: 1.编译FFmpeg库: 下载FFmpeg-kit的源码并编译生成安装平台库 2.复制生成的FFmpeg库so文件与包含目录到自己的Android下 如果没有prebuiltLibs目录,创建一个,然后复制 包含目录只复制arm64-v8a下...
numpy常用函数详解
在深度神经网络代码中经常用到numpy库的一些函数,很多看过之后很容易忘记,本文对经常使用的函数进行归纳总结。 np.arange arange是numpy一个常用的函数,该函数主要用于创建等差数列。它的使用方法如下所示: numpy.arange([star…...
安装树莓派3B+环境(嵌入式开发)
一、环境配置 1、下载树莓派镜像工具 点击进入下载连接 进入网站,点击下载即可。 2、配置wifi及ssh 将SD卡插入读卡器,再接入电脑,随后打开Raspberry Pi Imager下载工具, 选择Raspberry Pi 3 选择64位的操作系统 选择SD卡 选择…...
深度学习/强化学习调参技巧
深度调优策略 1. 学习率调整 技巧:学习率是最重要的超参数之一。过大可能导致训练不稳定,过小则收敛速度慢。可以使用学习率衰减(Learning Rate Decay)或自适应学习率方法(如Adam、RMSprop)来动态调整学习…...
p5.js:sound(音乐)可视化,动画显示音频高低变化
本文通过4个案例介绍了使用 p5.js 进行音乐可视化的实践,包括将音频振幅转化为图形、生成波形图。 承上一篇:vite:初学 p5.js demo 画圆圈 cd p5-demo copy .\node_modules\p5\lib\p5.min.js . copy .\node_modules\p5\lib\addons\p5.soun…...
Linux下安装elasticsearch(Elasticsearch 7.17.23)
Elasticsearch 是一个分布式的搜索和分析引擎,能够以近乎实时的速度存储、搜索和分析大量数据。它被广泛应用于日志分析、全文搜索、应用程序监控等场景。 本文将带你一步步在 Linux 系统上安装 Elasticsearch 7.17.23 版本,并完成基本的配置࿰…...
plt和cv2有不同的图像表示方式和颜色通道顺序
在处理图像时,matplotlib.pyplot (简称 plt) 和 OpenCV (简称 cv2) 有不同的图像表示方式和颜色通道顺序。了解这些区别对于正确处理和显示图像非常重要。 1. 图像形状和颜色通道顺序 matplotlib.pyplot (plt) 形状:plt 通常使用 (height, width, cha…...
【The Rap of China】2018
中国新说唱第一季,2018 2018年4月13日,该节目通过官方微博宣布,其第二季将更名为《中国新说唱》。 《中国新说唱2018》由张震岳、MC Hotdog、潘玮柏、邓紫棋、WYF 担任明星制作人; 艾热获得冠军、那吾克热玉素甫江获得亚军、ICE…...
通义万相2.1开源版本地化部署攻略,生成视频再填利器
2025 年 2 月 25 日晚上 11:00 通义万相 2.1 开源发布,前两周太忙没空搞它,这个周末,也来本地化部署一个,体验生成效果如何,总的来说,它在国内文生视频、图生视频的行列处于领先位置,…...
YOLOv10改进之MHAF(多分支辅助特征金字塔)
YOLOv10架构 YOLOv10的架构主要由 主干网络、特征金字塔和预测头 三部分组成。主干网络采用改进的Darknet结构,增强特征提取能力。特征金字塔模块使用多尺度特征融合技术,提高对不同大小目标的检测效果。预测头则负责生成最终的检测结果。这种结构设计使得YOLOv10在保持高效…...
好玩的谷歌浏览器插件-自定义谷歌浏览器光标皮肤插件-Chrome 的自定义光标
周末没有啥事 看到了一个非常有意思的插件 就是 在使用谷歌浏览器的时候,可以把鼠标的默认样式换一个皮肤。就像下面的这种样子。 实际谷歌浏览器插件开发对于有前端编程基础的小伙伴 还是比较容易的,实际也是写 html css js 。 所以这个插件使用的技术…...
svn删除所有隐藏.svn文件,文件夹脱离svn控制
新建一个文件,取名remove-svn-folders.reg,输入如下内容: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] "Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Class…...
六十天前端强化训练之第十二天之闭包深度解析
欢迎来到编程星辰海的博客讲解 目录 第一章:闭包的底层运行机制 1.1 词法环境(Lexical Environment)的构成JavaScript 引擎通过三个关键组件管理作用域: 1.2 作用域链的创建过程当函数被定义时: 1.3 闭包变量的生命…...
DeepSeek R1-32B医疗大模型的完整微调实战分析(全码版)
DeepSeek R1-32B微调实战指南 ├── 1. 环境准备 │ ├── 1.1 硬件配置 │ │ ├─ 全参数微调:4*A100 80GB │ │ └─ LoRA微调:单卡24GB │ ├── 1.2 软件依赖 │ │ ├─ PyTorch 2.1.2+CUDA │ │ └─ Unsloth/ColossalAI │ └── 1.3 模…...
10.2 继承与多态
文章目录 继承多态 继承 继承的作用是代码复用。派生类自动获得基类的除私有成员外的一切。基类描述一般特性,派生类提供更丰富的属性和行为。在构造派生类时,其基类构造函数先被调用,然后是派生类构造函数。在析构时顺序刚好相反。 // 基类…...
[网络爬虫] 动态网页抓取 — Selenium 元素定位
🌟想系统化学习爬虫技术?看看这个:[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 在使用 Selenium 时,往往需要先定位到指定元素,然后再执行相应的操作。例如,再向文本输入框中输入文字之前,…...
静态网页的爬虫(以电影天堂为例)
一、电影天堂的网址(url) 电影天堂_免费电影_迅雷电影下载_电影天堂网最好的迅雷电影下载网,分享最新电影,高清电影、综艺、动漫、电视剧等下载!https://dydytt.net/index.htm 我们要爬取这个页面上的内容 二、代码…...
将图片存储至阿里云 OSS
将图片存储至阿里云 OSS 一、概述 在项目开发中,我们常常需要处理用户上传的图片。本文将介绍如何使用前端的 el-upload 组件将照片上传到后端,后端再将照片存储到阿里云 OSS,并最终返回图片的 URL 给前端。 二、前端实现 1. 安装依赖 确…...
Android设备是如何进入休眠的呢?
首先我们手机灭屏后,一般需要等一段时间CPU才真正进入休眠。即Android设备屏幕暗下来的时候,并不是立即就进入了休眠模式;当所有唤醒源都处于de-avtive状态后,系统才会进入休眠。在手机功耗中从灭屏开始到CPU进入休眠时间越短&…...
