- 博客(430)
- 收藏
- 关注
原创 wps加载项学习4-通用API+表格API
获取指定行列的单元格:Application.ActiveSheet.Cells.Item(1, 1) ,其中Item的坐标可以是一维,也可以是二维(rowIndex, columnIndex)以下操作是:切换到Sheet1,输出当前激活的单元格的值,给当前激活的单元格加上指定样式(加粗、斜体)Application.Workbooks.Open('路径') -- 打开制定路径的工作簿。Application.Quit() -- 关闭所有打开的excel工作簿。Comment--给单元格加批注。
2025-03-03 15:57:51
584
原创 vue3学习4-pinia+组件通信
调用getters定义的变量:和调用state中定义的变量一样,直接解构赋值/直接调用即可。集中式状态管理,vue2用vuex,vue3用pinia,相当于react中的redux。获取全部事件emitter.all--解绑全部事件emitter.all.clear()4、v-model通信(实际开发中很少使用),对于非原生的自定义组件标签。6、$refs,父组件操作子组件通过ref绑定实现。尽量避免通过父组件给孙组件传递,层级过于复杂。父组件中需要指定暴露给子组件的内容。子组件给父组件传递数据:借用。
2025-02-24 19:39:07
454
原创 vue3学习3-route
通过props:true属性设置子组件的props,并在子组件中通过defineProps进行接收(只用params参数可用,query参数不可用)router.push中可以和RouterLink中的to属性一样的写法,可以传query和params两种参数。从一个响应式对象身上直接解构赋值,被赋值的变量会失去响应式,除非结构赋值时加上toRefs()路由默认是push堆栈模式,可以加上replace替换为replace属性。直接在路径中传参,只能用路由中的name属性,不能用path属性。
2025-02-24 11:45:26
474
原创 机器学习2-NumPy
切片上的操作都会改变原数组,除非用np.copy创建新的内存空间。ndarray自动广播扩展维度,便于进行行列式,数组计算。等,通过如下代码可以查看ndarray数组的属性。ndarray的属性包括。
2024-12-24 18:26:29
585
原创 机器学习1-简单神经网络
net.w[5] = net.w[5] - eta * gradient_w5,相减为梯度反方向移动。梯度定义:对于多元函数 f(x,y,…),其在点 P 处的梯度 gradf(P) 是一个。相比传统的机器学习算法,深度学习做出了哪些改进呢?,其分量是函数在点 P 处关于各个自变量的。固定w5和w9,求解最优loss。
2024-12-24 15:35:07
527
原创 Java3-final,singleInstance,enum
-通过类获取单例对象的时候,发现没有对象,才会去创建一个对象。singleInstance-单例;一个类永远只存在一个对象。public static final -- 修饰常量。--通过类获取单例对象的时候,对象已经提前做好了。final可以用来修饰类、方法、变量。
2024-07-26 17:36:12
154
原创 Java2-abstract,interface,代码块
抽象类有构造器,且构造器可以私有,但是私有构造器子类继承时无法调用父类构造器,无意义。接口体现的是规范的思想,所有实现接口的类必须实现其内部的所有方法;一个接口Interface可以同时继承多个接口Interface;父类中定义子类一定要实现的抽象方法,但是抽象方法不实现方法体;interface中抽象方法可以省去abstract关键字;一个类Class可以实现多个接口Interface;一个类Class只能继承一个直接父类Class;默认、静态、私有方法不用被实现;抽象类无法创建对象;
2024-07-22 15:53:25
184
原创 Java1-static,extend,override
即使不写,一个类也会默认自带一个无参构造器;但是如果写了一个构造器,默认的无参构造器会被覆盖,应当自己定义一个无参构造器。一个java文件可以定义多个类,但是只能有一个用public修饰,且public修饰的必须与文件名相同。用static修饰的变量属于类本身,可以直接用类名访问,方法同理(也可以通过对象来访问)constructor:初始化一个类的对象并返回引用。面向对象三大特征:封装、继承、多态。
2024-07-09 18:12:58
270
1
原创 Vue学习1
dist 文件夹:默认 npm run build 命令打包生成的静态资源文件,用于生产部署 node_modules:存放npm命令下载的开发环境和生产环境的依赖包 public:有的叫assets:存放项目中需要用到的资源文件,css、js、images以及index src文件夹:存放项目源码及需要引用的资源文件 src-api文件夹:放ajax相关操作的代码文件:index.js(相关的接口),ajax.js(封装的axios,拦截器)。有的叫service:自己配置的vue请求后台接口方法
2024-01-18 14:00:45
388
原创 docker学习2-基本指令
1、帮助命令docker version #版本信息docker info #显示docker系统信息,镜像容器数量docker 命令 --help #帮助命令2、镜像命令docker images 查看所有本地主机上的镜像docker images -a 列出所有镜像docker images -q 只显示镜像的iddocker search + 镜像名 --filter=stars=3000 #搜索镜像docker pull + 镜像名:版本号 #下载镜像。
2023-09-15 16:40:33
356
原创 docker学习1-基本概念
容器化技术不是模拟的一个完整的操作系统,每个容器有自己的环境,相互隔离(各容器之间可以实现交互),容器没有自己的内核,直接运行在宿主机上。镜像就是一个模板,可以通过模板来创建容器服务,通过一个镜像可以创建多个容器,最终服务运行或者项目运行就是在容器中。docker比vm轻量化,每次只需运行镜像即可,镜像占内存小启动快,虚拟机启动慢,占内存较大。Docker jar包+环境=镜像,镜像存在docker仓库中,随用随取,无需现配环境。Docker:打包发布镜像,一键运行。2、更快捷的升级和扩缩容。
2023-09-14 18:37:21
367
原创 Linux学习 3
find /root -size +200M(+n大于,-n小于,n等于, 单位有k,M,G )执行locate之前必须先执行updatedb,创建locate数据库。which 指令, 可以查看某个指令在哪个目录下,比如ls在哪个目录下。gzip+文件名 用于压缩文件(只能将文件压缩为*.gz文件)date -s + 字符串时间 ,设置系统时间。find指令,从执行目录向下递归遍历各个子目录。tar指令,最后打包的文件时.tar.gz文件。cal 显示当前日历,默认显示当前月。date 显示当前时间。
2023-08-21 18:25:30
134
原创 Linux学习1
root有删除权限,一般情况下保留家目录,里面存在很多该用户的工作资料。shutdown 等价于 shutdown -h 1。whoami/who am i返回首次登录用户的信息。新建用户后passwd 用户名,给用户指定/修改密码。:wq保存退出 :q退出 :q!shift+4($)移动光标至行尾。su + username 切换用户。vi/vim 打开/新建文本。pwd 显示当前目录。
2023-07-24 17:00:06
102
原创 Nginx学习
动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx提供的负载均衡策略有2种:内置策略和扩展策略。
2023-07-04 19:02:17
330
原创 Mybaits-Plus学习5 代码生成器
在mapper层输入insert/update/delete/select关键字,alt+回车自动补全即可生成接口及方法。在Mapper或者ServiceImpl层加@DS("数据源名")表示要操作的数据源,可以加到类或方法上。MybatisX代码快速生成。
2023-07-04 14:09:42
115
原创 Mybatis-Plus学习4 Page分页
每个数据记录都有一个版本号,当执行更新操作时,乐观锁会比较当前数据的版本号是否与执行更新操作之前的版本号一致。一个常见的悲观锁的例子是数据库中的行级锁。当多个事务对数据库中的同一行数据进行并发操作时,悲观锁会将该数据行锁定,以防止其他事务修改该数据。悲观锁的思想是,在操作数据之前,先假设其他并发操作会对数据进行修改,因此悲观锁会在对数据进行操作前,将其锁定,确保其他操作无法访问该数据,直到当前操作完成。乐观锁的思想是,假设在数据的操作过程中不会有其他事务对数据进行修改,因此乐观锁不会显式地进行锁定操作。
2023-07-03 19:14:11
871
原创 MyBatis-Plus学习3 Wrapper条件构造器
LamdaQueryWrapper(第二个变量处使用了lamda表达式,函数式接口来代替字符串,避免手动写表的属性写错)组装删除Wrapper(删除使用QueryWrapper,若使用了TableLogic则还是逻辑删除)2、使用了TableLogic之后,只会筛选没有被逻辑删除的数据。组装UpdateWrapper实现修改(可以指定字段修改)使用and(或or)方法中的lamda表达式调整查询顺序。1、操作的字段是数据库中的字段名。组装查询Wrapper。通过子查询方式进行查询。
2023-07-03 17:35:31
248
原创 Mybatis-Plus学习2 IService+ServiceImpl
Mybatis-Plus默认使用的主键算法是雪花算法,通过TableId的type属性可以更改算法策略。impl层写法,继承ServiceImpl,实现service,泛型为Mapper对象+实体类对象。@TableLogic表示逻辑删除字段,删除数据时变更字段值由0到1,并不会真正删除数据。select的时候也不会返回is_deleted = 1的数据。service层写法,继承ISerice,泛型为实体类对象。@TableField指定属性对应的数据库字段名。如果主动设置了主键,则使用自己设置的主键。
2023-07-03 14:16:25
833
原创 Mybatis-Plus学习1
mybatis-plus需要两个依赖,一个lombok,一个mybatis-plus。basemapper中封装了很多方法,如userMapper.selectList。通过userMapper的方法实现增删改查。mapper继承BaseMapper即可。
2023-06-27 19:24:12
595
原创 FineReport学习3
给单元格添加过滤条件,让 ds2 的「客户ID」等于 ds1 的「客户ID」,这样两数据集就关联起来。创建多数据源之间的关联。冻结行列(冻结表头)
2023-06-27 18:34:47
1297
原创 FineReport学习2
当原始数据中存储的字段不适宜展现在报表上;或原始数据在数据查询时不易修改,但对显示在报表中的值有要求;或需要根据不同的原始数据在报表中显示不同的值时,就可以利用数据字典做巧妙的转化设置数据字典数据列的过滤:双击数据列,出现数据列编辑界面。
2023-06-27 17:39:59
573
原创 FineReport学习1
单元格进行扩展的过程中,在无父格的情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其他格(其右/下的格)的父格,而其右(下)的单元格是被动跟随复制的,被称为扩展格的子格。与聚合报表不同,决策报表通常更具有实时性,包含的数据和信息更为详尽,以便对公司的不同业务进行更深入和准确的分析,帮助决策人员做出更明智的决策。同时,决策报表的设计和呈现也更加灵活和个性化,使得决策人员可以更加方便地获取所需的关键信息,做出更加准确的决策。1)纵向扩展:单元格中字段的数据纵向扩展,在不同单元格中展示。
2023-06-26 19:10:30
1242
原创 React学习9 Router6
使用 userRoutes路由表 注册路由Outlet指定路由组件呈现位置***很重要,userNavigate()实现编程式路由导航函数式组件接收params参数的hookuseParams()接受search参数接收state参数userNavigate实现前进后退判断是否处于路由组件中,在路由器管理下,userInRouterContext(),返回bool值user
2023-06-25 18:47:32
220
原创 React学习8 hooks及扩展
setState更新数据是异步的,如果想获取更新完的数据,需要通过第二个参数回调函数来获取。2、lazyLoad,用的时候再调用,不会预先调用,需要用suspence包裹注册路由。
2023-06-08 19:01:22
529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人