教材管理系统设计与实现

教材管理系统设计与实现

在这里插入图片描述

1. 系统概述

教材管理系统是一个基于PHP和SQL的Web应用程序,旨在为学校提供一个高效的教材管理平台。该系统可以帮助管理员录入教材信息、教师查询和申请教材、学生查询教材信息,提高教材管理的效率和透明度。

2. 技术栈
  • 前端:HTML5, CSS3, JavaScript, jQuery, Bootstrap
  • 后端:PHP
  • 数据库:MySQL
  • 服务器:Apache
3. 系统功能模块
  1. 用户管理

    • 用户注册与登录
    • 用户信息管理
    • 角色权限管理(管理员、教师、学生)
  2. 教材管理

    • 教材信息录入
    • 教材信息查询
    • 教材信息修改
    • 教材信息删除
  3. 申请管理

    • 教师申请教材
    • 管理员审批申请
  4. 库存管理

    • 教材库存查询
    • 教材库存更新
  5. 系统设置

    • 数据备份与恢复
    • 系统日志管理
    • 参数配置
4. 数据库设计
4.1 数据库表结构
  1. 用户表(users)

    • id (INT, 主键)
    • username (VARCHAR, 用户名)
    • password (VARCHAR, 密码)
    • role (VARCHAR, 角色)
    • created_at (DATETIME, 创建时间)
    • updated_at (DATETIME, 更新时间)
  2. 教材表(textbooks)

    • id (INT, 主键)
    • title (VARCHAR, 教材名称)
    • author (VARCHAR, 作者)
    • publisher (VARCHAR, 出版社)
    • isbn (VARCHAR, ISBN编号)
    • quantity (INT, 库存数量)
    • created_at (DATETIME, 创建时间)
    • updated_at (DATETIME, 更新时间)
  3. 申请表(applications)

    • id (INT, 主键)
    • user_id (INT, 外键,关联用户表)
    • textbook_id (INT, 外键,关联教材表)
    • quantity (INT, 申请数量)
    • status (VARCHAR, 申请状态)
    • created_at (DATETIME, 创建时间)
    • updated_at (DATETIME, 更新时间)
5. 系统架构设计
5.1 层次结构
  1. 表现层(Presentation Layer)

    • 负责接收用户的请求,并返回处理结果。
    • 使用PHP和HTML/CSS/JavaScript实现。
  2. 业务逻辑层(Business Logic Layer)

    • 负责处理具体的业务逻辑。
    • 使用PHP实现。
  3. 数据访问层(Data Access Layer)

    • 负责与数据库交互,执行增删改查操作。
    • 使用PHP的PDO扩展实现。
5.2 控制器(Controller)

控制器负责处理用户的请求,并调用相应的模型方法。示例如下:

<?php
session_start();

// 连接数据库
$host = 'localhost';
$db = 'textbook_management';
$user = 'root';
$pass = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Could not connect to the database $db :" . $e->getMessage());
}

// 用户登录
if (isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
    $stmt->execute(['username' => $username, 'password' => $password]);
    $user = $stmt->fetch();

    if ($user) {
        $_SESSION['user'] = $user;
        header('Location: dashboard.php');
    } else {
        echo "Invalid username or password.";
    }
}
?>
5.3 模型(Model)

模型负责处理数据的存取操作。示例如下:

<?php
class Textbook {
    private $pdo;

    public function __construct($pdo) {
        $this->pdo = $pdo;
    }

    public function getAllTextbooks() {
        $stmt = $this->pdo->query("SELECT * FROM textbooks");
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function addTextbook($title, $author, $publisher, $isbn, $quantity) {
        $stmt = $this->pdo->prepare("INSERT INTO textbooks (title, author, publisher, isbn, quantity) VALUES (:title, :author, :publisher, :isbn, :quantity)");
        $stmt->execute(['title' => $title, 'author' => $author, 'publisher' => $publisher, 'isbn' => $isbn, 'quantity' => $quantity]);
    }

    public function getTextbookById($id) {
        $stmt = $this->pdo->prepare("SELECT * FROM textbooks WHERE id = :id");
        $stmt->execute(['id' => $id]);
        return $stmt->fetch(PDO::FETCH_ASSOC);
    }

    public function updateTextbook($id, $title, $author, $publisher, $isbn, $quantity) {
        $stmt = $this->pdo->prepare("UPDATE textbooks SET title = :title, author = :author, publisher = :publisher, isbn = :isbn, quantity = :quantity WHERE id = :id");
        $stmt->execute(['id' => $id, 'title' => $title, 'author' => $author, 'publisher' => $publisher, 'isbn' => $isbn, 'quantity' => $quantity]);
    }

    public function deleteTextbook($id) {
        $stmt = $this->pdo->prepare("DELETE FROM textbooks WHERE id = :id");
        $stmt->execute(['id' => $id]);
    }
}
?>
5.4 视图(View)

视图负责显示数据。示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>教材列表</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>教材列表</h1>
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>教材名称</th>
                    <th>作者</th>
                    <th>出版社</th>
                    <th>ISBN编号</th>
                    <th>库存数量</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($textbooks as $textbook): ?>
                    <tr>
                        <td><?php echo $textbook['title']; ?></td>
                        <td><?php echo $textbook['author']; ?></td>
                        <td><?php echo $textbook['publisher']; ?></td>
                        <td><?php echo $textbook['isbn']; ?></td>
                        <td><?php echo $textbook['quantity']; ?></td>
                        <td>
                            <a href="edit-textbook.php?id=<?php echo $textbook['id']; ?>" class="btn btn-primary">编辑</a>
                            <a href="delete-textbook.php?id=<?php echo $textbook['id']; ?>" class="btn btn-danger">删除</a>
                        </td>
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
        <a href="add-textbook.php" class="btn btn-success">添加教材</a>
    </div>
</body>
</html>
6. 功能实现
6.1 用户注册与登录
  • 注册页面(register.php)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>注册</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>注册</h1>
        <form action="register.php" method="post">
            <div class="form-group">
                <label for="username">用户名</label>
                <input type="text" class="form-control" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" class="form-control" id="password" name="password" required>
            </div>
            <div class="form-group">
                <label for="role">角色</label>
                <select class="form-control" id="role" name="role" required>
                    <option value="admin">管理员</option>
                    <option value="teacher">教师</option>
                    <option value="student">学生</option>
                </select>
            </div>
            <button type="submit" name="register" class="btn btn-primary">注册</button>
        </form>
    </div>
</body>
</html>
  • 注册处理(register.php)
<?php
session_start();

// 连接数据库
$host = 'localhost';
$db = 'textbook_management';
$user = 'root';
$pass = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Could not connect to the database $db :" . $e->getMessage());
}

if (isset($_POST['register'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $role = $_POST['role'];

    $stmt = $pdo->prepare("INSERT INTO users (username, password, role) VALUES (:username, :password, :role)");
    $stmt->execute(['username' => $username, 'password' => $password, 'role' => $role]);

    echo "注册成功!";
}
?>
  • 登录页面(login.php)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>登录</h1>
        <form action="login.php" method="post">
            <div class="form-group">
                <label for="username">用户名</label>
                <input type="text" class="form-control" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">密码</label>
                <input type="password" class="form-control" id="password" name="password" required>
            </div>
            <button type="submit" name="login" class="btn btn-primary">登录</button>
        </form>
    </div>
</body>
</html>
  • 登录处理(login.php)
<?php
session_start();

// 连接数据库
$host = 'localhost';
$db = 'textbook_management';
$user = 'root';
$pass = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Could not connect to the database $db :" . $e->getMessage());
}

if (isset($_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
    $stmt->execute(['username' => $username, 'password' => $password]);
    $user = $stmt->fetch();

    if ($user) {
        $_SESSION['user'] = $user;
        header('Location: dashboard.php');
    } else {
        echo "Invalid username or password.";
    }
}
?>
6.2 教材管理
  • 添加教材页面(add-textbook.php)
<?php
session_start();

if (!isset($_SESSION['user']) || $_SESSION['user']['role'] !== 'admin') {
    header('Location: login.php');
    exit;
}

$pdo = new PDO("mysql:host=localhost;dbname=textbook_management;charset=utf8", "root", "");

if (isset($_POST['submit'])) {
    $title = $_POST['title'];
    $author = $_POST['author'];
    $publisher = $_POST['publisher'];
    $isbn = $_POST['isbn'];
    $quantity = $_POST['quantity'];

    $textbook = new Textbook($pdo);
    $textbook->addTextbook($title, $author, $publisher, $isbn, $quantity);

    header('Location: manage-textbooks.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>添加教材</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>添加教材</h1>
        <form action="add-textbook.php" method="post">
            <div class="form-group">
                <label for="title">教材名称</label>
                <input type="text" class="form-control" id="title" name="title" required>
            </div>
            <div class="form-group">
                <label for="author">作者</label>
                <input type="text" class="form-control" id="author" name="author" required>
            </div>
            <div class="form-group">
                <label for="publisher">出版社</label>
                <input type="text" class="form-control" id="publisher" name="publisher" required>
            </div>
            <div class="form-group">
                <label for="isbn">ISBN编号</label>
                <input type="text" class="form-control" id="isbn" name="isbn" required>
            </div>
            <div class="form-group">
                <label for="quantity">库存数量</label>
                <input type="number" class="form-control" id="quantity" name="quantity" min="0" required>
            </div>
            <button type="submit" name="submit" class="btn btn-primary">添加</button>
        </form>
    </div>
</body>
</html>
6.3 教材申请管理
  • 教师申请教材页面(apply-textbook.php)
<?php
session_start();

if (!isset($_SESSION['user']) || $_SESSION['user']['role'] !== 'teacher') {
    header('Location: login.php');
    exit;
}

$pdo = new PDO("mysql:host=localhost;dbname=textbook_management;charset=utf8", "root", "");

$textbook = new Textbook($pdo);
$textbooks = $textbook->getAllTextbooks();

if (isset($_POST['submit'])) {
    $user_id = $_SESSION['user']['id'];
    $textbook_id = $_POST['textbook_id'];
    $quantity = $_POST['quantity'];

    $stmt = $pdo->prepare("INSERT INTO applications (user_id, textbook_id, quantity, status) VALUES (:user_id, :textbook_id, :quantity, 'pending')");
    $stmt->execute(['user_id' => $user_id, 'textbook_id' => $textbook_id, 'quantity' => $quantity]);

    header('Location: my-applications.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>申请教材</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>申请教材</h1>
        <form action="apply-textbook.php" method="post">
            <div class="form-group">
                <label for="textbook_id">教材</label>
                <select class="form-control" id="textbook_id" name="textbook_id" required>
                    <?php foreach ($textbooks as $textbook): ?>
                        <option value="<?php echo $textbook['id']; ?>"><?php echo $textbook['title']; ?> (库存: <?php echo $textbook['quantity']; ?>)</option>
                    <?php endforeach; ?>
                </select>
            </div>
            <div class="form-group">
                <label for="quantity">申请数量</label>
                <input type="number" class="form-control" id="quantity" name="quantity" min="1" required>
            </div>
            <button type="submit" name="submit" class="btn btn-primary">申请</button>
        </form>
    </div>
</body>
</html>
7. 安全性设计

为了保证系统的安全性,需要实现以下功能:

  • 用户认证:使用PHP会话管理进行用户认证和授权。
  • 数据校验:在控制器层进行输入参数的校验,防止SQL注入等攻击。
  • 日志记录:记录关键操作的日志,便于审计和故障排查。
8. 测试与部署
  • 单元测试:使用PHPUnit进行单元测试,确保各个模块的功能正确。
  • 集成测试:进行集成测试,确保各个模块之间的协同工作正常。
  • 部署:将应用程序部署到Apache服务器上,确保在生产环境中运行稳定。
9. 源代码

由于篇幅限制,无法完整展示所有源代码。以下是部分核心代码示例:

9.1 教材申请实体类(Application.php)
<?php
class Application {
    private $pdo;

    public function __construct($pdo) {
        $this->pdo = $pdo;
    }

    public function getAllApplications() {
        $stmt = $this->pdo->query("SELECT a.*, u.username, t.title FROM applications a JOIN users u ON a.user_id = u.id JOIN textbooks t ON a.textbook_id = t.id");
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function getApplicationsByUserId($user_id) {
        $stmt = $this->pdo->prepare("SELECT a.*, t.title FROM applications a JOIN textbooks t ON a.textbook_id = t.id WHERE a.user_id = :user_id");
        $stmt->execute(['user_id' => $user_id]);
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    public function approveApplication($id) {
        $stmt = $this->pdo->prepare("UPDATE applications SET status = 'approved' WHERE id = :id");
        $stmt->execute(['id' => $id]);
    }

    public function rejectApplication($id) {
        $stmt = $this->pdo->prepare("UPDATE applications SET status = 'rejected' WHERE id = :id");
        $stmt->execute(['id' => $id]);
    }
}
?>
9.2 查看我的申请页面(my-applications.php)
<?php
session_start();

if (!isset($_SESSION['user'])) {
    header('Location: login.php');
    exit;
}

$pdo = new PDO("mysql:host=localhost;dbname=textbook_management;charset=utf8", "root", "");

$application = new Application($pdo);
$applications = $application->getApplicationsByUserId($_SESSION['user']['id']);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的申请</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <h1>我的申请</h1>
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>教材名称</th>
                    <th>申请数量</th>
                    <th>申请状态</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($applications as $application): ?>
                    <tr>
                        <td><?php echo $application['title']; ?></td>
                        <td><?php echo $application['quantity']; ?></td>
                        <td><?php echo $application['status']; ?></td>
                        <td>
                            <?php if ($application['status'] === 'pending'): ?>
                                <a href="cancel-application.php?id=<?php echo $application['id']; ?>" class="btn btn-danger">取消申请</a>
                            <?php endif; ?>
                        </td>
                    </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
        <a href="apply-textbook.php" class="btn btn-primary">申请教材</a>
    </div>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时间序列分析】平稳时间序列分析——Wold分解定理和延迟算子

Wold分解定理 &#xff08;这个定理是平稳时间序列分析的理论基石。&#xff09; 对于任意一个离散平稳时间序列, 它都可以分解为两个不相关的平稳序列之和, 其中一个为确定性的 (deterministic), 另一个为随机性的(stochastic) xₜVₜξₜ&#xff0c;{V₁} 为确定性平稳序列…

基于SpringBoot的汽车配件销售管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

数图携手黄商集团,打造品类空间精细化管理体系!

数图合作伙伴又1 在这秋高气爽的时节&#xff0c;满怀激情地传递着喜人的消息&#xff1a;数图的合作伙伴队伍再次壮大。位于湖北黄冈的黄商集团&#xff0c;勇于拥抱时代发展的数字变革潮流&#xff0c;积极致力于探索精细化的品类空间管理之道&#xff0c;一步一个脚印&…

大模型日报|3 篇必读的大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.SocialGPT&#xff1a;贪婪分段提示优化实现社会关系推理 社会关系推理旨在从图像中识别朋友、配偶和同事等关系类别。虽然目前的方法采用了使用标注图像数据端到端训练专用网络的模式&#xff0c;但这些方法在通用…

Unity计算二维向量夹角余弦值和正弦值的优化方法参考

如果不考虑优化问题&#xff0c;计算两个向量的余弦值或者正弦值可以直接使用类似的方法&#xff1a; [SerializeField] Vector2 v1, v2;void Start() {float valCos Mathf.Acos(Vector2.SignedAngle(v1, v2));float valSin Mathf.Asin(Vector2.SignedAngle(v1, v2)); } 但是…

利用EasyExcel实现简易Excel导出

目标 通过注解形式完成对一个方法返回值的通用导出功能 工程搭建 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

Spring Boot框架:校园社团信息管理的现代化解决方案

3系统分析 3.1可行性分析 通过对本校园社团信息管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本校园社团信息管理系统采用SSM框架&#xff0c;JAVA作…

基于SpringBoot+Vue的前后端分离的大学自动排课系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 在这个背景下&#xf…

探索无线网IP地址:定义、修改方法及实践指南

在数字化时代&#xff0c;无线网络已成为我们日常生活和工作中不可或缺的一部分。它让我们能够随时随地接入互联网&#xff0c;享受信息交流的便利。然而&#xff0c;对于无线网络背后的技术细节&#xff0c;如IP地址&#xff0c;许多用户可能并不十分了解。IP地址&#xff0c;…

Spring IoC——IoC 容器的使用

1. 应用分层 应用分层是一种软件开发设计思想&#xff0c;它将应用程序分成 N 个层次&#xff0c;这 N 个层次分别负责各自的职责&#xff0c;多个层次之间协同提供完整的功能&#xff0c;根据项目的复杂度&#xff0c;可以分成三层&#xff0c;四层或更多层&#xff0c;MVC 就…

人工智能进程;算子加速的具体计算部分;大模型GPT5:参数18万亿;大模型面临问题

目录 人工智能进程 算子加速的简单理解,举例说明 一、简单理解 二、举例说明 一、算子加速的具体计算部分 二、举例说明 三、算子加速是否仅针对GPU 大模型GPT5:参数18万亿 大模型面临问题 算力集群设计框架 人工智能进程

深入理解Java集合:从基础到高级应用

深入理解Java集合&#xff1a;从基础到高级应用 1. 数组与集合的区别 1.1 相同点 数组和集合都是用于存储多个数据的容器&#xff0c;但它们的使用场景和特性各有不同。 1.2 不同点 长度&#xff1a;数组的长度在创建时就固定了&#xff0c;而集合的长度是动态可变的&…

【自动化测试之oracle数据库】MacOs如何安装oracle- client

操作系统为Mac OS&#xff0c;本地在pycharm上跑自动化脚本时&#xff0c;因为有操作oracle数据库的部分&#xff0c;所以需要安装oracle数据库的客户端&#xff0c;并install cx_oracle,本文主要介绍如何在macOS上完成安装&#xff0c;并在python自动化测试代码中配置&#xf…

如何在vscode中使用鼠标滑轮滚动来改变字体大小

实现内容&#xff1a;如何在vscode中使用鼠标滑轮滚动来改变字体大小 使用场景&#xff1a;我是在Ubuntu中安装的vscode 需求&#xff1a;因为最近在用这个&#xff0c;但是在使用过程中发现vscode的字体大小有点小&#xff0c;所以想改变下 实现滚轮滑动改变字体大小的具体步…

鸿蒙NEXT应用上架与分发步骤详解

大家好&#xff0c;我是 V 哥。今天的文章来聊一聊HarmonyOS NEXT应用上架。当你开发、调试完HarmonyOS应用/元服务&#xff0c;就可以前往AppGallery Connect申请上架&#xff0c;华为审核通过后&#xff0c;用户即可在华为应用市场获取您的HarmonyOS应用/元服务。 V 哥推荐&a…

【隐私计算篇】全同态加密应用场景案例(隐私云计算中的大模型推理、生物识别等)

1.题外话 最近因为奖项答辩&#xff0c;一直在忙材料准备&#xff0c;过程非常耗费时间和精力&#xff0c;很难有时间来分享。不过这段时间虽然很忙碌&#xff0c;但这期间有很多新的收获&#xff0c;特别是通过与领域内专家的深入交流和评审过程&#xff0c;对密码学和隐私计算…

安卓开发之登录页面(跳转版)

目录 前言&#xff1a;基础夯实&#xff1a;效果展示&#xff1a;核心代码&#xff1a;网盘源码&#xff1a; 前言&#xff1a; 熟悉安卓开发的基础知识&#xff0c;了解&#xff0c;弹窗&#xff0c;两个页面进行跳转&#xff0c;页面的布局&#xff0c;按钮&#xff0c;文本…

【牛客刷题实战】二叉树遍历

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 牛客题目&#xff1a; 二叉树遍历 题目描述 输入描述&#xff1a; 输出描述&#xff1a; 示例1 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码&#xff08;C语言&#xff09; 兄弟们共勉 &#xff01;&…

多个项目同时进行,如何做好项目管理?

多项目管理相较于单一项目管理&#xff0c;要面临更大的挑战和难度。多项目管理需要同时管理和协调多个项目&#xff0c;使用项目管理工具可以帮助项目经理和团队成员更好地规划、执行和监控项目。以下是七款多项目管理软件&#xff0c;它们各具特色&#xff0c;能够满足不同项…

[vulnhub] Brainpan1

https://www.vulnhub.com/entry/brainpan-1,51/ 主机发现端口扫描 使用nmap扫描网段类存活主机 因为靶机是我最后添加的&#xff0c;所以靶机IP是166 nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-1…