- 博客(106)
- 收藏
- 关注
原创 如何画图
1. 找出关键路径算出总工期。根据总工期画出时标轴,从0开始,如0、1、2……依次排到最后总工期。2. 在时标轴上连接关键路径3. 找到剩余的活动,根据紧前和紧后关系,在合适的位置画出剩余的活动。如活动F的紧前活动是活动C。那么只有在活动C结束以后开始活动F。。
2025-12-17 15:18:41
174
原创 使用poi通过word模板导出数据
引入Apache POI依赖制作word模板加载word模板,读取word模板的内容,替换占位符内容将修改后文档另存为。
2025-12-16 14:51:23
229
原创 mybatis映射
一个主表A包含了四个子表B、C、D、E,主表A与子表BCD都是一对一的关系(1 : 1),即主表A与子表B一对一(1 : 1),主表A与子表C一对一(1 : 1),主表A与子表D一对一(1 : 1),主表A与子表E一对多(1:n)。子表B包含了两个子表F、G,子表B与它的子表属于一对多的关系,即子表B与表F属于一对多(1:n), 子表B与表G属于一对多(1:n)。的映射中有四个子表查询方法的路径,会根据配置的路径找到对应的接口,通过接口链接到sql语句。主表A与四个子表BCDE的映射关系如图1。
2025-12-11 14:16:13
145
原创 沟通管理论文
制定沟通管理计划,明确沟通对象、方法和时间节点输入:项目管理计划、干系人登记册、组织过程资产工具和技术:互动沟通方法、项目沟通管理计划输出:沟通管理计划,包含沟通对象、方式、内容和频率等。
2025-11-25 08:21:22
167
原创 十大过程之间的联系
是所有知识领域规划过程的最终输出和执行的共同依据。它整合了所有子计划(如范围、进度、成本、质量、资源、沟通、风险、采购计划等)和基准(范围、进度、成本基准)。因此,几乎所有管理活动都围绕着制定、批准、执行和监控这个总计划来展开。
2025-11-24 14:12:39
29
原创 质量管理论文
识别项目质量标准及准备对策。制定质量管理计划,明确质量标准,质量活动和质量控制方法。邀请干系人参与质量规划会议,确保质量要求统一。使用质量成本法,因果图等工具进行质量规划。
2025-11-22 20:27:14
244
原创 运筹学计算题
B1中最小运费的产地是A2, 总销量是16吨,产量是20吨,可以直接全部运走,B1列的销量为0,A2行的产量为4。找到任意一条从起点到终点的路径,找到这条路径中最小的值,对这条路径上的数都相减最小的数,并累加每条路径最小的数,如果为0则去掉该条路线,重复操作,直到没有通路。剩余数据中最大差值为A1行的行查,为7,参量为32吨,这里考虑到尽可能一次性多的运送,所以选择B3列的产量28吨,运费为4*28。如A节点到B的最小路径是5,A到C节点的最小路径是9,到C的最小路径是11,到D的最小路径是18。
2025-11-21 11:21:43
700
原创 成本类计算题
那就需要知道剩余还有多少工作量(BAC-EV)以及剩余的预算(BAC-AC),即(BAC-EV)/(BAC-AC);那就需要看看还剩下多少活(BAC-EV),然后按新的完工估算看看还有多少钱(EAC-AC),即(BAC-EV)/(EAC-AC)。7. 总结项目进度提前的经验,并记录,把这些经验传播到其他班组,甚至其他项目或未来的项目。非典型(纠偏):当前的偏差被视为一种特例,是偶然的,项目团队认为将来不会发生类似的偏差。典型(不纠偏)当前出现的偏差被视为具有典型性,可以代表未来的偏差,按照最新的参数执行。
2025-11-20 15:12:07
475
原创 进度类计算题
A的总时差就是以A为起点,找出所有和A相关的路径,找到这些路径中波形图总和最小的就是总时差。关于第二问,关键路径BGI压缩成100天后,关键路径发生了变化,ADH的长度是110,ADH变成了关键路径,因此需要压缩ADH路径,所以需要压缩的路径有BGIADH。计算哪个工作的总时差,就以哪个工作为起点工作,寻找通过该工作的所有线路,然后计算各条线路的波形线的长度和,波形线长度总和最小值就是该工作的总时差。,是用于编制项目进度网络图的方法,用矩形代表活动,矩形之间用箭头链接,以表示活动之间的逻辑关系。
2025-11-14 10:19:25
421
原创 2. 上午工程经济学计算题
折现也称贴现,就是把将来某一时点的资金额换算成现在时点的等值金额。折现时所使用的利率称为折现率(贴现率)。T表示第几年开始收回了成本开始盈利了,如成本是10万元,第一年收回了7万元,第二年收回了4万元,则T就是2。其中i为贴现率,1/(1+i) 的 n 次方 称为折现系数,P是现值,F是未来值、 终值。若n年后能收入F元,那么这些钱现在的价值(现值)
2025-11-07 20:39:03
320
原创 vue2 动态路由权限菜单+按钮权限实现
在Vue2中实现动态路由主要通过 vue-router 的 addRoutes (已被废弃)方法或 addRoute方法(Vue Router 3.1.0+)。现在有两种思路可以实现动态菜单。:后端直接返回带有相关权限的,规定格式的菜单信息,由前端处理生成路由信息。:后端返回权限标识列表,这个标识列表和前端的路由结构的 name 字段的值进行匹配,如果匹配成功,说明用户具有该菜单的权限。
2025-08-04 11:16:04
1330
原创 解决[vue-router] Duplicate named routes definition: name 名称冲突的问题
首先猜想是 name 属性重复定义的导致的警告,回到路由配置模块(router/index.js)没发现有name冲突的代码。每次初始化时、每次点击动态路由时都会有下图的警告,最终问题锁定在了动态路由这里。改造之后的代码如下,新增了一个 resetRouter() 方法,将默认实例给全新的实例,然后将新实例的 matcher(路由匹配器)赋值给当前路由实例的 matcher。:重置路由,将新实例的 matcher(路由匹配器)赋值给当前路由实例的 matcher。改造之前的代码如下图所示。
2025-08-04 08:48:00
592
原创 重复点击路由导致报错 NavigationDuplicated: Avoided redundant navigation to current location: “xxxxx“.问题
这种处理方式只会静默处理导航重复的错误,其他类型的导航错误(如路由守卫中的错误)仍然会正常抛出。同时,这是 Vue Router 3.x 的处理方式,在 Vue Router 4.x(Vue 3 版本)中,导航错误的处理方式有所不同。:这个错误本身不会影响应用的正常运行,但如果没有被捕获,它会在控制台中显示红色错误信息,影响开发体验,甚至可能被某些错误监控系统捕获,造成不必要的告警。:代码通过重写 Vue Router 的。捕获可能的错误,避免错误继续向上传播。方法覆盖原型上的原方法。
2025-07-19 16:01:55
526
原创 POI报表
API描述WorkbookExcel的文档对象,针对不同的Excel类型分为:HSSFWorkbook(2003)和SheetExcel的表单RowExcel的行CellExcel的格子单元FontExcel字体CellStyle格子单元样式Excel 2003:在POI中使用HSSF对象时,excel2003最多只允许存储65536条数据,一般用来处理较少的数据量。这时对于百万级别数据,Excel肯定容纳不了。Excel 2007:当POI升级到XSSF。
2025-07-08 20:42:28
779
原创 消息推送之Websocket
Websocket 是基于TCP的一种新的网络协议。允许在单个 TCP 连接上进行全双工通信。与传统的 HTTP 请求-响应模式不同,WebSocket 提供了持久的连接,服务器和客户端可以随时主动推送数据,无需反复建立连接,可以进行双向数据传输。客户端可以向服务器发送数据,服务器也可以向客户端发送消息。HTTP协议与WebSocket协议对比不同点HTTP是短连接,WebStocket是长连接。HTTP通信是单向的,WebSocket通信是持久双向的相同点二者的底层都是TCP连接HTTP 连接响应。
2025-06-25 16:56:56
1046
原创 Nginx 基础知识
一、Nginx基础Nginx 是一个高性能的HTTP反向代理服务器,及电子邮件(IMAP/POP3)代理服务器可以支持5万个并发请求。其特点占用内存少,并发能力强,在同类型的网页服务器中表现较好。一、Nginx基础1. Linux环境安装Nginx这里主要记录Nginx 环境安装,windows 环境只要下载安装包解压即可使用。1. 安装Nginx相关依赖2. 下载Nginx并安装2.1 新建一个目录,将压缩包放到Linux中并解压 nginx-xx.tar.gz 包解压。
2025-06-22 17:44:30
896
原创 vue项目全屏与半屏视图切换
全屏与正常视图的切换在系统中很常见,现在简单记录下在vue2项目中如何开发全屏与正常视图的切换。这里需要下载全屏插件 screenfull.js 插件。1. 安装插件依赖。值得一提的是,如果不指定插件的版本,默认是安装最新版本的。但在vue2项目中,安装6.0版本的全屏插件会报错,所以在vue2项目中需要指定插件的版本为 5.1.0。2. 定义一个全屏公共组件,这里的路径为 src/components/Fullsceen/index.vue。
2025-06-20 20:11:05
1133
原创 数据分页查询
Spring Data JPA 是 Spring 生态系统中用于简化数据库访问的模块,,基于 JPA(Java Persistence API)规范。它通过减少样板代码和提供通用 CRUD 操作,显著提升了开发效率。Spring Data JPA 整合了 Hibernate 等 JPA 实现,同时扩展了查询能力。如果使用的是 Spring Boot 和 Spring Data JPA,那么分页功能已经内置其中,开发者只需简单配置即可实现。
2025-06-17 16:56:50
390
原创 浅谈数据库连接池
Bean需要显式配置类的场景自定义数据源:使用非标准数据源(如 Druid、BoneCP 等)或需要自定义连接池参数。多数据源切换:即使当前只有一个数据源,但未来可能扩展为多数据源。自定义事务管理器:需要配置特殊的事务传播行为或隔离级别。MyBatis 自定义配置:需要指定 mapper 位置、类型别名或插件。与其他框架集成:例如与 ShardingSphere、Seata 等分布式框架集成。在src目录下建一个类作为配置类。
2025-06-16 20:33:18
821
原创 Java 动态代理
代理对象调用唱歌方法时,代理对象会调用代理工具类的 createProxy 方法的匿名内部类中第三个参数的回调函数,这个回调函数表示代理对象需要做什么事,并且让被代理对象执行唱歌和跳舞方法, invoke(s, args) 会到 Star 对象(被代理对象)找对应的唱歌和跳舞方法。动态代理将额外的功能抽离出来,通过代理类动态的添加到原方法的前后,从而实现对已有的方法进行增强。Spring 的 AOP (面向切面编程)就是应用了动态代理。它的作用就是在不修改原代码的前提下,对已有的方法进行增强。
2025-06-16 10:24:27
242
原创 自定义注解
自定义注解顾名思义就是自己定义注解。注解的本质就是一个接口,所有的注解都继承了 Annotation接口。@注解就是一个实现类对象,实现了该注解以及Annotation接口。就是对使用注解的地方进行标记。public @interface 注解名称 {// 如果没有默认值可以写成 public 属性类型 属性名()public 属性类型 属性名() default 默认值特殊属性value,如果注解只有一个value属性,使用注解时 value名称可以不写,可以直接写值。
2025-06-16 10:21:25
383
原创 加盐加密算法
MD5(Algorithm 5)是一种常用的,用于将任意长度的数据进行的加密处理。MD5 可以将输入的任意长度的数据转换为一个128位(16字节)的哈希值,通常表示为32个十六进制数字。不可逆性:MD5 加密是,即无法从加密后的结果还原出原始数据。固定长度输出:不论输入数据的长度如何,MD5 始终输出。高速度:MD5 的计算速度较快。虽然MD5能够对数据加密,但已被证明存在多种破解方式。常见的破解方法有和。所以不建议单独使用 MD5 进行加密。彩虹表是一种预计算的哈希值与明文密码的映射表。
2025-06-15 20:22:48
597
原创 0到1搭建前端Vue2项目
1.1 打开 cmd 命令提示符进入到存放项目的目录,在命令提示符上使用 “ vue create 项目名” 命令创建项目。1.2 之后可以选择 vue 版本,虽然现在 vue2 已经停更,但是还是值得学习的。1.3 等待初始化 vue 脚手架后,会出现蓝色的两条命令,依次执行它们即可启动 vue。vue脚手架启动成功后会出现蓝色的两个网址,无论是哪个网址都可以打开页面。1.4 浏览器输入网址后界面如下。
2025-06-05 17:23:13
3528
原创 JWT 认证
JWT (Json Web Token),通过数字签名的方式,以JSON 对象为载体,在不同的服务端之间安全的传输信息。说白了JWT就是一种密钥,用于授权认证,如果没有密钥,或者密钥失效了,你就不能访问核心信息。
2025-05-31 21:21:53
462
原创 SpringBoot 自定义输出控制台图标
对于控制台输出的这个图标大家都不陌生吧,不仅在SpringBoot中有这种图标,在docker 、 nginx 启动时都有自身独特的图标,这是怎么实现的呢。), 将图标粘贴到新建文本文件(banner.txt)中,将文本文件放在springBoot 项目中的 resources 目录下即可。启动项目后就会发现原来的图标已经替换成了自定义的图标了。需要利用一个网站生成 banner 图标(
2025-04-13 16:20:19
373
原创 网页布局汇总
容器大小 = 内容大小 + 内边距(padding) + 边框大小在 css 中加入下列代码,盒子便不会被撑大。box-sizing 有三个值:content-box(默认)、border-box、inherit。也叫标准盒模型,默认是该值。。如果盒子宽度为 100 px, padding 为 10px , border 宽度为 5 px。那么盒子大小是 100 + 10 * 2 + 5 * 2 = 130 px也叫 IE 盒子模型。。
2025-04-12 20:05:29
1179
原创 Vue 组件命名及子组件接收参数命名
首字母大写。如 <School></School>。在 vue 开发者工具中默认使用的是该种方式。: 首字母小写。如 <school></school>
2025-04-02 20:26:16
392
原创 AOP面向切面编程实现限定IP段上传文件
假设有四个方法,需要在每个方法中都输出一个日志,传统发放就需要在每个方法中写一条输出语句,如果有一万个方法,就需要将该输出语句写一万次,那这种方法显然是不可行的。所以需要将这条打印语句抽离封装好,需要用的的方法调用封装好的打印语句就好了。上图所示,将长的椭圆形看成一个个方法,然后在方法上横切一刀,每个椭圆形就会有个横切面,这个横切面就是我们需要抽取出来的业务。我们把全部的横切面都集成一个大的横切面,就类似于将公共模块封装,需要用的时候直接调用即可。
2025-04-02 10:10:17
1287
原创 vue 组件之间传递参数
并将数据传递给父组件。父组件可以通过在子组件标签上监听这个自定义事件来接收数据。1. 子组件通过 $emit 定义触发事件,并传递数据。
2025-03-31 20:20:39
2147
原创 vue 自定义指令
定义指令// 注册一个全局自定义指令 `v-focus`// 当被绑定的元素挂载到 DOM 中时...// 聚焦元素el.focus()})使用指令指令定义时不加“v-”,但使用时要加“v-”指令名如果是多个单词,要使用kebab-case(-)命名方式,不要用camelCase(驼峰)命名如果想注册局部指令,可在组件中配置 directives 属性来注册局部指令focus: {// 指令的定义el.focus();如下所示。
2025-03-31 14:56:35
497
原创 vue 路由
query 传参跳转:to="/path?参数名=值&参数名2=值"获取:$route.query.参数名param 传参配置动态路由:path: "/path/:参数名"跳转:to="/path/参数值"获取:$route.params.参数名注意:1. 动态路由也可以传多个参数,但一般只传一个。2.使用param 对象写法传参,跳转路由要使用 name 属性,不能使用 path 属性。3.需要在路由配置中设置占位参数。
2025-03-31 14:02:53
2246
原创 基于 vue 做数字滚轮效果
如果某个中间属性为null或undefined,表达式会直接返回undefined,而不会抛出错误。修改start-val 和 end-val 的起始值即可。在需要使用的位置写 <count-to></count-to> 标签。use-easing:是否使用缓动效果,默认为 true。decimals:小数点后保留位数,默认为 0。separator:千位分隔符,默认为逗号 ,。start-val:初始值,默认为 0。prefix:前缀,默认为空字符串。suffix:后缀,默认为空字符串。
2025-03-30 12:31:55
636
1
原创 前端 vue 项目上线前操作及项目部署
而通过 CDN 引入,这些库不会被打包到构建文件中,从而显著减少了打包后的文件体积。把大的文件在打包时排除在外,可以缩小打包的大小,保证 js 的加载速度,排除的包可以采用 CDN 的方式链接引入。这个 externals 里面配置的信息是键值对(key-value), key 第三方依赖库的名称,同package.json文件中的 dependencies 对象的key一样。之后可以进入到预览页面,我们可以把 mock 相关给去除,因为这是在开发阶段模拟数据用的,在真实的环境中,是用不到mock的。
2025-03-29 19:34:23
1089
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅