- 博客(1429)
- 资源 (6)
- 收藏
- 关注
原创 react的解构赋值
我的感觉,react开发效率不高。这当然应该是我还不熟悉react的缘故。但是,在阅读react代码过程中,其中一个容易困惑的地方是它到处充斥着的解构赋值。当然了,解构赋值并不是React特有的功能,而是ES6(ECMAScript 2015)引入到JavaScript中的语言特性。但是,这难道不是json对象的定义模式吗,怎么在这里变成了赋值,并且是将左边的东西赋给右边的?只能说这种赋值,忽左忽右,神鬼莫测。简则简矣,可读则未必。据说解构赋值简化了语言,使得代码更具可读性云云。哦,这是解构赋值,相当于。
2024-07-13 20:22:07
236
原创 自己动手写一个滑动验证码组件(后端为Spring Boot项目)
近期参加的项目,主管丢给我一个任务,说要支持滑动验证码。我身为50岁的软件攻城狮,当时正背着双手,好像一个受训的保安似的,中规中矩地参加每日站会,心想滑动验证码在今时今日已经是标配了,司空见惯,想必网上一搜一大把,岂非手到擒来。so easy,妈妈再也不用担心我的工作与学习。孰料在网上寻寻觅觅点点击击,结果就是凄凄惨惨戚戚。好像提的最多的就是AJ-Captcha,但居然貌似下线了,文档打不开,demo也不见。还有一个声称可能是最好的滑动验证码,但好像很复杂,并且日本少女漫画风,跟我有代沟。
2024-07-13 19:34:40
952
2
原创 Spring Boot项目的控制器貌似只能get不能post问题
我这2天新建了一个Spring Boot项目测试,在控制器上写了两个接口,一个是支持Get方式访问,另一个支持Post方式访问,发现Get可以,而Post不行。前端Post后,报403,找不到这个方法。
2024-07-13 17:33:19
566
原创 mybatis批量插入时提示Parameter id not found问题
这个问题我已经遇过好几次了。总是不记得,每次都要折腾搜索一轮,有必要记录一下。
2024-07-11 21:12:52
355
原创 git更换远程代码库
比如,在公司内部,使用局域网地址访问远程库。现在出差在外,使用公司映射出来的外网地址访问同一个代码库。只须修改/.git/config,将里面的地址改成新地址即可。1)修改/.git/config,将里面的地址改成新地址。2)在本地代码库,拉取新代码。
2024-07-04 10:51:52
230
原创 react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果
如图所示,地图缩小(即比例尺放大)时,显示聚合小绿点;
2024-06-19 19:52:41
409
原创 cesium按照参数绘制不同形状的船舶
俺们公司之前有个自创的所谓前端GIS框架,是用Cesium搞的。我对该框架不熟悉,用它在地图上作画,画船舶符号,看以前的代码,感觉十分艰深晦涩,什么材质、纹理,令人头大如斗。我4年前用过一阵Cesium,后来荒废了,到现在已经完全失忆。
2024-06-18 21:30:45
549
原创 随机产生一些江河上的坐标数据
我首先是想到用AI直接给我一点数据,没想到给出来的坐标,有许多都落在陆地上,根本不符合我的要求。后来结合AI给出的建议,我用程序计算,得到了一些坐标点。勾勒多边形的工具,我在谷歌地图上完成。https://www.google.com/maps/d/,不久前收到一个需求,说要随机创建约一百个某段江河上的坐标点,用于做一些数据呈现。1、在地图上沿江河勾勒出一个封闭的多边形,计算出来的坐标点,将落在该多边形内。我用vue3来完成。2、导出该多边形,用于计算。比如随机算出100个坐标。2、计算多边形内的坐标。
2024-06-18 20:01:17
266
原创 spring boot由于mapper文件中对象类型使用短名称无法注册bean而自动注入失败问题
前几天项目组准备使用若依框架,但编译其后台(spring cloud项目),死活运行不了,总是提示mybatis对象无法注入。无法注入的原因,是没有相应的bean,既无法构造对应的mybatis对象。后来同事告诉我,是因为mapper.xml里的对象类型使用了简写,而配置文件缺乏相应配置项的缘故。详细如下:SysConfigMapper.xml,可见其中的type只写了一个简短的类名,而不是完整的,带有包名的类名。对比我们平时习惯的写法:对于mapper中数据对象类型使用简短名称的做法,配置文件需要将
2024-05-16 20:37:59
300
原创 spring boot多模块项目中父项目与子项目的连接
中,写的应该是子项目的artifactId。当然,为了保持一致性,一般artifactId会和项目名称保持一致。但事实证明,不一致也不会报错。例如上图,ruoyi-file是项目名称,但该项目的artifactId是ruoyi-modules-file。正是通过这种方式,使得父项目的配置,可以被子项目所继承。中的值,是不是子项目的啥东东?artifactId?答案是项目名称,而不是artifactId。而我一直以为父项目的pom.xml的。
2024-05-16 20:13:43
425
原创 第三方集成站点带token访问SpringSecurity应用站点自动登录方案
近期有个WEB项目需要改造。业主找第三方搞了一个集成站点,将多个应用站点的链接集中放在一个导航页面。由于进入集成站点时已经登录过了,业主要求点击这些应用站点的链接时就不必再登录。以前做过类似项目,用的是单点登录。大家都用同一个登录系统,一次登录,到处同行,不亦快哉。不过也有一些缺点,一是单点登录比较复杂,不好搞。之前我们用过一个开源的单点登录系统cas,代码一大堆,部署也很复杂,然后每个使用它的应用都要有个客户端,总之非常复杂。出了问题也不知道是哪里的毛病。
2024-03-01 17:45:06
1145
1
原创 修改centos7的dns解决docker拉取镜像超时问题
发觉里面的地址设为114.114.114.114。114我有点印象,估计是中国电信的。网上文章说改为8.8.8.8。据说114用于国内,8888(发发发发)用于国外。但我两个都不用,我改为180.76.76.76,这个是百度的公共DNS服务器。近期在一台centos7的服务器上部署系统,拉取docker镜像时总是超时,如图所示。网上有教程说,可以修改操纵系统的dns地址,试了一下,果然搞定。忽如一夜春风来,两行白鹭上西天。
2024-03-01 11:28:41
798
原创 利用nginx内部访问特性实现静态资源授权访问
在nginx中,将静态资源设为internal;然后将前端的静态资源地址改为指向后端,在后端的响应头部中写上静态资源地址。近期客户对我们项目做安全性测评,暴露出一些安全性问题,其中一个是有些静态页面(*.html)无须授权即可直接访问,里面的信息一览无遗,不安全。这些静态页面都是arcgis地图页面,依赖arcgis for js,没有办法做成一般意义上的动态页面。或者说,该项目是个老项目,目前只处于维护阶段,大规模改头换面不现实。
2024-02-23 19:33:43
2003
3
原创 nacos用作注册中心
但是微服务不是这么玩的,十月革命一声炮响,送来了nacos。所有的微服务都在nacos上注册,由nacos记录微服务的IP信息,当有请求时,nacos将请求分配至对应的微服务。这一切,对上层应用都是透明的,我们无须关心微服务的物理地址和处理烦琐的跳转,只要所有微服务都注册于同一个nacos,且用同一个命名空间,不管微服务安装在哪台服务器,网络相通的情况下,就能访问到想要的微服务。nacos除了用作配置中心,即可以将配置信息由配置文件转移到nacos上,更便于修改和维护外,更重要的,是用作微服务的注册中心。
2024-02-19 16:18:17
484
原创 我的2023
到2023年,五一回来,风云突变,一口气干掉了至少30%,连HR都撵走了。然后一路迁延,淋漓不尽,又断断续续开了一些,再加上看不到希望,自己走的,目前只有一半人了。人走了,原本的工作就分到剩下的人头上,后者原本就忙不过来,现在更加是喘口气都没时间。加上中途接手,半生不熟,硬着头皮赶鸭子上架,其中艰难,可想而知。我今年过了生日,就50岁了。下半年开始频繁出差,6、7、8、9、10、11都在东奔西走,周末加班,996,997,甚至907。这是一个资质平庸,见识短浅,胸无大痣,耽于安乐,蹉跎岁月的程序员的故事。
2024-02-02 17:44:12
556
5
原创 将nacos从1.3升级到2.3
这个非常重要。所谓的备份,首先是指把nacos的配置全部导出来,异机保存,下载到本地。同时不要删除现有的docker容器,可以将其停止,这样不影响新创建的容器使用现有的端口。不过,容器名不能重复。比如现有容器名为nacos,那么新创建的容器可以叫ncos230。
2024-01-26 11:30:45
2117
原创 docker-compose初探
我一直直接使用docker命令来创建容器,没有怎么用过docker-compose。也不知道docker-compose和docker有什么区别,docker-compose有什么好处。现在我约略认为,docker-compose是一个简化docker命令的工具,或者说,它是能将docker各种繁琐的命令集成到配置文件的工具,所谓compose也者,就是组合的意思吧。
2024-01-25 18:58:38
527
原创 下载nacos 2.3 for arm64
客户组织安全测试,我们系统测出了好几个高危问题,其中大部分是关于nacos的。原先的nacos版本太低了,是1.3的。现在(2024.01)已经是2.3了,应该装个新的。我们使用docker安装nacos,原本很简单的,只有一个小小的问题,就是服务器的CPU是arm64架构的。现在一般政府项目都是这样,国产化,信创,CPU必定是arm架构。因此,nacos也需要下载支持arm64的镜像。还有一个问题是,服务器不在互联网上,怎么下载?思路:1)在能上网的服务器上下载支持arm64的镜像。
2024-01-25 18:25:55
1543
原创 vue3项目中typescript如何export引入(imported)的interface
引入接口后,不能原封不动地直接export出去。typescript支持面向对象语言中常见的接口(interface)、类(class)等。但我近几天发现,一个interface,通过import引入后,如果直接再export出去,是不行的。语法没有错,但运行时似乎出问题。比如,我写一个组件timeline,文件结构如下图所示。为规范其他模块调用,我在_type.ts中定义了一个接口,是关于数据类型的。
2024-01-25 17:06:05
1320
原创 Intellij idea安装easy code后无法打开问题
我不知道他是怎么删的。我的intellij idea原本有一个EasyCodeMybatisCodeHelperPro插件,用得好地地,结果有天傻傻的安装了另一个插件easy code后,重启idea就打不开了。先把C:\Program Files\JetBrains\IntelliJ IDEA 2021.1.1\plugins\platform-images移除,得以打开idea,然后卸载easy code。你启动的时候,发现重复不加载该插件不就好了吗,现在软件都打不开,那怎么卸载嘛!
2024-01-15 16:59:09
800
原创 vue项目使用typescript创建抽象类及其使用
如题,可以在vue项目使用typescript创建抽象类,然后使用这个抽象类。通过TypeScript,可以在前端应用抽象类了。抽象类的好处,可以同时满足继承和多态,好处多多。
2024-01-11 18:41:15
613
原创 创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件
现在的前端,越来越像后端。当我听到我同事说这些名为*.data.ts的json格式文件,是通过工具自动导出来时,我感到震惊,50岁的心灵遭到暴击,内心一阵被时代抛弃的恐慌。前端的话,我复制了其中的实体类模板,改名为:vue.json.vm,然后稍为改改里面的内容,即可得到前端模板。在intellij idea中,通过插件EasyCodeMybatisCodeHelperPro,从现有的模板文件中选择一个复制粘贴,然后稍为修改,即可得到一个合适的模板文件。模板里的普通正文,会输出到导出文件里。
2024-01-09 18:41:19
827
原创 采用intellij idea作为IDE的java项目由于*.iml文件导致无法编译问题
从git上将spring boot项目下载,用intellij idea打开,结果无法编译,提示“程序包com.fasterxml.jackson.core不存在”。查看pom.xml,确实是没有显示依赖,但“External Libraries”里确实是有这个com.fasterxml.jackson.core。而且,同样的代码,其他同事一点问题没有。后来将项目中所有的iml文件删除,然后idea重新打开项目、编译,问题解决。.idea存放项目的配置信息,包括历史记录,版本控制信息等。
2024-01-02 18:18:12
762
原创 java项目应用MQTT传输数据
近期做的一个项目需要传输数据给第三方。根据协定,采用MQTT进行数据的发送和订阅。一般来说,不通系统进行数据对接,一般采用RESTFul接口,走http。mqtt的话,顾名思义,就是一个消息队列。相比RESTFul接口,MQTT方式也许有个好处就是,数据传输给对方后,对方可以收到一个提醒。这个提醒来自于消息队列,不用自己搞。利用这个提醒,也许可以做点啥。除此之外,我不知道还有什么更多的好处。MQTT的要素:1)broker,经纪人,即代理地址,如:tcp://10.0.2.18:1883。
2023-12-28 19:09:25
1655
原创 项目应用多级缓存示例
事实证明,这种多级缓存机制下,前端展示数据非常迅速,及时。虽然前端和WEB后端之间没有使用websocket进行数据传输,而是使用了最笨的定期获取,但丝毫没有影响前端的用户体验。2)WEB后端设置一个定时器,每2秒读一次redids的1号库,处理后写入redis的2号库。3)前端虽有多个组件,但不是每一个组件都向后端请求,而是统一请求一次,存入前端缓存,然后全部组件都从前端缓存中读取,对性能是一个保障。2)后端定期处理原始数据,将结果缓存,当前端请求时,返回缓存中的该结果,减少重复劳动,提高了性能。
2023-12-22 18:00:11
655
原创 windows下mysql8修改my.ini设置datadir后无法启动问题
mysql默认数据库文件在安装目录下。创建数据库的时候,并不能指定数据文件存放位置。这就很扯。它只能通过修改mysql.ini来更改数据文件存放目录,而且是一刀切的,没有办法做到数据文件和日志文件分开存放。假如服务器有多个盘,就不能利用磁盘不同IO的优势。但是,既然是服务器,通常会做阵列的吧,做了阵列,就无所谓哪个盘了。我这次要说的,是修改mysql.ini后,mysql无法启动的问题。我遇到的是2个原因:一个是mysql.ini修改后字符编码被改变,导致mysql无法识别;
2023-12-12 09:28:09
1717
原创 mysql分别在windows和linux下的备份策略
mysql数据库该怎么备份呢?数据库备份有几个概念:全量备份、增量备份、差异备份。当然啦,数据库备份又有冷备份和热备份,即物理备份和逻辑备份之分。冷备份就是将mysql停了,然后直接拷贝它的数据文件,简单粗暴。问题是,数据库怎可轻易停止或重启?所以我们通常说的备份都是指热备份,即逻辑备份。逻辑备份包括全量备份、增量备份、差异备份。全量备份就是整个库备份。增量备份是将上一次全量备份或增量备份后的变化备份。差异备份是将上次全量备份后的变化备份。所以增量备份和差异备份有重叠。
2023-12-11 10:42:16
393
原创 oracle12c的job没有自动执行,手动运行提示任务1%正在运行问题
有个oracle12c上的job,提交到dbms_job,不知道什么时候开始,停下来了,没有自动运行。手动关闭这个job,重新打开,不行;删除JOB,重新创建,也不行。手动运行,可以,但提示“任务1%正在运行”。该job运行一个存储过程。手动运行该存储过程,也没有问题。反正就是不会自动执行,也不知道这个1%是什么意思,是怎么来的。在网上寻寻觅觅,也没有找到这个“任务1%正在运行”问题的解决办法。有的文章说是重启(不知道是重启数据库还是重启服务器,估计是重启服务器,彻底一些);
2023-12-06 10:11:26
498
原创 vue3使用provider+ inject直接将参数由祖宗传送给孙子
如题。在vue项目中,如果祖宗想将参数传递给孙子甚至更小一辈的组件,是一件麻烦事。可以通过爷爷-儿子-孙子-曾孙这样的链条,一辈辈地传承下去,但未免太繁琐、太蠢了些;也可以通过store间接传送,但如何触发孙子们去获取是个问题。第三种方法是通过provider和inject方式。老祖宗provider,后代inject。在以下示例中,祖宗页面将一个json对象传给孙辈。其中,祖宗provider一个函数,函数返回一个json对象state。
2023-11-23 22:24:04
691
原创 nginx中将指定文件夹设置为虚拟目录
话说,我们系统有照相机和摄像头,可以产生照片和视频。通过nginx将照片和视频所在文件夹映射为虚拟目录,外部即可访问。,如果指定的图片不存在,则以“/photo/nophoto.jpg”代替。是照片和视频所在文件夹,后面一定要带个斜杠。如何映射(或曰,转发)呢?记得目录后面要加个斜杠“/"。
2023-11-21 19:36:31
713
原创 spring boot项目未将resource目录标志为资源目录导致配置文件无效因而运行报错问题
将程序代码发给同事,我自己能跑,他不能跑,提示无法构造redis对象。redis的链接写在配置文件里,其实是可以连接的。同事的操作系统是win11,我是win10,然后大家的idea版本也不一样,他就认为是操作系统或者idea的问题,一顿操作猛如虎。由于我在配置文件还指定了系统端口10080,但系统运行后,我观察到输出信息里,仍然为8080,感觉配置文件根本没有生效。最后发现是因为配置文件所在目录resources没有mark Directory as resources root。能编译,但不能运行。
2023-11-21 19:13:28
876
数字证书制作工具itisscg.exe
2018-12-11
CAS5.1.8自定义验证码源代码
2018-12-05
自动伸缩搜索框2
2017-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人