- 博客(187)
- 资源 (30)
- 收藏
- 关注
原创 go 和 java 技术选型思考
go比较适合固定化的场景,特别是业务场景变化不大的,特别适合,第一个是固定化场景,例如云计算之类的业务,总体上业务场景都比较固定,这里有个点业务大不代表不固定,这里大家要明白。第三个移交特别难,因为客户不懂,公司也没有真正的软件运维,只有现场实施人员,所以需要配置环境,例如jdk环境,jdk版本也比较多,还需要指定;go和java我这边自身都在使用,感受比较深,java使用了有7年多,go也就是今年开始的,公司需要所有就学了使用,发现这两个语言都很好,需要根据场景选择,我写下我这边的看法。
2024-09-06 09:51:54
665
原创 go 事件机制(观察者设计模式)
公司目前有个业务,收到数据后,要分发给所有的客户端或者是业务模块,类似消息通知这样的需求,自然而然就想到了事件,观察者比较简单就自己实现以下,确保最小功能使用支持即可,其他的后期进行支持就行。
2024-08-08 10:11:40
776
原创 go 中的uint16、int16 、int32区别和转换问题及其他细节理解
int8 int16 int32 int64,这里面的数字是位,就是8位、16位、32位、64位,转换字节,是每八位代表一字节,8位、16位、32位、64位 对应字节分别是1字节 、2字节、4字节、8字节。这块知识是很基础的,这块在大学大一或大二就学的知识,结果忘完了,由于之前使用的java,不需要这些细节,所有一直没有深入,现在go语言有这个区分,还是好好学学理解消化一下。首先解释下什么是无符合和有符号,有符号是包含负数的,无符号是非负数之外的数据。如果是int16是>=0的,是正常能获取正常值的。
2024-07-19 13:13:23
3997
原创 go 实现websocket以及详细设计流程过程,确保通俗易懂
数据只能单向传送为单工;数据能双向传送但不能同时双向传送称为半双工;数据能够同时双向传送则称为全双工。上面是简单的接受了websocket情况以及和其他协议的区别及联系,在做之前,还是要了解下这块,对后期实战有帮助。
2024-07-17 11:46:10
2562
3
原创 容器 Upgrading (Container should have been running but is in stopped state. Check logs for more inform
或者查看基础设施应>network-services>metadata>network-services-metadata-2日志出现:Failed to load answers from file: Failed to load answers from file ./answers.json: EOF。删除主机,再重新添加应用就解决了(删除只是删除主机和rancher服务连接,重新进行建立连接就可以了,也就说删除主机不会影响所有的业务容器,大胆删除即可)
2024-07-17 10:18:09
580
原创 goframe 之ORM链式封装
其实goframe本身的ORM框架已经比较强大了,只是在此基础上能否进行简写就好了,例如不要手写表字段,因为容易写错,第二个,要自行判断值是否为空,是否需要进行拼接,比较麻烦,要写多行,又没哟一种方式直接写一行的?答案是有的,还是希望框架本身后期能够支持这种方式。类似这样,一行代码直接搞定,简单明了,也比较清洗。
2024-07-15 17:08:08
234
原创 关于go中的泛型使用一些思考
虽然空值和零值在某些情况下可能看起来相似,但它们在Go语言中扮演着不同的角色。理解并正确使用这两个概念,可以帮助开发者编写出更加稳定、可靠且易于维护的Go代码。在实际编程过程中,应当根据变量的类型和使用场景,合理选择使用空值还是零值,以确保代码的正确性和效率。我个人一直认为,一个合格或优秀的程序,对细节要有严格的把控,对细节越了解,项目的稳定性和性能就越高,也是和其他人区分的一种方式所在。
2024-07-12 11:20:29
766
原创 goframe 对分页page的理解(以及简单封装)
最近在研究goframe,框架整体比较强大、规范;在此基础上开发,遇到了分页情况,看goframe介绍的分页是返回视图层的也就是html,我这边是前后端分离,因此不需要返回html,就自己简单的封装了下,我看了网上针对分页的机制,没有很好的封装,我这边按照我自己的理解进行封装一下。这是我定义的分页结构体,如何结合框架使用呢?result可以参考我上一篇。
2024-07-09 13:28:17
424
原创 goframe框架规范限制(but it should be named with “Res“ suffix like “XxxRes“)
首页公司最近要启动一个项目,公司主要业务是用java开发的,但是目前这个方向的项目,公司要求部署在主机上,就是普通的一台电脑上,电脑配置不详,还有经常开关机,所以用java面临一些问题,内存占用过高,启动过慢;大家注意了我这个结构体的名称了吧,叫ResultRes ,是因为要符合goframe规范要求,否则无法运行的,就是上面报错信息,ok。会发现,返回的包装体里面在包装一个字段,虽然这样也可以实现业务,但是过于麻烦,为什么不能直接用data接收呢?接口:接口返回值注意,要给我们刚才定义的结果集。
2024-07-02 17:55:18
560
5
原创 浏览器flv.js实时播放rtsp转码视频,浏览器内存泄露问题排查并解决
由于浏览器无法直接播放rtsp协议,需要通过转码服务进行推送给前端,技术采用的转码服务+websocket+flv进行浏览器播放,有很多现场都没有出现浏览器崩溃的情况,最近遇到一个现场反馈说系统经常崩溃,无法打开,最后排查的原因是客户的浏览器直接崩溃了,经过和客户沟通复现这一过程,反向客户有个使用习惯,打开实时视频不会关闭,也不会刷新,就一直播放;当向后缓冲区持续时间超过此值(以秒为单位)时,对SourceBuffer执行自动清理。如果采用其他的组件,原理应该都差不过,自行阅读文档或者源码进行设置。
2024-06-26 13:39:29
1029
原创 golang 实现继承方式
经常使用java或c++同学应该比较了解纯面向对象,继承、接口、封装等特性,在go中并没有特别显示的表达出来,但是go隐含是支持的,只是支持的方式不一致,可以说go的方式更加灵活,go语言精髓是组合机制,接口也是一个方法类型,相互组合就会出现很多种,没有java那种强制绑定的机制,这种挺好的,作为java开发者,接触go,确实给我耳目一新,给大大赞,我这边为了实现组合由于继承,我用组合来表达继承看看效果。看看效果是cat级别的run方法,完全是可以实现java的多态情况,不过比java更加灵活,强大;
2024-06-24 17:18:13
423
原创 influxdb(1.8.x)疯狂报http: Accept error: accept tcp [::]:8086: accept4: too many open files; retr
我这边设备是传感器预计后面会有上万个传感器,在2000多个传感器时系统都是正常的,很稳定,运行了一段时间,随着客户接入设备越来越多,当传感器超过5000+时,客户反馈,有些设备无法访问原始数据了,因此我这边进行排查,查看各个服务器硬件资源都还好,经过排查定位是influxdb出问题了,我这边用的是1.8.x,看了下日志,疯狂报accept4: too many open files;服务目录路径 /usr/lib/systemd/system 或usr/systemd/system 下的服务。
2024-06-13 10:41:26
652
转载 influxdb优化建议
写入密集型负载:如果你的系统主要处理大量的写入操作,并且写入性能是关键,你可能需要限制max-concurrent-compactions的值,以避免压缩操作与写入操作争用资源。#高I/O性能:如果您的系统具有高性能的磁盘I/O子系统(如SSD),并且磁盘I/O不是瓶颈,那么您可以考虑增加compact-throughput的值,以允许更快的压缩操作。#如果你的查询模式主要是读取,并且查询经常涉及相同的测量、标签和字段组合,那么增加 series-id-set-cache-size 可能会提高性能。
2024-06-13 10:25:17
507
原创 vue contextPath的思考
先说我这边的情况,目前项目都是前后端分离开发的,上线有种部署方式,常见的就是前后端分开部署,这是比较常见的,我这边因客户原因,打包一起进行部署比较简单,交付技术运维部方便后期其他现场部署,由于场景不同,没有使用分布式,更别谈微服务,只是单体,因为大部门客户企业也就是几十个人,也有几万用户,但是真正使用的也就是100多号人,所以用不到微服务和分布式,不过对于分布式方式也进行预留扩展机制,上面的背景说好了,说下问题;后端 http://host+port/a/api/xxx,
2024-05-25 09:02:46
659
原创 jdk21连接sqlserver报The server selected protocol version TLS10 is not accepted by client preferences
打开java.security文件;找到TLSv1, TLSv1.1删除即可,我这边已经删除了,所以看不到。这块因为jdk禁止使用 TLSv1, TLSv1.1;
2024-01-08 15:23:53
831
1
原创 springboot3.2.x支持虚拟线程
undertow 是一个轻量级的、高性能的 Java Web 服务器,由 JBoss 开发并开源。也就是只有固定的线程,不需要采用虚拟线程,后期看undertow是否支持,只是支持的意义不大。当启用虚拟线程时,Tomcat和Jetty将使用虚拟线程来处理请求。这意味着处理 Web 请求的应用程序代码(例如控制器中的方法)将在虚拟线程上运行。3、任务执行和任务调度 当启用后,自动采用虚拟线程,之前配置的都可以进行删除了。进行删除掉,会自动采用虚拟线程, 大家可以通过打印线程名称进行测试;
2023-12-12 13:53:59
2358
1
原创 .net6 打包成exe文件启动后,只能localhost访问,无法使用ip访问
公司其他部门采用了.net6开发了一个小服务,需要我这边部署到winserver上,由于之前没有了解过.net6,就直接进行部署了,发现点击exe直接启动了,也没报错,在服务器上也可以通过localhost进行访问,默认端口是5000,访问没问题;但是用ip访问就无法访问,很奇怪。需要添加Urls,才行,默认应该是http://localhost:5000;r如果需要支持ip访问,可以在这里进行配置即可。这块原因是.net6的配置文件需要手动配置下,我猜测这个玩意和tomcat差不多,需要配置一些东西;
2023-12-12 13:41:16
911
原创 升级springboot3.2.0报Name for argument of type [java.lang.String] not specified, and parameter name inf
我这里项目版本是jdk17+springboot3.1.5 升级为jdk21和springboot3.2.0;最后到github上去找了答案,大牛给我说了原因,原因是我的项目是聚合项目,真正项目并未依赖。大部分场景这个设置生效的;但是对与我的项目是不生效的,我也是设置了,就是无效;
2023-11-27 18:30:21
11059
11
原创 springboot3.2报Spring Boot [3.2.0] is not compatible with this Spring Cloud release train
2、第二种,直接进行配置,关闭检查,但是微服务的相关服务可能无法使用,需要自行验证。1、直接把springcloud升级为2023.0.0-RC1就行了。
2023-11-25 10:21:20
3176
原创 springboot由3.1.5升级到3.2.0 报Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String
2、由于我这边用的是mybatilsplus,其实可以暂缓升级3.2,等待一段时间,升级mybatilsplus就可以了,目前mybatilsplus的mybatis-spring是2.1.1,比较低,我相信,mybatilsplus很快会升级上来。再补充下,造成这个原因不一定是mybatils问题,也有可能是其他组件,建议自行定位,目前我了解的一个是mybatils和spring-data、springcloud,大家遇到都验证下,升级到最新版本就可以了。通过这里应该能看到是mybatils出问题了。
2023-11-25 10:09:30
24060
9
原创 关于单体架构缓存刷新实现方案
第一个,应用缓存比较乱(也有公共的缓存机制,但是有些业务不希望放到公共缓存里,一般就在当前类上定义了缓存),第二个线上也出现了几次因为缓存未及时刷新,造成垃圾数据的产生,因此,在这些问题的出现后,需要进一步设计缓存机制了,在不大调整业务代码的前提下如何及时进行刷新应用缓存呢?我这边项目基本上都是单体架构,因为业务场景需要,用户一般就几十个,最多,最多也就是100多用户,所以,单体是完全满足的,同时用户对于系统的要求也不高,因此采用了单体架构,但是后期可以切换到分布式,这是后期需求,如果遇到在调整。
2023-07-28 11:37:23
998
原创 SSO cas 不支持springboot3解决方案
由于cas里面用了大量的过滤器,因此,cas也面临着,调整的命运,因为servlet包名换了,由javax调整为jakarta,相信大家使用springboot3时,这块知识点应该也会知道,那就意味着cas的v3.x之前版本都不支持jakarta的;Ok,咱们解决呢,本来想提个建议,让管理员进行更新,最后我也没提,我下载源码调整后,执行处理了,,大家可以采用简单方式,把cas-client-autoconfig-support源码拷贝到项目里,进行直接调整即可,依赖最新的casv4.0.1即可。
2023-04-08 09:49:25
1144
原创 smiley-http-proxy-servlet 代理服务不支持springboot3解决方案
OK,项目已经升级到springboot3了,由于springboot3使用的servlet的包名更换了,也就是jakarta开头的,之前是javax开头,因此目前代理服务不支持jakarta,需要升级才行;我到官网看了,他们还在讨论升级问题,维护中有计划升级,至于什么时候,不晓得了;我这边就看了下源码,比较简单就改了下,,直接把源码调整下即可,其实这个项目就一个文件,哈哈,比较简单,直接拷贝调整即可;注释掉,然后创建ProxyServlet 这个类,把项目拷贝进去即可。代码如下,把之前的依赖,也就是。
2023-03-24 10:33:49
1210
1
原创 filebrowser的权限实现RBAC效果
我的需求是这样的:用户分为一级二级三级用户,每级用户的权限不一样,例如超级管理员查看所有文件权限,二级具有删除、修改、发布和指定一些文件查看,三级只具备发布文件不支持删除,普通用户只能查看,反正有很多类似这样的,其实filebrowser是支持的,关键还支持云存储方式,也就是每个用户只能看自己的文件,也是可以的,有兴趣可以研究下;暂时先整理这些,后面在进行整理如何集成公司系统用户,这样用户打通后,直接可以快乐玩耍了,,,,只有下载和查看的权限,也可以新建,因为我给了新建的权限了,,全局设置好,我们再看看。
2023-03-21 18:06:17
2302
原创 项目由springboot2.7.7升级为springboot3.0.4时服务无法在nacos进行注册发现了
发现服务一直无法启动了,因为springcloud使用的版本已经升级了2022.0.1,而阿里巴巴还没升级,我发现maven仓库里这块spring-cloud-alibaba-dependencies暂未发布版本;spring-cloud-starter-alibaba-nacos-discovery 和 spring-cloud-starter-alibaba-nacos-config 果不其然,已经发布版本了。本次说下,升级过程中,有个比较重要的问题,就是服务无法注册到nacos里了,
2023-03-20 13:30:55
854
原创 安卓APP开发 Activity调用onKeyDown无反应或H5聚焦到编辑框后按键监听也无效
onKeyDown这个事件了,我以为是聚焦问题,但是不是,我也不是很明白,是个什么问题;找了大半天,,就找到了dispatchKeyEvent分发事件处理,这个是可以的,建议大家使用这个哦,,重新java后端开发;本次是因为公司要做个APP,之前一直尝试想学学安卓开发的, 就趁着这次机会学学,发现,坑也挺多,主要api不了解,使用不熟练造成的;app已经开完成了,但是发现一个问题,在Activity里重写了。PP嵌入H5后,H5调用摄像头拍照后,然后就无法监听。我这边是监听按下即可,所以排除了放开的监听。
2023-03-11 14:28:00
1018
原创 HasorDataWay接口接入到SpringDoc或openAPI3或knife4j4.0
如上,下半年计划把项目升级为springboot3,我一直想把APIdoc给换一下,之前是使用了springfox,发现好几年前已经不维护了,所以想升级,这两天就忙这个事情,其实升级挺顺利的,通过spingfox直接升级为springdoc还行,没有多少坑,主要IDEA帮助我了很多,一键替换,简单方便,这块我就不写了,比较简单;就是这个,其实我之前想重写一些,但是想想算了,后期springdoc应该有扩展点,可能我现在没有发现在哪里,我这边通过过滤器进行处理,我拦截,我配置的dataway路径。
2023-03-07 16:27:38
682
原创 Vmware17 pro支持MAC系统安装
原因unlocker版本太低了,真无语,网上基本上的版本都是v2+的,,真坑。安装网上说的,通过Unlocker老无法打开vmware 的mac设置。这里有最新的安装,执行下即可,我现在下载的最新的时425版本。
2023-02-24 15:41:55
2711
原创 filebrowser logo和样式自定义及免密访问
这两天接到项目一个需求,客户需要文件管理存储服务,看了下大概的功能,计划用源码开发的,但是看后期这块调整也不大,就采用开源的项目进行即可,开源项目对比后,发现filebrowser比较适合我,功能就不说了,很强大,性能很高;但是面临这定制,比较是跟业主使用的,不能暴露开源任何相关,同时加上公司的一些属性配置,官网已经有说明了,我也是参考官网文档进行调整的,在这里进行记录下。必须包含img文件夹,系统会自动寻找这个文件夹,img下的logo.svg和icons的文件名必须保持这样,官网写的还是挺详细的。
2023-02-09 11:26:21
4624
3
原创 MySQL8 分页数据重复或丢失问题说明(order by limit)
这个问题,在生产环境出现了,结果测试也没测试到,我也是无语,还是客户发现的;可能是因为现场数据较少,只有两页,客户一眼就能看到少数据了,也就是录入成功后的数据查不出来,还是在第二页,,如果pageSIze选择大一些,用一页展示是可以正常展示所有的数据的;
2022-12-01 17:31:37
1889
原创 easy-captcha 算法图片验证码去除结果小于0的计算
来的,由于随机算法计算后由挺多的小于0,但是输入值时需要添加负号,比较麻烦,有多个业主反馈,所以,我进行优化调整,我这边解决方案比较简单,只要判断两个值大小并且是减号时,把减号调整为加号即可。以上代码就能解决出现结果为负数的情况,同时也不会去除减法。
2022-11-23 10:22:18
573
原创 Spring Boot 2.6以后版本优雅解决PatternsRequestCondition.getPatterns()“ because “this.condition“ is null问题
就可以了,这个我之前就这么用的,最近springboot版本升级到2.7.4了,也顺带了解了下springboot3.0版本升级事项,目前pathmatch 这个配置虽然在3.0也保留了,但是spring官网建议还是让我们调整;如果想省事就用上面的,但是我为了后面好升级,就找了下解决方案,通过这个问题,我发现,还是到官网去找,性能高一些。这里有两种解决方案,第一个是我上面写的,第二个是webmvc处理器来进行处理的,我看了下评论有些局限性,大家可以尝试下。其实网上已经有了,通过。
2022-10-29 14:24:06
8725
原创 mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)
【代码】mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)
2022-10-24 18:35:15
764
原创 flyway 社区版本使用团队(企业级)特性ignore-migration-patterns使用
标题是ignore-migration-patterns使用,其实所有团队(企业级)特性都可以使用,只是要安装我给的思路研究下就可以了,其实也很简单,只是改配置。
2022-09-15 11:39:32
1249
原创 hasor与swagger不兼容问题解决方案
只要springboot集成hasor与swagger必然会出现swagger无法访问,无论你怎么设置swagger静态资源,都不行,这个问题,在于hasor拦截问题,不是swagger配置问题,我分享下我的解决方案:
2022-08-17 09:19:31
351
原创 springboot 定时任务动态启动和停止
这个在网上都有解决方案了,但是网上的给的解决方案夹杂了本身的业务,其实动态启动定时任务只需要关注系统启动时的动态启停,至于要不要入库,取决于自身业务情况,与解决这个问题没啥关系;ok,我来梳理下我这边理解的,我简单的就实现了,当然可以动态加更多的内容,通过这个可以简单进行封装成XXL的job,其实原理都是想通;定时任务对于大多数需求来说,@注解级别就可以了,,,但是有些需要提前用数据库配置的,,也可以通过实现 SchedulingConfigurer 这个也是可以的,配置好后重启即可;还有一些情况是需要根据
2022-05-14 18:00:17
7794
8
原创 java websocket支持分布式部署解决方案
代码就不放了,参考下这个解决思想,就可以了,,解决思想就是把消息进行分发给对应的分布式服务,这样每个分布式服务都会收到 消息,然后在根据规则进行session 发送消息即可
2022-04-21 11:59:41
2752
图片批量导入oracle数据库
2016-04-24
spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32-x86_64
2017-12-18
webserver客户端代码,天气预报,电话号码归属地,ip,邮政
2016-01-19
mybatis逆向生产工具,解压导入开发工具里,修改generatorConfig.xml数据库连接和表名即可
2017-12-04
hive常用函数参数手册
2018-10-21
PowerDesigner16x64.txt
2020-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人