2021开工第一天,就有小伙伴私信我,还给我分享了一道他面阿里的redis题(这家伙绝比已经拿到年终奖了),我看了以后觉得挺有意思,题目很简单,是那种典型的似懂非懂,常常容易被大家忽略的问题。这里整理出来分享一下,顺便自己巩固一下基础,希望对正在面试和想要面试的兄弟有点帮助。题目大致是这样的面试官:了解redis的String数据结构底层实现嘛铁子:当然知道,是基于SDS实现的面试官:redis是用C语言开发的,那为啥不直...
2022-06-01 16:50:49 5588浏览 0点赞 0回复 0收藏
大家好,我是小富这两天看到技术群里,有小伙伴在讨论一致性hash算法的问题,正愁没啥写的题目就来了,那就简单介绍下它的原理。下边我们以分布式缓存中经典场景举例,面试中也是经常提及的一些话题,看看什么是一致性hash算法以及它有那些过人之处。构建场景假如我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢?我们可能首先想到的方案,是...
2022-06-01 16:50:41 7084浏览 0点赞 0回复 0收藏
大家好,我是小富在我最开始写文章的时候曾经写过一篇文章基于Java实现的人脸识别功能,因为刚开始码字不知道写点什么,就简单弄了个人脸识别的Demo。但让我没想到的是,在过去的一年里有好多好多粉丝加我好友咨询这个小demo,因为里边有点小bug,导致一些新手朋友不能成功启动。从此我就开启不厌其烦的解答各种疑问,不过我精力毕竟有限,最后实在回答不过来,干脆弄了个群粉丝互相分享经验。问题大面积出现的时候我就想过再出...
2022-06-01 16:50:28 5680浏览 0点赞 0回复 0收藏
紧接着测试一下切面注解的效果,我们对字段mobile、address加上注解EncryptField做脱敏处理。EncryptMethodPostMapping(value"test")ResponseBodypublicObjecttestEncrypt(RequestBodyUserVouser,EncryptFieldStringname){returninsertUser(user,name);}privateUserVoinsertUser(UserVouser,Stringname){System.out.println("加密后的数据:user"+JSON.toJSONString(user));returnuser;}DatapublicclassUserVoimplementsSeriali...
2022-06-01 16:50:21 7698浏览 0点赞 0回复 0收藏
大家好!我是小富~这几天公司在排查内部数据账号泄漏,原因是发现某些实习生小可爱居然连带着账号、密码将源码私传到GitHub上,导致核心数据外漏,孩子还是没挨过社会毒打,这种事的后果可大可小。说起这个我是比较有感触的,之前我TM被删库的经历,到现在想起来心里还难受,我也是把数据库账号明文密码误提交到GitHub,然后被哪个大宝贝给我测试库删了,后边我长记性了把配置文件内容都加密了,数据安全问题真的不容小觑,不...
2022-06-01 16:50:12 1.1w浏览 0点赞 0回复 0收藏
大家好,我是小富~对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现、配置管理,非常好用的一个工具。然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用层面,那面试可能要吃大亏。比如我们今天要讨论的话题,Nacos在做配置中心的时候,配置数据的交互模式是服务端推过来还是客户端主动拉的?这里我先抛出答案:客户端主动拉的!接下来咱们扒一扒Nacos的源码,来看看它具体是如何实现的?配...
2022-06-01 16:50:01 8664浏览 0点赞 0回复 0收藏
获取配置Nacos获取配置数据的逻辑比较简单,先取本地快照文件中的配置,如果本地文件不存在或者内容为空,则再通过HTTP请求从远端拉取对应dataId配置数据,并保存到本地快照中,请求默认重试3次,超时时间3s。获取配置有getConfig()和getConfigAndSignListener()这两个接口,但getConfig()只是发送普通的HTTP请求,而getConfigAndSignListener()则多了发起长轮询和对dataId数据变更注册监听的操作addTenantListenersWithContent...
2022-06-01 16:49:48 7899浏览 0点赞 0回复 0收藏
大家好,我是小富最近发现点好玩的工具,迫不及待的想跟大家分享一下。大家平时都怎么查Linux日志呢?像我平时会用tail、head、cat、sed、more、less这些经典系统命令,或者awk这类三方数据过滤工具,配合起来查询效率很高。但在使用过程中有一点让我比较头疼,那就是命令参数规则太多了,记的人脑壳疼。那查日志有没有一种通用的方式,比如用SQL查询,毕竟这是程序员都比较熟悉的表达式。今天分享的工具q,就实现了以写SQL的方...
2022-06-01 16:49:35 5619浏览 0点赞 0回复 0收藏
大家好,我是小富最近接个任务,用webhook做了个代码提交监听功能,就是有人向远程仓库提交代码后,会在企业微信群内发送一条消息,类似XXX在XXX时间,向XXX项目提交XXXX代码这样的文案。至于为啥要做这么个工具,没办法官大一级压死人,其实我内心是拒绝的,总像是被监视一样感觉怪怪的。难不成是发现了我平时偷偷提代码,悄无声息的修Bug?webhookwebhook也就是我们经常说的钩子,如果对钩子不熟悉,没关系那我们换一个概念,...
2022-06-01 16:49:21 7145浏览 0点赞 0回复 0收藏
EasyCodeEasyCode我个人在写博客案例demo时用的比较多,它可以快速的将数据库表映射成Java中的entity、controller、service、dao、mapper等文件,少量编码实现快速开发。先用database连接数据库,在对应表上直接右键执行EasyCode即可生成相应Java代码,真的很方便。RestfultoolkitRestfultoolkit一套RESTful服务开发辅助工具集,维护项目通常会涉及到查找一个请求所对应的类,一般用ctrl+shift+f进行全局搜索,但是如果项目文件...
2022-06-01 16:49:08 6728浏览 0点赞 0回复 0收藏
大家好,我是小富鸽了很久没发文,不写文章的日子真的好惬意,每天也不用愁着写点什么,不用为那点可怜的阅读量发愁,不那么熬夜,留出了更多时间陪家人。不过,惬意过后就是极度的焦虑,看着圈子里这些卷怪朋友们没日没夜的更文,比你优秀的人比你更努力,这本身就是一件很有压力的事情。总是给自己找借口,哎,工作忙哪来时间弄,可越是这么自我安慰就越没时间做,打工人哪来大块大块时间让你做这些,真正热爱一件事就是要全...
2022-06-01 16:48:58 5215浏览 0点赞 0回复 0收藏
大家好,我是小富今天介绍我正在用的一款高效敏捷开发工具magicapi,顺便分享一点工作中使用它的心得缘起先说一下我为什么会使用这个工具?最近新启动一个项目,业务并不算复杂,那种典型的管理系统,产品要求支持全局页面配置化,前端一切相关配置必须通过接口返回,比如:像查询下拉框(启用、禁用)这类简单的条件,国际化,必须做到全动态配置。其实只要人手够时间够,这些都没问题,但问题就在于立项到上线周期就给十几天...
2022-06-01 16:48:49 7916浏览 0点赞 0回复 0收藏
大家好,我是小富最近接触到个新项目,发现它用了一个比较有意思的框架,可以说实现了我刚入行时候的梦想,所以这里马不停蹄的和大家分享下。我刚开始工作接触的项目都还没做前后端分离,经常需要后端来维护页面,有时候觉得自己好像天生不适合干前端,你要是让我研究研究后端的技术,看个中间件源码啊,分析分析什么框架底层原理啊,这都问题不大,偶尔搞一下JS也可以。你要是让我写个css样式,那简直要命了,一点也提不起兴趣...
2022-06-01 16:48:40 5184浏览 0点赞 0回复 0收藏
紧接着我们访问http:127.0.0.1:8888,看一下是个什么效果,竟然有个完整的登录页面。用上边的用户名、密码直接登录,erupt已经预先实现了完整的权限控等功能,而到这我们几乎是没写过什么代码的,都是框架封装好了的,菜单类数据全部从数据库动态获取,一个基础的后台管理系统就搭建完了,有点哇塞。有趣的页面那么问题来了?想要自定义页面怎么办?开篇我们就说过erupt是零前端代码,全部基于Java注解开发的,接下来用Java注解...
2022-06-01 16:48:33 4815浏览 0点赞 0回复 0收藏