竞赛选题 协同过滤电影推荐系统

文章目录

  • 1 简介
  • 1 设计概要
  • 2 课题背景和目的
  • 3 协同过滤算法原理
    • 3.1 基于用户的协同过滤推荐算法实现原理
      • 3.1.1 步骤1
      • 3.1.2 步骤2
      • 3.1.3 步骤3
      • 3.1.4 步骤4
  • 4 系统实现
    • 4.1 开发环境
    • 4.2 系统功能描述
    • 4.3 系统数据流程
      • 4.3.1 用户端数据流程
      • 4.3.2 管理员端数据流程
    • 4.4 系统功能设计
  • 5 主要页面设计
    • 5.1 登录页面设计
    • 5.2 系统首页设计
    • 5.3 电影详情页面设计
    • 5.4 代码实现
      • 5.4.1 Django配置
    • 5.5 模板配置
    • 5.6 用户登录功能实现
    • 5.7 图片上传功能实现
    • 5.8 个性化推荐功能实现
  • 5 最后

1 简介

🔥 优质竞赛项目系列,今天要分享的是

基于协同过滤的电影推荐系统

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

1 设计概要

21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要费事费力的筛选、甄别自己喜欢或者感兴趣的数据。对网络电影服务来说,需要用到优秀的协同过滤推荐功能去辅助整个系统。

学长设计的系统基于Python技术,使用UML建模,采用Django框架组合进行设计,Mysql数据库存储数据。本系统的功能主要包括:用户注册、登录、信息维护、搜索电影、电影评分、个性化推荐以及管理员进行信息管理等。

个性化推荐功能使用基于用户的协同过滤算法和热点推荐来实现。开发工具主要有:Pycharm、Python3.8、Django3、mysql8、Navicat等。

电影在线推荐系统很大程度上提高了对电影管理的效率,符合广大用户的基本需求。

在这里插入图片描述

2 课题背景和目的

日益发展的网络技术与信息技术,各种电影网站也是逐渐应运而生,例如:腾讯视频、优酷视频、爱奇艺视频等。人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要人们费事费力的筛选、甄别自己喜欢或者感兴趣的数据。

这个课题主要是解决电影网站的个性化推荐功能,以便准确向用户推荐感兴趣的信息。个性化推荐的主要思想是,根据用户的历史操作行为,分析用户兴趣喜好,然后把用户比较感兴趣的同时没有操作行为的项目推荐给用户。个性化推荐也可以根据用户操作行为的变化而实时分析并推荐用户喜好程度比较高的项目,这样用户会对网站产生粘性,提高用户的忠诚度,为商家带来流量,进一步提高商家利润,具有较大的商业价值,可以达到双赢的目的。

3 协同过滤算法原理

3.1 基于用户的协同过滤推荐算法实现原理

传统的基于用户(User-Based)的协同过滤推荐算法实现原理分四个步骤:

3.1.1 步骤1

根据用户历史行为信息构建用户-
项目评分矩阵,用户历史行为信息包括项目评分、浏览历史、收藏历史、喜好标签等,本文以单一的项目评分为例,后期介绍其他行为信息和混合行为信息,用户-
项目评分矩阵如表1所示:

在这里插入图片描述

注:用户A对项目1的评分是1分,用户A对项目2没有评分。

3.1.2 步骤2

根据用户-
项目评分矩阵计算用户之间的相似度。计算相似度常用的方法有余弦算法、修正余弦算法、皮尔森算法等等(后期我们会将相似度算法展开讲解,这里以余弦算法为例)。余弦算法公式如图1所示:

在这里插入图片描述

在这里插入图片描述

3.1.3 步骤3

根据用户之间的相似度得到目标用户的最近邻居KNN。KNN的筛选常用的有两种方式,一种是设置相似度阀值(给定一个相似度的下限,大于下限的相似度为最近邻居),一种是根据与目标用户相似度的高低来选择前N个最近邻居(本次以前N个为例,后期会详细对比讲解两者)。相似度排序可用经典冒泡排序法。

3.1.4 步骤4

预测项目评分并进行推荐。最常用的预测公式如图所示:

在这里插入图片描述

注:该公式实际上是相似度和评分的加权平均数。在这里插入图片描述表示用户u对项目i的预测评分,n是最近邻集合,v是任意一个最近邻居,
表示最近邻v和目标用户u的相似度乘以最近邻v对项目i的评分。得到预测评分后按照评分高低进行降序推荐。

4 系统实现

4.1 开发环境

  • Python3.8,
  • Django3,
  • mysql8,
  • navicat数据库管理工具,
  • html页面,
  • javascript脚本,
  • jquery脚本,
  • bootstrap前端框架,
  • layer弹窗组件等。

4.2 系统功能描述

系统代码目录
在这里插入图片描述

项目功能

  • 前台首页地址:http://127.0.0.1:8000/
  • 后台首页地址:http://127.0.0.1:8000/admin
  • 管理员账号:admin 管理员密码:admin
  • 前台用户包含:注册、登录、注销、浏览电影、搜索电影、信息修改、电影评分、个性化推荐电影等功能;
  • 后台管理员包含:用户管理、电影管理、电影类型管理、评分管理、权限管理等。

性化推荐功能

游客采用热点推荐(根据电影总评分降序推荐),

登录用户,首先根据用户评分记录,使用基于用户的协同过滤推荐算法推荐电影,如果没有推荐结果采用热点推荐(根据电影总评分降序推荐)

算法的实现使用python常规函数,严格按照算法步骤实现。

举例:

用户A:对电影1,2,3进行评分
用户B:对电影1,2进行评分
用户C:对电影1进行评分
那么:
用户B,C 不会对用户A进行推荐
用户A,C 不会对用户B进行推荐
用户A,B 会对用户C进行推荐电影2

4.3 系统数据流程

电影在线推荐系统主要由用户端、管理员端组成。用户端主要负责用户注册、登录、信息维护、搜索电影、查看电影、电影评分、个性化推荐等,管理员端负责管理员登录、信息维护、用户管理、电影类型管理、电影管理、评分管理等。

4.3.1 用户端数据流程

用户端的基本流程共有四个步骤:

  • 1、用户在系统首页可浏览电影、搜索电影、个性化推荐。
  • 2、用户输入用户名、年龄、性别、邮箱、登录密码进行注册。
  • 3、用户注册成功后输入正确的登录凭证进入系统,若登录凭证不正确,系统会自动返回到登录页面,提示用户重新输入登录信息,直到用户成功登录进入系统。
  • 4、用户成功进入系统后,可以进行电影打分、修改信息、个性化推荐等。

具体如下图所示:

在这里插入图片描述

4.3.2 管理员端数据流程

管理员端的基本流程共有三个步骤:

1、管理员输入正确的登录凭证进入系统,若登录凭证不正确,系统会自动返回到登录页面,提示管理员重新输入登录信息,直到管理员成功登录进入系统。
2、管理员成功进入系统后,首页显示用户数量、电影类型数量、电影数量、评分数量等数据统计信息。
3、管理员具有用户管理、电影类型管理、电影管理、评分管理等功能。

根据上述流程可得到管理员端的数据流程图,具体如下图所示

在这里插入图片描述

4.4 系统功能设计

电影在线推荐系统主要由用户端、管理员端模块组成,各个模块下边又有许多小模块组成,每个模块的作用各不相同,但彼此之间又存在一定关系,通过分析上述模块之间的联系以及系统需求,可得到该系统的功能架构,具体如图

在这里插入图片描述

5 主要页面设计

5.1 登录页面设计

用户登录页面使用DIV标签布局,Form标签提交登录名、登录密码,登录时Jquery脚本会验证登录名或登录密码是否为空,如果为空,会给出提示取消登录操作,登陆成功也会给出登录成功提示

在这里插入图片描述

5.2 系统首页设计

统首页使用DIV标签布局,分为头页面、中间页面、底页面,其中头页面是公共页面,包含网站名称、搜索框、注册按钮、登录按钮、用户名、注销按钮、电影类型等,中间页面是内容页面,不同的页面展示不同的内容,底页面也是公共页面,使用Django的include指令引入头和底页面

在这里插入图片描述

在这里插入图片描述

5.3 电影详情页面设计

电影详情页面使用DIV标签布局,通过Django的include指令引入头页面和底页面,内容页展示电影封面、电影名称、电影类型、电影简介和五角星评分按钮。如果当前登录用户没有对该电影进行评分,那么评分五角星颜色是灰色,如果有用户评分,那么根据评分多少显示具体个数的黄色五角星,五角星评分功能使用Jquery的raty脚本组件

在这里插入图片描述

5.4 代码实现

5.4.1 Django配置

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。通过Pycharm工具可以轻松创建Django框架项目,初始项目中主要包含settings.py主配置文件、urls.py路由配置文件、manage.py项目启动配置文件等。settings.py主配置文件可配置项目自定义应用程序、数据库链接、视图路径、静态资源路径、日志等;urls.py路由配置文件主要是配置请求路由、项目名称等。

# 在setting.py中定义全局变量,该变量的变量名需要全部大写,否则会引用不到
import os
# import rpvpext.webutil
from pathlib import Path# 项目根目录:例如:F:\pycharmworkspace\WebMovieCFRSPython
BASE_DIR = Path(__file__).resolve().parent.parent# setting中的加密盐,该配置是django的安全配置,防止攻击用的,该值是startProject时用系统的某个算法产生
SECRET_KEY = 'django-insecure-9nvr8lf^amyc)9y)wgcm&2th*%j=2l-s4@_(%#z^%l1z4neyd$'# 调试模式是否开启
DEBUG = True# 访问web服务的的Ip配置,用于配置能够访问当前站点的域名(IP地址),
# 当 DEBUG = False 时,必须填写,有以下三种使用方法:
# [],空列表,表示只有127.0.0.1,localhost能访问本项目;
# ['*'],表示任何网络地址都能访问到当前项目;
# ['192.168.1.3', '192.168.3.3'] 表示只有当前两个主机能访问当前项目。
ALLOWED_HOSTS = ['*']# app应用的安装配置
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','apps.index.apps.AppsConfig',  # 自定义app,前台首页'apps.user.apps.AppsConfig',  # 自定义app,用户'apps.type.apps.AppsConfig',  # 自定义app,电影类型'apps.item.apps.AppsConfig',  # 自定义app,电影'apps.scorerecord.apps.AppsConfig',  # 自定义app,评分记录'apps.common.apps.AppsConfig'  # 自定义app,公共
]# django的中间件配置,即MIDDLEWARE设置,
# 所谓中间件就是从用户请求到用户请求结束期间所做的操作,
# 即用户的请求会次从上到下依次执行MIDDLEWARE中的配置,
# 然后服务器响应用户的时候会再次从下至上依次执行,
# 在request请求前后,和response响应前后执行
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware',  # 安全中间件'django.contrib.sessions.middleware.SessionMiddleware',  # 会话中间件, 启用会话框架'django.middleware.common.CommonMiddleware',  # 通用中间件# CSRF防御中间件,增加防御保护以防止跨站伪造请攻击。通过向表单Post请求中添加隐藏表单字段以及对请求进行检查以获取正确的值。'django.middleware.csrf.CsrfViewMiddleware',# admin用户认证中间件,在每个HttpRequest请求对象中添加user属性,表名当前已登录的用户'django.contrib.auth.middleware.AuthenticationMiddleware',# 消息中间件,提供Django的cookie以及session框架的支持,这两个基于消息中间件实现。'django.contrib.messages.middleware.MessageMiddleware',# X框架操作中间件,通过头部信息中增加X-Frame-OptionsLAI 防止简单的点击劫持。'django.middleware.clickjacking.XFrameOptionsMiddleware',# 前台登录权限验证中间件,自定义'apps.common.loginMiddleware.LoginMiddleware',
]# 指定根级url的配置
ROOT_URLCONF = 'MovieRecommendSystemPython.urls'# 它用于指定模板的配置信息,列表中每一元素都是一个字典。如下所示是 Django 默认自带模板引擎
# 全局上下文处理器提供的变量优先级高于单个视图函数给单个模板传递的变量。
# 这意味着全局上下文处理器提供的变量可能会覆盖你视图函数中自定义的本地变量,
# 因此请注意避免本地变量名与全局上下文处理器提供的变量名称重复。
# 这些变量名包括perms, user和debug等等。
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates',  # 默认使用的模板引擎'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 模板路径'APP_DIRS': True,  # 引擎是否在已安装应用程序(的目录)内查找模板源文件。'OPTIONS': {  # 传递给模板引擎的其他参数'context_processors': [  # 上下文处理器,也可以自定义,这样就可以在模板中直接使用debug、request、auth、message变量# 在模板里面可以直接使用settings的DEBUG参数以及强大的sql_queries:它本身是一个字典,# 其中包括当前页面执行SQL查询所需的时间'django.template.context_processors.debug',# 在模板中可以直接使用request对象'django.template.context_processors.request',# 在模板里面可以直接使用user,perms对象。'django.contrib.auth.context_processors.auth',# 在模板里面可以直接使用message对象。'django.contrib.messages.context_processors.messages',# 也可以继续添加# "django.template.context_processors.i18n",  # 在模板里面可以直接使用settings的LANGUAGES和LANGUAGE_CODE# 'django.template.context_processors.media',  # 可以在模板里面使用settings的MEDIA_URL参数# 'django.template.loaders.filesystem.Loader',# 'django.template.loaders.app_directories.Loader',],},},
]# 项目部署时,Django的内置服务器将使用的WSGI应用程序对象的完整Python路径。
WSGI_APPLICATION = 'MovieRecommendSystemPython.wsgi.application'# 数据库链接配置,也可以以配置文件的形式加载数据库信息,django目前支持sqlite、mysql、postgreSQL、oracle数据库
# sqlite数据库:'django.db.backends.sqlite3',
# postgreSQL数据库:'django.db.backends.postgresql_psycopg2',
# mysql数据库:'django.db.backends.mysql'
# oracle数据库:'django.db.backends.oracle'
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'movierecommendsystempython','USER': 'root','PASSWORD': 'root','HOST': '127.0.0.1','PORT': '3306',}
}# 这是一个支持插拔的密码验证器,且可以一次性配置多个,
# Django 通过这些内置组件来避免用户设置的密码等级不足的问题。
AUTH_PASSWORD_VALIDATORS = [{   # 检查密码和用户某些属性的相似性'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{   # 检查密码的最小长度(默认8)'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',},{   # 检查密码是否出现在常用密码表中'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',},{   # 检查密码是否全为数字'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',},
]# 设置语言zh-hans,zh-cn,en-us
LANGUAGE_CODE = 'zh-hans'
# 设置时区Asia/Shanghai,UTC
TIME_ZONE = 'Asia/Shanghai'
# 设置国际化,根据个人需要进行设置:
USE_I18N = True
# 相同内容被不同时区地区的用户访问时,是否以不同格式内容展示(例如时间,日期,数字)
USE_L10N = True
# 设置保存到数据库时间类型是否为UTC时间,如果不需要请设置为false,默认为true
USE_TZ = True# 它指的是静态资源的存放位置,静态资源包括 CSS、JS、Images。比如我们要在项目中添加一些静态图片
# 通常这些静态图片被存放在新建的 static 目录下,这样就实现了通过 STATIC_URL= '/static/' 路径对静态资源的访问。
STATIC_URL = '/static/'# 静态文件的路径
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')
]# 设置图片上传路径
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
# 图片的统一路由
MEDIA_URL = "/media/"# 日志
LOGGING = {'version': 1,'disable_existing_loggers': False,'handlers': {'console':{'level':'DEBUG','class':'logging.StreamHandler',},},'loggers': {'django.db.backends': {'handlers': ['console'],'propagate': True,'level':'DEBUG',},}
}

5.5 模板配置

模板是html文件,默认路径是项目根路径的templates文件夹中。Django模板中主要有两种特殊符号:{{ }}和 {% %},{{
}}表示变量可直接获取request、session、application中的变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作,可直接编写python代码。图5.5是前台index.html部分配置。

在这里插入图片描述

5.6 用户登录功能实现

用户在登录页面登录失败会提示登录失败原因,用户登录成功会提示正在跳转页面。用户登录实现代码具体如图

在这里插入图片描述

5.7 图片上传功能实现

本系统图片上传功能使用Django后台框架的Model组件实现,在model文件中直接声明实体类的属性类型是图片类型。图片上传功能代码具体如图

在这里插入图片描述

5.8 个性化推荐功能实现

基于用户的协同过滤推荐算法实现可分为三个步骤:首先将用户电影评分数据构建成用户-
电影评分矩阵,然后通过皮尔森相似度算法计算用户之间的相似度,再从中选出与目标用户相似度最高的TopN个最近邻用户,然后计算TopN个近邻用户的相似度与电影的加权平均数,最后得到K个推荐的电影。

在这里插入图片描述

在这里插入图片描述

5 最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024/07/05

1、梳理笔记 2、课堂习题 1、循环输入一个5位数&#xff0c;判断它是不是回文数。当输入0时循环结束。 即12321是回文数&#xff0c;个位与万位相同&#xff0c;十位与千位相同。 #include<stdio.h> int main(int argc, char const *argv[]) {while(1){int num0;printf(…

绿色金融相关数据合集(2007-2024年 具体看数据类型)

数据类型&#xff1a; 1.绿色债券数据&#xff1a;2014-2023 2.绿色信贷相关数据&#xff1a;2007-2022 3.全国各省及地级市绿色金融指数&#xff1a;1990-2022 4.碳排放权交易明细数据&#xff1a;2013-2024 5.绿色金融试点DID数据&#xff1a;2010-2023 数据来源&#…

【设计模式】工厂模式(定义 | 特点 | Demo入门讲解)

文章目录 定义简单工厂模式案例 | 代码Phone顶层接口设计Meizu品牌类Xiaomi品牌类PhoneFactory工厂类Customer 消费者类 工厂方法模式案例 | 代码PhoneFactory工厂类 Java高级特性---工厂模式与反射的高阶玩法方案&#xff1a;反射工厂模式 总结 其实工厂模式就是用一个代理类帮…

万界星空科技机械加工行业MES解决方案

机械加工行业作为制造业的重要组成部分&#xff0c;面临着生产效率、成本控制和产品质量提升等多重挑战。为了应对这些挑战&#xff0c;引入并实施制造执行系统&#xff08;MES&#xff09;成为了行业的必然选择。本文将详细介绍一种针对机械加工行业的MES解决方案&#xff0c;…

用MySQL+node+vue做一个学生信息管理系统(二):创建MySQL数据表、创建HTML用户列表页面

MySQL代码 CREATE DATABASE students;USE students;CREATE TABLE student( id INT COMMENT 学号, name VARCHAR(32) COMMENT 姓名, sex VARCHAR(8) COMMENT 性别, class VARCHAR(64) COMMENT 班级 )SHOW TABLES;下面介绍一下Vue框架的element-ui的使用方法&#xff0c;这里就不…

go 为什么是抢占式调度

GMP 模型 gmp模型是 golang 中用于调度管理 goroutine 的调度器。 调度器的发展史 在 Go 语言中&#xff0c;Goroutine 早期是没有设计成抢占式的&#xff0c;早期 Goroutine 只有读写、主动让出、锁等操作时才会触发调度切换。 这样有一个严重的问题&#xff0c;就是垃圾回…

鸿蒙笔记导航栏,路由,还有axios

1.导航组件 导航栏位置可以调整&#xff0c;导航栏位置 Entry Component struct t1 {build() {Tabs(){TabContent() {Text(qwer)}.tabBar("首页")TabContent() {Text(发现内容)}.tabBar(发现)TabContent() {Text(我的内容)}.tabBar("我的")}// 做平板适配…

【Springer出版 | EI稳定检索】第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024,7月19-21)

由浙江工业大学主办&#xff0c;第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024) 将于2024年7月19-21日在浙江杭州召开。 会议旨在为从事物联网、人工智能与机械自动化的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术&#xff0c;了解学…

基于java+springboot+vue实现的药店管理系统(文末源码+Lw)285

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;药品信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…

SSM家庭理财个人理财系统-JAVA【数据库设计、源码、开题报告】

第一章 绪论 1.1 课题背景、目的及意义 从 20 世纪末以来&#xff0c;在全球经济日趋一体化的背景之下&#xff0c;中国经济也得到了飞速的发展&#xff0c;家庭收入也快速增长。居民的消费结构发生了巨大变化&#xff0c;购置房产、旅游、汽车消费、教育等成为居民消费重点。…

一维前缀和的实现

这是C算法基础-基础算法专栏的第十一篇文章&#xff0c;专栏详情请见此处。 引入 我们用朴素做法求一维数组的区间和时&#xff0c;一般是从前向后循环累加&#xff0c;它的时间复杂度为&#xff0c;当求区间和的次数过多&#xff0c;则会有超时的可能&#xff0c;那有没有时间…

算法设计练笔

T1、给定由n个整数&#xff08;可能为负数&#xff09;组成的序列a1,a2,...,an&#xff0c;求该序列子段和的最大值。当所有整数均为负数时&#xff0c;其最大子段和为0。 【输入】 第一行一个整数&#xff0c;表示n的值, 1<n<100; 第二行n个整数&#xff0c;表示a1,a2,.…

【Unity URP】通过代码动态添加URP渲染通道RendererFeature

URP的渲染通道RendererFeature可以很方便的实现一些渲染问题,比如渲染顺序问题,遮挡后的材质替换等等。 那么我们如何通过代码来动态添加和修改呢? 首先我们需要获取到当前的URP配置文件,在对配置文件进行添加 1.通过反射获取当前UniversalRendererData 我们通过Graphic…

中国移动中国联通中国电信数字化转型营销销售讲师培训老师讲授AIGC大模型人工智能5G云算力网络云网终端AIGC人工智能宽带政企物联网专线 IDC智慧城市

唐兴通 数字化商业创新顾问、新媒体营销专家、数字化销售增长教练、沃顿商学院演讲嘉宾。全球创新增长战略大家EM罗杰斯&#xff08;创新的扩散&#xff09;、杰弗里摩尔&#xff08;跨越鸿沟&#xff09;、亨利切萨布鲁夫&#xff08;开放式创新&#xff09;在中国合作者。《…

gitee代码初次上传步骤

ps. 前提是已经下载安装gitee 一、在本地项目目录下空白处右击&#xff0c;选择“Git Bash Here” 二、初始化 git init 三、添加、提交代码&#xff08;注意add与点之间的空格&#xff09; git add . git commit -m 添加注释 四、连接、推送到gitee仓库 git remote add …

Java——IO流(二)-(4/7):不同编码读取乱码的问题,转换流-InputStreamReader、OutputStreamWriter

目录 不同编码读取出现乱码的问题 转换流 InputStreamReader(字符输入转换流) 实例演示(1) OutputStreamWriter(字符输出转换流) 实例演示(2) 不同编码读取出现乱码的问题 如果代码编码和被读取的文本文件的编码是一致的&#xff0c;使用字符流读取文本文件时不会出现乱…

【Mac】adobe CameraRaw 16 for mac(ps插件RAW处理工具)软件介绍

软件介绍 Adobe Camera Raw是一款专为处理和编辑数字照片原始文件&#xff08;RAW文件&#xff09;而设计的插件&#xff0c;它提供了丰富的功能来调整和优化图像。以下是它的主要特点和功能&#xff1a; 支持广泛的RAW格式&#xff1a; Adobe Camera Raw 16 支持处理来自各…

推出新的C2000™ F28P65x 实时微控制器,专为高效控制电力电子产品而构建(F28P650DH、F28P650DK、F28P650SH)

C2000™ F28P65x 实时微控制器是集中级性能、PWM 和模拟创新与系统成本优化等优势于一身。 F28P65x 系列是 C2000™ 实时微控制器 (MCU) 系列的中级性能系列产品&#xff0c;专为高效控制电力电子产品而构建。凭借超低延迟&#xff0c;F28P65x 通过更多的模拟功能和新的 PWM 功…

关于Unity粒子(2D序列帧粒子)的旋转、StartRotation值用脚本怎么动态设置

今天要用粒子做一个拖尾效果。由于对象的移动可以向任何方向&#xff0c;所以作为拖尾的粒子要根据方向做相应的旋转。 1.没有旋转的情况&#xff08;物体向下移动&#xff09;时&#xff0c;默认是下面这样的。 粒子发射器的形状是一个向上的长方形&#xff0c;粒子的移动方向…

基于LabVIEW的设备安装螺栓连接设计

介绍了一种基于LabVIEW的辅助设备安装螺栓连接设计案例。通过LabVIEW软件&#xff0c;实现了从螺栓规格预估、强度校核到物料选用的整个流程的软件化&#xff0c;提高了设计效率和安装可靠性。 项目背景 在轨道车辆设备安装中&#xff0c;螺栓连接作为一种常见的紧固方式&…