项目问题
文章平均质量分 71
知始行末
君子有所为有所不为,为者不违心,不为者不为过。
展开
-
统一消息分发中心设计
这个方案是一个简易可行的方案,符合快速上手并实施。在人力、时间、成本不充足的情况下,基本能满足我们的需求。如果想让它作为平台级的技术组件推广,还有一些细节的点可以优化。核心的业务是否也可以分离出来,通过平台配置的方式自动分发数据到消息中心。消息中心每次都会从数据库拉去路由表信息,这样性能不好,可以放在分布式缓存或本地内存。这时需要注意缓存数据的一致性问题。分发中心是否存在性能瓶颈、集群化等。连带业务是否也可以通过配置,自动拉取MQ的消息。原创 2023-11-10 22:26:05 · 1685 阅读 · 0 评论 -
项目架构落地之需求分析(一)
尽可能全面准确、全面、深入理解业务(5W2H)识别重难点业务理清业务流程和功能点识别非功能需求和质量约束原创 2023-10-23 20:33:34 · 445 阅读 · 0 评论 -
python在excel中插入二维码
需要在excel中的barcode列中插入二维码图片,方便运营人员打印和数据录入。原创 2023-03-06 12:32:47 · 778 阅读 · 0 评论 -
mongoTemplate非string类型模糊查询
mongoTemplate对非string类型的模糊查询原创 2023-03-04 17:40:52 · 999 阅读 · 0 评论 -
项目实战—IDEA中分析Git Merge 和 Rebase的区别
1.merge和rebase都是合并代码,在处理代码冲突和最终合并新旧代码的目的上没有太大区别;2.merge会产出一个新的merge的commit,分支会比较复杂,而rebase之后的分支就一条比较简明;3.rebase在push代码的时候更加清晰,没有多余额mergecommit,自己修改的代码也会放在前面;httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。..................原创 2022-07-18 12:52:17 · 3182 阅读 · 0 评论 -
JPA定义默认值设置失效问题
对于第一个问题,猜想的主要原因是定义新的字段时,jpa框架会将默认定义值带上加到表中。如果后面加上默认定义值的定义时,jpa框架并不会智能地更新colum的定义。总结下就是创建新字段时默认值才会生效。 对于第二个问题,通过jpa日志可以看出,插入的时候默认值是空值覆盖了我们数据库默认的值,导致看到默认值为null,程序NPE异常。 在插入新值的时候,手动设置默认值。 配置插入值时不能修改该字段; 直接属性字段设置默认值;............原创 2022-06-30 12:41:10 · 1875 阅读 · 0 评论 -
自定义JPA函数,在specification中实现位运算
项目中使用一个 32 位的int 类型值error表示各种错误,每一个二进制位的0表示出现错误,1表示未出现错误哦。定义下面的错误协议:如果出现多个错误就将各个错误 |起来,例如 蓝牙错误 + 电量低 + gps信号弱,那么我们数据库存储的值就是:转换为十进制存储到error数据就是 2 + 4 + 8 = 14;在条件搜索蓝牙错误 + 电量低的时候,将各个错误|起来得到:,然后0000 0000 0000 0000 0000 0000 0000 0110&14 > 0 那么就是满足搜索条件的。项目中使原创 2022-06-23 22:45:59 · 1070 阅读 · 0 评论 -
GitLab 部署k8s deployment 502的问题
如下图我们通过Git Lab的CI/CD完成最新的代码部署,但是当我们完成最后阶段的deploy的时候。访问服务,此时服务会无法访问。这是会出现502的错误:为啥需要解决这个问题呢?既然是发布的时候出错就可能是新旧服务切换的时候出了问题。要么是旧服务关闭早了,或者是新服务还没有就绪。由于我们使用的是k8s对容器进行管理,所以查询了k8s关于在部署deployment时的一些参数配置。1. 调节发布策略,防止旧的deployment在新的deployment启动前销毁: 通过 strategy 可以配置原创 2022-06-20 16:22:08 · 1443 阅读 · 0 评论 -
AWS ECR 配置生命周期
什么是ECRAmazon Elastic Container Registry (Amazon ECR) 是 AWS 托管容器镜像注册表服务,它安全、可扩展且可靠。Amazon ECR 支持私有存储库,其具有使用 AWS IAM 的基于资源的权限。这样,指定用户或 Amazon EC2 实例可以访问您的容器存储库和镜像。您可以使用首选 CLI 推送、提取和管理 Docker 映像、Open Container Itistry (OCI) 映像和 OCI 兼容构件。摘抄自aws官方文档,简述就是一个镜原创 2022-05-14 16:35:48 · 811 阅读 · 0 评论 -
GitLab CI/CD 打包变更微服务模块
在使用gitlab ci/cd部署我们服务时,是怎么知道对应模块文件的变更的呢?下面将从git命令、shell 命令、mvn 命令等三个主要的命令讲解其具体实现。git命令获取变更记录通过下面命令就能获取到变更文件:git diff --name-status git提交本次版本号 git提交上次版本号gitlab版本号获取可以通过下面两个变量获取:$CI_COMMIT_SHA$CI_COMMIT_BEFORE_SHA通过上面两个信息就能提取到变更文件的目录信息:.原创 2022-05-11 15:07:44 · 1312 阅读 · 0 评论 -
Maven包依赖导致的重大生产事故
半夜起来发现主要服务--区域信息服务全部失效,用户全部无法在指定开车、停车、结算等,导致我们线上服务出现重大问题,服务不得不回滚到以前的版本。经过两天左右的排查,终于把原因找到了,现在就来说一说怎么找到问题的。定位最近改动的代码,发现上线的服务是区域信息服务,大致定位到可能是这个服务出现了问题。也符合线上用户无法开车、停车、结算这种情况。然后就是定位这块实现代码的地方,查看代码改动,发现并没有改动过这块代码。我就奇了怪了,代码都没改怎么会有问题呢!后面实在无法找到是什么问题引起的,数据都是模拟的原创 2022-03-03 16:10:16 · 629 阅读 · 0 评论 -
公共组件分布式锁抽取并和spring框架集成
分布式锁redisson之自定义注解封装原创 2022-03-03 11:49:57 · 465 阅读 · 0 评论 -
maven依赖jar包时版本冲突的解决
共有四种解决方式:1、第一声明优先原则:在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。所以,先声明自己要用的版本的jar包即可。2、路径近者优先:直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。3、排出原则:传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除,从而解决冲突。例子:<dependency> <groupId>o...转载 2021-06-03 22:21:57 · 1064 阅读 · 0 评论 -
记一次SpringBoot多模块注入对象为null的问题
SpringBoot多模块注入对象为null的问题在多模块开发过程中可能会遇到,在Application类注释scanBasePackages中配置了需要扫描的的包,如下:@SpringBootApplication( scanBasePackages = {"cn.xx.xxx"})public class Application但是怎么都不无法注入对象到spring容器中。解决办法:在idea的Build中重新构建项目即可。...原创 2021-04-09 15:20:28 · 2828 阅读 · 0 评论