C#毕业设计下载(全套源码+配套论文)——基于C#+asp.net+sqlserver的教务管理平台设计与实现

news2026/3/24 6:04:35
基于C#asp.netsqlserver的教务管理平台设计与实现毕业论文程序源码大家好今天给大家介绍基于C#asp.netsqlserver的教务管理平台设计与实现更多精选毕业设计项目实例见文末哦。文章目录基于C#asp.netsqlserver的教务管理平台设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、资源下载5、毕设简介6、精选500套毕业设计软件源码和配套论文下载1、项目简介务系统中的用户数量众多需要具有不同的权限以实现不同的应用。本论文介绍了开发背景开发平台并基于需求分析实现了教务管理平台中基于角色控制的权限系统(RBAC)及公共模块的设计与开发。RBAC实现了用户与访问权限的逻辑分离更符合教务平台的用户、数据和应用特征在公共模块中实现了系统通用的日志管理异常处理常用类库方法等。通过设计和应用本系统有效的解决了教务平台中关于用户管理与权限操作等方面的问题为系统公共模块的实现打下坚实的基础。通过较为详尽的功能测试表明本文的设计内容具有一定的通用性可用于需要动态分配权限与角色的管理系统中。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数9328个字26页包含内容整套源码完整毕业论文3、关键词权限公共模块RBAC4、资源下载本项目全套源码及配套论文如下有需要的朋友可以点击进行下载。如果链接失效可点击文章最下方的卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于C#asp.netsqlserver的教务管理平台设计与实现源码文档C#_.net_BS架构_教务管理平台.zip5、毕设简介提示以下为毕业论文的简略介绍项目源码及完整毕业论文下载地址见文末。1 引言教务管理平台对安全问题有较高的要求传统的访问控制方法DACDiscretionary Access Control自主访问控制模型、MACMandatory Access Control强制访问控制模型难以满足复杂的教务管理平台需求。NISTNational Institute of Standards and Technology美国国家标准化和技术委员会于90年代初提出了基于角色的访问控制方法RBAC实现了用户与访问权限的逻辑分离更符合企业的用户、组织、数据和应用特征。RBAC角色访问控制的基本思想即把整个访问控制过程分成两步访问权限与角色相关联角色再与用户关联从而实现了用户与访问权限的逻辑分离。由于RBAC实现了用户与访问权限的逻辑分离因此它极大的方便了权限管理。例如如果一个用户的职位发生变化只要将用户当前的角色去掉加入代表新职务或新任务的角色即可角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多并且委派用户到角色不需要很多技术可以由行政管理人员来执行而配置权限到角色的工作比较复杂需要一定的技术可以由专门的技术人员来承担但是不给他们委派用户的权限这与现实中情况正好一致。1.1 课题背景省略在这样的大环境下我们选择了“教务管理平台”这个系统符合实际需求。其中教务管理平台中使用人员的复杂性和众多模块的管理需要较为复杂和安全的权限系统另外由于团队开发和系统平台的需要也需要一定的公共模块的支持。例如日志管理异常处理数据验证和过滤等。1.2 课题目的为教务管理平台设计一套安全通用可扩展的权限系统和系统公共基础模块的设计与开发以应对系统和团队开发的需要。1.3 课题意义通过完成本课题系统的设计与开发为团队开发教务管理平台打下基础加快整个教务管理系统的开发速度以应对实际教务管理工作自动化的需要极大提高教务管理工作人员的效率。2 系统平台与相关技术2.1 系统架构B/S架构的优点在于客户端和服务器通过Intranet进行数据交换客户端基于统一的WEB浏览器减少了投资解决了系统维护升级的问题另外只有极少部分事务逻辑在前端Browser实现但是主要事务逻辑在服务器端Server实现这也就充分保护了数据的安全。根据教务平台的需求和实际使用情况由于人员的复杂性和访问机器的分布性适合使用B/S架构。2.2 开发平台介绍本毕业设计的命题是教务管理平台中权限系统和公共模块的设计和开发根据团队要求和开发成本选择了Visual Studio 2005SQL 开发环境使用的语言为c#。2.2.1 Visual Studio 介绍Visual Studio 是一系列高效的、智能的开发工具的统称它拥有一个庞大的产品线包括面向学生、爱好者、初学者的Express版面向专家、Visual Basic 6的Standard版面向顾问、企业开发人员的Professional版和面向架构师的Team System版本。在这些版本中有些集成了开发软件常用到的东西比如重构、单元测试、类设计器等等以方便开发人员快速的设计各类软件。2.2.2 SQL Server 介绍SQL Server 是一个全面的数据库平台使用集成的商业智能工具提供了企业级的数据管理。SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 数据引擎是企业数据管理解决方案的核心。此外 SQL Server 结合了分析、报表、集成和通知功能。2.3 开发技术介绍2.3.1 Asp.netASP.NET是微软流行的动态WEB编程技术活动服务器网页ASP的最新版本但它远不是传统ASP简单升级。ASP.NET和ASP的最大区别在于编程思维的转换ASP.NET是真正的面向对象Object-oriented而不仅仅在于功能的增强。在ASP.NET中Web 窗体页由两部分组成视觉元素HTML、服务器控件和静态文本和该页的编程逻辑。其中每一部分都存储在一个单独的文件中。可视元素在一个扩展名为 .aspx 文件中创建而代码位于一个单独的类文件中该文件称作代码隐藏类文件扩展名为.aspx.vb 或 .aspx.cs。这样.aspx文件中存放所有要显示的元素aspx.vb或.aspx.cs文件中存放逻辑。2.3.2 RBAC企业环境中的访问控制策略一般有三种自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法RBAC。其中自主式太弱强制式太强二者工作量大不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是1.减小授权管理的复杂性降低管理开销2.灵活地支持企业的安全策略并对企业的变化有很大的伸缩性。基于角色的访问控制RBAC作为一种灵活和直观的访问控制技术在20世纪90年代迅速发展起来RBAC通过引入角色的新概念来实施访问控制策略。不同的角色和它所应具有的权限许可互相联系用户作为某些角色的成员获得角色所拥有的权限。角色可以根据实际的单位或组织的不同工作职能和权限来划分依据用户所承担的不同权利和义务来授权相应的角色对于一个存在大量用户和权限的权限分配系统来说从用户到角色的管理简化了权限分配的复杂性提高了安全管理的效率和质量。3 需求分析和数据库设计3.1 应解决的问题3.1.1 基于RBAC的权限系统.1 用户(user)和角色(role)用户指访问系统中的资源的主体一般为人也可为 Agent 等智能程序。角色指应用领域内一种权力和责任的语义综合体可以是一个抽象概念也可以是对应于实际系统中的特定语义体比如组织内部的职务等。针对角色属性的不同某些模型中将角色进一步细分为普通角色和管理员角色可理解为全局角色。2 许可Permissions和权限Permission许可描述了角色对计算机资源的访问和操作所具有的权限其反映的是授权的结果。比如授予某个角色对计算机资源有读的权限则代表了一个许可的存在这个许可表示角色获取了对计算机资源的读许可。针对操作来说其描述的是许可和操作之间的一种关联关系而这层关系则表示了某一角色对某一操作所具有的权限及权限状态。3 角色和指派Assignment指派包含两个方面用户指派和许可指派。用户指派表示的是将用户指派给特定的角色。许可指派表示的是为角色指派计算机资源的访问和操作许可。3.1.2 平台需要的公共模块1日志管理2异常处理3加密模块及字符串验证与过滤等公共模块。3.2 功能需求按照教务平台RBAC权限系统的需要和相关公共基础模块的需要有如下的功能需求。如图1所示。图1 系统功能图RBAC中用户角色权限资源之间的关系如图2所示。图2 RBAC关系图3.2.1 用户信息管理用户是权限的拥有者或主体。用户和权限实现分离通过授权管理进行绑定。用户信息管理主要提供教务管理平台相关使用人员的信息的管理包括添加删除修改等相关操作。3.2.2 角色信息管理角色是权利和责任的标识角色信息管理主要提供教务管理平台相关使用人员所属角色信息的管理包括添加删除修改等相关操作。角色和权限管理起来后就拥有了一定的资源操作权力。3.2.3 资源管理资源管理主要提供教务管理平台中各个功能模块可访问资源的管理包括各种资源相关权限的添加删除修改等相关操作。资源包括各种操作和可访问的页面等。3.2.4 用户角色分配实现用户和角色之间的关联关系映射。在用户信息列表中选择要分配角色的用户单击列表中的用户名进入分配角色页面所示的窗口。在为用户分配角色的窗口中,主要是通过职能范围来确定用户的权限。每一个用户在每一个职能范围中均有一个默认的角色并可以浏览该职能域中密级为“公开”的数据元。为用户分配角色主要就是修改选定的用户在每一个职能范围中的角色以及在每个职能范围中可以操作的数据元的密级。3.2.5 角色权限分配实现权限操作和角色之间的关联关系映射。角色描述用户的职能权限是可访问资源的标识给指定的角色分配权限使角色具有了真正意义上的职能范围。3.2.6 权限操作完成资源和权限之间的绑定。可访问的资源或操作需要一个标识来标明权限用通俗的语言来描述这种可用操作。例如用户查看某个列表“查看”就代表了权限而“列表“就是资源。3.2.7 日志管理日志是每个系统必不可少的东西教务平台中用户的登陆信息操作信息或异常信息都需要保存以方便管理员的调用。日志管理主要完成对系统相关各种日志的记录和管理将信息持久化保存。3.2.8 异常处理异常处理是每个系统必备的自定义异常有助于把系统的错误信息按照自己定义的方式来处理教务平台中把异常信息的保存进日志系统中方便系统管理员查看以及时修补系统存在的问题。3.2.9 基础公共类库完成相关系统基本类库的设计。涉及到数据库操作相关javascript操作字符串过滤和编码解码分页等。这类方法通常具有一般的通用性以方便教务平台各模块的调用。3.3 非功能需求省略3.4 数据库设计根据需求分析中的各种模块设计了如下的数据库。 用户表 Accounts_Users用来存储系统用户。表的字段说明如表1所示。图3 数据库关系图数据库表之间的关系如图3所示。4 系统设计与实现4.1 公共模块设计系统公共模块包括系统数据库操作系统通用工具类树目录管理系统通用页面设计。4.1.1 数据库通用类设计数据库通用类由类DbManagerSQL实现,它是应用程序通过ADO.NET访问数据库的基础类,也是应用程序实现上层业务逻辑的基础.该类主要封装了创建访问数据库的一些对象或方法,如数据库连接对象等.以及执行数据库操作的必需对象。该类通过构造函数读取config配置文件里的数据库连接类方法有执行简单SQL语句执行存储过程,事务处理返回datareader和dataset等操作方法。4.1.2 系统工具通用类设计在本系统中应用程序定义了几个工具通用类它们在整个应用过程中被应用了很多次因此才能把它们集中在一起作为系统工具通用类。系统工具类通用类由命名空间Njj.Common下的各种类提供。ConfigHelper.cs提供了关于读取webconfig中字符串值的各种方法。MessageBox.cs中封装了向浏览器写入javascript代码和弹出对话框窗口的各种操作.PageValidate.cs中提供了各种数据验证函数和字符串过滤html编码解码等各种操作。Njj.PageControl里的各种类提供了一些通用的页面自定义控件的操作分页的样式等。4.1.3 系统日志和树目录设计命名空间Njj.TreeAndLog下的TreeAndLogManage类封装了关于日志的相关操作和目录列表的树相关操作。日志操作有添加修改删除日志类别的功能和添加修改删除日志的功能。日志主要记录系统用户的各种可记录操作以及系统异常发生时的堆栈信息以方便管理员的管理。主要记录内容有用户日志记录时间日志错误信息用户IP日志类别等。日志错误信息包含堆栈错误或相关用户的操作记录。系统主要界面如图4,图5所示。图4 日志详细信息图5 日志管理图6 树状菜单目录树列表调用SysNode树子结点对象来对数据库S_Tree执行各种添加删除修改操作,根据用户角色调用其相关的权限列表动态显示菜单。界面如图6所示。代码如下所示。DataRow[]drsdt.Select(ParentID 0);// 选出所有子节点//菜单状态stringMenuExpandedNJJ.Common.ConfigHelper.GetConfigString(MenuExpanded);bool menuExpandbool.Parse(MenuExpanded);TreeView1.Nodes.Clear();// 清空树foreach(DataRowr in drs){string nodeidr[NodeID].ToString();string textr[Text].ToString();string parentidr[ParentID].ToString();string locationr[Location].ToString();string urlr[Url].ToString();string imageurlr[ImageUrl].ToString();intpermissionidint.Parse(r[PermissionID].ToString().Trim());string framenameTargetFrame;//treevie 设置this.TreeView1.Font.Name宋体;this.TreeView1.Font.SizeFontUnit.Parse(9);//权限控制菜单if((permissionid-1)||(user.HasPermissionID(permissionid)))//绑定用户有权限的和没设权限的即公开的菜单{TreeNoderootnodenewTreeNode();rootnode.Texttext;rootnode.Valuenodeid;rootnode.NavigateUrlurl;rootnode.Targetframename;rootnode.ExpandedmenuExpand;rootnode.ImageUrlimageurl;rootnode.SelectActionTreeNodeSelectAction.Expand;//设置菜单状态TreeView1.Nodes.Add(rootnode);intsonparentidint.Parse(nodeid);// 子节点ID CreateNode(framename, sonparentid, rootnode, dt);//递归显示菜单项}4.1.4 系统异常处理系统异常处理有类MyException实现它继承于系统的异常类Exception,并重载基类的 异常处理函数MyException().该类中了定义了两个异常处理函数其中一个函数为MyException(string source,string message,Exception inner),该函数在重载记录函数时添加了一个异常代码参数 source,它可以用来标识异常的代码另外一个函数为MyException(string source,string message),它也是继承于基类异常函数MyException也在重载记录异常函数时添加了一个异常代码参数。并且在异常处理的代码内部调用日志类函数将异常信息持久化。4.1.5 系统通用页面设计当用户登陆系统之后进入系统平台的主页面它由Main.aspx、Spliter.aspx、Left.aspx和Top.aspx4个页面组成。并且可以根据自己的喜好选择不同的页面风格系统将自动加载用户设置的风格。如图7所示。图7 主界面4.2 权限系统模块的实现系统主功能模块包括用户信息管理角色管理权限管理资源与权限的绑定用户与角色的绑定等。4.2.1 用户信息管理和角色绑定本系统中的起始页面为Login.aspx如图8所示。图8 系统登陆界面用户点击【登录】时系统初始化命名空间Njj.Accounts.bus下类User的一个user对象将user赋予当前上下文user对象。根据用户当前的身份标识中的密码验证用户身份的有效性若成功则设置用户系统登陆添加日志添加用户的用户信息到Session中并且加载用户设置的界面风格最后跳转到应用系统操作主界面。该程序代码如下所示。AccountsPrincipalnewUserAccountsPrincipal.ValidateLogin(userName,Password);//根据用户名和密码初始化用户标识实现iprincipal接口if(newUsernull){this.lblMsg.Text登陆失败 userName;}else{UsercurrentUsernewNJJ.Accounts.Bus.User(newUser);//根据用户标识初始化用户对象Context.UsernewUser;将当前上下文用户标识设为新用户if(((SiteIdentity)User.Identity).TestPassword(Password)0)//检测用户密码{this.lblMsg.Text你的密码无效;}else{FormsAuthentication.SetAuthCookie(userName,false);//设置用户登陆NJJ.TreeAndLog.TreeAndLogManagelognewNJJ.TreeAndLog.TreeAndLogManage();log.AddLog(DateTime.Now.ToString(),用户登陆,User.Identity.Name,1);//添加日志Session[UserInfo]currentUser;//session保存当前用户信息Session[Style]currentUser.Style;//session保存用户设置的界面风格if(Session[returnPage]!null){string returnpageSession[returnPage].ToString();Session[returnPage]null;Response.Redirect(returnpage);}else{Response.Redirect(main.htm);}}用户管理页面为:UserAdmin.aspx,界面如图9所示。用户角色分配界面如图10所示。图9 用户管理图10 角色分配页面初始化时调用函数user对象的GetAllUsers()方法获取所有用户数据并绑定到datagrid中。点击图中的修改角色链接可进入用户与角色绑定界面。4.2.2 角色管理和权限绑定角色管理和权限绑定页面主要为RoleAdmin.aspx和EditRole.aspx主要实现对增加新的角色、修改角色、删除角色和角色对象权限的分配功能。如图11图12所示。图11 角色管理图12 编辑角色信息RoleAdmin.aspx页面调用了命名空间Njj.Accounts.bus下Role类对象的相关方法GetRoleList()得到所有的角色列表Create()建立新角色。EditRole.aspx中首先listbox中绑定某类别权限下的所有权限点击增加权限按钮调用Role类对象的AddPermission()向角色分配对应的权限。4.2.3 权限管理权限管理主要实现权限类别及权限命名的管理,如图13所示。代码如下所示。intCategoryIdint.Parse(this.ClassList.SelectedValue);DataSetPermissionsListAccountsTool.GetPermissionsByCategory(CategoryId);this.DataGrid1.DataSourcePermissionsList;this.DataGrid1.DataBind();图13 权限管理本模块包含权限类别的添加修改删除以及类别下子权限的添加修改删除等功能主要针对命名空间下Njj.Accounts.Bus下的PermissionCategories和Permissions类进行操作。4.2.4 系统资源管理和权限绑定及菜单操作系统资源管理主页面为:TreeList.aspx和add.aspx,如图1415所示。此模块负责添加系统可访问的URL资源和菜单模块的操作。添加菜单时可以和对应的权限相绑定以动态显示用户菜单。对于对应的URL文件可执行过滤功能权限不够的用户将拒绝进入。图14 系统资源管理图15 添加资源并绑定权限主要代码如下所示。NJJ.TreeAndLog.TreeAndLogManagesmnewNJJ.TreeAndLog.TreeAndLogManage();DataTabledtsm.GetTreeList().Tables[0];this.listTarget.Items.Clear();//加载菜单选项到下拉列表中this.listTarget.Items.Add(newListItem(根目录,0));DataRow[]drsdt.Select(ParentID 0);/////////////循环读取添加.foreach(DataRowr in drs){string nodeidr[NodeID].ToString();string textr[Text].ToString();//string parentidr[ParentID].ToString();//string permissionidr[PermissionID].ToString();text╋text;this.listTarget.Items.Add(newListItem(text,nodeid));intsonparentidint.Parse(nodeid);string blank├;BindNode(sonparentid,dt,blank);}this.listTarget.DataBind();////绑定父类菜单/////////////读取所有权限DataTabletabcategoryNJJ.Accounts.Bus.AccountsTool.GetAllCategories().Tables[0];intrctabcategory.Rows.Count;for(intn0;nrc;n){stringCategoryIDtabcategory.Rows[n][CategoryID].ToString();stringCategoryNametabcategory.Rows[n][Description].ToString();CategoryName╋CategoryName;this.listPermission.Items.Add(newListItem(CategoryName,CategoryID));///将权限绑定到下拉列表DataTabletabforumsNJJ.Accounts.Bus.AccountsTool.GetPermissionsByCategory(int.Parse(CategoryID)).Tables[0];intfctabforums.Rows.Count;for(intm0;mfc;m){stringForumIDtabforums.Rows[m][PermissionID].ToString();stringForumNametabforums.Rows[m][Description].ToString();ForumName ├『ForumName』;this.listPermission.Items.Add(newListItem(ForumName,ForumID));}}this.listPermission.DataBind();this.listPermission.Items.Insert(0,--请选择--);///绑定权限4.2.5 url过滤系统对于普通的页面可以判断用户是否有权限来访问通过继承类System.Web.UI.Page并自写其中的Page_Load事件,生成公用的Page基类由于asp.net的代码后置功能对于web页面来说判断其所属权限可以通过其后置代码类继承公共的Page基类来达到代码重用的效果。该程序代码如下所示。//权限验证if(Context.User.Identity.IsAuthenticated)///当前用户是否授权{AccountsPrincipalusernewAccountsPrincipal(Context.User.Identity.Name);//生成此用户的身份标识if(Session[UserInfo]null)//如果Session保存的用户信息为空则调用用户信息保存到session,页面重新加载{NJJ.Accounts.Bus.UsercurrentUsernewNJJ.Accounts.Bus.User(user);Session[UserInfo]currentUser;Session[Style]currentUser.Style;Response.Write(script deferlocation.reload();/script);}PermissionspnewPermissions();///session保存的用户信息不为空调用权限表PermissionIDp.GetPermissionID(Request.FilePath.Substring(24).Trim());/// 获取url请求if((PermissionID!-1)(!user.HasPermissionID(PermissionID)))////如果页面不为公共页面的话则调用此页面的权限ID来判断用户是否有此权限{Response.Clear();Response.Write(script deferwindow.alert(您没有权限进入本页\\n请重新登录或与管理员联系);history.back();/script);///用户无权限则重新登陆Response.End();}}else{FormsAuthentication.SignOut();///用户没有授权的话将注销用户。Session.Clear();Session.Abandon();Response.Clear();Response.Write(script deferwindow.alert(您没有权限进入本页或当前登录用户已过期\\n请重新登录或与管理员联系);parent.locationvirtualPath/Login.aspx;/script);Response.End();}5 测试测试是软件系统最重要的部分鉴于个人能力和软件环境的有限性在系统设计和开发的过程中我只进行了较多的黑盒测试以上图3-图15皆为测试时系统运行图。经测试系统正常运行符合系统设计要求和开发需要。结 论本文描述了一个教务管理平台中权限系统及公共模块的设计与开发从测试结果看基本达到了当初课题设计要求。此权限系统可用于一般性的MIS系统中具有较强的适应性可动态分配角色和进行权限管理并附带日志管理异常管理及大量的公共基础模块设计为完整的系统开发打下基础。参考文献[1] Simon Pobinson.Professional C#[M].北京:清华大学出版社,2002。[2] Jeffrey Richter.Microsoft .NET框架程序设计[M].北京:机械工业出版社,2003。[3] James W.Cooper.C# Design Patterns[M].北京:电子工业出版社,2004。[4] Richard Blum.C# Network Programming[M].北京:电子工业出版社,2003。[5] 刘晓华.精通.NET核心技术[M].北京:电子工业出版社,2002。[6] 狄龙(Darin Dillon)…NET开发人员调试策略[M].北京:清华大学出版社,2004。[7] 刘友话…Net环境下数据库应用系统开发技术[M].北京:科学出版社,2004。[8] Ian Sommerville.Software Engeering[M].北京:机械工业出版社,2003。[9] Erich Gamma.Design Patterns[M].北京:机械工业出版社,2002。致 谢省略6、精选500套毕业设计软件源码和配套论文下载500套毕业设计软件源码和配套论文下载

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…