基于asp.NET的图书借阅系统

文章目录

  • 前言
  • 项目介绍
  • 技术介绍
  • 功能介绍
  • 核心代码
    • 数据库参考
  • 系统效果图


前言

文章底部名片,获取项目的完整演示视频,免费解答技术疑问

项目介绍

  随着科学技术水平的逐年发展,构建一个高效、便捷的图书借阅系统。解决传统图书馆借阅过程中存在的问题,如人工查询繁琐、借阅效率低等。系统具有良好的用户界面和操作体验,方便用户快速找到所需图书并进行借阅操作。系统有助于图书馆管理者了解图书借阅情况,优化资源配置。图书借阅系统的设计将有助于提高图书馆服务质量,满足用户日益增长的阅读需求。
图书借阅系统主要包括了前端net技术,后端vue框架技术的开发,数据库的建立和后台管理员的管理,并且采用 net语言进行开发,使用SQLServer数据库存储相关的数据。从而实现了图书借阅管理的相关功能,包含用户登陆,查看用户、图书分类、图书信息、图书借阅、图书续借、图书归还、系统管理、个人中心等功能,其操作简单,界面友好,运行比较稳定,于是适用于大部分用户。

技术介绍

开发软件:VS 2017 (版本2017以上即可,不能低于2017)
数据库:SqlServer2008r2(数据库版本无限制,都可以导入)
开发模式:mvc
浏览器:谷歌浏览器

功能介绍

图书借阅系统可以将功能划分为用户的使用功能和管理员功能。
(1)用户关键功能包含用户注册登录,图书借阅、图书续借、图书归还、我的收藏等有关信息,并进行详细操作

图书借阅系统分两大部分,即管理员管理和用户管理。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和用户两大用户角色,系统管理员有最大的权限,整体功能展示如图4-1所示。
请添加图片描述
图4-1 系统整体功能图

核心代码

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Newtonsoft.Json;
using Xiezn.Core.Business.Services;
using Xiezn.Core.Common.Helpers;
using Xiezn.Core.Models.ViewModel;namespace Xiezn.Core.Controllers
{/// <summary>/// 公共接口/// </summary>[Route("[action]")]public class CommonController : Controller{private readonly IHostingEnvironment _hostingEnvironment;private readonly string _savePath;private readonly CommonService _bll;private readonly ConfigService _configBLL;/// <summary>/// 构造函数/// </summary>public CommonController(IHostingEnvironment hostingEnvironment){_hostingEnvironment = hostingEnvironment;_savePath = _hostingEnvironment.WebRootPath + Path.DirectorySeparatorChar + ConfigHelper.GetConfig("SchemaName") + Path.DirectorySeparatorChar + "upload" + Path.DirectorySeparatorChar;_bll = new CommonService();_configBLL = new ConfigService();}/// <summary>/// 获取某表的某个字段列表接口/// </summary>/// <param name="tableName">表名</param>/// <param name="columnName">列名</param>/// <returns></returns>[HttpGet("{tableName}/{columnName}")]public JsonResult Option(string tableName, string columnName){try{int level = Convert.ToInt32(HttpContext.Request.Query["level"]);string parent = HttpContext.Request.Query["parent"];string conditionColumn = HttpContext.Request.Query["conditionColumn"];string conditionValue = HttpContext.Request.Query["conditionValue"];if (!string.IsNullOrEmpty(conditionColumn) && !string.IsNullOrEmpty(conditionValue)){return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "option", 0, 0, " AND " + conditionColumn + " = '" + conditionValue + "' ") });}if (level == 0){return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, parent, level) });}else{return Json(new { Code = 0, Data = _bll.Common(tableName, columnName) });}}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 根据option字段值获取某表的单行记录接口/// </summary>/// <param name="tableName">表名</param>/// <param name="columnName">列名</param>/// <param name="columnValue">列值</param>/// <returns></returns>[HttpGet("{tableName}/{columnName}")]public JsonResult Follow(string tableName, string columnName, string columnValue){try{return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, columnValue, 0, "follow") });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 根据主键id修改table表的sfsh状态接口/// </summary>/// <param name="tableName">表名</param>/// <param name="id">主键id</param>/// <param name="sfsh">当前审核状态(是/否)</param>/// <returns></returns>[HttpPost("{tableName}")][Authorize(Roles = "Admin,Client")]public JsonResult Sh(string tableName, int id, string sfsh){try{if (_bll.Common(tableName, id.ToString(), sfsh, 0, "sh") > 0){return Json(new { Code = 0, Msg = "更新成功!" });}return Json(new { Code = -1, Msg = "更新失败!" });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 获取需要提醒的记录数接口/// </summary>/// <param name="tableName">表名</param>/// <param name="columnName">列名</param>/// <param name="type">类型(1表示数字比较提醒,2表示日期比较提醒)</param>/// <param name="remindStart">remindStart小于等于columnName满足条件提醒,当比较日期时,该值表示天数</param>/// <param name="remindEnd">columnName小于等于remindEnd 满足条件提醒,当比较日期时,该值表示天数</param>/// <returns></returns>[HttpGet("{tableName}/{columnName}/{type}")]public JsonResult Remind(string tableName, string columnName, int type, int remindStart, int remindEnd){try{return Json(new { Code = 0, Count = _bll.Common(tableName, columnName, "", type, "remind", remindStart, remindEnd) });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 计算规则接口/// </summary>/// <param name="tableName">表名</param>/// <param name="columnName">列名</param>/// <returns></returns>[HttpGet("{tableName}/{columnName}")]public JsonResult Cal(string tableName, string columnName){try{return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "cal") });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 人脸比较/// </summary>/// <param name="face1">图片1名称</param>/// <param name="face2">图片2名称</param>/// <returns></returns>[HttpGet]public JsonResult MatchFace(string face1, string face2){try{BaiduAiHelper.clientId = _configBLL.GetValueByName("APIKey");BaiduAiHelper.clientSecret = _configBLL.GetValueByName("SecretKey");BaiduAiHelper.GetAccessToken();List<FaceMatchViewModel> matchInfo = new List<FaceMatchViewModel>{new FaceMatchViewModel { image = FuncHelper.ImageToBase64(_savePath + face1) },new FaceMatchViewModel { image = FuncHelper.ImageToBase64(_savePath + face2) }};string result = BaiduAiHelper.FaceMatch(JsonConvert.SerializeObject(matchInfo));dynamic resObj = JsonConvert.DeserializeObject(result);if (resObj.error_code == 0){return Json(new { Code = 0, Score = resObj.result.score, Msg = "匹配成功!" });}else{return Json(new { Code = -1, Score = 0, Msg = "匹配失败!" });}}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 定位接口(根据经纬度坐标获取到省市县(区)信息)/// </summary>/// <param name="lat">经度</param>/// <param name="lng">纬度</param>/// <returns></returns>[HttpGet]public JsonResult Location(double lat, double lng){try{AddressViewModel addressViewModel = BaiduAiHelper.GetAddress(_configBLL.GetValueByName("baidu_ditu_ak"), lng, lat);if (addressViewModel == null){return Json(new { Code = -1, Msg = "位置信息获取失败!" });}else{return Json(new { Code = 0, Data = addressViewModel });}}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 类别统计接口/// </summary>/// <param name="tableName">表名</param>/// <param name="columnName">列名</param>/// <returns></returns>[HttpGet("{tableName}/{columnName}")]public JsonResult Group(string tableName, string columnName){try{return Json(new { Code = 0, Data = _bll.Common(tableName, columnName, "", 0, "group") });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 按值统计接口/// </summary>/// <param name="tableName">表名</param>/// <param name="xColumnName">列名</param>/// <param name="yColumnName">列名</param>/// <returns></returns>[HttpGet("{tableName}/{xColumnName}/{yColumnName}")]public JsonResult Value(string tableName, string xColumnName, string yColumnName){try{return Json(new { Code = 0, Data = _bll.Common(tableName, xColumnName, yColumnName, 0, "value") });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 按时间统计类型接口/// </summary>/// <param name="tableName">表名</param>/// <param name="xColumnName">列名</param>/// <param name="yColumnName">列名</param>/// <param name="timeStatType">类型</param>/// <returns></returns>[HttpGet("{tableName}/{xColumnName}/{yColumnName}/{timeStatType}")]public JsonResult Value(string tableName, string xColumnName, string yColumnName, string timeStatType){try{return Json(new { Code = 0, Data = _bll.StatDate(tableName, xColumnName, yColumnName, timeStatType) });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}/// <summary>/// 数据备份/// </summary>/// <returns></returns>[HttpGet]public IActionResult Mysqldump(){string filepath = _savePath + "mysql.dmp";// Linuxstring cmd = "/bin/bash";string strInput = "/usr/bin/mysqldump -h127.0.0.1 -uroot -P3306 -p123456 net2h303777 > " + filepath;// Windows// string cmd = "cmd.exe";// string strInput = "D:\\mysqldump -h127.0.0.1 -uroot -P3306 -p123456 net2h303777 > " + filepath;Process p = new Process();p.StartInfo.FileName = cmd;p.StartInfo.UseShellExecute = false;p.StartInfo.RedirectStandardInput = true;p.StartInfo.RedirectStandardOutput = true;p.StartInfo.RedirectStandardError = true;p.StartInfo.CreateNoWindow = true;p.Start();p.StandardInput.WriteLine(strInput);p.StandardInput.AutoFlush = true;p.StandardInput.Close();string strOuput = p.StandardOutput.ReadToEnd();p.WaitForExit();p.Close();var stream = System.IO.File.OpenRead(filepath);return File(stream, "application/octet-stream", "mysql.dmp");}/// md5加密接口[HttpGet("{encryption}")]public IActionResult Encrypt(string encryption){try{string text = HttpContext.Request.Query["text"];string data = FuncHelper.MD5(text);return Json(new { Code = 0,Data = data });}catch (Exception ex){return Json(new { Code = 500, Msg = ex.Message });}}}
}

数据库参考


--
-- Table structure for table `aboutus`
--DROP TABLE IF EXISTS `aboutus`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `aboutus` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`title` varchar(200) NOT NULL COMMENT '标题',`subtitle` varchar(200) DEFAULT NULL COMMENT '副标题',`content` longtext NOT NULL COMMENT '内容',`picture1` longtext COMMENT '图片1',`picture2` longtext COMMENT '图片2',`picture3` longtext COMMENT '图片3',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='关于我们';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `aboutus`
--LOCK TABLES `aboutus` WRITE;
/*!40000 ALTER TABLE `aboutus` DISABLE KEYS */;
INSERT INTO `aboutus` VALUES (1,'2024-03-11 11:44:04','关于我们','ABOUT US','当你设想门外是寒冷可怕的世界时,你还应该开门出去看看,是否真的如此。如果你有信心,你对前途就不犹豫了。如果你有勇气,你就不怕前途是否有困难或危险了每个人心中都应有两盏灯,一盏是希望的灯,一盏是勇气的灯。有了这两盏灯,我们就不怕海上的黑暗和风涛的险恶了。人的一生很像是在雾中行走。远远望去,只是迷蒙一片,辨不出方向和吉凶。可是,当你鼓起勇气,放下恐惧和怀疑,一步一步向前走去的时候,你就会发现,每走一步,你都能把下一步路看得清楚一点。“往前走,别站在远远的地方观望!”你就可以找到你的方向。','upload/aboutus_picture1.jpg','upload/aboutus_picture2.jpg','upload/aboutus_picture3.jpg');
/*!40000 ALTER TABLE `aboutus` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `config`
--DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',`url` varchar(500) DEFAULT NULL COMMENT 'url',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `config`
--LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg',NULL),(2,'picture2','upload/picture2.jpg',NULL),(3,'picture3','upload/picture3.jpg',NULL);
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `discusstushuxinxi`
--DROP TABLE IF EXISTS `discusstushuxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discusstushuxinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`refid` bigint(20) NOT NULL COMMENT '关联表id',`userid` bigint(20) NOT NULL COMMENT '用户id',`avatarurl` longtext COMMENT '头像',`nickname` varchar(200) DEFAULT NULL COMMENT '用户名',`content` longtext NOT NULL COMMENT '评论内容',`reply` longtext COMMENT '回复内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='图书信息评论表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `discusstushuxinxi`
--LOCK TABLES `discusstushuxinxi` WRITE;
/*!40000 ALTER TABLE `discusstushuxinxi` DISABLE KEYS */;
/*!40000 ALTER TABLE `discusstushuxinxi` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `news`
--DROP TABLE IF EXISTS `news`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `news` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`title` varchar(200) NOT NULL COMMENT '标题',`introduction` longtext COMMENT '简介',`typename` varchar(200) DEFAULT NULL COMMENT '分类名称',`name` varchar(200) DEFAULT NULL COMMENT '发布人',`headportrait` longtext COMMENT '头像',`clicknum` int(11) DEFAULT '0' COMMENT '点击次数',`clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',`thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',`crazilynum` int(11) DEFAULT '0' COMMENT '踩',`storeupnum` int(11) DEFAULT '0' COMMENT '收藏数',`picture` longtext NOT NULL COMMENT '图片',`content` longtext NOT NULL COMMENT '内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 COMMENT='通知公告';
/*!40101 SET character_set_client = @saved_cs_client */;

系统效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

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

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

相关文章

全面了解CAN总线协议

提及总线&#xff0c;总是让人联想到那些交错在一起的计算机电线。那么这些电线如何发挥功效呢&#xff1f;这还得配合总线协议的管理来使用。那么今天我们介绍的就是CAN总线协议。看看这个协议的含义和应用吧。 CAN总线协议基本概念 1. 报文 总线上的信息以不同格式的报文发…

工业以太网之战:EtherCAT是如何杀出重围的?

前言 EtherCAT 是一种开放的实时工业以太网协议&#xff0c;由德国倍福公司开发并在 2003 年 4 月的汉诺威工业博览会上首次亮相&#xff0c;目前由 EtherCAT 技术协会&#xff08;ETG&#xff09;进行维护和推广。经过 21 年的不断发展&#xff0c;EtherCAT 显示出极强的生命…

移动 Web核心笔记(二)

空间转换 空间&#xff1a;是从坐标轴角度定义的 X 、Y 和 Z 三条坐标轴构成了一个立体空间&#xff0c;Z 轴位置与视线方向相同。 空间转换也叫 3D转换 属性&#xff1a;transform 平移 /*单独设置 z轴效果不明显*/ transform: translate3d(x, y, z); transform: translateX(…

PostgreSQL学习笔记:PostgreSQL vs MySQL

PostgreSQL 和 MySQL 都是广泛使用的关系型数据库管理系统&#xff0c;它们有以下一些对比&#xff1a; 一、功能特性 1. 数据类型支持 PostgreSQL&#xff1a;支持丰富的数据类型&#xff0c;包括数组、JSON、JSONB、范围类型、几何类型等。对于复杂数据结构的存储和处理非…

多线程——单例模式

目录 前言 一、设计模式 二、饿汉模式 三、懒汉模式 1.单线程版 2.多线程版 结尾 前言 前面的几篇文章中介绍了多线程编程的基础知识&#xff0c;在本篇文章开始&#xff0c;就会利用前面的多线程编程知识来编写一些代码案例&#xff0c;从而使大家可以更好的理解运用多…

Cypress安装用命令安装

安装node 试一下&#xff0c;安装yarn 用命令安装Cypress 下面找个截图说&#xff1a;会给用给几个用例引导你怎么写测试脚本

阿里云 EMR Serverless Spark 版正式开启商业化

阿里云 EMR Serverless Spark 版已于2024年9月14日正式商业化售卖&#xff0c;本文将简要介绍 EMR Serverless Spark 的产品优势、应用场景、支持地域&#xff0c;及计费模式等。 EMR Serverless Spark 是一款云原生&#xff0c;专为大规模数据处理和分析而设计的全托管 Server…

基于JSP实习管理系统【附源码】

基于SSM的学生管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概述 4.2系统功能结构设计 4.3数据库设计 4.3.1数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1管理员功能介绍 5.1.1管理员登录 5.1.2…

数字身份管理建设是传统社会向数字社会演进的核心关键

当前&#xff0c;新一轮科技革命和产业变革突飞猛进。科学技术尤其是以互联网、大数据、云计算、人工智能和区块链等为代表的数字技术正与社会交往、社会服务、社区建设、社会治理等领域不断渗透融合&#xff0c;社会正在由人与环境构成的物理关系总和向“万物数字化”和万物互…

重磅!望繁信科技与德勤中国签署战略合作协议

2022年&#xff0c;望繁信科技与德勤中国签署流程挖掘战略合作协议&#xff01;双方强强联合&#xff0c;在拓展流程优化市场、推动企业数智融合等领域展开深度合作&#xff0c;持续共建具有全球影响力的流程挖掘新生态。 根据协议内容&#xff0c;双方计划在未来三年内&#x…

软考攻略/超详细/系统集成项目管理工程师/基础知识分享18

6.5数据分析及应用 6.5.1 数据集成&#xff08;掌握&#xff09; 数据集成就是将驻留在不同数据源中的数据进行整合&#xff0c;向用户提供统一的数据视图&#xff0c;使得用户能以透明的方式访问数据。 WebServices技术是一个面向访问的分布式计算模型&#xff0c;它的本质是…

RabbitMQ 入门(六)SpringAMQP五种消息类型(Direct Exchange)

一、发布订阅-DirectExchange&#xff08;路由模式&#xff09; 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是&#xff0c;在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 Direct Exchan…

关键链项目管理是什么?它如何优化传统项目管理?

在项目管理的世界里&#xff0c;方法论千千万万&#xff0c;但真正能够提升项目效率和成功率的却并不多见。关键链项目管理&#xff08;Critical Chain Project Management, CCPM&#xff09;作为一种独特且高效的管理方式&#xff0c;正在被越来越多的企业所采用。相较于传统的…

NAND 数据恢复:使用 VNR 闪存数据恢复软件提取闪存转储中的块

天津鸿萌科贸发展有限公司从事数据安全服务二十余年&#xff0c;致力于为各领域客户提供专业的数据恢复、数据备份解决方案与服务&#xff0c;并针对企业面临的数据安全风险&#xff0c;提供专业的相关数据安全培训。 天津鸿萌科贸发展有限公司是专业 NAND 闪存数据恢复工具 VN…

linux下离线安装jq工具

故障现象&#xff1a; 当前使用的是CentOS7&#xff0c; 使用sudo yum install jq这个命令后&#xff0c;总是报错 Loaded plugins: fastestmirror, langpacks Determining fastest mirrors ... Cannot find a valid baseurl for repo: extras/7/x86_64 使用uname -a查看我当…

Yolov10训练的餐盘菜品目标检测软件(包含源码及数据集)

本文摘要 摘要&#xff1a;本文主要使用YOLOV10深度学习框架自训练了一个“餐盘菜品目标检测模型”&#xff0c;基于此模型使用PYQT5实现了一款界面软件用于功能演示。让您可以更好的了解和学习&#xff0c;该软件支持图片、视频以及摄像头进行目标检测&#xff0c;本系统所涉…

gitlab项目转移群组

1、背景 项目pa不再使用&#xff0c;只需要备份代码就行。将项目pa从A群组转移到B群组。 2、转移 在群组A项目pa中&#xff0c;设置-通用-高级-转移项目

Linux 线程概念及线程控制

1.线程与进程的关系 执行流&#xff08;Execution Flow&#xff09;通常指的是程序执行过程中的控制路径&#xff0c;它描述了程序从开始到结束的指令执行顺序。例如我们要有两个执行流来分别进行加法和减法的运算&#xff0c;我们可以通过使用 fork 函数来创建子进程&#xf…

全面了解 NGINX 的负载均衡算法

NGINX 提供多种负载均衡方法&#xff0c;以应对不同的流量分发需求。常用的算法包括&#xff1a;最少连接、最短时间、通用哈希、随机算法和 IP 哈希。这些负载均衡算法都通过独立指令来定义&#xff0c;每种算法都有其独特的应用场景。 以下负载均衡方法&#xff08;IP 哈希除…

置分辨率设置多显示器的时候提示, 某些设置由系统管理员进行管理

遇到的问题 设置分辨率设置多显示器的时候提示&#xff08;如下图所示&#xff09;&#xff1a; 某些设置由系统管理员进行管理 解决方法 先试试这个方法&#xff1a; https://answers.microsoft.com/zh-hans/windows/forum/all/%E6%9B%B4%E6%94%B9%E5%88%86%E8%BE%A8%E7%8…