自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员内点事

做一些技术分享

原创 我有 7种 实现web实时消息推送的方案,7种!

推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用。消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备APP进行的主动消息推送。消息推送一般又分为web端消息推送和移动端消息推送。上边的这种属于移动端消息推送,web端消息推送常见的诸如站内信、未读邮件数量、监控报警数量等,应用的也非常广泛。+1就可以了。push)和拉(pull)两种形式,下边我们逐个了解下。钱能解决的需求都不是问题。...

2022-07-19 17:54:18 165 2

原创 45个 GIT 经典操作场景,专治不会合代码

大家好,我是小富~技术交流关注公众号:程序员内点事传送门:原文地址git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。下边我们整理了45个日常用git合代码的经典操作场景,基本覆盖了工作中的需求。我刚才提交了什么?如果你用 git commit -a 提交了一次变化(changes),而你又不确定到底这次提交了

2022-03-04 10:35:03 705 1

原创 不会一致性hash算法,劝你简历别写搞过负载均衡

大家好,我是小富~这两天看到技术群里,有小伙伴在讨论一致性hash算法的问题,正愁没啥写的题目就来了,那就简单介绍下它的原理。下边我们以分布式缓存中经典场景举例,面试中也是经常提及的一些话题,看看什么是一致性hash算法以及它有那些过人之处。构建场景假如我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢?我们可能首先想到的方案,是取模算法hash(key)% N,对key进行hash运算后取模,N是

2022-01-11 18:35:38 382

原创 千呼万唤,web人脸识别登录完整版来了,这样式我爱了

大家好,我是小富~在我最开始写文章的时候曾经写过一篇文章 基于 Java 实现的人脸识别功能,因为刚开始码字不知道写点什么,就简单弄了个人脸识别的Demo。但让我没想到的是,在过去的一年里有好多好多粉丝加我好友咨询这个小demo,因为里边有点小bug,导致一些新手朋友不能成功启动。从此我就开启不厌其烦的解答各种疑问,不过我精力毕竟有限,最后实在回答不过来,干脆弄了个群粉丝互相分享经验。问题大面积出现的时候我就想过再出一个完整版的demo,可家里工作一大堆事搞得一点精力都没有,一直拖到了现在,正好现

2021-11-23 17:41:51 12588 23

原创 Springboot 配置文件、隐私数据脱敏的最佳实践(原理+源码)

https://blog.csdn.net/u013905744/article/details/86508236

2021-08-03 10:27:01 762

原创 8年只做一件事!

那就是写代码,不停的写代码,八年来风雨无阻,人不能决定出身,但一定可以改变命运!我是小富,目前是京东架构师,负责电商平台的架构设计,工作8年来从事了支付、医美、电商、跨境电商等诸多行业。小富是个比较能折腾的人,对赚钱比较敏感,创业、接私活、组建团队、写文章,反正能赚到钱的他都会尝试一下,做了很多工作之外的努力,虽然没有暴富但着实让生活滋润了不少。如果对这方面有兴趣,可以向这家伙请教下。他做了一个公众号【程序员内点事】,主要分享他在实际开发中遇到问题的解决方案,回答粉丝提的一些问题。比如:面试经验、

2021-07-25 22:04:24 270 1

原创 干掉 Postman?测试接口直接生成API文档,这个工具贼好用

https://www.jianshu.com/p/d7b13670e0eb

2021-07-16 10:47:15 293

原创 Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

配置中心应该推(push)还是拉(pull)?从Nacos源码找答案今天和同事聊技术露了怯,知耻而后勇,在这里分享出来和大家共勉!项目上线发布总是启动报错,发现是Nacos配置中心少了一个配置项,然后几个人就围着配置中心闲聊了起来,有个同事说那天面试了一个7、8年的Javaer,问他Nacos推送数据的方式都不知道。结果我嘴比脑子快,脱口就来一句,长连接啊!最怕空气突然安静,几个人面面相觑不欢而散,回头我确认了下,就很尴尬~所以技术这东西要么你就言之凿凿,要么你就免开尊口,模棱两可害人害己配置中

2021-07-02 16:46:25 618 2

原创 说了你不信!用 SQL查 Linux日志,真的好用到飞起

http://harelba.github.io/q/#why-arent-other-linux-tools-enough

2021-06-21 13:50:10 135 1

原创 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

这里给大家推荐一位我的好朋友小富,他目前是京东资深技术专家,负责电商平台的架构设计,工作8年来从事了支付、医美、电商、跨境电商等诸多行业。小富是个比较能折腾的人,对赚钱比较敏感,创业、接私活、组建团队、写公文章,反正能赚到钱的他都会尝试一下,做了很多工作之外的努力,没有因此暴富但比一般人要滋润的多。如果对这方面有兴趣,可以向他请教下。他做了一个公众号【程序员内点事】,主要分享他在实际开发中遇到问题的解决方案,回答粉丝提的一些问题,比如:面试经验、架构设计、各类中间件使用的坑。写的一口气系列文章,就是为解

2021-06-02 10:29:29 445

原创 10个 解放双手的 IDEA 插件,这些代码都不用写(第二弹)

aiXcoder

2021-05-10 10:14:58 243 5

原创 Spring cache 注解 @Cacheable 整合 Redis 实现缓存 TTL 过期

Spring cache @Cacheable 注解 自身并不是支持缓存过期,@Configuration@EnableCachingpublic class EruptRedisConfig implements Serializable { /** * 功能描述: 自定义 RedisCacheManager * * @param: redisConnectionFactory * @date: 2021/4/12 11:10 */

2021-04-12 22:29:01 337

原创 我也没想到,Java开发 API接口可以不用写 Controller了

开发神器啊

2021-04-08 13:06:30 514 2

原创 我被删库了

社会很单纯,复杂的是人如题,我被人删库了几天没发文了,正在赶一篇工具分享的文章按我的习惯总会先跑个demo演示下,本想打开Navicat建个表 ,额~ ,几天没打开这是什么局面?又接连尝试连了几次未果,我就有种不好的预感用的云数据库不是本地,而且我好些天没操作,误删的几率不太大赶紧登上云服务器,发现MySQL服务还在, show databases;命令看下数据库好家伙! 啥都没了,剩三个系统库,到这我意识到是被人阴了当务之急是抢救数据库,前边的报错,是由于MySQL系统库perform

2021-04-06 09:51:13 131 2

原创 干掉前端!3分钟纯 Java 注解搭个管理系统,我直接好家伙

大家好,我是小富最近接触到个新项目,发现它用了一个比较有意思的技术,实现了我刚入行时候的梦想,解决了隐忍多年的痛点,所以这里马不停蹄的和大家分享下。有时候我觉得自己好像天生不适合干前端,你要是让我研究研究后端的技术,看个中间件源码啊,分析分析什么框架底层原理啊,这都问题不大,偶尔搞一下 JS 也可以。但你要是让我写个 css 样式,那简直要命了。按理说一遍一遍的调试代码重启 idea ,应该比调试 css 直接刷新浏览器要麻烦得多,可就算这样,我还就是对 css 提不起兴趣,哈哈哈,人有时候真是够奇怪

2021-03-26 18:56:15 142 2

原创 每次面试的时候我都拿出来看一下,工资基本都涨5000以上

好家伙我要开始不害臊了推一下自己的公众号:程序员内点事这个号的绝大部分文章是自己在学习技术的过程中,实践总结的案例分享,像是redis、zookeeper、springboot 、flowable、分库分表Sharding-JDBC、RabbitMQ、seata、MySQL等等主流的一些框架,学技术做好的方式就是要理论加实战,这样理解的会更透彻以下是我做这个号以来写的一些文章,我分了一下类,希望对你会有些帮助Springboot 开发技巧3种 Springboot 全局时间格式化方式,别再写重复

2021-03-24 10:15:11 182

原创 10 个解放双手超实用在线工具,有些代码真的不用手写

提升效率才是正经的

2021-03-08 09:40:53 284

原创 阿里面试这样问:redis 为什么把简单的字符串设计成 SDS?

一道似懂非懂的面试题

2021-02-18 16:48:27 226

原创 MySQL不会丢失数据的秘密,就在于它的 7种日志

重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。Slow Query Log慢查询日志(Slow Query Log): 用来记录在 MySQL 中执行时间超过指定时间的查询语句,在 SQL 优化过程中会经常使用到。通过慢查询日志,我们可以查找出哪些查询语句的执行效率低,耗时严重。出于性能方面的考虑,一般只有在排查慢S

2021-01-07 16:24:58 220 1

原创 干掉 powerdesigner,设计数据库表用它就够了

最近有个新项目刚过完需求,正式进入数据库表结构设计阶段,公司规定统一用数据建模工具 PowerDesigner。但其实我不是太爱用这个工具,因为它的功能实在是太多了,而我们平时设计表用的也就那么几个功能。PDMan(最爱)PDMan 一款国产开源的数据库模型建模工具,相比于PowerDesigner ,PDMan 界面更加清爽漂亮,功能十分简洁干练,没有那么多复杂的设置,很容易上手,还提供了 Windows,Mac,Linux 三个平台版本。1、一键生成数据库文档PDMan 支持一键导出DDL执行脚

2020-12-30 16:24:34 887

原创 千万不要给女朋友解释 什么是 “羊群效应”

今天和大家分享一道面试题,这个问题是前几天一个粉丝私下问的,题目其实比较简单,但这兄弟没有回答上来。面试官:用过 zookeeper 吗?同学:用过面试官:那用 zookeeper 实现分布式锁如何避免 羊群效应?同学:·······...

2020-12-25 15:16:32 151 2

原创 大厂也在用的 6种 数据脱敏方案,严防泄露数据的 “内鬼”

最近连着几天总是接到一些奇奇怪怪的电话,“ 哥,你是XXX吧,我们这里是XXX高端男士私人会所… ”,给我造一愣,这是闹哪样我可是正经人。

2020-12-09 11:16:03 373

原创 看了 5种分布式事务方案,我司最终选择了 Seata,真香!

Seata Server 搭建Seata Server 这里以最新的 seata-server-1.4.0 版本为例,下载地址:https://seata.io/en-us/blog/download.html解压后的文件我们只需要关心 \seata\conf 目录下的 file.conf 和 registry.conf 文件。file.conf用于配置持久化事务日志的模式,目前提供 file、db、redis 三种方式。注意:在选择 db 方式后,需要在对应数据库创建 globalT.

2020-11-27 11:21:48 5008 15

原创 分库分表的 9种分布式主键ID 生成方案,挺全乎的

前边我们介绍了 sharding-jdbc 的4种分片策略后,可以使用基础的分片功能了,引入任何一种技术都是存在风险的,分库分表当然也不例外,除非库、表数据量大到一定程度,现有高可用架构已无法支撑,否则不建议大家做分库分表,因为做了数据分片后,你会发现自己踏上了一段踩坑之路,而分布式主键ID 就是遇到的第一个坑。不同数据节点⽣成全局唯⼀主键是个⾮常棘⼿的问题,⼀个逻辑表 t_order 被拆分成多个实际表 t_order_n ,此时数据库自身的自增主键已经无法满足需求,因为各自的⾃增键由于⽆法互相感知从而

2020-11-09 11:24:24 814 2

原创 sharding-jdbc 分库分表的 4种分片策略,还蛮简单的

上一篇我们介绍了 sharding-jdbc 的基础概念,还搭建了一个简单数据分片的案例,但

2020-11-03 14:04:18 6775

原创 实用!8个 chrome插件玩转GitHub,单个文件下载小意思

这里写目录标题Octotree - GitHub code treeGitHub DownloaderGitHub 加速SourcegraphAwesome Autocomplete for GitHubFile Icons for GitHub and GitLabGitHub Isometric ContributionsMarkdown Menu for GitHub作为程序员对 GitHub 应该都不会陌生,工作闲暇我经常沉迷其中,找一些惊艳的项目或者工具。不过用的时间久了,发现它的用户体验实在是

2020-10-27 18:04:15 332

原创 一文快速入门分库分表中间件 Sharding-JDBC (必修课)

书接上文 《一文快速入门分库分表(必修课)》, 作为Sharding-JDBC 分库分表实战系列的开篇文章,我们在前文中回顾了一下分库分表的基础知识,对分库分表的拆分方式有了一定的了解,下边我们介绍一下 Sharding-JDBC框架和快速的搭建一个分库分表案例,为后续讲解功能准备好环境。前世今生Sharding-JDBC 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,随后更名为 ShardingSphere,2020年4⽉

2020-10-26 11:11:23 775 1

原创 一文快速入门分库分表(送给不知该学点啥的你)

正式写技术博客也有一段时间了,一直在陆陆续续的看一些有关于分库分表相关的文章,但我发现网上同质化的资料太多了,知识点又都比较零碎,而且又没有详细的实战性案例,在某些平台买了点付费课程,看了看对于新手来说其实学习难度挺大。正好公司项目在进行分库分表的改造,之前也有不少粉丝想系统的学习一下分库分表的知识,借此机会详细介绍一种分库分表工具的文章。...

2020-09-25 16:22:13 353

原创 未读消息(小红点),前端与 RabbitMQ实时消息推送实践,贼简单~

2020-09-03 17:58:52 onFailure : AMQJS0007E Socket error:undefined.2020-09-03 17:59:02 onFailure : AMQJS0007E Socket error:undefined.2020-09-03 17:59:12 onFailure : AMQJS0007E Socket error:undefined.

2020-09-08 16:22:21 1182 3

原创 3种 Springboot 全局时间格式化方式,别再写重复代码了

分享一个 springboot 日常开发中比较实用的技巧:全局时间格式化!时间格式化在项目中使用频率是非常高的,当我们的 API 接口返回结果中,需要对某一个 date 属性字段进行特殊的格式化处理,通常会用到 SimpleDateFormat简单处理。但如果处理的地方比较多,就会产生很多重复臃肿的代码,那么此时如果能统一配置时间格式,就可以更专注业务开发了。SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date s

2020-09-02 11:08:10 403

原创 真是没想到 Springboot + Flowable 开发工作流会这么简单

本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步程序员是块砖,哪里需要哪里搬。公司内部的OA系统最近要升级改造,由于人手不够就把我借调过去了,但说真的我还没做过这方面的功能,第一次接触工作流的开发,还是有点好奇是个怎样的流程。项目主要用 Springboot + Flowable 重构原有的工作流程,Flowable 是个用 Java语言写的轻量级工作流引擎,上手比较简单开发效率也挺高的,一起学习下这个框架。官方地址:https://www.flowable..

2020-08-28 11:10:57 365 1

原创 3 分钟生成一个单元测试报告,这个样式爱了

昨天有个小伙伴问我,有没有什么现成的测试报告模板,由于昨天实在比较忙就没顾上,所以今个有时间赶紧补上。一般力所能及的事,只要我有时间都会为大家解决,但毕竟能力有限做不到的地方小伙伴们也多理解。平时我们开发接口时,Junit 单元测试是最为常用的一种开发测试手段,很多时候测试其实只看接口是否正常返回结果就 ok 了。但有时间我们要测试一些特殊场景,如:接口超时测试等,就没什么太好的办法了,而 TestNG 实现容易的多。它与 JUnit 用法十分相似,只要你用过 JUnit 分分钟上手。大致讲一下 Te

2020-08-19 18:55:27 300

原创 实用!一键生成数据库文档,堪称数据库界的Swagger

本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。为了不重复 CV 操作,抱着一丝希望开始在GitHub里找,看看有没有什么工具可以用,结果就真的发现了宝藏,screw(螺丝钉),居然可以生成数据库文档,优秀啊~。一、数据库支持 MySQL MariaDB TIDB Oracle Sql.

2020-08-03 10:33:23 357 1

原创 安排上了!PC人脸识别登录,出乎意料的简单

我们实现人脸识别的流程也非常简单,就只有三步:1、前端登录页打开摄像头,进行人脸识别,注意:只识别画面中是不是有人脸2、识别到人脸后,拍照上传当前画面图片3、后端接受图并调用人脸库SDK,对人像进行比对,通过则登录成功。一、前端实现上边说过要在前端进行人脸的识别,所以这里就不得不借助工具了,我使用的[tracking.js](https://trackingjs.com),一款...

2020-07-29 15:01:54 601 1

原创 又被逼着优化代码,这次我干掉了出入参 Log日志

利用 AOP 实现请求方法的入参、返回结果日志统一打印,避免日志打印格式杂乱,同时减少业务代码量。自定义注解自定义切面注解@PrintlnLog,标注在需要打印日志的方法上,它有一个参数 description 用来自定义方法日志描述。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})@Documentedpublic @interface PrintlnLog { /** * 自定义日志描述信息文

2020-07-20 15:14:03 1086 1

原创 没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

接上一篇《OAuth2.0 的四种授权方式》,理论知识不管当时看的,不实践一下这点东西用了不几天就忘干净了,所以趁热打铁和大家一起实战,

2020-07-14 16:19:53 1296 2

原创 一口气说出 OAuth2.0 的四种授权方式,面试官会高看一眼

1111

2020-07-07 15:30:16 2992

原创 自研开源项目正式动工,顺便分享 10个酷炫后台模板

1、地址https://demo.mycodes.net/houtai/Kharna_Admin/index.htmlKharna Admin响应式后台管理模板基于Bootstrap4.1.3制作,自适应分辨率,兼容PC端和移动端,全套模板,包括仪表盘、小部件、UI元素、按钮、日历、范围滑块、时间轴、发票、用户、邮件收件箱、邮件撰写、图标、基本表格、表单、图表、地图、轮廓、定价表、注册、登录等HTML后台模板页面。2、https://demo.mycodes.net/houtai/layui_shop

2020-07-03 10:58:58 280

原创 springboot + rabbitmq 用了消息确认机制,感觉掉坑里了

检验你是不是用过 rabbitmq

2020-07-01 10:19:58 2945 5

原创 10个我常逛的国外技术社区

1、

2020-06-22 17:33:52 90

提示
确定要删除当前文章?
取消 删除