- 博客(1454)
- 资源 (6)
- 收藏
- 关注
原创 协程(还需要输入3个字)
协程是在线程内部,由程序自己控制逻辑,显式地让出控制权(yield)来实现任务切换,而不是由操作系统按照时间片轮转的方式强制执行暂停。具体来说,线程内部有所谓执行单元,程序将控制权暂停此而交给彼,以协作的方式执行任务,故名协程。
2025-01-17 16:33:17 164
原创 vue的路由守卫逻辑处理不当导致部署在nginx上无法捕捉后端异步响应消息等问题
近期对前端的路由卫士有了更多的认识。何为路由守卫?这可能是一种约定俗成的名称。就是VUE中的自定义函数,用来处理路由跳转。
2025-01-09 18:27:52 789
原创 前后端分离项目集成单点登录项目CAS5.18
之前我在项目中使用过CAS作为单点登录服务,不过那些项目,不管是asp.net MVC项目,还是java的spring boot项目,是前后端不分的,只要使用CAS的客户端(对于asp.net mvc项目来说,cas的客户端就是DotNetCasClient.dll,而java项目,cas客户端就是一些java包),然后配置一下就好了。现在普遍前后端分离,该如何使用CAS呢?
2024-12-31 20:17:31 850
原创 mybatis往数据库里插入记录后自动返回记录ID
最典型的,是插入一条记录,为了得到记录的ID(主键,自增字段),然后又查找了一遍,并且这个查找,因为现在还不知道ID,所以又结合了过滤条件。几十万记录的表里查找,不说大海捞针,也是沙堆里淘宝,”千淘万漉虽辛苦,吹尽狂沙始到金“,服了。近期维护一个接手项目,因为找bug,重构其中一个业务处理逻辑,其中包括性能优化。其实,就算性能与bug无关,按照我的秉性,也会忍不住半夜起来优化一下。但是,以前搞.NET的时候,插入记录,系统会自动刷新实体类,为里面的主键ID赋值,根本不需要自己去查找。
2024-12-18 11:50:08 224
原创 pg数据库中按天统计并且细分类别
最近调试程序,为了直观地看到效果,我想统计一下数据库相关数据。我的想法是,先按天统计数量,然后这数量里,又按照类别细分,今天这种是多少,那种是多少。我想来想去,感觉这SQL语句不好写。不过,以前有事查百度,如今不懂问AI。像这种分组结合case语句的方式,我以前也看过,好像还写过。但现在一点印象都没有了,这说明我没有真正理解。
2024-12-18 10:58:55 253
原创 多模块的spring boot项目发布指定模块的脚本
我有一个多模块的Spring Boot项目,里面有基础模块,有业务模块,业务模块依赖一些基础模块。发布的时候,如果单独将某个模块发布,一般会报错。所以我都是整个项目,无论多少个模块,不管3721,全部发布一遍。这样做成功是成功了,但时间比较长,要几分钟才能发布完。次数一多,浪费的时间就很可观了。
2024-12-17 17:31:56 783
原创 web编程之SSE初探
SSE(Server Sent Events),是一种服务器向浏览器发送消息的技术,基于http协议。WebSocket大家耳熟能详,是WEB中一种客户端和服务器采用长连接,可长时间保持通信通道的技术,不过它是双向的,服务器可以向客户端推送消息,客户端也同样可以向服务器发送消息。而SSE则是单向的,只能是服务器向客户端发送消息。
2024-12-17 16:46:03 859
原创 oracle创建表脚本中字段使用双引号导致区别大小写问题
原本oracle的话,字段不区分大小写,创建表后好像会自动转成大写;但如果创建时,使用了双引号,那么就会按照创建时的指定,严格区分大小写。像我这种情况,访问时,也需要使用双引号。前几天在某个oracle库上创建了几张表,程序运行时就报错了,提示ORA-00904。将SQL语句直接拿到PL/SQL上运行也报错。我想不出什么好办法,只能删掉重建,重建时将双引号去掉。原因出在创建表时使用的脚本上。该脚本如下,字段都使用了双引号。ORA-00904的意思就是找不到这个字段。
2024-12-11 11:08:18 248
原创 oracle中删除指定前缀的表
近期接手做的项目,发觉数据库中有许多多余的表。究其原因,应该是同事贪图方便,将过去做过的项目复制粘贴,然后修修改改。包括数据库也是克隆过来的,然后又没有删除本项目多余的表,结果经过几个轮回,就不知道哪些表需要,哪些不需要了。本来不管它,也不会报错,问题是,表实在太多了,密密麻麻,想找某个表,费时费力,也不利于对本项目的理解和把握。咬咬牙,我辛苦一点,清理一下。幸而大部分表,创建时都加了前缀,比较好识别。那么,删除时有没有可能按照指定的表名前缀,查找出来,然后删除呢?
2024-11-29 09:49:04 684
原创 WIN11没有安装wcf导致wcf服务访问报405不允许的方法的问题
这年头,公司不养闲人,手头没有新项目,分分钟被裁,或者绩效拿个C,大幅降薪。所以听说有新项目,并且让我领衔主演,不禁心花怒放,踌躇满志,感觉马斯洛需求层次的1到4层全部得到满足。同样的WCF服务程序和客户端代码,在生产服务器上正常,部署到本地就提示405,所以可以排除代码的问题,估计是操作系统的环境问题。不过,我以前毕竟在.NET方面浸淫多年,经过几天捣鼓,大脑里面的神经突触慢慢的又连接起来了。我越来越讨厌微软系的东东,大包大揽,什么都做成黑箱,美其名曰方便使用,上手快。剩下的问题就简单了,安装WCF。
2024-11-15 17:44:04 427
原创 屏幕缩放后截屏图片尺寸数字偏大导致前端DOM尺寸设置失真问题
如果使用失真的尺寸,去设置网页中的DOM,则必然引起谬误。我上次就是,网页中使用了一幅背景图,然后设置了一些DOM漂浮在上面。我的笔记本电脑屏幕设置了缩放,结果总是发现DOM摆放的位置不对。调来调去,怎么调都不对,时间又很紧迫,差点崩溃。如果显示器的尺寸缩放,而不是100%的话,利用截屏软件截取屏幕中的区域,截取时读取到的区域尺寸,就会失真;如果使用这个尺寸去设置网页中的DOM,则Dom的尺寸也会跟着失真。
2024-11-14 11:56:16 324
原创 java访问华为网管软件iMaster NCE的北向接口时传递参数问题
上一篇文章介绍了利用《》的一般性步骤,这里详细介绍其中一个读取性能数据的示例。原因是读取华为网管软件北向接口,完全找不到可供参考的例子。如果不需要传递什么参数,就能获取到结果,比如获取全部网元数据,这种相对还比较简单。但如果需要指定参数,比如读取指定网元的性能数据,如何传递参数就是个大问题。我上周尝试去读取NCE软件的性能接口时,反复向NCE软件请求,结果总是返回冷冰冰的报错信息:“Object type error”,说是传递参数不对,后来才知道,要将网元信息完整的传过去才可以。
2024-11-07 15:48:19 874
原创 java访问华为网管软件iMaster NCE的北向接口
NCE的XML接口感觉就是异常繁琐,数据类型非常多,传参、返回值都非常复杂。如果是http接口的话,参数全部是json,结构简单明了。而且,利用XML传数据,少量数据还好,大批量数据就不行,XML相比json,实在笨重,传输量太大了。华为这个nce软件,叫网管软件,它接管了整个局域网,然后在上面做各种逻辑划分和管理。不过,它加载需要一段时间。比如我们项目,设备通电以后,20分钟后网络才能访问。再上面做一些更改,比如用户解锁,要约2个小时才生效。
2024-10-31 19:56:20 1280
原创 VmWare下的linux虚拟机磁盘空间扩展
我用vmware开启了一个虚拟机,虚拟机操作系统是centos7。今天发现磁盘空间不够了,导数据到里面的mysql,提示没有空间,之后mysql也连不上了。这个mysql部署在docker里,结果停止都停止不了,强制停止也不行。无奈之下,重启了docker,万幸还能访问。使用df -Th命令查看,发现linux的磁盘空间已经使用了100%。任凭我到处删东西,东拼西凑,也只剩下700M。把牙一咬,决心不辞劳苦,不避风险,给它扩展空间。
2024-10-13 12:01:54 1092
原创 Spring Boot项目使用多线程执行定时任务
我在一个Spring Boot项目中,采用定时器执行一些操作,比如10秒就发送一次数据。这些操作有2个,如下所示。我就想,虽然这两个操作各自指定了时间频率,但如果其中一个操作非常耗时,会不会影响其他操作呢?答案是会。怎么办呢?AI告诉我,引入多线程。
2024-10-10 11:44:16 907
原创 windows下安装rabbitMQ并开通管理界面和允许远程访问
如题,在windows下安装一个rabbitMQ server;然后用浏览器访问其管理界面;由于rabbitMQ的默认账号guest默认只能本机访问,因此需要设置允许其他机器远程访问。这跟mysql的思路很像,默认只能本地访问,要远程访问需要另外设置,并且应该是新增一个账号来支持远程。这种做法一下子看上去很奇怪,数据库、消息队列天然就是要大家共同使用的,只能本机使用有什么意义?但细想好像又没有什么毛病,虽然有点不方便,但安全意识是有了。以下是我初次在项目中使用rabbitMQ的一点记录。
2024-09-29 16:19:32 1358
原创 设置spring boot禁止日志输出到控制台
我们一个Spring Boot项目,使用了org.slf4j.Logger.info记录日志。结果运行的时候,系统除了将日志记录到日志文件,还将日志打印到控制台。由于日志太多太密集,屏幕不停地滚动,令人目不暇接,加上乱码,简直不知所谓。为啥日志还会自动输出到控制台呢?我一向孤陋寡闻,好奇去问AI。
2024-09-14 16:38:00 1750
原创 编码规范之注释、条件语句中限制代码行数和避免硬编码
对于软件开发管理来说,制订编码规范是一个历久弥新的话题。每一个大有为开发头目,都强调编码规范。或者程序员也互相攻讦(jie,第二声,阳平),说你写的代码很乱,不规范,很难看懂,很难维护。总之别人写的都不行,自己写的才是好的。那么,怎么才算编码规范?按照我的经历,大家说编码规范,一般都是聚焦于命名规则,注释。命名现在可能普遍没啥问题了,驼峰命名,英文(而不是拼音缩写);注释,刚开始就一本正经地写上作者,创建时间,更新时间。其实时间一长,经手的人多了,就形同虚设,鸡肋得很。
2024-09-13 18:54:35 701
原创 测试用例(还需要输入1个字)
因为测试人员是来测试的,不是来学习系统的,写得太长,她们要花时间去思考,没有必要。点击窗口左上角”导入“按钮,在弹出对话框中选择设备清单文件,点击”确定“,可以 将设备清单导入数据库。点击窗口左上角”导入“按钮,在弹出对话框中选择设备清单文件,点击”确定“,成功将提示”导入数据成功”,否则提示”导入数据失败“。我在写第二个测试用例的时候,面对的是一个不太熟悉的系统。因为项目是基于别的项目组现成的代码的二次开发,我身为开发人员,对这个系统,有许多功能其实并不了解。
2024-08-24 18:02:17 1275
原创 react中的装饰器
(一般来说,装饰器在这里,)在 React 中,装饰器(Decorators)是一种语法糖,用于简化和增强组件的功能。它的主要作用是通过在组件类或类成员(如方法、属性)上添加修饰符,来扩展或修改组件的行为。装饰器通常以 @ 符号开头,紧接着是装饰器函数的名称,并且可以附带参数。@decorator// ...// ...装饰器本质上是一个高阶函数,它接收一个目标(类或类成员)并返回一个新的目标(通常是经过修改后的类或类成员)。装饰器通过操作传入的目标来实现增强或修改其功能。
2024-08-06 13:42:42 1158
原创 react的组件分为类组件和函数组件
在 React 中,类组件和函数组件是两种不同的组件定义方式。它们各有特点,适用于不同的场景。类组件 vs. 函数组件代码简洁性:函数组件通常比类组件更简洁。状态管理:类组件通过 this.state 和 this.setState 管理状态,而函数组件使用 useState 钩子。生命周期管理:类组件使用生命周期方法,而函数组件使用 useEffect 钩子(Hook)来管理副作用。
2024-08-03 21:44:22 1140
原创 使用css在照片右上角设置缎带效果
transform-origin 属性定义了一个元素在进行变换(如旋转、缩放、倾斜等)时的基准点或中心点。默认情况下,transform-origin 的值是 center,即变换围绕元素的中心点进行(元素就是旋转的dom,在本例子中,就是写着“封面”二字的div)。上面的例子,如果没有旋转,就是一个普通的,水平放置在照片右上角的块。至于为何要将right设为负数,可以想象一下如果不设为负数,这个div围绕自己的中心点顺时针旋转45度后是个啥样子。这里的旋转是顺时针方向,使 .ribbon 斜斜地放置。
2024-07-31 21:45:02 493
原创 react中外部传入的属性如果在外部改变,组件内如何得知并作出响应?
react中,外部传入的属性,如果在外部改变了,组件内如何得知并作出响应?如果是vue,会在组件内通过watch来监听该属性。但react呢?
2024-07-30 11:23:24 350
原创 react中的useState和Hook、副作用
react的组件分为类组件和函数组件,Hook 是一种特殊的函数,可以让你在函数组件中使用类组件中才有的一些特性。useState、useEffect、useReducer都是Hook。其中useState用于在函数组件中添加状态,useEffect用于在函数组件中执行副作用,而useReducer则是useState的加强版。在 React 中,“副作用”(side effect)通常指的是那些在组件渲染之外发生的操作,即那些不直接参与 UI 渲染的行为。
2024-07-27 22:25:43 895
原创 react的解构赋值
我的感觉,react开发效率不高。这当然应该是我还不熟悉react的缘故。但是,在阅读react代码过程中,其中一个容易困惑的地方是它到处充斥着的解构赋值。当然了,解构赋值并不是React特有的功能,而是ES6(ECMAScript 2015)引入到JavaScript中的语言特性。但是,这难道不是json对象的定义模式吗,怎么在这里变成了赋值,并且是将左边的东西赋给右边的?只能说这种赋值,忽左忽右,神鬼莫测。简则简矣,可读则未必。据说解构赋值简化了语言,使得代码更具可读性云云。哦,这是解构赋值,相当于。
2024-07-13 20:22:07 501
原创 自己动手写一个滑动验证码组件(后端为Spring Boot项目)
近期参加的项目,主管丢给我一个任务,说要支持滑动验证码。我身为50岁的软件攻城狮,当时正背着双手,好像一个受训的保安似的,中规中矩地参加每日站会,心想滑动验证码在今时今日已经是标配了,司空见惯,想必网上一搜一大把,岂非手到擒来。so easy,妈妈再也不用担心我的工作与学习。孰料在网上寻寻觅觅点点击击,结果就是凄凄惨惨戚戚。好像提的最多的就是AJ-Captcha,但居然貌似下线了,文档打不开,demo也不见。还有一个声称可能是最好的滑动验证码,但好像很复杂,并且日本少女漫画风,跟我有代沟。
2024-07-13 19:34:40 1226 2
原创 Spring Boot项目的控制器貌似只能get不能post问题
我这2天新建了一个Spring Boot项目测试,在控制器上写了两个接口,一个是支持Get方式访问,另一个支持Post方式访问,发现Get可以,而Post不行。前端Post后,报403,找不到这个方法。
2024-07-13 17:33:19 865
原创 mybatis批量插入时提示Parameter id not found问题
这个问题我已经遇过好几次了。总是不记得,每次都要折腾搜索一轮,有必要记录一下。
2024-07-11 21:12:52 609
原创 git更换远程代码库
比如,在公司内部,使用局域网地址访问远程库。现在出差在外,使用公司映射出来的外网地址访问同一个代码库。只须修改/.git/config,将里面的地址改成新地址即可。1)修改/.git/config,将里面的地址改成新地址。2)在本地代码库,拉取新代码。
2024-07-04 10:51:52 442
原创 react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果
如图所示,地图缩小(即比例尺放大)时,显示聚合小绿点;
2024-06-19 19:52:41 653 6
原创 cesium按照参数绘制不同形状的船舶
俺们公司之前有个自创的所谓前端GIS框架,是用Cesium搞的。我对该框架不熟悉,用它在地图上作画,画船舶符号,看以前的代码,感觉十分艰深晦涩,什么材质、纹理,令人头大如斗。我4年前用过一阵Cesium,后来荒废了,到现在已经完全失忆。
2024-06-18 21:30:45 752
原创 随机产生一些江河上的坐标数据
我首先是想到用AI直接给我一点数据,没想到给出来的坐标,有许多都落在陆地上,根本不符合我的要求。后来结合AI给出的建议,我用程序计算,得到了一些坐标点。勾勒多边形的工具,我在谷歌地图上完成。https://www.google.com/maps/d/,不久前收到一个需求,说要随机创建约一百个某段江河上的坐标点,用于做一些数据呈现。1、在地图上沿江河勾勒出一个封闭的多边形,计算出来的坐标点,将落在该多边形内。我用vue3来完成。2、导出该多边形,用于计算。比如随机算出100个坐标。2、计算多边形内的坐标。
2024-06-18 20:01:17 391
原创 spring boot由于mapper文件中对象类型使用短名称无法注册bean而自动注入失败问题
前几天项目组准备使用若依框架,但编译其后台(spring cloud项目),死活运行不了,总是提示mybatis对象无法注入。无法注入的原因,是没有相应的bean,既无法构造对应的mybatis对象。后来同事告诉我,是因为mapper.xml里的对象类型使用了简写,而配置文件缺乏相应配置项的缘故。详细如下:SysConfigMapper.xml,可见其中的type只写了一个简短的类名,而不是完整的,带有包名的类名。对比我们平时习惯的写法:对于mapper中数据对象类型使用简短名称的做法,配置文件需要将
2024-05-16 20:37:59 425
原创 spring boot多模块项目中父项目与子项目的连接
中,写的应该是子项目的artifactId。当然,为了保持一致性,一般artifactId会和项目名称保持一致。但事实证明,不一致也不会报错。例如上图,ruoyi-file是项目名称,但该项目的artifactId是ruoyi-modules-file。正是通过这种方式,使得父项目的配置,可以被子项目所继承。中的值,是不是子项目的啥东东?artifactId?答案是项目名称,而不是artifactId。而我一直以为父项目的pom.xml的。
2024-05-16 20:13:43 561
数字证书制作工具itisscg.exe
2018-12-11
CAS5.1.8自定义验证码源代码
2018-12-05
自动伸缩搜索框2
2017-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人