大創項目推薦 協同過濾電影推薦系統

文章目錄

  • 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.pswp.cn/news/215813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215813.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【軟件安裝】VMware安裝Centos7虛擬機并且設置靜態IP,實現Windows和Centos7網絡互相訪問

這篇文章,主要介紹VMware安裝Centos7虛擬機并且設置靜態IP,實現Windows和Centos7網絡互相訪問。 目錄 一、VMware安裝Centos7 1.1、下載Centos7鏡像 1.2、安裝Centos7系統 二、設置靜態IP地址 2.1、查看虛擬機網絡IP 2.2、禁用NetworkManager服務 …

每天五分鐘計算機視覺:VGG網絡相對于AlexNet網絡有哪些不同?

本文重點 在前面的課程中,我們已經學習了VGG網絡模型,也學習了AlexNet網絡模型,AlexNet模型先于VGG網絡模型產生,所以VGG在一定程度上要優于AlexNet模型,二者來看一下,二者究竟有什么不同? 深度…

Qt的坐標系系統 - 3個坐標系,2個變換

參考: https://zhuanlan.zhihu.com/p/584048811https://www.zhihu.com/tardis/zm/art/634951149?source_id1005 小談Qt的坐標系系統 Qt中有三個坐標系 設備坐標系窗口坐標系邏輯坐標系 設備坐標系: 即Device坐標系。也是物理坐標系。即真實的的物理坐標系。 …

給鼠標描述符打上注釋防止忘記

static uint8_t g_mouse_hid_desc[] { //通用桌面設備 0x05, 0x01, // USAGE_PAGE (Generic Desktop) //鼠標設備 0x09, 0x02, // USAGE (Mouse) //應用集合 0xa1, 0x01, // COLLECTION (Application) //指針設備 0x09, 0x01, // USAGE (Pointer) //物理集合 0xa1, 0x00, // C…

【Linux】free命令使用

free命令 ?free是指查看當前系統內存的使用情況,它顯示系統中剩余及已用的物理內存和交換內存,以及共享內存和被核心使用的緩沖區。 作者 作者:Brian Edmonds。 語法 free [參數] free 命令 -Linux手冊頁 命令選項及作用 執行令 &am…

【二分查找】【滑動窗口】LeeCode2528:最大化城市的最小電量

作者推薦 【動態規劃】【廣度優先】LeetCode2258:逃離火災 本文涉及的基礎知識點 二分查找算法合集 滑動窗口 題目 給你一個下標從 0 開始長度為 n 的整數數組 stations ,其中 stations[i] 表示第 i 座城市的供電站數目。 每個供電站可以在一定 范圍 內給所有城…

Java學習總結

1. Java集合體系框架 java.util中包含 Java 最常用的the collections framework。 Java集合類主要由兩個根接口Collection和Map派生出來的。 Collection 接口派生出了三個子接口List、Set、Queue。Map 接口 因此Java集合大致也可分成List、Set、Queue、Map四種接口體系。 …

CDH6.3.2安裝

文章目錄 [toc]一、CM簡介1、ClouderaManager的概念2、ClouderaManager的功能3、ClouderaManager的架構 二、準備清單1、部署步驟2、集群規劃3、軟件環境準備 三、安裝清單1、操作系統iso包2、JDK包3、MySQL包4、CM和CDH包5、部署ansible 四、基礎環境準備1、配置網絡2、配置ho…

Java項目開發,業務比較復雜如何減少bug

Java項目開發,業務比較復雜如何減少bug 當Java開發工作涉及復雜業務時,可以采取以下方法來減少bug的數量: 1、深入了解業務需求 充分了解業務需求,與業務人員進行充分的溝通和交流,確保對需求的理解正確。在需求分析…

el-collapse 默認展開第一個(實測有效)

<el-collapse accordion v-model"activeCollapse"> <el-collapse-item v-for"(item, index) in assetList" :name"index" :key"item.id" > 我這個是通過循環, 只需要v-model 綁定的值和 name 相等,就可以實現展開 然后就…

重新認識Word——給圖、表、公式等自動編號

重新認識Word——給圖、表、公式等自動編號 給圖增加題注題注失敗的情況給圖添加“如圖xx-xx所示” 給公式插入題注第一步——先加題注第二步——設置兩個制表符 解決題注“圖一-1”的問題 前面我們已經學習了如何引用多級列表自動編號了&#xff0c;現在我們有第二個問題&…

大數據湖體系規劃與建設方案:PPT全文51頁,附下載

關鍵詞&#xff1a;大數據解決方案&#xff0c;數據湖解決方案&#xff0c;數據數倉建設方案&#xff0c;大數據湖建設規劃&#xff0c;大數據湖發展趨勢 一、大數據湖體系規劃與建設背景 在傳統的企業信息化建設中&#xff0c;各個業務系統通常是獨立建設的&#xff0c;導致…

學習筆記10——Mysql的DDL語句

學習筆記系列開頭慣例發布一些尋親消息 鏈接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/197161.html 數據庫創建&#xff1a; CREATE DATABASE books&#xff1b; CREATE DATABASE IF NOT EXISTS books;更改字符集 ALTER DATABASE books CHARACTER SET gbk;庫的刪…

FFmpeg之AVFilterLink

這個結構體主要是用來link兩個filter的,它存在于每個AVFilterContext中 struct AVFilterContext {const AVClass *av_class; ///< needed for av_log() and filters common optionsconst AVFilter *filter; ///< the AVFilter of which this is an inst…

XX.push is not a function

錯誤通常發生在嘗試在非數組類型的變量上使用push方法 問題&#xff1a;定義了數組類型&#xff0c;用push方法一直報錯&#xff0c;感覺哪里都沒毛病 原因&#xff1a;雖然剛開始定義了數組類型&#xff0c;但可能是因為在代碼的某個地方將其重新賦值為了非數組類型的值。 …

【計算機網絡基礎2】IP地址和子網掩碼

1、IP地址 網絡地址 IP地址由網絡號&#xff08;包括子網號&#xff09;和主機號組成&#xff0c;網絡地址的主機號為全0&#xff0c;網絡地址代表著整個網絡。 廣播地址 廣播地址通常稱為直接廣播地址&#xff0c;是為了區分受限廣播地址。 廣播地址與網絡地址的主機號正…

Mybatis-Plus基礎之框架基礎

文章目錄 Mybatis-Plus 框架基礎引入 maven 依賴定義實體類&#xff0c;并標注注解定義 Mapper 接口&#xff0c;要求繼承自特定父接口使用 MapperScan 注解&#xff0c;掃描 mapper 接口所在位置驗證 Mybatis-Plus 框架基礎 MyBatis-Plus 是 MyBatis 的一種增強框架&#xff…

C語言常用字符串

目錄 1.什么是字符串 2.如何定義字符串 第3和第4定義的區別&#xff1a;3是字符串變量&#xff0c;4是字符串常量&#xff0c;不予許被修改 3.strlen和sizeof的區別 4.地址分配&#xff08;malloc,realloc,free,memset&#xff09; 案例 5.字符串拷貝(strcpy,strncpy) …

kafka創建新topic

創建topic bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytopic bin/kafka-topics.sh //bin目錄下的.sh --create --bootstrap-server //固定寫法 localhost:9092 //ip端口 --replication-fac…

vue 集成行政區域選擇插件region和數據回顯

故事&#xff1a;最近&#xff0c;項目需要進行行政區域圍欄的繪制&#xff0c;由于老舊項目是利用js保存全國行政區域地址和編碼&#xff0c;在選擇器select進行匹配顯示&#xff0c;但此方法復雜&#xff0c;因此選擇集成區域插件region 步驟一&#xff1a;用命令安裝region…