技术选型 1. 技术选型所要考虑的 切合业务:在当前的场景以及后续的一些模块的设计,都可以满足我们的业务 社区活跃度:活跃多,使用的人多,优点缺点都可以呈现出来,包括会遇到的问题 团队技术水平:针对开发周期的长短,需要考虑我们是采用老技术还是新技术。如果是新技术,团队没有几个人接触过的话,那么就需要整体的一个培训,来提高团队的技术水平。 版本更新迭代周期:如果版本更新迭代的比较快,可以优先考虑,因为如果你遇 2023-04-24
幂等性 1. 幂等性是什么?在一个系统中,一个接口,运行多次和运行一次的结果是一致的。 什么情况下需要幂等性? 重复提交、接口重试、前端窗口抖动等 业务场景: 用户多次点击提交订单,后台应该只生成一个订单。 支付时,由于发生网络问题重试,应该只扣一次钱。 保证幂等性的核心思想:通过唯一的业务单号保证幂等。 实现: 非并发的情况下,查询业务单号有没有操作过,没有则执行操作 并发的情况下,整个过程加锁 2023-04-23
postgresql 常用SQL整理 删除id最小的重复行 123DELETE FROM mes.stool_po where id in( SELECT MIN(id) FROM mes.stool_po GROUP BY purchasing_doc_number, purchasing_doc_item_number HAVING COUNT(id) > 1) 查询根据purchasing_doc_numbe 2023-04-21
docker 1 docker解决了什么问题?比如我们现在开发了一个应用程序比如淘宝App,程序员从头到尾搭建了一套环境开始写代码,比如安装JDK等,代码写完后需要交给测试同事去运行,这事测试同学也需要从头到尾搭建一套环境,但比如JDK版本和你安装的不同,导致无法在测试同学的机器上运行起来,找开发去看问题,此时开发也很无辜,“明明在我的机器上是可以跑起来的”。 在没有容器技术之前,我们可以采用搭建虚拟机,然后测 2023-04-18 docker
单点登录 1 跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。 3、服务器向用户返回一个 session_id,写入用户的 Cookie。 4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。 5、服务器收到 session_i 2023-03-20
分布式ID 1. 为什么需要分布式ID在单体结构的应用中,我们可以使用 MySQL 数据库的主键自增来为我们的数据设置唯一标识 ID,但是在分布式环境中,单个数据库的吞吐量成为整个应用的性能瓶颈,我们就可以搭建数据库集群来提升数据库的性能,此时如果还使用 MySQL 的主键自增来设置数据 ID 的话,就会出现重复的 ID,这样就会出现主键冲突的情况。 如果使用分布式的全局唯一 ID 就不用担心会出现这个问题了 2023-03-17 分布式
jenkins部署vue项目 1 配置nodeJs因为Jenkins容器中只有java环境支持运行jenkins,没有node环境,但是jenkins提供在线安装nodejs。官方文档 系统管理—>管理插件—>下载NodeJS插件 系统管理—>全局工具配置—>选择需要安装的nodejs版本 Jenkins 会从nodejs官网下载安装,nodejs安装包在:$JENKINS_HOME/ 2023-03-15 jenkins
权限  ![image-20230227215417463](/Users/panyuro 2023-02-27
Shiro入门 1. shiro 概念 Apache Shiro™是一个强大且易用的Java安全框架,能够用于身份验证、授权、加密和会话管理 Shiro拥有易于理解的API,您可以快速、轻松地获得任何应用程序——从最小的移动应用程序到最大的网络和企业应用程序。 2. shiro优缺点优点: 提供了一套框架,易于使用 更灵活,应对需求能力强,web能力强 可与很多框架进行集成 缺点: 操作的界面需要自己实 2023-02-26 权限管理 #Shiro