自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 216.组合总和III

216.组合总和III找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。

2022-07-04 23:44:09 101

原创 组合问题--力扣第77题

力扣第77题. 组合给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。

2022-07-04 23:37:41 213

原创 数字图像大作业——九种形状识别

基于matlab的九种形状识别,数字图像期末大作业

2022-06-29 15:59:50 2432 1

原创 设计模式总结

设计模式总结

2022-06-17 19:33:48 247

原创 Smoke Test

Smoke Test,即冒烟测试,源自线路板组件测试,给线路板加电,看看线路板会不会冒烟,没冒烟,就表示待测组件是通过了测试。准备测试经理和项目经理等相关人员从测试用例库中选定重要的测试用例,标记为冒烟测试用例。或者单独编写。1、主流程和主功能的确认要求测试人员在测试开始前跟开发人员确认需求和重要的流程、功能,最好将功能点和流程以及预期结果和开发人员说明清楚。冒烟测试不要求测试结果像正式测试阶段那么准确,但是也需要列一个指标来衡量测试是否通过。)2、预计时间 根据列出的功能点和开发人员代码质.

2021-11-30 09:31:10 97

原创 Ad hoc Test

Ad hoc Test“Ad-Hoc” 原意是指“特定的,一次性的”,这里专指“随机的,自由的”测试。在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoctesting),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程.随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重

2021-11-30 09:27:06 60

原创 CMM与CMMI的关系?

CMM与CMMI的关系?CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。CMM与原有的能力成熟度相比,CMMI涉及面更广, 专业集领域覆盖软件工程、系统工程、集成产品开发和系统采购。CMMI 与CMM 最大的不同点在于:1.CMMI SM-SE/SW/IPPD/SS 1.1 版本有四个集成成分。2.CMMI 有两种表示方法,一种是和CMM 一样的阶段式表现方法

2021-11-30 09:22:46 90

原创 软件全面质量管理的思想体系?

软件全面质量管理的思想体系?1、全面质量管理概述20世纪70年代中期,美国国防部曾专门研究软件工程做不好的原因,发现70%的失败项目是因为管理存在的瑕疵引起的,而非技术性的原因,从而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。·因而软件质量被视为开发中的重中之重。人们普遍都认为质量是“好的东西”,但是在实际上系统的质量可能是模糊的、尚未定义的属性。所有商品和服务的开发者都关心质量,不过由于软件的固有属性,尤其是软件的不确定性和复杂性,会带来特殊的需求。·增加了软件的危险程度

2021-11-26 15:18:10 63

原创 如果不确定客户端是否禁用cookie,则可以使用URL重写技术

URL重写是指服务器程序对接收的URL请求重新写成网站可以处理另一个URL的过程。URL重写技术是实现动态网站会话跟踪的重要保障。在实际应用中,当不能确定客户端浏览器是否支持Cookie的情况下,使用URL重写技术可以对请求的URL地址追加会话标识,从而实现用户的会话跟踪功能。URL重写实现会话跟踪,要保证每个页面都必须使用Servlet或JSP动态页面。因为附加在URL上的sessionID是动态产生的,所以对于静态页面的跳转,URL重写机制无能为力。可以通过HttpServletResponse的enc

2021-11-10 20:54:47 296

原创 在检查点应该获得哪些信息?

在检查点应该获得哪些信息?检查点记录是一类新的日志记录。它的获得信息包括:①建立检查点时刻所有正在执行的事务清单②这些事务的最近一个日志记录的地址。

2021-11-10 20:53:29 47

原创 什么是MTTF、MTBF、MTRF?

什么是MTTF、MTBF、MTRF?MTTF(mean time to failure平均失效前时间),定义为随机变量、出错时间等的”期望值”。但是,MTTF经常被错误地理解为,"能保证的最短的生命周期”。MTTF的长短,通常与使用周期中的产品有关,其中不包括老化失效。MTBF(Mean time between failures,平均故障间隔时间)定义为,失效或维护中所需要的平均时间,包括故障时间以及检测和维护设备的时间。对于一个简单的可维护的元件,MTBF = MTTF +MTRF因为MTRF通常远

2021-11-10 20:35:32 214

转载 为预防软件质量缺陷应该做点什么?

为预防软件质量缺陷应该做点什么?常见的方法就是评审、重构、复用以及原因分析。评审评审是很常见的一种验证手段。虽然普通,但它的作用可不小。软件缺陷很大一部分是来自于对需求的定义和理解不正确。而如果你能做好需求评审,可以很大程度地减少这部分缺陷。同样的,设计评审可以很大程度上减少设计缺陷。在软件实现之前,评审是最有效地去除缺陷的手段,而越早去除这些潜在的缺陷,所需的代价也会越小。评审是一种缺陷去除手段,在这里说是缺陷预防方法,是站在代码的角度来说的,因为这时代码还没有生成,评审去除的缺陷就像是预防

2021-11-03 16:19:19 121

原创 手写一个简单的mvc框架

先用一张图来描述一下mvc框架意思就只写一个servlet,然后就通过这一个servlet用handleMapping这个映射器找到相应的类和方法,当然还需要配置一下web.xml文件<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

2021-10-05 12:31:09 183

原创 数据库事务

数据库事务事务(Transaction)是由一系列对系统中数据进⾏访问与更新的操作所组成的⼀个程序执行逻辑单元。事务的语法事务的特性事务并发问题事务隔离级别不同隔离级别的锁的情况(了解)隐式提交(了解)事务的语法start transaction; begin;commit; 使得当前的修改确认rollback; 使得当前的修改被放弃不同的隔离级别的锁的情况(了解)读未提交(RU): 有行级的锁,没有间隙锁。它与RC的区别是能够查询到未提交的数据。**读已提交(RC)

2021-07-19 17:20:56 67

原创 数据传输方式——XML与JSON

目前有网络数据传输有xml和json两种方式,目前大部分使用json进行网络数据传输。XML1 . 简要概述可扩展标记语言(eXtensible Markup Language)。特性:1. xml具有平台无关性, 是一门独立的标记语言.2. xml具有自我描述性2 . xml作用1. 网络数据传输2. 数据存储3. 配置文件3 . 什么是xml文件XML文件是保存XML数据的一种方式XML数据也可以以其他的方式存在(如在内存中构建XML数据)。不要将XML语言狭隘的理解成XML

2021-07-06 18:21:03 1770

原创 消费者生产者源代码Java实现

以厨师和服务生为例:/** * 生产者与消费者问题 */public class Demo{ public static void main(String[] args) { Food f = new Food(); new cook(f).start(); new waiter(f).start(); }}/** * 厨师 */class cook extends Thread{ private Food f;

2021-06-26 18:11:09 77

原创 线程池概述

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低 系统的效率,因为频繁创建线程和销毁线程需要时间. 线程池就是一个容纳多个线程的容器,池中的线程可以反复使用,省去了频繁创建线程对象的操作,节省了大量的时间和资源。

2021-06-26 17:58:32 42

原创 大厂面试题:Spring支持的事务管理类型有哪些?——第三期

Spring支持的事务管理类型有哪些?Spring支持编程式事务管理和声明式事务管理。许多Spring 框架的用户选择声明式事务管理,因为这种方式和应用程序的关联较少,因此更加符合轻量级容器的概念。声明式事务管理要优于编程式事务管理,尽管在灵活性方面它弱于编程式事务管理,因为编程式事务允许你通过代码控制业务。声明式事务又分为两种:a、基于XML的声明式事务b、基于注解的声明式事务。...

2021-05-24 16:18:12 173

原创 大厂面试题:SpringMVC和Struts2的区别有哪些?——第二期

SpringMVC和Struts2的区别有哪些?SpringMVC的入口是一个servlet即前端控制器( DispatchServlet),而Struts2入口 是一个filter过虑器(StrutsPrepareAndExecuteFilter)。SpringMVC是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),Struts2是基于 类开发,传递参数是通过类的属性,只能设计为多例。Struts采用值栈存储请求和响应的数据,通过OGNL

2021-05-24 13:12:17 74

原创 大厂面试题:什么是AOP?—第一期

什么是AOP?Aspect Oriented Programming面向切面编程,它可以在不修改原代码的情况下增加新的功能或者扩展原有的功能。AOP关注的重点在切面上,可以通过配置手段将切面切入到对应的位置。这样组件和组件之间的耦合度会降低并且可以提供组件的复用度,提高程序的灵活性。AOP中涉及到的概念1、Aspect(切面):切面是用来封装共通业务逻辑的,JoinPoint(连接点) :代表切入的位置一般代表一个方法信息,Pointcut (切点) :用来管理连接点的代表一堆连接

2021-05-24 11:25:23 78

原创 接口

接口一、格式interface 接口名称{全局常量;抽象方法;}二、面向接口编程思想:1.降低程序的耦合性(粘性)2.易于程序的扩展3.有利于程序的维护三、接口的实现implements1.格式:class 子类 implements 父类接口1,父类接口2…{}2.如果既要继承抽象类,又要实现接口的写法:class 子类 extends 父类 implements 父类接口1,父类接口2…{}四.接口的继承接口因为都是抽象部分,不存在具体实现,所以允许多继承,例如in

2021-05-16 13:11:02 90 1

转载 决策树-回归

决策树 – 回归解决问题实现基于特征范围的树状遍历的回归。解决方案通过寻找样本中最佳的特征以及特征值作为最佳分割点,构建一棵二叉树。选择最佳特征以及特征值的原理就是通过满足函数最小。其实选择的过程本质是对于训练样本的区间的分割,基于区间计算均值,最终区域的样本均值即为预测值。在预测的时候,将会根据提供的样本的特征,来遍历二叉树(确定区域的过程),其中叶子节点的值就是预测值。构建回归决策树,过程,其实可以理解对训练样本进行监督式聚类,每个分类都是有一组特征逻辑范围做描述;预测的时候,其实就是在匹配

2021-05-11 16:46:39 206

转载 软件测试过程的V model,W模型,H模型

软件测试过程的V model,W模型,H模型1.软件测试过程模型-V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现 。2.软件测试过程模型-W模型在V模型的基础上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题 。局限性:仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,不能支持迭代,自发性以及变更调整 。

2021-04-21 15:37:30 57

原创 Why Software Development Methodologies Suck(为什么软件开发方法论让你觉得糟糕)

Why Software Development Methodologies Suck(为什么软件开发方法论让你觉得糟糕)围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的能够促生出高品质软件?结对编程是代码评审的有效替代抑或只是增加了商议沟通代价?我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。Mi

2021-04-10 14:12:57 40

原创 阅读和了解什么是形式化方法

阅读和了解什么是形式化方法在计算机科学和软件工程领域,形式化方法是基于 数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化方法用于软件和硬件设计,是期望能够像其它工程学科一样,使用适当的数学分析以提高设计的可靠性和 鲁棒性。但是,由于采用形式化方法的成本高意味着它们通常只用于开发注重安全性的高度整合的系统。分类:根据说明目标软件系统的方式,形式化方法可以分为两类:1)面向模型的形式化方法。面向模型的方法通过构造一个数学模型来说明系统的行为。2)面向属性的形式化方法。面向属性的方法

2021-04-10 14:07:08 51

原创 Java的反射机制

Java的反射机制反射 (Reflection) 是Java的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。通俗的来讲就是:通过反射机制,可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。注意这里的重点是:运行时,而不是编译时。我们常规情况下写的对象类型都是在编译期就确定下来的。而Java反射机制可以动态地创建对象并调用其属性,这样创建对象的方式便异常灵活了。虽然通过反射可以动态的创建对象,增加了灵活性,但也不是什么地方都可用,还要考虑性能、编码量、安全

2021-04-10 14:01:24 59

原创 从瀑布到敏捷-漫画解读软件开发模式变迁史

从瀑布到敏捷-漫画解读软件开发模式变迁史读完这篇漫画图解和作者的解释后能够明显的感受到瀑布式和敏捷开发之间的区别,笔者对这方面理解也很透彻,和封闭的瀑布式开发相比敏捷开发显的更加灵活,敏捷型方法是“适应性”而非“预见性”适应性不仅是指在一个开发项目中如何频繁地修改软件以适应不断的需求变更,还有过程本身随着时间推移变化。这张图片从上向下,五个房间,分别是瀑布模型(waterfall),敏捷开发(agile),看板(KANBAN),SCRUM 和精益软件开发(lean)。瀑布模型这间小屋和其他小屋有着明

2021-03-27 14:34:35 280

原创 什么是分而治之?

什么是分而治之?分而治之,根据不同的成因,来选择不同的解决方案。分而治之打个比喻就是一个团队的整体实力比较强,那么就分而治之,把一个整体分成个体逐一攻击那么他们力量下小了就好对付了。谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解。...

2021-03-27 14:29:55 150

原创 什么是WBS?

什么是WBS?1. WBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义:是一种在项目全范围内分解和定义各层次工作包的方法。WBS最后构成一份层次清晰的结构,可以具体作为组织项目实施的工作依据。无论在项目管理实践中,还是在 PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基

2021-03-27 14:26:16 6852

原创 为什么软件开发周期总是预估的2-3倍?

为什么软件开发周期总是预估的2-3倍听过行百里者半九十吧。这句话在程序员的工作中同样适用,到底是为何呢?1.人员分配做一个项目或者一个工程,避免不了人员的分工,所以这个时候就需要一个很有经验的项目经理做领头人。如果人员分工不合理以及资源利用不到位都会影响到项目的完成。2.需求分析这个时候需要和客户进行交谈,初步确立需求,并且需要让客户了解本团队的实力以及技术能力。对开发公司有了简单了解后,告知开发公司项目情况,进入需求沟通阶段,双方对项目能够达到共识。达成共识之后,需要做出原型图给客户看,客户

2021-03-27 14:17:24 115 2

原创 有人负责,才有质量:写给在集市中迷失的一代的感悟

有人负责,才有质量:写给在集市中迷失的一代的感悟文章中说到随着互联网时代的到来,越来越多的人投身于互联网行业。学会计算机编程很容易,就像学会用钉子把两块木板钉到一起一样简单。但是想要再进一步学习,需要天分、实践和训练,然而大多人却无法坚持下来。文章地址: https://www.ituring.com.cn/article/9363.Brooks提出了很多有见地的观点,其中一个就是所谓质量,只有在某人对它负责时才有意义,而这个“某人”只能是一个人,不能是几个人——二重奏除外。学会计算机编程很容易,

2021-03-27 13:43:46 116

原创 软件工程方法论对我们开发软件有多大用处?

软件工程方法论对我们开发软件有多大用处?一.软件工程方法论概述软件工程方法论指的是,在软件开发的过程中,必须遵循的普遍行为和规则。软件工程方法论指导下的科研过程,分为如下五个步骤。1)选题。选题即问题定义,是科研的第一步,也是最关键的一一步,极大地体现出论文的新颖程度,在此阶段需要查阅大量资料,深入了解国内外研究现状。2)获取科学事实。对应于软件开发周期,我认为是可行性分析和总体设计阶段。对于我们数据挖掘方向的研究人员,应该包括收集数据集,以及对硬件环境,.比如考虑选择多大内存的电脑,是否需要集群并

2021-03-22 08:06:50 50

原创 软件工程是否是教不太会编程的人开发软件?

软件工程是否是教不太会编程的人开发软件?首先,我的观点为否,软件工程这门课虽然说的是一个软件开发的整体流程。但软件是复杂的,软件不仅包括了程序(系统程序、应用程序和用户自己编写的程序),还包括了程序的处理对象----数据,以及与程序开发、维护和使用有关的图文资料(文档)。在我看来,软件工程是让拥有编程能力以及计算机专业知识的程序员更加正确的运用自己所拥有的技术和知识进行软件开发。Roger S. Pressman对软件给出这样的定义:计算机软件是由计算机专业人员开发并长期维护的软件产品。完整的软件产品包

2021-03-13 16:57:42 207 1

原创 基于Java语言面向对象的程序开发——初步接触Java01

基于Java语言面向对象的程序开发——初步接触Java01这是我初次接触Java语言,在之前学习过C语言,也有一点编程基础,但是实战能力也还不太行,就只是会用C语言写一些简单的程序,解决一些简单的数学问题,不是很精通,只能说是有所涉略。所以现在学习Java语言,在之前的基础上,就不会对Java语言感到太抵触。接下来,就更着我一起来了解一下Java语言吧。Java语言的网络地位在近十年里,Java语言都是最火的语言之一,Java语言的地位一直没有被撼动过。下面这张图片是最近的编程语言的排行榜。从这张图

2021-03-11 21:08:41 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除