論壇系統測試報告

目錄

  • 一、項目背景
  • 二、論壇系統測試用例思維導圖
  • 三、論壇系統測試
    • 3.1界面測試
    • 3.2登陸測試
    • 3.3主頁測試
    • 3.4個人中心測試
  • 四、自動化測試腳本
    • 4.1配置驅動
    • 4.2創建瀏覽器類
    • 4.3功能測試
      • 4.3.1登陸測試
      • 4.3.2注冊測試
      • 4.3.3主頁測試
      • 4.3.4帖子編輯
      • 4.3.5運行主代碼
  • 五、BUG分析
    • 六、測試總結

一、項目背景

論壇系統致力于打造一個多元交流社區,吸引各領域專業人士、愛好者及普通用戶匯聚一堂。用戶可在開放的環境中充分交流。伴隨互聯網用戶群體持續壯大,尤其是年輕一代網民對在線交流和知識獲取的需求不斷攀升,論壇作為經典且有效的互動平臺,蘊藏著巨大發展潛力。通過論壇系統建設,期望滿足不同用戶的多樣化需求,提升信息交流效率與質量,為用戶創造更多價值,助力互聯網內容生態的健康、持續發展。

二、論壇系統測試用例思維導圖

對于論壇系統簡單可以分為六類方面進行測試:界面測試、安全測試、易用性測試、兼容性測試、功能測試
在這里插入圖片描述

三、論壇系統測試

3.1界面測試

在這里插入圖片描述

  • 用戶登陸框雖然沒有在屏幕正中央,好在用白色和背景板顏色區分更加顯眼,并標有黑體“用戶登陸”。
  • 用戶名及密碼輸入框大小合適,讓用戶容易輸入。
  • 登陸按鈕用藍色框格包圍使得用戶能加輕松登陸。
  • “點擊注冊”字樣用藍色標識,時用戶容易找到。
  • 密碼框內“小眼睛”有顯示密碼功能。

3.2登陸測試

  • 用戶名及密碼為空時輸入框下顯示紅色“用戶名不能為空”或“密碼不能為空”字樣。
    (用戶名:zhangsan 密碼:12345 為例)
    在這里插入圖片描述
  • 輸入正確用戶名及錯誤密碼,提示用戶名或密碼錯誤.
    在這里插入圖片描述
  • 輸入錯誤用戶名及正確密碼.
    在這里插入圖片描述
  • 輸入正確用戶名及正確密碼
    進入論壇主頁
    在這里插入圖片描述

3.3主頁測試

  • 1.點擊發帖子

在這里插入圖片描述

  • 2.選擇板塊

在這里插入圖片描述

  • 3.輸入標題及內容

在這里插入圖片描述

  • 4.點擊發布

在這里插入圖片描述

  • 5.發布成功!!!

在這里插入圖片描述

  • 6.點擊輸入框輸入論壇測試

在這里插入圖片描述
測試發現點擊搜索框內的放大鏡無法搜索。

  • 7.點擊帖子標題

在這里插入圖片描述
顯示進入帖子

  • 8.點擊發私信

在這里插入圖片描述

  • 9.發布成功

在這里插入圖片描述
測試顯示沒有查找私信功能

  • 10.點擊回復

在這里插入圖片描述
回復成功!!!

3.4個人中心測試

  1. 點擊主頁頭像

在這里插入圖片描述

  1. 進入個人中心

在這里插入圖片描述

  1. 點擊修改昵稱/郵箱地址/電話號碼

在這里插入圖片描述
測試結果發現無法修改

  1. 點擊修改密碼

在這里插入圖片描述

  1. 修改成功

在這里插入圖片描述

四、自動化測試腳本

4.1配置驅動

Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。
WebDriverManager 是一個開源的 Java 庫,用于自動管理 Selenium WebDriver 所需的驅動程序(如 ChromeDriver、GeckoDriver、EdgeDriver 等)。它可以自動下載、設置和維護這些驅動程序,從而簡化了 Selenium 測試的配置過程

在pycharm軟件的設置中觀察是否安裝這兩個軟件包,如果沒有可能無法正常驅動打開本地瀏覽器
在這里插入圖片描述

4.2創建瀏覽器類

  • 每個功能都需要pycharm驅動瀏覽,若每個功能都有一份瀏覽器驅動,功能過多可能導致軟件崩潰,將驅動器類放入一個common文件,功能測試則放入test文件,image用于保存截屏圖片


在這里插入圖片描述

  • 驅動器類
    Lunta實例化出Driver類,每次測試功能時調用類對象driver,防止每個功能模塊都創建一個新的驅動器。
import datetime
import os
import sys
import timefrom selenium import webdriver
from selenium.webdriver.edge.service import Service
from webdriver_manager.microsoft import EdgeChromiumDriverManagerclass Driver:driver=""def __init__(self):#打開edge驅動管理EdsIns=EdgeChromiumDriverManager().install()options=webdriver.EdgeOptions()#創建edge瀏覽器對象self.driver=webdriver.Edge(service=Service(EdsIns),options=options)# 截屏功能def getScreenShot(self):dirname = datetime.datetime.now().strftime('%Y-%m-%d')if not os.path.exists("../images/" + dirname):os.mkdir("../images/" + dirname)filename = sys._getframe().f_back.f_code.co_name + "-" + datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S') + ".png"self.driver.save_screenshot(f'../images/{dirname}/' + filename)
Lunta=Driver()

4.3功能測試

4.3.1登陸測試

  1. 函數find_element()分別找出用戶名及密碼輸入框
  2. send_keys輸入內容
  3. click模擬用戶點擊登陸按鈕
  4. find_element找出主頁信息判斷是否登陸成功
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTaLgoin:url=""driver=""def __init__(self):self.url="http://127.0.0.1:9580/sign-in.html"self.driver=Lunta.driverself.driver.get(self.url)#成功登陸def LTLoginTest(self):self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR,"#submit").click()time.sleep(2)#查找頭像是否登陸成功self.driver.find_element(By.CSS_SELECTOR,"#index_nav_avatar")#截屏登陸成功頁面Lunta.getScreenShot()# self.driver.find_element(By.CSS_SELECTOR,"#index_nav_avatar").click()# self.driver.find_element(By.CSS_SELECTOR,"#index_user_logout").click()# Lunta.getScreenShot()#登陸失敗def LTFailTest(self):#密碼錯誤self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()#檢測是否出現密碼錯誤彈窗self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")#清空內容self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()# 用戶名錯誤self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhang")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 檢測是否出現密碼錯誤彈窗self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")# 清空內容self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()# 用戶名為空self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 檢測是否出現用戶名不能為空提示text=self.driver.find_element(By.CSS_SELECTOR, "#signInForm > div.mb-3 > div").textassert text=="用戶名不能為空"# 清空內容self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#password").clear()# 用戶名為空self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhang")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(1)Lunta.getScreenShot()# 檢測是否出現用戶名不能為空提示text = self.driver.find_element(By.CSS_SELECTOR, "#signInForm > div.mb-2 > div > div").textassert text == "密碼不能為空"

4.3.2注冊測試

  1. click模擬點擊注冊按鈕
  2. find_element找出用戶名,昵稱,密碼及確認密碼輸入框
  3. send_keys輸入內容
  4. 注冊失敗是否有彈窗提示
  5. 注冊成功返回登陸界面是否能登陸
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Lunta
class LunTareg:driver=""url=""def __init__(self):self.url = "http://127.0.0.1:9580/sign-in.html"self.driver = Lunta.driverself.driver.get(self.url)def LTreg(self):time.sleep(2)self.driver.implicitly_wait(2)self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a").click()#注冊成功self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR,"#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#policy").click()self.driver.find_element(By.CSS_SELECTOR,"#submit").click()time.sleep(2)Lunta.getScreenShot()self.driver.back()#登陸self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(2)# 查找頭像是否登陸成功self.driver.find_element(By.CSS_SELECTOR, "#index_nav_avatar")# 截屏登陸成功頁面Lunta.getScreenShot()time.sleep(2)self.driver.back()def LTrefaii(self):time.sleep(2)self.driver.implicitly_wait(2)#點擊注冊self.driver.find_element(By.CSS_SELECTOR,"body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a").click()# 注冊失敗(用戶已存在)self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#policy").click()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()#是否彈窗提示self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()# 注冊失敗(用戶名為空)self.driver.find_element(By.CSS_SELECTOR, "#username").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()# 是否提示text=self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(2) > div").textassert text=="用戶名不能為空"Lunta.getScreenShot()# 注冊失敗(昵稱為空)self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#nickname").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()# 是否提示text = self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(3) > div").textassert text == "昵稱不能為空"Lunta.getScreenShot()# 注冊失敗(密碼為空)self.driver.find_element(By.CSS_SELECTOR, "#nickname").send_keys("zhangs")self.driver.find_element(By.CSS_SELECTOR, "#password").clear()self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(2)# 是否提示text = self.driver.find_element(By.CSS_SELECTOR, "#signUpForm > div > div:nth-child(4) > div").textassert text == "密碼不能為空"Lunta.getScreenShot()# 注冊失敗(確認密碼錯誤)self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("1234")self.driver.find_element(By.CSS_SELECTOR, "#passwordRepeat").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()text=self.driver.find_element(By.CSS_SELECTOR,"#signUpForm > div > div:nth-child(5) > div > div").textassert text=="請檢查確認密碼"#未點擊同意self.driver.find_element(By.CSS_SELECTOR, "#policy").click()# 是否彈窗提示self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()self.driver.back()

4.3.3主頁測試

1.click點擊發帖子內容
2.send_keys輸入標題
3.send_keys輸入內容(編輯框外置無法完成交互)
4.Action鏈模擬點擊(click無法點擊)

import timefrom selenium.webdriver import ActionChains
from selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTahome():driver=""url=""def __init__(self):# 登陸狀態urlself.driver=Lunta.driverself.url="http://127.0.0.1:9580/index.html"self.driver.get(self.url)def LTPuTest(self):self.driver.implicitly_wait(5)#點擊發布帖子self.driver.find_element(By.CSS_SELECTOR,"#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post").click()#選擇板塊self.driver.find_element(By.CSS_SELECTOR,"#article_post_borad").click()#編輯框外置無法完成交互# 輸入標題,若能交互則完成以下命令# self.driver.find_element(By.CSS_SELECTOR, "#article_post_title").send_keys("如何年薪百萬")#self.driver.find_element(By.CSS_SELECTOR,"article_post_submit").click()# # Action鏈模擬點擊# element = self.driver.find_element(By.XPATH, '//*[@id="article_post_submit"]')# ActionChains(self.driver).move_to_element(element).click().perform()# # 提示帖子內容不能為空# self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")# Lunta.getScreenShot()#輸入標題self.driver.find_element(By.CSS_SELECTOR,"#article_post_title").send_keys("如何年薪百萬")#Action鏈模擬點擊element=self.driver.find_element(By.XPATH,'//*[@id="article_post_submit"]')ActionChains(self.driver).move_to_element(element).click().perform()#提示帖子內容不能為空self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()# 不輸入標題self.driver.find_element(By.CSS_SELECTOR,"#article_post_title").clear()# Action鏈模擬點擊element = self.driver.find_element(By.XPATH, '//*[@id="article_post_submit"]')ActionChains(self.driver).move_to_element(element).click().perform()# 提示輸入標題不能為空self.driver.find_element(By.CSS_SELECTOR, "body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()self.driver.back()

4.3.4帖子編輯

  • click點擊發帖子>私信>send_keys輸入內容>click點擊回復>find_element搜索"回復成功彈窗">click點擊回復>send_keys輸入內容>click點擊回復>find_element搜索“回復成功彈窗”>click點擊點贊
import timefrom selenium.webdriver.common.by import Byfrom common.untils import Luntaclass LunTaser:driver=""url=""def __init__(self):self.url="http://127.0.0.1:9580/index.html"self.driver=Lunta.driverself.driver.get(self.url)#搜索def LTaser(self):self.driver.implicitly_wait(5)self.driver.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.d-none.d-md-flex.me-3 > div > form > div > input").send_keys("1234")#點擊搜索self.driver.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.d-none.d-md-flex.me-3 > div > form > div > input").click()#搜索第一篇文章time.sleep(3)text=self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").textLunta.getScreenShot()#斷言是否搜索成功#assert text=="1234"#私信def LTiss(self):self.driver.implicitly_wait(5)Lunta.getScreenShot()self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#btn_details_send_message").click()self.driver.find_element(By.CSS_SELECTOR,"#index_message_receive_content").send_keys("上轉轉回收了吧")self.driver.find_element(By.CSS_SELECTOR,"#btn_index_send_message").click()Lunta.getScreenShot()#是否發布成功彈窗self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")Lunta.getScreenShot()#回復def LTreply(self):self.driver.implicitly_wait(5)time.sleep(5)self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#article_details_reply > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll").send_keys("哇哈哈")self.driver.find_element(By.CSS_SELECTOR,"#details_btn_article_reply > span").click()#內容為空無法發送Lunta.getScreenShot()#提示請輸入內容self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div")#點贊def LTlike(self):self.driver.implicitly_wait(5)self.driver.find_element(By.CSS_SELECTOR,"#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong").click()self.driver.find_element(By.CSS_SELECTOR,"#details_btn_like_count").click()#提示點贊成功self.driver.find_element(By.CSS_SELECTOR,"body > div.jq-toast-wrap.bottom-right > div > h2")time.sleep(1)Lunta.getScreenShot()

4.3.5運行主代碼

from test import LunTaLgoin
from test import LunTahome
from test import LunTareg
from test import LunTaserif __name__ == '__main__':# 注冊失敗LunTareg.LunTareg().LTrefaii()# 注冊成功LunTareg.LunTareg().LTreg()#登陸失敗LunTaLgoin.LunTaLgoin().LTFailTest()#登陸成功LunTaLgoin.LunTaLgoin().LTLoginTest()#主頁測試LunTahome.LunTahome().LTPuTest()# 帖子測試LunTaser.LunTaser().LTaser()LunTaser.LunTaser().LTiss()LunTaser.LunTaser().LTreply()LunTaser.LunTaser().LTlike()

五、BUG分析

  1. 搜索框輸入內容無法點擊搜索

在這里插入圖片描述

  1. 主頁板塊內容顯示不完全

在這里插入圖片描述

  1. 昵稱、郵箱地址、電話號碼、個人簡介無法修改

在這里插入圖片描述
在這里插入圖片描述

六、測試總結

本次論壇系統測試旨在全面驗證系統功能的完整性、穩定性及用戶體驗,確保系統能夠滿足用戶在信息交流、內容發布等方面的需求。測試范圍涵蓋了前臺用戶操作功能以及后臺管理功能,采用了多種測試方法,包括功能測試、性能測試、兼容性測試等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71438.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71438.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71438.shtml

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

相關文章

python量化交易——金融數據管理最佳實踐——使用qteasy大批量自動拉取金融數據

文章目錄 使用數據獲取渠道自動填充數據QTEASY數據拉取功能數據拉取接口refill_data_source()數據拉取API的功能特性多渠道拉取數據實現下載流量控制實現錯誤重試日志記錄其他功能 qteasy是一個功能全面且易用的量化交易策略框架, Github地址在這里。使用它&#x…

后端架構模式之-BFF(Backend-For-Frontend)

Backend-for-Frontend(BFF) 的概念與意義 1. 什么是 Backend-for-Frontend(BFF)? Backend-for-Frontend(簡稱 BFF)是一種后端架構模式,它為特定的前端應用(Web、移動端…

upload-labs靶場 1-21通關

目錄 1.Pass-01 前端繞過 分析 解題 2.Pass-02 服務器端檢測--修改IMME 分析 解題 3.Pass-03 黑名單繞過 分析 解題 4.Pass-04 .htaccess繞過 分析 解題 5.Pass-05 . .繞過和.user.ini繞過 分析 解題 6.Pass-06 大小寫繞過 分析 解題 7.Pass-07 空格繞過 分…

信貸風控系統架構設計

設計一個信貸風控系統需要綜合考慮業務需求、技術架構、數據治理、合規安全等多個維度。以下是從頂級Java架構師視角的系統設計方案,分模塊詳細說明: 一、系統架構設計原則 高可用性:7x24小時服務,多機房容災。低延遲&#xff1a…

Ubuntu20.04 在離線機器上安裝 NVIDIA Container Toolkit

步驟 1.下載4個安裝包 Index of /nvidia-docker/libnvidia-container/stable/ nvidia-container-toolkit-base_1.13.5-1_amd64.deb libnvidia-container1_1.13.5-1_amd64.deb libnvidia-container-tools_1.13.5-1_amd64.deb nvidia-container-toolkit_1.13.5-1_amd64.deb 步…

【工具】COME對比映射學習用于scRNA-seq數據的空間重構

介紹 單細胞RNA測序(scRNA-seq)能夠在單細胞分辨率下實現高通量轉錄組分析。固有的空間位置對于理解單細胞如何協調多細胞功能和驅動疾病至關重要。然而,在組織分離過程中,空間信息常常丟失。空間轉錄組學(ST&#xf…

Idea配置注釋模板

一、配置類注釋模板 打開IDEA,打開settings(快捷鍵:Ctrl Alt s),選擇Editor,找到File and Code Templates 這里以設置class文件為例,點擊Class,在右側配置以下內容 #if (${PACKAGE_NAME} && $…

pytorch高可用的設計策略和集成放大各自功能

在使用 PyTorch 編寫模型時,為確保模型具備高可用性,可從模型設計、代碼質量、訓練過程、部署等多個方面采取相應的方法,以下為你詳細介紹: 模型設計層面 模塊化設計 實現方式:將模型拆分成多個小的、獨立的模塊,每個模塊負責特定的功能。例如,在一個圖像分類模型中,可…

從開源大模型工具Ollama存在安全隱患思考企業級大模型應用如何嚴守安全紅線

近日,國家網絡安全通報中心通報大模型工具Ollama默認配置存在未授權訪問與模型竊取等安全隱患,引發了廣泛關注。Ollama作為一款開源的大模型管理工具,在為用戶提供便捷的同時,卻因缺乏有效的安全管控機制,存在數據泄露…

初識Qt · 信號與槽 · 基礎知識

目錄 前言: 信號和槽初識 兩個問題 前言: 本文我們正式開始介紹信號與槽這個概念,在談及Qt中的信號與槽這個概念之前,我們不妨回顧一下Linux中的信號,比如發生了除0錯誤,OS就會給該進程發送一個信號&am…

Kotlin 5種單例模式

在Kotlin中實現單例模式有多種方法,以下是幾種常見的方法: 餓漢式 餓漢式是最簡單的一種實現方式,在類加載時就完成了實例的初始化。 //餓漢式 object Singleton1 {fun printMessage() {println("餓漢式")} }懶漢式 懶漢式是延遲…

探秘基帶算法:從原理到5G時代的通信變革【一】引言

文章目錄 一、引言1.1 研究背景與意義1.2 研究目的與方法1.3 研究內容與創新點 本博客為系列博客,主要講解各基帶算法的原理與應用,包括:viterbi解碼、Turbo編解碼、Polar編解碼、CORDIC算法、CRC校驗、FFT/DFT、QAMtiaozhi/解調、QPSK調制/解…

C/C++輸入輸出(1)

1.getchar和putchar 1.1getchar() 函數原型: 1 int getchar(void); getchar()函數返回用戶從鍵盤輸入的字符,使用時不帶有任何參數。 程序運行到這個命令就會暫停,等待用戶從鍵盤輸入,等同于使用cin或scanf()方法讀取一個字符…

【消息隊列】數據庫的數據管理

1. 數據庫的選擇 對于當前實現消息隊列這樣的一個中間件來說,具體要使用哪個數據庫,是需要稍作考慮的,如果直接使用 MySQL 數據庫也是能實現正常的功能,但是 MySQL 也是一個客戶端服務器程序,也就意味著如果想在其他服…

飛機大戰lua迷你世界腳本

-- 迷你世界飛機大戰 v1.2 -- 星空露珠工作室制作 -- 最后更新:2024年1月 ----------------------------- -- 迷你世界API適配配置 ----------------------------- local UI { BASE_ID 7477478487091949474-22856, -- UI界面ID ELEMENTS { BG 1, -- 背景 BTN_LE…

圖解MOE大模型的7個核心問題并探討DeepSeekMoE的專家機制創新

原文地址:https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mixture-of-experts #mermaid-svg-FU7YUSIfuXO6EVHa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FU7YUSIfuXO6EVHa .error-icon{fill…

【智能機器人開發全流程:硬件選型、軟件架構與ROS實戰,打造高效機器人系統】

文章目錄 1. 硬件層設計(1) 傳感器選型(2) 計算平臺 2. 軟件架構設計(1) 核心模塊劃分(2) 通信框架 3. 關鍵實現步驟(1) 硬件-軟件接口開發(2) SLAM與導航實現(3) 仿真與測試 4. 典型框架示例基于ROS的移動機器人分層架構 5. 優化與擴展6. 開源項目參考 1. 硬件層設計 (1) 傳感…

React Native v0.78 更新

這個版本在 React Native 中引入了 React 19,并帶來了一些重要的新功能,例如 Android 矢量圖(Vector Drawables)的原生支持 以及 iOS 更好的 Brownfield 集成。 亮點 React 19 集成更小更快的發布節奏可選擇在 Metro 中啟用 Jav…

機器學習數學通關指南

? 寫在前面 💡 在代碼的世界里沉浸了十余載,我一直自詡邏輯思維敏捷,編程能力不俗。然而,當我初次接觸 DeepSeek-R1 并領略其清晰、系統的思考過程時,我不禁為之震撼。那一刻,我深刻意識到:在A…

MySQL 實驗1:Windows 環境下 MySQL5.5 安裝與配置

MySQL 實驗1:Windows 環境下 MySQL5.5 安裝與配置 目錄 MySQL 實驗1:Windows 環境下 MySQL5.5 安裝與配置 一、MySQL 軟件的下載二、安裝 MySQL三、配置 MySQL 1、配置環境變量2、安裝并啟動 MySQL 服務3、設置 MySQL 字符集4、為 root 用戶設置登錄密…