Java+Access綜合測評系統源碼分享:含論文、開題報告、任務書全套資料

JAVA+access綜合測評系統畢業設計

一、系統概述

本系統采用Java Swing開發前端界面,結合Access數據庫實現數據存儲,專為教育機構打造的綜合測評解決方案。系統包含學生管理、題庫管理、在線測評、成績分析四大核心模塊,實現了測評流程的全自動化。

二、系統架構設計

1. 技術選型

  • 前端:Java Swing
  • 數據庫:Access 2016
  • 數據訪問:UCanAccess JDBC驅動
  • 開發工具:Eclipse + WindowBuilder

2. 系統架構

采用經典的MVC架構模式:

├── model(數據模型層)
│   ├── Student.java
│   ├── Question.java
│   ├── Exam.java
│   └── Score.java
├── view(視圖層)
│   ├── LoginFrame.java
│   ├── MainFrame.java
│   ├── StudentManagerPanel.java
│   └── ExamPanel.java
└── controller(控制層)├── DBController.java├── StudentController.java├── QuestionController.java└── ExamController.java

三、核心代碼實現

1. 數據庫連接模塊

import net.ucanaccess.jdbc.UcanaccessDriver;
import java.sql.*;public class DBController {private static final String DB_PATH = "jdbc:ucanaccess://D:/ExamSystem.accdb";private Connection conn;// 單例模式獲取數據庫連接public static DBController getInstance() {return DBControllerHolder.INSTANCE;}private static class DBControllerHolder {private static final DBController INSTANCE = new DBController();}private DBController() {try {Class.forName(UcanaccessDriver.class.getName());conn = DriverManager.getConnection(DB_PATH);} catch (Exception e) {e.printStackTrace();}}// 執行查詢public ResultSet executeQuery(String sql) throws SQLException {Statement stmt = conn.createStatement();return stmt.executeQuery(sql);}// 執行更新public int executeUpdate(String sql) throws SQLException {Statement stmt = conn.createStatement();return stmt.executeUpdate(sql);}
}

2. 學生管理模塊

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class StudentController {private DBController dbController = DBController.getInstance();// 添加學生public boolean addStudent(Student student) {String sql = String.format("INSERT INTO Students(student_id, name, gender, class) " +"VALUES('%s', '%s', '%s', '%s')",student.getStudentId(),student.getName(),student.getGender(),student.getClass());try {return dbController.executeUpdate(sql) > 0;} catch (SQLException e) {e.printStackTrace();return false;}}// 查詢所有學生public List<Student> getAllStudents() {List<Student> students = new ArrayList<>();String sql = "SELECT * FROM Students";try (ResultSet rs = dbController.executeQuery(sql)) {while (rs.next()) {Student student = new Student(rs.getString("student_id"),rs.getString("name"),rs.getString("gender"),rs.getString("class"));students.add(student);}} catch (SQLException e) {e.printStackTrace();}return students;}
}

3. 在線測評模塊

import java.util.*;public class ExamController {private DBController dbController = DBController.getInstance();// 生成隨機試卷public List<Question> generateExamPaper(int questionCount, int categoryId) {List<Question> allQuestions = loadQuestionsByCategory(categoryId);List<Question> examQuestions = new ArrayList<>();if (allQuestions.size() <= questionCount) {examQuestions.addAll(allQuestions);} else {Random random = new Random();Set<Integer> selected = new HashSet<>();while (selected.size() < questionCount) {int index = random.nextInt(allQuestions.size());if (!selected.contains(index)) {selected.add(index);examQuestions.add(allQuestions.get(index));}}}return examQuestions;}// 計算考試成績public int calculateScore(Map<Integer, String> answers, List<Question> questions) {int score = 0;for (Map.Entry<Integer, String> entry : answers.entrySet()) {int questionId = entry.getKey();String userAnswer = entry.getValue();for (Question question : questions) {if (question.getId() == questionId && question.getAnswer().equalsIgnoreCase(userAnswer)) {score += question.getScore();break;}}}return score;}
}

4. 成績分析模塊

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class ScoreAnalyzer {private DBController dbController = DBController.getInstance();// 獲取班級平均分public double getClassAverageScore(String className) {String sql = String.format("SELECT AVG(score) as avg_score FROM Scores " +"JOIN Students ON Scores.student_id = Students.student_id " +"WHERE Students.class = '%s'", className);try (ResultSet rs = dbController.executeQuery(sql)) {if (rs.next()) {return rs.getDouble("avg_score");}} catch (SQLException e) {e.printStackTrace();}return 0.0;}// 獲取成績分布public Map<String, Integer> getScoreDistribution(String className) {Map<String, Integer> distribution = new LinkedHashMap<>();distribution.put("0-59", 0);distribution.put("60-69", 0);distribution.put("70-79", 0);distribution.put("80-89", 0);distribution.put("90-100", 0);String sql = String.format("SELECT score FROM Scores " +"JOIN Students ON Scores.student_id = Students.student_id " +"WHERE Students.class = '%s'", className);try (ResultSet rs = dbController.executeQuery(sql)) {while (rs.next()) {int score = rs.getInt("score");if (score < 60) distribution.put("0-59", distribution.get("0-59") + 1);else if (score < 70) distribution.put("60-69", distribution.get("60-69") + 1);else if (score < 80) distribution.put("70-79", distribution.get("70-79") + 1);else if (score < 90) distribution.put("80-89", distribution.get("80-89") + 1);else distribution.put("90-100", distribution.get("90-100") + 1);}} catch (SQLException e) {e.printStackTrace();}return distribution;}
}

四、系統界面設計

采用Java Swing開發的GUI界面示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class LoginFrame extends JFrame {private JTextField txtUsername;private JPasswordField txtPassword;public LoginFrame() {setTitle("綜合測評系統 - 登錄");setSize(400, 300);setDefaultCloseOperation(EXIT_ON_CLOSE);setLocationRelativeTo(null);JPanel panel = new JPanel();panel.setLayout(null);add(panel);JLabel lblUsername = new JLabel("用戶名:");lblUsername.setBounds(100, 80, 80, 25);panel.add(lblUsername);txtUsername = new JTextField();txtUsername.setBounds(190, 80, 120, 25);panel.add(txtUsername);JLabel lblPassword = new JLabel("密碼:");lblPassword.setBounds(100, 120, 80, 25);panel.add(lblPassword);txtPassword = new JPasswordField();txtPassword.setBounds(190, 120, 120, 25);panel.add(txtPassword);JButton btnLogin = new JButton("登錄");btnLogin.setBounds(150, 180, 100, 30);btnLogin.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String username = txtUsername.getText();String password = new String(txtPassword.getPassword());if (authenticate(username, password)) {dispose();new MainFrame().setVisible(true);} else {JOptionPane.showMessageDialog(LoginFrame.this, "用戶名或密碼錯誤!", "登錄失敗", JOptionPane.ERROR_MESSAGE);}}});panel.add(btnLogin);}private boolean authenticate(String username, String password) {// 實際項目中應查詢數據庫驗證return "admin".equals(username) && "123456".equals(password);}public static void main(String[] args) {SwingUtilities.invokeLater(() -> new LoginFrame().setVisible(true));}
}

五、系統部署與測試

1. 環境要求

  • JDK 1.8+
  • Access 2016
  • UCanAccess 5.0.1

2. 部署步驟

  1. 創建Access數據庫并導入表結構
  2. 配置DBController中的數據庫路徑
  3. 編譯并運行LoginFrame類
  4. 使用默認管理員賬號登錄(admin/123456)

3. 測試用例

import org.junit.Test;
import static org.junit.Assert.*;public class ExamSystemTest {@Testpublic void testAddStudent() {StudentController controller = new StudentController();Student student = new Student("2025001", "張三", "男", "計算機1班");assertTrue(controller.addStudent(student));}@Testpublic void testCalculateScore() {ExamController controller = new ExamController();List<Question> questions = new ArrayList<>();questions.add(new Question(1, "Java的創始人是誰?", "A. Bill Gates", "B. James Gosling", "C. Steve Jobs", "B", 10));questions.add(new Question(2, "Java是哪一年誕生的?", "A. 1991", "B. 1995", "C. 1998", "B", 10));Map<Integer, String> answers = new HashMap<>();answers.put(1, "B");answers.put(2, "B");assertEquals(20, controller.calculateScore(answers, questions));}
}

六、畢業設計文檔框架

1. 開題報告

  • 研究背景與意義
  • 國內外研究現狀
  • 研究內容與方法
  • 技術路線與進度安排

2. 論文框架

  1. 引言
  2. 系統需求分析
  3. 系統設計
  4. 系統實現
  5. 系統測試
  6. 總結與展望

3. 任務書

  • 任務目標
  • 主要任務
  • 技術要求
  • 進度安排
  • 參考文獻

七、總結

本系統實現了教育測評的全流程管理,通過Java Swing與Access數據庫的結合,為小型教育機構提供了便捷的測評解決方案。系統采用模塊化設計,具有良好的可擴展性,可作為同類系統開發的參考。

3個SEO優化標題

  1. 「Java+Access綜合測評系統畢業設計全解析:從需求分析到源代碼實現」
  2. 「手把手教你開發綜合測評系統:Java Swing+Access數據庫完整教程」
  3. 「Java+Access綜合測評系統源碼分享:含論文、開題報告、任務書全套資料」

需要調整代碼細節或補充其他模塊(如前端界面優化、數據庫設計),請隨時告知。

JAVA+access綜合測評系統畢業設計

一、系統概述

本系統采用Java Swing開發前端界面,結合Access數據庫實現數據存儲,專為教育機構打造的綜合測評解決方案。系統包含學生管理、題庫管理、在線測評、成績分析四大核心模塊,實現了測評流程的全自動化。

二、系統架構設計

1. 技術選型

  • 前端:Java Swing
  • 數據庫:Access 2016
  • 數據訪問:UCanAccess JDBC驅動
  • 開發工具:Eclipse + WindowBuilder

2. 系統架構

采用經典的MVC架構模式:

├── model(數據模型層)
│   ├── Student.java
│   ├── Question.java
│   ├── Exam.java
│   └── Score.java
├── view(視圖層)
│   ├── LoginFrame.java
│   ├── MainFrame.java
│   ├── StudentManagerPanel.java
│   └── ExamPanel.java
└── controller(控制層)├── DBController.java├── StudentController.java├── QuestionController.java└── ExamController.java

三、核心代碼實現

1. 數據庫連接模塊

import net.ucanaccess.jdbc.UcanaccessDriver;
import java.sql.*;public class DBController {private static final String DB_PATH = "jdbc:ucanaccess://D:/ExamSystem.accdb";private Connection conn;// 單例模式獲取數據庫連接public static DBController getInstance() {return DBControllerHolder.INSTANCE;}private static class DBControllerHolder {private static final DBController INSTANCE = new DBController();}private DBController() {try {Class.forName(UcanaccessDriver.class.getName());conn = DriverManager.getConnection(DB_PATH);} catch (Exception e) {e.printStackTrace();}}// 執行查詢public ResultSet executeQuery(String sql) throws SQLException {Statement stmt = conn.createStatement();return stmt.executeQuery(sql);}// 執行更新public int executeUpdate(String sql) throws SQLException {Statement stmt = conn.createStatement();return stmt.executeUpdate(sql);}
}

2. 學生管理模塊

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class StudentController {private DBController dbController = DBController.getInstance();// 添加學生public boolean addStudent(Student student) {String sql = String.format("INSERT INTO Students(student_id, name, gender, class) " +"VALUES('%s', '%s', '%s', '%s')",student.getStudentId(),student.getName(),student.getGender(),student.getClass());try {return dbController.executeUpdate(sql) > 0;} catch (SQLException e) {e.printStackTrace();return false;}}// 查詢所有學生public List<Student> getAllStudents() {List<Student> students = new ArrayList<>();String sql = "SELECT * FROM Students";try (ResultSet rs = dbController.executeQuery(sql)) {while (rs.next()) {Student student = new Student(rs.getString("student_id"),rs.getString("name"),rs.getString("gender"),rs.getString("class"));students.add(student);}} catch (SQLException e) {e.printStackTrace();}return students;}
}

3. 在線測評模塊

import java.util.*;public class ExamController {private DBController dbController = DBController.getInstance();// 生成隨機試卷public List<Question> generateExamPaper(int questionCount, int categoryId) {List<Question> allQuestions = loadQuestionsByCategory(categoryId);List<Question> examQuestions = new ArrayList<>();if (allQuestions.size() <= questionCount) {examQuestions.addAll(allQuestions);} else {Random random = new Random();Set<Integer> selected = new HashSet<>();while (selected.size() < questionCount) {int index = random.nextInt(allQuestions.size());if (!selected.contains(index)) {selected.add(index);examQuestions.add(allQuestions.get(index));}}}return examQuestions;}// 計算考試成績public int calculateScore(Map<Integer, String> answers, List<Question> questions) {int score = 0;for (Map.Entry<Integer, String> entry : answers.entrySet()) {int questionId = entry.getKey();String userAnswer = entry.getValue();for (Question question : questions) {if (question.getId() == questionId && question.getAnswer().equalsIgnoreCase(userAnswer)) {score += question.getScore();break;}}}return score;}
}

4. 成績分析模塊

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class ScoreAnalyzer {private DBController dbController = DBController.getInstance();// 獲取班級平均分public double getClassAverageScore(String className) {String sql = String.format("SELECT AVG(score) as avg_score FROM Scores " +"JOIN Students ON Scores.student_id = Students.student_id " +"WHERE Students.class = '%s'", className);try (ResultSet rs = dbController.executeQuery(sql)) {if (rs.next()) {return rs.getDouble("avg_score");}} catch (SQLException e) {e.printStackTrace();}return 0.0;}// 獲取成績分布public Map<String, Integer> getScoreDistribution(String className) {Map<String, Integer> distribution = new LinkedHashMap<>();distribution.put("0-59", 0);distribution.put("60-69", 0);distribution.put("70-79", 0);distribution.put("80-89", 0);distribution.put("90-100", 0);String sql = String.format("SELECT score FROM Scores " +"JOIN Students ON Scores.student_id = Students.student_id " +"WHERE Students.class = '%s'", className);try (ResultSet rs = dbController.executeQuery(sql)) {while (rs.next()) {int score = rs.getInt("score");if (score < 60) distribution.put("0-59", distribution.get("0-59") + 1);else if (score < 70) distribution.put("60-69", distribution.get("60-69") + 1);else if (score < 80) distribution.put("70-79", distribution.get("70-79") + 1);else if (score < 90) distribution.put("80-89", distribution.get("80-89") + 1);else distribution.put("90-100", distribution.get("90-100") + 1);}} catch (SQLException e) {e.printStackTrace();}return distribution;}
}

四、系統界面設計

采用Java Swing開發的GUI界面示例:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class LoginFrame extends JFrame {private JTextField txtUsername;private JPasswordField txtPassword;public LoginFrame() {setTitle("綜合測評系統 - 登錄");setSize(400, 300);setDefaultCloseOperation(EXIT_ON_CLOSE);setLocationRelativeTo(null);JPanel panel = new JPanel();panel.setLayout(null);add(panel);JLabel lblUsername = new JLabel("用戶名:");lblUsername.setBounds(100, 80, 80, 25);panel.add(lblUsername);txtUsername = new JTextField();txtUsername.setBounds(190, 80, 120, 25);panel.add(txtUsername);JLabel lblPassword = new JLabel("密碼:");lblPassword.setBounds(100, 120, 80, 25);panel.add(lblPassword);txtPassword = new JPasswordField();txtPassword.setBounds(190, 120, 120, 25);panel.add(txtPassword);JButton btnLogin = new JButton("登錄");btnLogin.setBounds(150, 180, 100, 30);btnLogin.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String username = txtUsername.getText();String password = new String(txtPassword.getPassword());if (authenticate(username, password)) {dispose();new MainFrame().setVisible(true);} else {JOptionPane.showMessageDialog(LoginFrame.this, "用戶名或密碼錯誤!", "登錄失敗", JOptionPane.ERROR_MESSAGE);}}});panel.add(btnLogin);}private boolean authenticate(String username, String password) {// 實際項目中應查詢數據庫驗證return "admin".equals(username) && "123456".equals(password);}public static void main(String[] args) {SwingUtilities.invokeLater(() -> new LoginFrame().setVisible(true));}
}

五、系統部署與測試

1. 環境要求

  • JDK 1.8+
  • Access 2016
  • UCanAccess 5.0.1

2. 部署步驟

  1. 創建Access數據庫并導入表結構
  2. 配置DBController中的數據庫路徑
  3. 編譯并運行LoginFrame類
  4. 使用默認管理員賬號登錄(admin/123456)

3. 測試用例

import org.junit.Test;
import static org.junit.Assert.*;public class ExamSystemTest {@Testpublic void testAddStudent() {StudentController controller = new StudentController();Student student = new Student("2025001", "張三", "男", "計算機1班");assertTrue(controller.addStudent(student));}@Testpublic void testCalculateScore() {ExamController controller = new ExamController();List<Question> questions = new ArrayList<>();questions.add(new Question(1, "Java的創始人是誰?", "A. Bill Gates", "B. James Gosling", "C. Steve Jobs", "B", 10));questions.add(new Question(2, "Java是哪一年誕生的?", "A. 1991", "B. 1995", "C. 1998", "B", 10));Map<Integer, String> answers = new HashMap<>();answers.put(1, "B");answers.put(2, "B");assertEquals(20, controller.calculateScore(answers, questions));}
}

六、畢業設計文檔框架

1. 開題報告

  • 研究背景與意義
  • 國內外研究現狀
  • 研究內容與方法
  • 技術路線與進度安排

2. 論文框架

  1. 引言
  2. 系統需求分析
  3. 系統設計
  4. 系統實現
  5. 系統測試
  6. 總結與展望

3. 任務書

  • 任務目標
  • 主要任務
  • 技術要求
  • 進度安排
  • 參考文獻

七、總結

本系統實現了教育測評的全流程管理,通過Java Swing與Access數據庫的結合,為小型教育機構提供了便捷的測評解決方案。系統采用模塊化設計,具有良好的可擴展性,可作為同類系統開發的參考。

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

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

相關文章

【python】RGB to YUV and YUV to RGB

文章目錄 1、YUV2、YUV vs RGB3、RGB to YUV4、YUV to RGB附錄——YUV NV12 vs YUV NV21參考1、YUV YUV 顏色空間,又常被稱作 YCbCr 顏色空間,是用于數字電視的顏色空間,在 ITU-R BT.601、BT.709、BT.2020 標準中被明確定義,這三種標準分別針對標清、高清、超高清數字電視…

運行示例程序和一些基本操作

歡迎 ----> 示例 --> 選擇sample CTRL B 編譯代碼 CTRL R 運行exe 項目 中 Shadow build 表示是否 編譯生成文件和 源碼是否放一塊 勾上不在同一個地方 已有項目情況下怎么打開項目 方法一: 左鍵雙擊 xxx.pro 方法二: 文件菜單里面 選擇打開項目

計算機網絡第2章(下):物理層傳輸介質與核心設備全面解析

目錄 一、傳輸介質1.1 傳輸介質的分類1.2 導向型傳輸介質1.2.1 雙絞線&#xff08;Twisted Pair&#xff09;1.2.2 同軸電纜&#xff08;Coaxial Cable&#xff09;1.2.3 光纖&#xff08;Optical Fiber&#xff09;1.2.4 以太網對有線傳輸介質的命名規則 1.3 非導向型傳輸介質…

PHP文件包含漏洞詳解:原理、利用與防御

PHP文件包含漏洞詳解&#xff1a;原理、利用與防御 什么是文件包含漏洞&#xff1f; 文件包含漏洞是PHP應用程序中常見的安全問題&#xff0c;當開發者使用包含函數引入文件時&#xff0c;如果傳入的文件名參數未經嚴格校驗&#xff0c;攻擊者就可能利用這個漏洞讀取敏感文件…

5.4.2 Spring Boot整合Redis

本次實戰主要圍繞Spring Boot與Redis的整合展開&#xff0c;首先創建了一個Spring Boot項目&#xff0c;并配置了Redis的相關屬性。接著&#xff0c;定義了三個實體類&#xff1a;Address、Family和Person&#xff0c;分別表示地址、家庭成員和個人信息&#xff0c;并使用Index…

java內存模型JMM

Java 內存模型&#xff08;Java Memory Model&#xff0c;JMM&#xff09;定義了 Java 程序中的變量、線程如何和本地內存以及主內存進行交互的規則。它主要涉及到多線程環境下的共享變量可見性、指令重排等問題&#xff0c;是理解并發編程中的關鍵概念。 核心概念&#xff1a…

配置git命令縮寫

以下是 Git 命令縮寫的配置方法及常用方案&#xff0c;適用于 Linux/macOS/Windows 系統&#xff1a; &#x1f527; 一、配置方法 1. 命令行設置&#xff08;推薦&#xff09; # 基礎命令縮寫 git config --global alias.st status git config --global alias.co che…

準確--k8s cgroup問題排查

k8s cgroup問題排查 6月 06 17:20:39 k8s-node01 containerd[1515]: time"2025-06-06T17:20:39.42902033408:00" levelerror msg"StartContainer fo r \"46ae0ef9618b96447a1f28fd2229647fe671e8acbcec02c8c46b37051130c8c4\" failed" error&qu…

Go 中 map 的雙值檢測寫法詳解

Go 中 map 的雙值檢測寫法詳解 在 Go 中&#xff0c;if char, exists : pairs[s[i]]; exists { 是一種利用 Go 語言特性編寫的優雅條件語句&#xff0c;用于檢測 map 中是否存在某個鍵。讓我們分解解釋這種寫法&#xff1a; 語法結構解析 if value, ok : mapVariable[key]; …

C# Wkhtmltopdf HTML轉PDF碰到的問題

最近碰到一個Html轉PDF的需求&#xff0c;看了一下基本上都是需要依賴Wkhtmltopdf&#xff0c;需要在Windows或者linux安裝這個可以后使用。找了一下選擇了HtmlToPDFCore&#xff0c;這個庫是對Wkhtmltopdf.NetCore簡單二次封裝&#xff0c;這個庫的好處就是通過NuGet安裝HtmlT…

grafana 批量視圖備份及恢復(含數據源)

一、grafana 批量視圖備份 import requests import json import urllib3 import osfrom requests.auth import HTTPBasicAuthfilename_folders_map "folders_map.json" type_folder "dash-folder" type_dashboard "dash-db"# Grafana服務器地…

.Net Framework 4/C# 關鍵字(非常用,持續更新...)

一、is 關鍵字 is 關鍵字用于檢查對象是否于給定類型兼容,如果兼容將返回 true,如果不兼容則返回 false,在進行類型轉換前,可以先使用 is 關鍵字判斷對象是否與指定類型兼容,如果兼容才進行轉換,這樣的轉換是安全的。 例如有:首先創建一個字符串對象,然后將字符串對象隱…

露亦如電 · 時之沙 | 讓遺憾在灰燼里隨風而去

注&#xff1a;略作重排&#xff0c;未整理去重。 一個人最了不起的能力&#xff1a;快速翻篇 原創 十點邀約作者 棠唐 2022 年 11 月 29 日 20:12 福建 《了凡四訓》有言&#xff1a;“從前種種&#xff0c;譬如昨日死&#xff1b;從后種種&#xff0c;譬如今日生。” 人生猶…

python爬蟲:Newspaper3k 的詳細使用(好用的新聞網站文章抓取和解析的Python庫)

更多內容請見: 爬蟲和逆向教程-專欄介紹和目錄 文章目錄 一、Newspaper3k 概述1.1 Newspaper3k 介紹1.2 主要功能1.3 典型應用場景1.4 安裝二、基本用法2.2 提取單篇文章的內容2.2 處理多篇文檔三、高級選項3.1 自定義配置3.2 分析文章情感四、實戰案例4.1 構建新聞摘要聚合器…

FastAPI安全機制:從OAuth2到JWT的魔法通關秘籍

title: FastAPI安全機制:從OAuth2到JWT的魔法通關秘籍 date: 2025/06/07 08:40:35 updated: 2025/06/07 08:40:35 author: cmdragon excerpt: FastAPI 的安全機制基于 OAuth2 規范、JWT 和依賴注入系統三大核心組件,提供了標準化的授權框架和無狀態的身份驗證。OAuth2 密碼流…

超大規模芯片驗證:基于AMD VP1902的S8-100原型驗證系統實測性能翻倍

引言&#xff1a; 隨著AI、HPC及超大規模芯片設計需求呈指數級增長原型驗證平臺已成為芯片設計流程中驗證復雜架構、縮短迭代周期的核心工具。然而&#xff0c;傳統原型驗證系統受限于單芯片容量&#xff08;通常<5000萬門&#xff09;、多芯片分割效率及系統級聯能力&#…

python電子學會三級的零碎筆記

1、join (1) .join(s)\n?&#xff1a;這種方式首先將列表s中的每個元素通過空格連接成一個字符串&#xff0c;然后在字符串末尾添加一個換行符\n。 ?示例?&#xff1a;如果s [a, b, c]&#xff0c;則 .join(s)\n的結果是a b c\n&#xff0c;寫入文件時所有元素會在一行…

TongWeb7.0動態密鑰說明

為解決TongWeb密碼硬編碼問題&#xff0c;TongWeb7.0.4.9_M5及之后版本采用動態密鑰&#xff0c;在使用過程或升級過程中可能會遇到密碼加密異常問題。對其做一個說明&#xff1a; 在TongWeb單節點情況下&#xff0c;根節點和通過domain命令建的域&#xff0c;數據源用戶名和密…

【LLMs篇】14:擴散語言模型的理論優勢與局限性

項目內容論文標題擴散語言模型的理論優勢與局限性 (Theoretical Benefit and Limitation of Diffusion Language Model)研究背景擴散語言模型&#xff08;尤其是掩碼擴散模型 MDM&#xff09;因其并行生成能力被認為有潛力超越自回歸模型&#xff0c;但其在效率-準確性上的權衡…

歡樂熊大話藍牙知識14:用 STM32 或 EFR32 實現 BLE 通信模塊:從0到藍牙,你也能搞!

&#x1f680; 用 STM32 或 EFR32 實現 BLE 通信模塊&#xff1a;從0到藍牙&#xff0c;你也能搞&#xff01; “我能不能自己用 STM32 或 EFR32 實現一個 BLE 模塊&#xff1f;” 答案當然是&#xff1a;能&#xff01;還能很帥&#xff01; &#x1f468;?&#x1f3ed; 前…