自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树与图的代码模板

树是一种特殊的图,与图的存储方式相同。对于无向图中的边ab,存储两条有向边a->b, b->a。因此我们可以只考虑有向图的存储。(1) 邻接矩阵:g[a][b] 存储边a->b。

2024-03-01 23:49:33 407

原创 c++基础知识(一)

当要输出一个表达式的值时,可使用cout来实现,其一般格式为: cout

2024-03-01 23:16:35 483

原创 合并果子(贪心算法,huffman树)

在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。达达决定把所有的果子合成一堆。每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1 次合并之后,就只剩下一堆了。达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以达达在合并果子时要尽可能地节省体力。

2024-01-05 21:16:59 633 1

原创 基础算法模板(C++)

【代码】基础算法模板(C++)

2023-12-30 21:33:49 429

原创 素数(算法、C++)

(1)若 i % primes[ j ] == 0 ,则说明 primes[ j ] 是 i 的最小质因子,那么primes[ j ] 也一定是primes[ j ] * i 的最小质因子。例如:4 % 2 == 0 ,2 是 4的最小质因子,且 2 也是2 * 4 的最小质因子。= 0 ,由于我们是从小到大枚举的所有的质数,并且我们没有枚举到 i 的任何一个质因子,则此时primes[ j ] 一定小于 i 的所有质因子,但是primes[ j ] 也一定是primes[ j ] * i 的最小质因子。

2023-12-28 18:13:33 873

原创 关于MVC三层架构的一些认识和理解

MVC是软件工程中的一种软件架构模式,它把软件系统分为模型、和三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。:Model,模型。JavaBean:view视图。JSP、HTML等来进行数据展示:Controller控制器。Servlet【缺点】获取View的请求调用模型将数据交给视图进行展示。

2023-12-10 14:12:33 444

原创 专业英语作业1

在每周的例会上,团队成员计划为新年举办一个聚会,你应该为这个计划写一份备忘录,包括时间,地点,任务等等。思考:时间,地点,任务分工,才艺展示,流程,意义:提升团队的紧密协作等。

2023-12-03 14:51:43 362

原创 什么是浏览器跨域访问操作,js如何实现

端口号即域名对应的服务器的监听端口,这个我们一般是看不到的,因为一般服务器都使用80端口,浏览器默认为80端口,所以不需要在域名后再写出端口号。当8080端口发出的请求为80端口时,也存在跨域。这种方式可以解决所有跨域问题,也就是将后台作为代理,每次对其它域的请求转交给本域的后台,本域的后台通过模拟http请求去访问其它域,再将返回的结果返回给前台,这样做的好处是,无论访问的是文档,还是js文件都可以实现跨域。需要注意的是,虽然上述方法可以实现跨域访问,但它们都需要服务器端的支持或特殊的前端代码处理。

2023-11-11 19:19:41 60

原创 JavaScript在发送Ajax请求时,URL的域名地址是使用绝对地址还是相对地址

在AJAX中,当发送请求时,网页通常会使用相对地址来指定要访问的资源路径。这是因为AJAX请求通常是从当前所在的网页(即源网页)发起的,而不是从完整的绝对地址开始。相对地址,通常是相对于相对于当前网页的URL路径,在使用时只需要提供相对于当前网页的路径部分;绝对地址,通常用于跨域请求或需要与不同域名的服务器进行通信时,在使用时需要提供完整的URL,包括协议(如http或https)、域名和路径。在使用JavaScript发送AJAX请求时,URL的域名地址可以使用相对地址或绝对地址,但通常是使用相对地址。

2023-11-11 19:18:23 83 1

原创 状态图,E-R图,顶层图,数据流图

作业。

2023-05-14 12:17:48 144

原创 说说你了解过、使用过什么编程语言?比较他们的优势。说说你了解过、使用过什么编程工具?

IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析。Visual Studio:Visual Studio是一款由微软开发的集成开发环境,支持多种编程语言,包括C++、、Python等,具有代码自动全、调试、版本控制等功能。它具有丰富的第三方库和框架,可以实现复杂的客户端逻辑和服务器端交互。Python是一种易于学习和使用的语言,适用于数据科学、机器学习和Web开发等领域。

2023-05-02 11:20:31 51

原创 请列举你所了解的测试工具

3.Appium:一种跨平台移动应用程序测试工具。支持iOS和Android应用程序,并可以使用多种编程语言进行编写测试脚本。1.Selenium:一种自动化Web应用程序测试工具。支持多种编程语言,包括Java、Python和C#。5.JUnit:一种用于Java应用程序的单元测试框架。可以帮助开发人员编写和运行测试用例,并生成测试报告。2.JMeter:一种用于测试性能和负载的开源工具。4.Postman:一种用于测试API的工具。可以轻松地创建和发送HTTP请求,并得到响应。

2023-05-02 11:12:58 139

原创 如何理解信息隐藏和局部化?用自己的话或者例子表达其含义

例如,在Web开发中,将相关的HTML、CSS和JavaScript代码放在一起,形成独立的模块,可以方便地修改和维护每个模块,也可以更容易地重用代码,提高开发效率。这种设计方式可以减少模块之间的依赖,降低模块之间的耦合性,同时提高模块的可维护性和可扩展性。例如,在面向对象编程中,将类的数据成员声明为私有变量,只能通过公有方法来访问和修改,可以保护数据的安全性和一致性,同时隐藏了类的实现细节。综合起来,信息隐藏和局部化是软件设计中重要的原则和技巧,可以帮助我们构建更加灵活、可维护和可扩展的软件系统。

2023-03-31 15:33:53 115

原创 衡量模块独立的定性标准是什么?用自己的话表达其含义

是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。

2023-03-31 15:30:02 331

原创 什么是模块化,为什么要模块化?

好处:通过暴露接口,不需要命名空间,不需要全局变量,;可以彻底解决命名冲突多团队并行开发测试,;更好维护降低代码耦合 ,提高复用性;通过require引入依赖,可以让依赖内置,让开发者可以专心当前模块开发。模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整体系统来说,模块是可组合,分解和更换的单元。

2023-03-31 15:26:58 74

原创 如果你要去开发一个中小学生学习数学的软件,你应该找谁去做用户调研?

他们可以提供有关数学课程的建议和指导,以及如何使用技术帮助学生更好地理解数学概念的想法。1.中小学生及其家长:了解他们的学习需求、兴趣和痛点,探索哪些数学概念和知识点是他们觉得难以理解和掌握的,以及他们希望通过这个软件获得哪些帮助和收益。3.其他已经存在的数学学习软件的用户:了解他们使用其他数学学习软件的体验,包括使用场景、软件功能和界面设计。通过这些用户调研,我觉得可以更好地了解目标用户的需求和期望,有针对性地设计和开发更符合他们需求的数学学习软件。用户调研的话,得先去找用户或者相关的人员。

2023-03-29 14:07:29 44

原创 了解WBS

项目→任务→工作→日常活动,将一个大项目分解成一个个任务,将任务再分解成可以完成的工作,最后将工作分解成一次次的日常活动。WBS工作分解结构跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。工作分解结构以可交付成果为导向,对项目要素进行的分组,它归纳和定义了项目的整个工作范围,每下降一层代表对项目工作的更详细定义。7.分解的任务节点树,应该与实际工作情况一致,这样才能对项目进行指导。

2023-03-22 23:08:48 103

原创 什么是分而治之?

分治法,字面意思是“分而治之”,就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础,如排序算法等。分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。

2023-03-22 18:12:20 65

原创 QUORA精选:为什么软件开发周期是预估的2—3倍?读后感

文章中用了徒步旅行这个例子来描绘了软件开发。一开始我们在进行软件开发预估周期时总是太过于理想化,就像文章中徒步旅行的时候以为道路全是平坦的,自己也不会受伤或者因为自己的粗心大意而导致计划延期的情况出现等等问题没有被考虑到。而软件开发预估周期也是在这样一个差不多的环境中进行的,我们在进行周期预估之前并没有深层次地进行过这一款软件的开发,只是基于表面而给出了一个预估周期,所以这就导致了软件开发周期总是预估的2~3倍。

2023-03-22 18:05:26 48

原创 什么是结对编程

有的是分工明确型,一个人负责编写代码,另外一个人审查代码,负责代码的正确性和可读性;或者一个写功能代码,一个人写测试用例。有的是共同合作型,两个人共同讨论关于所开发功能的架构设计、编码实现、测试方法、代码风格等,然后轮流做输入和观察的工作。顾名思义,结对编程就是两个程序员坐在一起,结对进行代码开发。在极限编程中,所有的软件产品都是由两个程序员并排坐在一起,在同一台机器上共同完成的。在国内还有一种大家结对的方式是“老带新”,一个老员工带一个新人,这种其实不是严格意义上的结对编程,算是新人培养的一种形式。

2023-03-19 11:47:16 124

原创 什么是DovOps?

一个产品从诞生到真正运行起来,会经过开发、测试、部署、运维等各个阶段,在这些阶段中会存在各种各样的问题,这些问题会影响产品最终运行的效率、效果、质量。DevOps存在的目的,就是要梳理整个开发、测试、运维生命周期,它最终的目标就是要让这个产品生命周期中的每一个阶段都能够高效协作、快速反馈、敏捷开发、持续集成、持续交付。用一句话总结:让更少的人,花更少的时间,完成更多的高质量工作。企业需要根据自己的业务特性,通过制定流程规范,来搭建一套符合自己现状的工具集,从而实现自己的DevOps落地。

2023-03-19 11:28:28 126

原创 什么是scrum中的3355?

Scrum3355指的是:3个核心角色,3个工件,5个关键事件和5个价值观。(1)产品代办清单(Product BackIog)(2)Sprint 计划会。(4)Sprint 评审会。(5)Sprint 回顾会。(3)潜在可发布产品增量。

2023-03-19 11:16:06 40

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

过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效的维护它。如果能够正确的运用软件工程方法论,我们可以在软件开发的道路上少走弯路,高效的进行软件开发,更快更准地开发出我们需要的理想产品。,熟知产品需求而适用的快速原型模型,便于用户学习测试反馈的增量模型,适用于未知开发的螺旋模型,迭代开发的喷泉模型等。

2023-03-18 23:27:43 26

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

Brooks提出了很多有见地的观点,其中一个就是所谓质量,只有在某人对它负责时才有意义,而这个“某人”只能是一个人,不能是几个人。我有点奇怪,为什么Brooks不把Unix作为他这个观点的论据,因为我们可以精确地指出Unix开始走向碎片化的时间点:1990年代初,AT&T抛弃Unix,将其商业化,抢走其架构师的那一刻。而最近几年,不止一个人像Brooks一样得出相同的结论。运动,以及.COM运动,揭示了那段代码因各种包把Web搞得一团糟, 随便依赖,互相纠缠,代码越重用,浪费越严重。

2023-03-18 14:12:10 44

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

2、在生产制造的过程中,由于模式的限制,所有的工作都得按照顺序来开展,上一项未完成之前下一项是无法开启的,一切都显得井井有条,这一特点保证了产品的质量,让产品不容易出问题。同时这一特点也是有着不小的缺点的。1、在生产制造过程中,不透明的开发方式,在面对客户的需求时,工作人员的开发和客户的需求之间达不到一个有效的沟通,生产出来的产品达不到客户的要求,导致客户与开发人员之间容易产生分歧,双方之间无法做到相互理解。2、在敏捷开发模式中,生产不再是线性的,开发的同时,其他项的工作也可以同时进行。

2023-03-18 14:02:19 84

原创 关于“软件工程是不是教会不怎么写程序的人开发软件?”的看法。

软件工程,就是教你如何编软件,而不是仅仅的写代码。当你准备做个比较大的软件的时候,只能按照软件工程的方法来一步步的设计这个软件。对于做软件来说,编代码的人就像民工,很累,很机械,也没有什么技术含量。软件工程会使你知道怎样去做需求分析以了解程序需要实现的功能,怎样去做系统设计以构建程序的框架,怎样测试以验证程序功能的正确等。你可以通过软件工程的指导去实现一个结构清晰、可维护和健壮的程序。软件工程会教给你如何从工程的角度去完成一个项目的开发,如何处理开发过程中的各种问题,如何创造一个很好的软件系统。

2023-03-18 13:46:27 34

原创 关于《现代软件工程基础》这本书的一些想法

软件工程的核心是为了控制研发过程以保证最终的交付质量,但研发过程管理的方法并不是从一开始就完备的,它也经历了一系列不断的探索和迭代。而其中的瀑布模型就是其软件工程的最初的项目管理方法,利用模型化的问题来解决大部分的问题。对于上面的那个问题,我们得需要了解软件工程开发的整个过程,即大致可分为想法、概念、计划、设计、开发、发布这六个阶段。利用这六个或者其中几个阶段对照日常工作中遇到的问题,将这些问题都看作一个项目,并且逐步拆分去完成,你会发现这种有目的、有计划、有步骤的解决问题的方法就是工程方法。

2023-03-18 13:01:23 82

原创 学习笔记:软件如何定义世界

对于软件如何定义世界的一些看法

2023-03-05 22:22:10 125

桂林理工大学计算机类专业大二上实习

桂林理工大学计算机类专业大二上实习

2023-05-04

空空如也

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

TA关注的人

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