自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 资源 (1)
  • 收藏
  • 关注

原创 图的两种遍历:深度优先遍历+广度优先遍历

图的遍历 广度 深度 c语言

2022-08-16 10:47:14 12420 8

原创 软件设计之装饰模式

上述模式是透明模式,还有一种模式是半透明模式。二者的主要区别在于半透明模式子类重写父类的方法时并未调用父类的方法,修饰对象无法多次修饰。衣柜有帽子、眼镜、冲锋衣和毛衣,现在请你选择一件或多件物品穿搭出门。使用装饰模式打印出不同的方案。

2023-12-06 12:34:17 212

原创 软件设计之组合模式

一个公司可以分总公司和分公司,无论是总公司还是分公司都有自己的部门,如人力资源管理部门、财务部门。分公司可以建立自己在不同地域的办事处。请使用组合模式打印出某个公司的结构。组合模式:将对象组合成树形结构。

2023-12-05 23:14:17 338

原创 软件设计之桥接模式

实现茶水间:茶可以分红茶和绿茶,每种茶又可以分大杯和中杯,现在你是服务员需要计算茶水的价格。

2023-12-05 20:41:05 285

原创 软件设计之适配器模式

这种模式被称作类模式,可以看到Adapter继承了Adaptee(要适配者)并且实现了Target(要适配者)。对于一对一的适配还有一种模式叫对象模式,在这种模式下,Adaptee会作为Adapter的成员属性而不是让Adapter去继承Adaptee。我们知道插座的电压为交流电220V,而日常电器使用的是直流电且电压会较小,比如手机充电会通过插头适配器达到额定的输入电流。下面我们实现这个案例:将220V电压转化为5V的电压。上面的案例介绍了一对一的适配,还有一种适配是双向的。

2023-12-05 19:53:48 625

原创 软件设计之原型模式

原型模式是从一个对象再创建另一个可定制的对象,而且不需要知道任何创建的细节。拷贝分浅拷贝和深拷贝。浅拷贝无法拷贝引用对象。在面试的时候,我们会投多家公司,根据岗位的不同我们会适当调整。使用原型模式可以快速达到需求,下面通过这个案例说明。第一张简历是原型,第二张是第一张的浅拷贝并且修改了一定的信息,发现第一张与第二张有关工作经验的内容是一样的,因为这两张简历的工作经验指向的是同一个对象,而第三张是深拷贝,引用对象的信息被修改。注意WorkExperience要实现Serializable接口。

2023-11-30 15:02:35 273

转载 软件设计之单例模式

枚举类默认继承了 Enum 类,在利用反射调用 newInstance() 时,会判断该类是否是一个枚举类,如果是,则抛出异常。在读入Singleton对象时,每个枚举类型和枚举名字都是唯一的,所以在序列化时,仅仅只是对枚举的。时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中。懒汉式需要考虑两个问题,一个是线程安全,一个是性能消耗。单例模式有两种创建模式,一种是饿汉型,一种是懒汉型。,它们俩都可以把单例对象破坏掉(产生多个对象)。输出到文件中,在读入文件反序列化成对象时,

2023-11-29 17:11:50 41

原创 软件设计之生成器模式

比如一台电脑,它的类型可以不一样,可以是苹果的,可以是联想的,等等。同一款电脑它的组件也不一样,有的内存大一点,有的CPU高级点。如果把不同款式的电脑都封装成一个对象的话就比较复杂,使用生成器模式可以快速构建自己需要的对象。下面使用这个案例说明。所有的电脑都是一个产品Product,所有的组件都在这里声明。ConcreteBulider作用是构建电脑具体的部件,Direct作用是将部件组装,并提供方法可以让Client拿到电脑。

2023-11-29 12:22:55 62

原创 STL的认知

vector 、pair 、queue 、priority_queue、deque 、set、map、unordered、algorithm

2023-11-19 15:07:12 251

原创 软件设计之抽象工厂模式

理解抽象工厂模式在于多类产品具有相同的类别就让某一工厂去生产这一类,比如夹克衫和裤子都有大号和中号的型号,那么一个工厂专门负责大号产品,一个工厂专门负责中号产品。下面通过这个案例说明该模式。

2023-10-07 23:12:59 199

原创 软件设计之工厂方法模式

下面用汽车生产的案例说明这种模式。假设某汽车工厂生产两类汽车,一类是红旗,另一类是长安。那么这个工厂可以划分为两部分,这两部分分别生产红旗和长安汽车。现在我们想要生产一辆红旗汽车,只需要到对应的工厂去生产一辆就行。想要红旗汽车就从HongqiFactory中使用getCar方法就拿到了一辆红旗汽车,使用其中的name方法获取汽车的信息。理解工厂方法模式在于一个工厂生产一类产品。

2023-10-07 18:13:09 147

原创 2022年软件设计师下半年真题解析(上午+下午)

以下关于RISC(精简指令集计算机)特点的叙述中,错误的是()。A.对存储器操作进行限制,使控制简单化B.指令种类多,指令功能强C.设置大量通用寄存器D.选取使用频率较高的一些指令,提高执行速度RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度。

2023-09-28 21:05:35 1160 2

原创 2023第十二届中国智能产业高峰论坛

大会主题报告。

2023-09-19 21:21:06 270

原创 基于vue的黑马前端项目小兔鲜

链接:https://pan.baidu.com/s/15PoJhfpPDzf_WTsakO0jmg?链接:https://pan.baidu.com/s/1KQ5-OFMoD7bpL8DJjsmsIA?banner与分类商品在刷新的时候都会请求一次,但banner是没必要刷新的,且导航栏需要刷新才能更新。layout/components/LayoutHeader.vue修改。layout/components/LayoutHeader.vue修改。在home/components下新建5个vue文件。

2023-09-18 13:39:51 560

原创 2023软件设计师上半年真题解析(上午+下午)

2023软件设计师上半年真题解析(上午+下午)

2023-09-10 21:37:37 18738 9

原创 基于ECharts+flask的爬虫可视化

本案例基于python的flask框架,通过爬虫程序将数据存储在csv文件中,在项目运行时会通过render_template映射出对应的页面,并且触发一个函数,该函数会读取csv文件的数据将之交给echarts渲染 ,echarts将之渲染到页面中。当然,我更希望爬虫程序是自动加载的,可以将之封装为一个函数,在页面加载时调用它。

2023-08-22 23:44:36 831 1

原创 基于Echarts的数据可视化大屏

项目主要分为前端页面的布局和Echarts图表的嵌入,页面主要就是css较为繁琐,图表毕竟官网有模板,操作较为简单。以后有时间会利用爬虫的数据做成图表再展示到大屏。

2023-08-14 21:35:02 467

原创 基于WebSocket的在线文字聊天室

与Ajax不同,WebSocket可以使服务端主动向客户发送响应,本案例就是基于WebSocket的一个在线聊天室,不过功能比较简单,只能满足文字交流。演示如下。案例学习于b站up主,。这位up主讲的非常清楚,值得去学习。本文属于记录自我学习过程的文章。项目目录下app.js项目目录下打开终端下载成功后。项目目录下index.html去掉css。app.jsindex.html浏览框1浏览框2稍微美化页面,增强一下逻辑。在浏览器内打开三个窗口,既有3个人参与到聊天室中,现在可以聊天了。

2023-08-14 00:23:51 1018

原创 OpenCv.js(图像处理)学习历程

OpenCV由Gary Bradski于1999年在英特尔创建。第一次发行是在2000年。OpenCV支持c++、Python、Java等多种编程语言,支持Windows、Linux、Os X、Android、iOS等平台。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。OpenCV.js将OpenCV带到开放的web平台,并使JavaScript程序员可以使用它。

2023-08-07 14:20:34 1858

原创 Manim(一款强大的数学可视化动画引擎)学习历程

第一眼看见上面这种类型的视频我就深深被它的简约清楚所折服,我觉得它完全符合我的审美,我也相信只要了解过制作这种视频的软件的人都会喜欢上它。运用这种风格比较有名的是b站里的一位up主名叫3Blue1Brown,下图是他的主页,有兴趣的朋友可以自行去了解。这个软件的名字叫Manim。不过因为这款软件是基于python的,所以想要使用这款软件的人需要一定的编程能力,所以没有学过编程的朋友想要学习就需要更加努力。进入它的官网,查阅技术文档(),点击示例,可以看到很多的例子。

2023-08-03 17:38:58 6002 1

原创 【javascript】导航栏

要实现这样的效果主要有两点。第一,当鼠标经过主导航栏里面的内容就会被放大,鼠标离开后就会恢复原来的样子;第二,当鼠标经过主导航时对应的副导航的内容就会呈现。

2023-07-04 11:04:04 544

原创 【javascript】二维码

解压后打开index.html文件输入百度地址回车,就可以看到指定页面的二维码了。QRCode有两个参数,前一个是插入二维码DOM,后一个可以设置二维码的属性。javascript二维码的生成可以用第三方库qrcode.js。根据使用文档,二维码的生成需要QRCode对象。

2023-06-28 18:14:19 896

原创 【javascript】2048小游戏

2048是一款风靡全球的小游戏,具体的玩法就不多说了,最早于2014年Gabriele Cirulli在github发表的版本。不过此项目依赖于GULP。本文就用javascript写出一个较为完整的2048游戏。以下是本文实现的游戏界面:2048的实现可以分为3个部分:游戏界面绘制、分数逻辑和方向控制逻辑。

2023-06-27 16:54:27 1675

原创 【css】动画:立方体相册

立方体相册

2023-06-26 22:48:25 689

原创 【css】动画:行走的人

主要运用animation-timing-function: steps(8)将图片分为8份,然后一份份播放。

2023-06-26 22:04:04 602

原创 【css】小球回弹效果

虽然看起来没有问题,实际上问题在于小球的速度是一样的,而实际上小球具有加速度,小球随着时间的变化速度也会不同,通过设置ease-in和ease-out虽然可以模拟减速和加速,但与实际相比还是有差别。具体的参数可以通过浏览器调试。

2023-06-26 17:33:27 1004

原创 【vue3】购物车

2023-06-25 20:57:34 251

原创 【vue3】学生管理案例

渲染学生列表、新增学生、删除学生、搜索学生

2023-06-25 12:04:26 175

原创 【javascript】闭包

而for循环结束的条件是最后一次i++执行完毕,此时i的值为3,所以实际上setTimeout()函数每次执行时,都会输出arr[3]的值。下面引出闭包的概念,即函数声明和函数表达式可以位于另一个函数的函数体内,在内部函数中可以访问外部函数声明的变量,当这个内部函数在包含它们的外部函数之外被调用时,就会形成。第二个代码通过立即执行函数将索引i作为参数传入,在立即函数执行完成后,由于setTimeout()函数中有对arr变量的引用,其执行上下文环境不会被销毁,因此。对比两个代码的区别,有什么不同呢?

2023-06-24 20:17:51 406

原创 【javascript】获取键盘输入

在JavaScript中,如果我们想要获取键盘中的键对应的键码,可以使用event对象的keyCode属性。

2023-06-24 16:24:14 1031

原创 【javascript】防止内容被复制

在JavaScript中,我们可以使用onselectstart事件来防止页面内容被选取。此时无法选取所要的内容。但想要所需要的内容可以从源代码获取,或者禁止网页的javascript。

2023-06-24 15:19:34 111

原创 【javascript】全选按钮

当点击全选按钮时,与之相关的所有选项都会被自动框选。

2023-06-24 14:57:56 229

原创 ECharts数据可视化

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

2023-06-23 01:07:27 3837 2

原创 【Springboot】集成百度地图实现定位打卡功能

使用的框架为springboot,新建一个demo页面,设置一个按钮和一个文本域,按钮用来向接口请求信息,文本域用来存放定位信息。使用百度地图的API实现定位功能,将返回的json数据封装成接口。点击按钮向接口请求数据,将请求后的定位信息使用javascript嵌入到文本域中。

2023-05-25 22:07:48 1924

原创 【AcWing30】正则表达式匹配(动态规划)

那么 dp[i][j] = dp[i]j-2。3.2 如果是多次重复 那么 p[j-2] 与s[i-1] 相等 或者p[j-2]==’.’ 那么dp[i][j] = dp[i-1][j]1 p[j-1] 是字母 而且与 s[i-1] 相等,那么当前dp[i][j]是否匹配就依赖于dp[i-1][j-1]2 p[j-1] 是. 那么肯定与s[i-1]相等, 当前dp[i][j]是否匹配 就依赖于 dp[i-1][j-1]dp[i][j] 表示 s[0~i)的字符串与p[0~j)的字符串是否匹配。

2023-05-25 11:58:46 109

原创 【LeetCode200】岛屿数量(深度搜索)

当遍历为1的时候,就说明有一个岛屿,岛屿数量自加1。然后从四个方向上深搜,如果遇到海水或者该块陆地访问过就结束深搜,最后可以确定一个岛屿的范围。

2023-05-24 19:52:26 82

原创 【LeetCode363】矩形区域不超过 K 的最大数值和(前缀和+二分)

确定一个矩形区域一定要四条边,但我们要确定一个矩形区域是想求出它的和以满足最大的不超过k。而矩形区域的和可以看成是一列一列的和,如果我们把每一列的和全部求出来,实际上矩形区域的和就是一个数组的和。假定第四条边对应着前i项的值,第三条边对应着前j项的值,我们就是要找出满足。对于一维数组,想要知道区间内的和可以使用前缀和,也就是数组第i项的值为前i项的和 ,其实在求和的过程中就确定了第三条边。我们可以只用枚举三条边,而第四条边可以采用二分查找,减少第四条边的枚举。,m和n最大100,计算量最大为。

2023-05-24 11:22:14 63

原创 【javascript】雪花飘落1

【代码】【JS】雪花飘落1。

2023-05-23 20:52:00 70

原创 【CSS】动态背景1

【代码】【CSS】动态背景1。

2023-05-23 20:00:19 813

原创 更改Dev-C++的std标准

在c98中auto默认表示生命周期,在c11中auto才表示自动类型,所以配置好标准很重要,不然会报错。

2023-05-23 11:29:03 251

springboot小功能:集成百度地图实现定位打卡功能

当点下定位按钮时,可以在页面上显示所在区域的大致位置(精确到市级)。 使用的框架为springboot,新建一个demo页面,设置一个按钮和一个文本域,按钮用来向接口请求信息,文本域用来存放定位信息;使用百度地图的API实现定位功能,将返回的json数据封装成接口;点击按钮向接口请求数据,将请求后的定位信息使用javascript嵌入到文本域中。​​

2023-05-25

空空如也

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

TA关注的人

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