【新版】系统架构设计师 - 案例分析 - 架构设计<架构风格和质量属性>

在这里插入图片描述

个人总结,仅供参考,欢迎加好友一起讨论

文章目录

  • 架构 - 案例分析 - 架构设计<架构风格和质量属性>
  • 例题1
  • 例题2
  • 例题3
  • 例题4
  • 例题5
  • 例题6

架构 - 案例分析 - 架构设计<架构风格和质量属性>

例题1

某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。 为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求:

(1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。

(2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。

(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。

针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

【问题1】

请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。

参考答案:

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

从集成开发环境与用户的交互方式看,用户通常采用交互式的方式对脚本语言进行编辑、解释执行与调试。 在这种情况下,采用以数据存储为中心的架构风格能够很好地支持交互式数据处理,而管道-过滤器架构风格则对用户的交互式数据处理支持有限。

从集成开发环境的扩展性来看,系统核心需求要求实现各种编辑、语法检查、解释执行等多种功能的灵活组织、配置与替换。在这种情况下,采用以数据存储为中心的架构风格,以数据格式解耦各种功能之间的依赖 关系,并可以灵活定义功能之间的逻辑顺序。管道-过滤器架构风格同样以数据格式解耦数据处理过程之间的依赖关系,但其在数据处理逻辑关系的灵活定义方面较差。

从集成开发环境的数据管理来看,集成开发环境需要支持脚本语言、语法树(用于检查语法错误)、可视化模型、调试信息等多种数据类型,并需要支持数据格式的转换。以数据存储为中心的架构将数据存储在统一 的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式转换提供各种支持。管道-过滤器架构风格通常只能支持有限度的数据格式,并且在数据格式转换方面的灵活性较差。

【问题2】

在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析,说明为了满足需求(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。

参考答案:

为了满足需求(2),应该采用解释器架构风格。具体来说,需要:①为可视化编 程元素及其拖拽关系定义某种语言,并描述其语法与语义;②编写解释器对该语言进行解释;③生成对应的脚本语言程序。

为了满足需求(3),应该采用隐式调用架构风格。具体来说,首先需要定义“断点在调试过程中命中”这一事件,并实现当断点命中后的屏幕定位函数。集成开发环 境维护一个事件注册表结构,将该事件与屏幕定位函数关联起来形成注册表中的一个 记录项。在调试过程中,集成开发环境负责监听各种事件,当“断点在调试过程中命 中”这一事件发生时,集成开发环境查找事件注册表,找到并调用屏幕定位函数,从而实现脚本语言编辑界面与调试代码的自动定位。

例题2

某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统 的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:

(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;

(b)信用卡支付必须保证99.999%的安全性;

(c)对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;

(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;

(e)需要在20人月内为系统添加一个新的CORBA 中间件;

(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;

(g)更改加密的级别将对安全性和性能产生影响;

(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点;

(i)假设每秒用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;

(j)用户信息数据库授权必须保证99.999%可用;

(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;

(l)更改Web界面接口必须在4人周内完成;

(m)系统需要提供远程调试接口,并支持系统的远程调试。

在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系 统开发的相关人员对系统架构进行评估。

【问题1】

在架构评估过程中,质量属性效用树 (utilitytree) 是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入下图中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。

在这里插入图片描述

参考答案:

(1)可修改性(2)可用性

(3)(a)(f)

(4)(e)(l)

(5)(d)(h)

(6)(b)(j)

【问题2】

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

参考答案:

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点是指为了实现某种特定的质量属性, 一个或多个构件所具有的特性。

权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。

风险点:(k)

敏感点:(c)

权衡点:(g)

另外:非风险点:(i),可测试性:(m)

例题3

某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户 规模不大,业务也相对简单,系统性能方面不做过多考虑,新系统除了保持现有的四级固定会员制度 外,还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度,并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合,提供个性化的打折促销活动。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效;

(b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警;

(c)在正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应;

(d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符。

(e)在正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息;

(f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点;

(g)系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作;

(h)系统宕机后,需要在10秒内感知错误,并自动启动热备份系统;

(i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断;

(j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计;

(k)支持对系统的外观进行调整和配置,调整工作需要在4人天内完成。

在对系统需求、质量属性描述和架构特性进行分析的基础上,系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

【问题1】

在架构评估过程中,质量属性效用树 (utility tree)是对系统 质量属性进行识别和优先级排序的重要工具。请将合适的质量属性,填入下图中(1)、(2)空白处,并选择题干描述的(a)~(k),填入(3)~(6)空白处,完成该系统的效用树。

在这里插入图片描述

参考答案:

(1)安全性(2)可修改性

(3)(e)

(4)(j)

(5)(h)

(6)(k)

另外:

(a)客户提的需求

(d)需求

(i)可测试性

【问题2】

针对该系统的功能,李工建议采用面向对象的架构风格,将折扣力度计算和用户筛选分别封装为独立对象,通过对象调用实现对 应的功能:王工则建议采用解释器(interpreters) 架构风格, 将折扣力度计算和用户筛选条件封装为独立的规则,通过解释规 则实现对应的功能。请针对系统的主要功能,从折扣规则的可能 改性、个性化折扣定义灵活性和系统性能三个方面对这两种架构 风格进行比较与分析,并指出该系统更适合采用哪种架构风格。

参考答案:

面向对象风格通过编写新的规则实现代码,并通过应用重启或热加载添加规则,可修改性稍差;解释器风格通过编写新的规则文件,并通过导入资源文件或外部配置添加规则,可修改性较好。

面向对象风格通过策略模式定义规则对象,规则以程序逻辑实现,灵活性较差,解释器风格可灵活定义规则计算表达式,灵活性更好。

面向对象风格以编译后代码运算规则,性能好;而虚拟机风格需要加载规则,解析规则,规则运算,再得出结果,性能较差。

面向对象风格:效率高质量高易维护,可修改性高,灵活性稍差,性能好;解释器风格:可修改性高,个性化和灵活性强,性能较差;

由于本项目的目标是提升灵活性,并且规模不大,因此建议采用解释器风格。

例题4

某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:

(a)系统用户分为管理员、分管领导和普通民警等三类;

(b)正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应;

(c)系统能够抵御99.999%的黑客攻击;

(d)系统的用户名必须以字母开头,长度不少于5个字符;

(e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;

(f)网络失效后,系统需要在2分钟内发现并启用备用网络系统;

(g)在系统升级时,需要保证在1个月内添加一个新的消息处理中间件;

(h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600×480的分辨率;

(i)更改系统加密的级别将对安全性和性能产生影响;

(j)系统主站点断电后,需要在3秒内将请求重定向到备用站点;

(k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的查询请求”这一要求是可以实现的;

(l)对用户信息数据的授权访问必须保证99.999%的安全性;

(m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;

(n)更改系统的Web界面接口必须在1周内完成;

(o)系统需要提供远程调试接口,并支持系统的远程调试

【问题1】

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干描述中的(a)~(o)各选出1个属于系统架构风险、敏感点和权衡点的描述。

参考答案:

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。

权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。

风险点:(m)

敏感点:(e)

权衡点:(i)

解释:

系统的架构风险、敏感点和权衡点是对质量属性效用树进行分析的主要依据,根据相关概念,题干中“对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计”描述的是敏感点;

“目前对‘车辆信息实时监控’业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性”描述的是系统的架构风险;

“更改系统加密的级别将对安全性和性能产生影响”描述的是权衡点。

另外:

(a)需求(b)性能(c)安全性(d)需求(e)敏感点(f)可用性(g)可修改性

(h)性能(i)权衡点(j)可用性(k)非风险(l)安全性(m)风险点(n)可修改性(o)可测试性

例题5

某电子商务公司拟升级目前正在使用的在线交易系统,以提高客户网上购物时在线支付环节的效率和安全性。公司研发部门在需求分析的基础上,给出了在线交易系统的架构设计。公司组织相关人员召开了针对架构设计的评估会议,会上用户提出的需求、架构师识别的关键质量属性场景和评估专家的意见等内容部分列举如下:

(a)在正常负载情况下,系统必须在0.5秒内响应用户的交易请求;

(b)用户的信用卡支付必须保证99.999%的安全性;

(c)系统升级后用户名要求至少包含8个字符;

(d)网络失效后,系统需要在2分钟内发现错误并启用备用系统;

(e)在高峰负载情况下,用户发起支付请求后系统必须在10秒内完成支付功能;

(f)系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能;

(g)对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计;

(h)需要在30人月内为系统添加公司新购买的事务处理中间件;

(i)现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性;

(j)主站点断电后,需要在3秒内将访问请求重定向到备用站点;

(k)用户信息数据库授权必须保证99.999%可用;

(l)系统需要对Web界面风格进行修改,修改工作必须在4人月内完成;

(m)系统需要为后端工程师提供远程调试接口,并支持远程调试。

【问题1】

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

参考答案:

系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。

权衡点是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。

风险点:(i)

敏感点:(g)

权衡点:(f)

另外:

(a)性能(b)安全性(c)需求(d)可用性(e)性能(f)权衡点(g)敏感点

(h)可修改性(i)风险点(j)可用性(k)安全性(l)可修改性(m)可测试性

例题6

某公司欲为某教育机构开发一个在线教育平台,支持用户完成网上下单购买课程,在线点播视频,在线测试等功能。在系统开发之初,企业对该平台提出了如下要求和质量场景:

(a)10000用户并发点播视频时,视频不卡顿;

(b)用户口令在保存进数据库之前,必须进行MD5码处理;

(c)视频点播支持多平台,当一个平台出现故障后,30秒内将用户请求切换至另一平台;

(d)平台支持的高清视频码率至少达到3Mb/s;

(e)学员不必查看帮助文档,也能正常使用系统;

(f)学员信息数据库授权必须保证99.9%可用;

(g)更改视频加密的方式将对安全性和性能产生影响;

(h)目前对学员学习情况分析功能尚未达成共识,这可能导致部分业务功能模块开发后期需要调整;

(i)用户名要求必须以字母开头,可以包含下划线和数字,长度不少于6个字符;

(j)系统要扩容时,应保证在2人·月内完成所有的部署与测试工作;

(k)对用户隐私的保护要求将影响系统的数据传输协议和处理过程的设计;

(l)系统对学员的操作行为有完整的日志记录;

(m)系统必须提供远程调试接口,并支持系统的远程调试;

(n)更新系统的 Web界面接口必须在1人月内完成;

(o)若每秒学员交卷请求的数量是30个,处理单个请求的时间为20毫秒,则系统保证在1秒内完成用户的请求是可以做到的;

(p)当在线教育平台发生网络失效后,需要在60秒内发现错误并启用备用网络。

在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】

在架构评估过程中,质量属性效用树 (utility tree)是对系统 质量属性进行识别和优先级排序的重要工具。请将合适的质量属性,填入下图中(1)~(4)空白处,并选择题干描述的(a)~(p),填入(5)~(8)空白处,完成该系统的效用树。

在这里插入图片描述

参考答案:

(1)性能(2)安全性(3)可用性(4)可修改性

(5)(d)

(6)(b)(i)

(7)(p)

(8)(j)

另外:

(a)性能(b)安全性(c)可用性(d)性能(e)易用性(f)安全性(g)权衡点(h)风险点

(i)需求(j)可修改性(k)敏感点(l)安全性(m)可测试性(n)可修改性(o)非风险点(p)可用性

【问题2】

在架构设计过程中,除了需要考虑经典的4大质量属性,还要考虑其它属性,如:易用性,可测试性。题目中(9)是易用性的示例,(10)是可测试性的示例。

参考答案:

(9)(e)

(10)(m)

【问题3】

在架构评估过程中;需要正确识别系统的架构风险点、非风险点、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险点、非风险点、敏感点和权衡点的定义,并从题干描述中的(a)~(p)各选出1个属于系统架构风险点、非风险点、敏感点和权衡点的描述。

参考答案:

敏感点是一个或多个构件(和/或构件之间的关系)的特性,它能影响系统的某个质量属性。

权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。

风险点是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

非风险点是指不会带来隐患的分析与描述。

敏感点:(k)

权衡点:(g)

风险点:(h)

非风险点:(p)

个人总结

  • 1个质量属性的改变,影响到1-N个功能设计等等,这是敏感点。(质量属性影响功能)
  • 1个功能的设计或者实现,影响到1-N个质量属性等等,这属于权衡点。(功能影响到质量属性)
  • 风险点,是某一个出现的问题影响到质量属性。
  • 非风险点,某个问题,可以接受的。

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

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

相关文章

Python —— pytest框架

1、认识pytest框架 1、搭建自动化框架的思路与流程 1、搭建自动化测试框架的思路和流程,任意测试手段流程都是一致的:手工测试、自动化测试、工具测试 手工测试:熟悉业务 —— 写用例 —— 执行用例并记录结果 —— 生成测试报告自动化测试…

Spring循环依赖大全

本博客挑出出现大部分情况的循环依赖场景进行分析,分析启动会不会报循环依赖的错误! 一、常规的A依赖B,B依赖A,代码如下: Component public class A {Resourceprivate B b; } Component public class B {Resourcepri…

【Java 基础篇】Java函数式接口详解

Java是一门强类型、面向对象的编程语言,但在Java 8引入了函数式编程的概念,这为我们提供了更多灵活的编程方式。函数式接口是函数式编程的核心概念之一,本文将详细介绍Java函数式接口的概念、用法以及一些实际应用。 什么是函数式接口&#…

mall电商项目(学习记录1)

1.简介 mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管…

一、 计算机网络概论

一、计算机网络概论 1、计算机网络概述 1.1、概念 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统 是一些互连的、自治的计算机系统的集合 以能够相互共享资源的方…

Python函数绘图与高等代数互融实例(八):箱线图|误差棒图|堆积图

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数 Python函数绘图与高等代数互融实例(二):闪点函数 Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线 Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域 Python函数绘图与高等代数互融实例(五…

蓝桥杯 题库 简单 每日十题 day7

01 啤酒和饮料 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你…

C/C++运算符超详细讲解(系统性学习day5)

目录 前言 一、运算符的概念与分类 二、算术运算符 三、关系运算符 四、逻辑运算符 五、赋值运算符 六、运算符的优先级 总结 前言 本篇文章是对运算符的具体讲解。 一、运算符的概念与分类 概念: 运算符就是一种告诉编译器执行特定的数学或逻辑操作的符…

红黑树Java实现

文章目录 红黑树1. 概念性质2. 红黑树节点定义3. 红黑树的插入情况1情况2情况3其它细节问题插入代码实现 4. 红黑树的验证5.性能分析 红黑树 1. 概念性质 红黑树也是一种二插搜索树,每一个节点上比普通二插搜索树都增加了一个存储位置表示节点的颜色,可…

【已解决】ubuntu 16.04安装最新版本google chrome出错, 旧版本chrome浏览器安装流程

ubuntu 16.04 按照常规的Chrome 安装流程总是出错如下: Selecting previously unselected package google-chrome-stable. (Reading database ... 231747 files and directories currently installed.) Preparing to unpack google-chrome-stable_current_amd64.de…

自己写过比较蠢的代码:从失败中学习的经验

文章目录 引言1. 代码没有注释2. 长函数和复杂逻辑3. 不恰当的变量名4. 重复的代码5. 不适当的异常处理6. 硬编码的敏感信息7. 没有单元测试结论 🎉 自己写过比较蠢的代码:从失败中学习的经验 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页&a…

msvcr71.dll、msvcp71.dll丢失怎么办?快速修复方法分享

msvcr71.dll 是一个动态链接库文件,它包含了 C 运行时库的一些函数和类,例如全局对象、异常处理、内存管理、文件操作等。它是 Visual Studio 2003 及以上版本中的一部分,用于支持 C 应用程序的运行。如果 msvcr71.dll 丢失或损坏&#xff0c…

新手学习:ArcGIS对shp文件裁剪

新手学习:ArcGIS对SHP文件裁剪 新手学习 记录每个步骤,因为有很多控件可能刚开始还不熟悉,根本不知道在哪里,所以写的比较详细。 1.添加要裁剪的shp文件 2.查看shp文件的地理坐标系 双击shp文件,就可以查看shp文件的…

倒置字符串(牛客)

一、题目 二、代码 #include <iostream> #include<string> using namespace std;int main() {string s;getline(cin, s);string s2;int i s.length() - 1;int prev i;int next 0;while (i > 0 && prev > 0) { //从字符串的最后往前遍历if (s[pre…

React+Node——next.js 构建前后端项目

一、安装全局依赖 npm i -g create-next-app二、创建next项目 create-next-app react-next-demo //或 create-next-app react-next-demo --typescript三、加载mysql依赖 npm i -S mysql2四、运行项目 npm run dev五、创建db文件目录&#xff0c;目录下创建index.ts import…

HTML常用基本元素总结

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title> biao qian</title> </head> <body><h1>这是标题1</h1> <h2>这是标题2</h2> <h3>这是标题3</h3><p> 这…

负载均衡 —— SpringCloud Netflix Ribbon

Ribbon 简介 Ribbon 是 Netfix 客户端的负载均衡器&#xff0c;可对 HTTP 和 TCP 客户端的行为进行控制。为 Ribbon 配置服务提供者地址后&#xff0c;Ribbon 就可以基于某种负载均衡算法自动帮助服务消费者去请求。Ribbon 默认提供了很多负载均衡算法&#xff0c;例如轮询、随…

IAP固件升级分几步?(Qt上位机、)

前言 这周一直想做一个IAP固件升级的上位机&#xff0c;然后把升级流程全都搞懂 有纰漏请指出&#xff0c;转载请说明。 学习交流请发邮件 1280253714qq.com IAP原理 IAP的原理我就不多赘述了&#xff0c;这里贴上几位大佬的文章 STM32CubeIDE IAP原理讲解&#xff0c;及U…

学会使用Git 和 GitHub

Git 和 GitHub 都是程序员每天都要用到的东西 —— 前者是目前最先进的 版本控制工具&#xff0c;拥有最多的用户&#xff0c;且管理着地球上最庞大的代码仓库&#xff1b;而后者是全球最大 同性交友 代码托管平台、开源社区。 在没有这两个工具时&#xff0c;编程可能是这样的…