- 博客(12)
- 收藏
- 关注
原创 SpringBoot 2.0 整合 redis 报错:NOAUTH Authentication required
@Configurationpublic class RedisConfig { @Value("${spring.redis.host}") private String redisHost; @Value("${spring.redis.port}") private Integer redisPort; @Value("${spring.redis.password}") private String redisPassword; .
2021-09-09 10:16:47 488
原创 布隆过滤器的应用
在一个 App 的登录场景中,有两个重要信息:账号和设备号设备号标识一个被安装的 App,在 App 安装时生成,如果卸载了重新安装则会生成新的设备号。假设有个需求,需要检测一个时间窗口内活跃账号和设备比是否正常,如果不在合理范围内则告警提醒。一般的方案有下面两种:方案 特点 内存set 优点:性能好,缺点:存储数据有限 数据库 优点:可以存储更多数据,缺点:性能相对差,需要维护数据的清除逻辑 这两种方案各有其优缺点。那么,如果我既追求性能,又追求存储更多的
2021-09-09 10:13:11 325
原创 Postman如何实现自动加签
接口调用时会加签,在使用Postman debug的过程中,即使修改了一个参数,签名也会发生变化,而手动加签是一件重复枯燥的事情,所以自动加签是必要的。自动加签主要依赖 Postman 对 Pre-request Script 的支持,可以在实际发送强求前做一些定制操作,自动加签就是一个典型的应用。下面是我使用的 Script,可以作为参考。// 我会把 appKey 和 secretKey 存放在环境变量里,因为不同环境下这两个值是不一样的。let appkey = pm.environm
2021-09-08 21:03:15 924
原创 一文入门Flink
流数据流分为有界数据流和无界数据流,它们的区别是有没有明确的结束点。有界数据流有结束点,对有界数据流的处理称为批处理,特点是在处理之前就可以拿到所有的数据。无界数据流没有结束点,数据是源源不断的,对数据的处理将会是持续性的。flink是一个分布式流计算引擎,需要结合计算资源才能执行计算作业。flink作业部署如果是上手体验,可以在本地运行测试。如果是生产使用,有三种选择:(1)在虚拟机上运行,部署多个 JobManager 备实例做 HA,通过 zookeeper 做故障
2021-09-05 17:30:13 217
原创 面试官:来聊聊JVM吧
1. jvm中有哪些内存区域内存区域 作用 是否线程独有 是否会OOM java堆内存 用来存放创建的对象 否 是 Metaspace 用来存放类的元信息 否 是 java虚拟机栈 用来保存方法的执行信息,包括局部变量表、操作数栈、动态链接、方法出口等信息,线程执行到某个方法,就会给这个方法创建一个栈帧,压入当前线程的栈中,当方法执行完就会将栈帧出栈。 是 是 本地方法栈 和虚拟机栈类似,用来保存native方
2021-09-05 17:12:31 167
原创 聊聊数据库本地事务
之前有个朋友问我,数据库如何保证的一致性?我:这么小白的问题都不知道??于是就绝交了。。如果在分布式环境下讨论事务还是比较复杂的。所以,先从本地事务开始聊一波。所谓本地事务,就是单数据源的事务场景。事务的 ACID 都知道,分别是:原子性(Atomicity):事务包含的所有操作要么全部成功,要么全部失败回滚到事务前的状态。一致性(Consistency):事务前后的状态都是一致的,比如A给B转账,转账前两人账户总和是1千元,那转账之后也得是1千元。隔
2021-08-15 19:52:54 173
原创 使用python实现桌面输入框
有必要说下,这个输入框可以用来做什么?其实,这个输入框只是一个便捷操作入口,具体的业务逻辑是可以自由定制的。比如我就开发过一个脚本管理工具,这个输入框作为执行脚本的便捷补充方式,如在输入框里键入show chrome并回车,就可以把chrome浏览器快速调出来,整个过程是不需要鼠标参与的,相信在使用习惯之后,某些情况下应该会比鼠标操作更加方便高效。当然,你完全可以用来做些更有趣的事情,下面是具体的实现细节。开发环境: Platform:Windows-10...
2021-08-14 18:20:51 3476
原创 分享一道蚂蚁金服笔试题
之前有个朋友面试蚂蚁金服p7,他的笔试题我要了过来,我觉得这道题目还是比较经典的,有兴趣的朋友不妨先拿来热热身。实现转账系统,给外部系统提供账户开户,充值,转账rpc服务,要求如下,- 账户类设计: 类名:Account,包含属性账号,账户余额,持有人身份证账号- 开户功能: - 入参:开户人身份证账号 - 功能逻辑:创建对应的Account,并持久化 - 返回值:账号 - 要求:一个身份证只允许有一个Account,每个Account的账号唯一- 充值功能:
2021-08-14 18:10:59 1180
原创 谈谈LVS的三种网络模式
一、前置知识1. 网络基础(1)数据链路层对应的是mac地址,mac地址是用来解决数据包从一个节点传递到相同链路另一个节点的寻址问题(2)网络层对应的是ip地址,ip地址是用来解决数据包从一个网络传递到另一个网络的寻址问题2. 七层负载均衡和四层负载均衡(1)典型的7层负载均衡软件:Nginx,典型的4层负载均衡软件;LVS(2)7层对应的是应用层,4层对应的是传输层,所以基于7层的负载均衡可以根据url等应用层信息进行负载,基于4层的负载均衡可以根据ip+por
2021-08-14 18:03:34 1206 1
原创 谈谈我的框架设计经验
不出意外,很多技术人应该都有写个框架给别人用的想法,自己会不会用暂且不说,肯定用过别人写的,比如Spring这种主流的web框架,如果debug Spring源码,一步步跳来跳去,看着眼花缭乱,可能会觉得设计个框架确实还是蛮复杂的,但是如果先不去深究源码,尝试着让自己去设计一个ioc框架、aop框架,理论上也不会有太多挑战吧。那如果再加点条件,设计一个健壮的、高扩展性的、高性能的框架,这恐怕就不是简单敲几行代码就能搞定的了,可能还需要有适合的业务场景来反推框架朝着更加完善的方向演化,如果写了一个..
2021-08-14 17:47:34 554
原创 今天七夕,用Python为她画个心吧
不要问我她是谁,她在哪,她长什么样子。这不重要!!重要的是Java才是世界上最好的语言。所以,我将会用Python把心召唤出来。这个召唤过程主要基于Python的Turtle库,Turtle库是Python语言中一个绘制图像的函数库。简单来说就是,Turtle为创作者提供画笔和画板,只需要用代码语言告诉它怎么做,它就能帮你实现。这样,一颗粉红小心就出现了。上代码#coding=utf-8# 定义心弧函数defcurvemove():foriinra...
2021-08-14 17:21:12 136
原创 Homebrew 实测有效安装方式
在国内安装Homebrew会出现各种各样的问题,这边贴出实测有效的方式作为备忘/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2021-08-14 17:10:47 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人