- 博客(75)
- 收藏
- 关注
原创 风控规则引擎(一):Java 动态脚本
在上面说到的使用场景中,可以了解中至少需要支持布尔表达式。比如芝麻分 > 650居住地 不在 国外年龄在 18 到 60 之间名下无其他逾期借款在上面的例子中,可以将一个表达式分为 3 个部分规则参数 (ruleParam)对应的操作 (operator)对应操作的阈值 (args)则可以将上面的布尔表达式表示为芝麻分 > 650"ruleParam": "芝麻分","operator": "大于",居住地 不在 国外"ruleParam": "居住地",
2023-12-05 09:54:26 1068
原创 解释 RESTful API,以及如何使用它构建 web 应用程序。
RESTful API是一种设计风格,用于构建可伸缩的Web服务,以促进不同系统之间的通信。每个资源都有一个唯一的标识符(URI),可以通过GET方法来获取资源的状态。总的来说,RESTful API是一种可扩展和灵活的设计风格,可用于构建Web应用程序和Web服务,它提供了一种简单,标准化的方式来实现不同系统之间的通信。4.在应用程序中使用API端点,以便通过HTTP调用API来执行所需的操作并获取数据。2.确定要公开的API端点和允许的操作(GET,POST,PUT,DELETE等)。
2023-09-05 16:58:24 538
原创 Spring Cloud 框架优雅关机和重启
我们编写的Web项目部署之后,经常会因为需要进行配置变更或功能迭代而重启服务,单纯的的方式会强制关闭进程,这样就会导致服务端当前正在处理的请求失败,那有没有更优雅的方式来实现关机或重启呢?
2023-06-28 14:15:56 858
原创 《jmeter入门使用》
简介JMeter 是 apache 开发的基于 java 的压力测试工具。可用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能,另 jmeter 可以使用它做性能的图形分析或在大并发负载测试服务器/脚本/对象。作用能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)完全的可移植性和100% 纯java。完全多线程 框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。精心的 GUI 设计允许快速操作和
2022-05-02 20:17:39 947
原创 PMP 知识点中常见的应对方案的总分关系【应付考试用】
PMP 知识点中常见的应对方案的总分关系在练习题中的选项中经常会出现一些相关概念的细分选项和总体选项,我们有时候困惑于这种选项本身,感觉哪种说法都有可能是正确的,下面主要总结一下常见的易混淆的选项。零、肯定不能做的事情为什么把这个放在最前面,因为这些是干扰项,应该优先排除,选都不应该选违背职业道德的选项;违背质量管理的选项;减少控制点,降低质量控制标准(除非题干中明确可以减少控制点);拒绝相关方、发起人、客户等提需求的选项;必须允许他们提交需求和变更,但作为项目经理可以评估变更的合理性,或者通
2022-02-07 16:49:43 852
原创 Java | synchronized 不同情况下的对象头测试
在 Oracle JDK 8 上测试 synchronized 在不同情况下对象头的变化
2021-11-27 22:07:30 644
原创 Spring Boot(Cloud) 优雅停机
为了解决在微服务重启的过程中,可能出现一部分 http 请求处理失败的问题,提供一下方案拟用方案:第一步:重启前先从主动将服务剔除,并等待一段时间第二步:停止服务并重启一、主动将服务剔除该方案主要考虑因为服务下线的瞬间,如果服务信息更新不及时,导致复杂均衡算法依然转发到已经停掉的实例上发生一些服务不可用的情况在每个项目增加一个接口(例如 /discovery/deregister ),在项目重启的脚本中主动调用接口剔除这个服务,shell 大致改动如下:function stop(){
2021-10-29 23:46:16 860
原创 PMP备考错题集
A project manager has completed the review and approval processes for a project’s key deliverables. The project manager now needs to prepare a report on product quality and project performance for key stakeholders. What should the project manager use to p.
2021-10-02 21:35:40 224
原创 注册中心选型以及Spring Cloud 是如何实现服务发现的
注册中心CAP原则CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance),这三个要素最多只能同时实现两点,不可能三者兼顾。CAP适用场景解释CA几乎不存在在分布式系统中,P必然存在,除非适用单机,要提升分区可靠性,需要通过提升基础设施的可靠性实现CP分布式数据库(Redis、HBase、zk、etcd)分布式数据库极端情况下优先保证数据一致性
2021-09-12 19:42:31 368
转载 你真的准备好提问了吗
你真的准备好提问了吗请停止问那些弱智的问题 !!!声明本文是在 《Stop Ask Questions The Stupid Ways》 和 《How To Ask Questions The Smart Way》基础上写的,将两个合在了一起,并删了了大量的陈述以保证简洁,同时加了一些个人参考,原文的链接将在文章中提供《Stop Ask Questions The Stupid Ways》Github 中文翻译地址 https://github.com/tangx/Stop-Ask-Questio
2021-09-08 09:57:36 774
原创 Java | Spring Cloud Gateway 使用小技巧
网关中间件本文中大部分内容都来自于 Spring Cloud Gateway 官网所谓的API网关,就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,诸如认证、鉴权、监控、路由转发等。中间件NginxKongNetflix ZuulSpring Cloud Gatewayshenyu主要开发语言CLuaJavaJavaJava依赖关系无基于 Nginx_Lua模块无无无
2021-07-02 10:34:42 203
原创 2017 关于刚到北京的一些经历
在外面工作半年多了,学到的很多,了解的也多了,在这里主要写一下这半年的经历和工作中用到的一些技术,看看是不是能帮助学弟学妹们更好的去学习和选择。我在 3 月份开始在北京找工作,当是天气还很冷,农历还没有出正月,因为咱们班有部分同学培训已经在北京租了房,为了方便,我们就在他们培训的附近租了一个房(昌平区北七家镇白庙村),当然这里租房也很便宜,算上网费大约一个月 1100,不过冬天真的很冷,暖气到了后半夜就凉了。到了这里和同学聚了几次,就开始投简历了,主要是在智联招聘上投的,一开始简历写的 2017 年毕业
2021-06-17 13:44:33 133
原创 Java | Spring 使用 RequestBodyAdvice 来实现请求参数的加解密预处理
Spring 使用 RequestBodyAdvice 来实现请求参数的加解密预处理前言在我们平常的项目开发中,一般会遇到这样的需求:对请求参数记录日志对入参进行解密和验签(在一些金融项目或者安全性要求比较高的项目中经常会出现这样的需求)对出参进行加密像打日志这种需求就比较简单了,这里主要说一下第二个问题常见解决方案针对对上面对入参进行解密和验签问题一般可以使用以下几种方案:使用 HandlerInterceptor来做使用 HttpMessageConverter 在消息转换的
2021-06-06 18:33:22 1773 2
原创 Java | 实现一个简单的 IOC 容器
实现一个简单的 IOC 容器 (一)这篇文章主要讲一下如何使用 Java 实现一个简单的 IOC 容器,这里该系列的第一篇,要实现的内容的也相对简单,主要介绍一下 B 依赖 A 这种简单的关系是怎么实现的Java 依赖注入标准 JSR-330 实现我们常常使用的 Java DI 框架包括 Spring 和 Guice,在 Java 规范中也定义了对依赖注入的基本规范,其就是 JSR-330标准对依赖注入的使用进行了定义, 但是对实现和配置未定义。包javax.inject对应该标准。具体实现依赖于
2021-06-06 18:20:04 489 4
原创 Java | 实现一个 ORM 到底多简单
实现一个 ORM 到底多简单Table of Contents实现一个 ORM 到底多简单原理ORM 实现1. 通过注解来将 Java Bean 和数据库字段关联2. 反射工具类3. 简单的 model 示例4. 注解解析5. 数据库操作6. 结合反射实现查询操作使用动态代理实现 @Query @Select 类似功能1. 动态代理2. 注解3. 表设计4. model5. repository7. 大体流程8. 代理使用9. 将生成代理放入 Spring IOC 容器中10. invoke方法处理
2021-04-18 11:47:19 686 3
原创 分布式 | 分布式锁的实现
分布式锁的实现在常见的分布式锁中有以下三种实现:Redis 实现Zookeeper 实现数据库实现文章目录分布式锁的实现1. 基于Redis 的实现1.1 实现原理1.2 实现方式1.2.1 原生代码1.2.2 Spring Redis Lock 实现1.2.3 Redission 实现1.3 优缺点2. 基于 Zookeeper 的实现2.1 实现原理2.2 使用2.2.1 使用 spring-integration-zookeeper 实现2.2.2 使用 Apache Curator2
2021-03-08 13:58:12 160
原创 MySQL | MySQL 事务隔离级别和多版本并发控制MVCC
MySQL 事务隔离级别和多版本并发控制MVCCMySQL 提供了两种事务型的存储引擎:InnoDB 和 NDB Cluster 。另外还有一些第三方存储引擎也支持事务文章目录MySQL 事务隔离级别和多版本并发控制MVCC1. 数据库事务2. 事务并发可能出现的问题2.1 脏读2.2 不可重复读2.3 幻读3. 事务隔离级别3.1 读已提交 (READ COMMITTED)是如何工作的3.2 可重复读 (REPEATABLE READ)3.3 串行化 (SERIALIZABLE)4. 多版本并发控制
2021-03-06 17:37:47 218
原创 Java | Spring Cloud 是如何实现服务治理的
Spring Cloud 是如何实现服务治理的文档写的再好,也不如源码写的好源码地址:Spring Cloud Consul https://github.com/spring-cloud/spring-cloud-consulSpring Cloud Commons https://github.com/spring-cloud/spring-cloud-commons文章目录Spring Cloud 是如何实现服务治理的Spring Cloud Commons 之服务治理浅析服务注册服务
2021-03-02 21:43:14 190
原创 Java | Spring Cloud Gateway 是如何工作的
Spring Cloud Gateway 是如何工作的文档写的再好,也不如源码写的好源码地址:GitHub: https://github.com/spring-cloud/spring-cloud-gatewayGitee: https://gitee.com/github_mirror_plus/spring-cloud-gateway文章目录Spring Cloud Gateway 是如何工作的负责转发请求的 NettyRoutingFilter负责将响应回写到原连接的 NettyWr
2021-03-02 21:40:22 244
原创 Go | Go 结合 Consul 实现动态反向代理(类似 Spring Cloud Gateway)
Go 实现反向代理并整合 consul 实现服务发现,类似于 Spring Cloud Gateway
2021-02-24 10:24:22 750
原创 Python | Python 使用 consul 做服务发现
Python 使用 consul 做服务发现 文章目录前言一、目标二、使用步骤1. 安装 consul2. 服务注册定义基类具体实现3. 服务发现基类定义具体实现4. 测试用例总结参考前言前面一章讲了微服务的一些优点和缺点,那如何做到一、目标二、使用步骤1. 安装 consul我们可以直接使用官方提供的二进制文件来进行安装部署,其官网地址为 https://www.consul.io/downloads下载后为可执行文件,在我们开发试验过程中,可以直接使用 consul agent .
2021-02-20 18:04:40 1458
原创 MySQL | 使用 limit 优化查询和防止SQL被优化
查询优化1.1 最大值和最小值的优化1.2 优化 limit 分页1.2.1 使用关联查询优化1.2.2 使用范围查询1.2.3 利用唯一自增序列进行查询groupby orderby limit 反优化处理
2021-02-18 16:36:17 364
原创 Java | 在 Java 中执行动态表达式语句: 前中后缀、Ognl、SpEL、Groovy、Jexl3
在 Java 中执行动态表达式语句 在一些规则集或者工作流项目中,经常会遇到动态解析表达式并执行得出结果的功能。规则引擎是一种嵌入在应用程序中的组件,它可以将业务规则从业务代码中剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业务规则;规则引擎通过接受输入的数据,进行业务规则的评估,并做出业务决策。工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表達并对其实施计算。 工作.
2021-02-14 20:08:55 1959 4
原创 Go | Go 发送 http 请求: post,get,put,delete请求示例代码
Go 发送 http 请求: post,get,put,delete请求示例代码 HTTP 请求方法请求示例GETPOSTkv 形式PUTPATCHDELETE源码参考HTTP 请求方法根据 HTTP 标准,HTTP 请求可以使用多种请求方法。在日常开发中大多数会用到 5 种请求方法: GET、POST、PUT、PATCH 和 DELETE方法描述GET请求指定的页面信息,并返回实体主体。POST向指定资源提交数据进行处理请求(例.
2021-02-07 18:35:40 2858 1
原创 Java | 使用 Spring Redis Lock 实现分布式锁
文章目录前言使用步骤1. 引入库2. 配置 redis3. 增加配置4. 使用前言在我们项目经常遇到并发问题,在单个项目中,使用自带的锁即可完成并发控制,在多个项目中,就需要使用分布式锁来解决。这里讲一下使用 Redis 来做分布式锁实现方案使用步骤1. 引入库在 Spring Boot 项目会根据 Spring Boot 依赖管理自动配置版本号Maven<dependency> <groupId>org.springframework.boot</gro
2021-01-19 21:11:08 822
原创 MySQL | MySQL 常见优化方案
MySQL 常见优化方案1 优化数据库结构1.1 优化表的数据类型1.2 拆分表,提供访问效率1.3 逆范式1.4 使用冗余统计表1.5 选择更合适的表类型2. 定位慢SQL3. 通过 EXPLAIN 分析执行计划4. 索引
2020-12-18 11:41:56 261
原创 DigitalLibrary | 开发常用免费软件 (持续更新中)
我们应该尊重他人版权. 如果我们自己是开发者,亦不会愿意别人用破解版 。己所不欲勿施于人
2020-11-29 10:14:44 367
原创 Java | 创建一个 Spring Boot 单体项目都需要做什么
创建一个 Spring Boot 单体项目都需要做什么, Mybatis、Flyway、Redis 、MySQL 配置
2020-11-15 18:55:21 618
原创 今天 1024,为了不 996,Lombok 用起来以及避坑指南
Lombok 项目是一个 Java 库,它会自动插入您的编辑器和构建工具中,简化您的 Java 。 不需要再写另一个 getter、setter、toString 或 equals 方法,带有一个注释的您的类有一个功能全面的生成器,可以自动化您的日志记录变量,以及更多其他功能
2020-10-24 14:34:50 156
原创 常用开发原则
开发手册文章目录开发手册目标原则代码规范规约日志和异常单元测试SQL安全建议目标整洁统一易读模块化心情愉悦原则短小精悍 最多50行,建议30行以下KISS “kiss Simple and Stupid” 的缩写,意思是“保持简单和愚蠢”六大原则单一职责原则(Single Responsibility Principle, SRP)一个类只负责一个功能领域中的相应职责开闭原则(Open-Closed Principle, OCP)对扩展开放,对修改关闭,在不
2020-10-19 13:45:50 137
原创 测试 | 性能测试神器 wrk 使用教程,敢不敢测试一下你的优(zao)秀(gao)项目的QPS
wrk是一种现代HTTP基准测试工具。基于epoll 和 kqueue 实现,即使在单核上也能有很好的性能,产生大量负载。 同时支持使用 lua 脚本自定义测试逻辑
2020-10-16 17:20:19 936
原创 Linux | linux重要的标准目录和文件
linux重要的标准目录和文件文章仅是学习记录,不能算原创.具体文档可查阅 https://www.linux.org// 根目录,所有其他文件在根文件系统的子目录下/bin 基本命令的二进制文件,存放linux下常用的命令和工具/boot 引导加载器的固有文件,linux就是从这里启动的/dev 设备文件,存放着linux下的所有设备文件/etc 本地系统配置文件/etc/X11 本地X窗口系统配置文件/etc/opt 保存在/opt中的附加软件包配置文件/home 用户本地目录,
2020-10-09 14:11:44 127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人