- 博客(2935)
- 收藏
- 关注
转载 这是我见过最强的轻量级权限认证框架!
戳上方蓝字“Java笔记虾”关注我1Sa-Token介绍sa-token 是什么Sa-Token 是一个轻量级 Java 权限认证框架主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。sa-token 的特点和优势Sa-Token 特点是以简单、优雅的方式完成系统的权限认证部分,如果你学过SpringSecurity 、Shiro之...
2023-12-27 09:05:43
401
转载 Nginx 设置黑/白名单IP限制、国家城市IP访问限制,实战教程!
戳上方蓝字“Java笔记虾”关注我1黑/白名单IP限制访问配置nginx配置黑白名单有好几种方式,这里只介绍常用的两种方法。1、第一种方法:allow、denydeny和allow指令属于ngx_http_access_module,nginx默认加载此模块,所以可直接使用。这种方式,最简单,最直接。设置类似防火墙iptable,使用方法:直接配置文件中添加:#白名单设置,allow后面为可访问I...
2023-12-26 08:50:54
2181
转载 这是我见过最强的单点登录认证系统!
戳上方蓝字“Java笔记虾”关注我1项目介绍MaxKey 单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,支持 OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM 等标准协议,提供简单、标准、安全和开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC 权限管理和资源管理等。单点登录(Single Sign On)简称为SSO 、用...
2023-12-25 09:40:13
271
转载 SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮
戳上方蓝字“Java笔记虾”关注我导入elasticsearch依赖创建高级客户端基本用法创建、判断存在、删除索引对文档的CRUD批量CRUD数据查询所有、模糊查询、分页查询、排序、高亮显示总结大致流程注意事项1导入elasticsearch依赖在pom.xml里加入如下依赖<dependency><groupId>org.springframework.bo...
2023-12-22 09:40:45
328
转载 号称取代 Elasticsearch,太猛了!
戳上方蓝字“Java笔记虾”关注我10倍提升效率,号称取代 Elasticsearch 的轻量级搜索引擎到底有多强悍?Manticore Search介绍Manticore Search 是一个使用 C++ 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重...
2023-12-21 09:45:47
151
转载 SpringBoot 在部署的时候打包成 jar 和 war 有什么不同?
戳上方蓝字“Java笔记虾”关注我首先给大家来讲一个我们遇到的一个奇怪的问题:我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口...
2023-12-20 09:40:31
145
转载 优雅的关闭Java线程池,这样做才是yyds
戳上方蓝字“Java笔记虾”关注我1背景某年某月某日,和我的卧龙同事聊一个需求,说是有个数据查询的功能,因为涉及到多个第三方接口调用,想用线程池并行来做。很正常的一个方案,但是上线后发现,每次服务发布的时候,这个数据查询的功能就会挂掉,后来发现是线程池没有做好关闭,这里总结一下。关键字:线程池;shutdown;shutdownNow;interrupt2线程中断 interrupt先补一补基础的...
2023-12-19 09:40:36
615
转载 放弃使用UUID,ULID才是更好的选择!
戳上方蓝字“Java笔记虾”关注我ULID:Universally Unique Lexicographically Sortable Identifier(通用唯一词典分类标识符)UUID:Universally Unique Identifier(通用唯一标识符)为什么不选择UUIDUUID 目前有 5 个版本:版本1:在许多环境中是不切实际的,因为它需要访问唯一的,稳定的MAC地址,容易被攻...
2023-12-18 09:40:57
207
转载 为什么 MySQL 最好不要只用 limit 做分页查询?
戳上方蓝字“Java笔记虾”关注我在项目中遇到的真实问题,以及我的解决方案,部分数据做了脱敏处理。问题最近在做项目时需要写sql做单表查询,每次查出来的数据有几百万甚至上千万条,公司用的数据库是MySQL5.7,做了分库分表,部分数据库设置了查询超时时间,比如查询超过15s直接报超时错误,如下图:可以通过show variables like 'max_statement_time';命令查看数据...
2023-12-17 16:34:59
152
转载 多年以后,PageHelper 又深深的给我上了一课!
戳上方蓝字“Java笔记虾”关注我多年不用PageHelper了,最近新入职的公司,采用了此工具集成的框架,作为一个独立紧急项目开发的基础。项目开发起来,还是手到擒来的,但是没想到,最终测试的时候,深深的给我上了一课。我的项目发生了哪些奇葩现象?一切的问题都要从我接受的项目开始说起, 在开发这个项目的过程中,发生了各种奇葩的事情, 下面我简单说给你们听听:账号重复注册?你肯定在想这是什么意思? 就...
2023-12-15 09:46:01
115
转载 你知道什么是 SaaS 吗?
戳上方蓝字“Java笔记虾”关注我天天听SaaS,相信大家都知道什么叫SaaS系统!这不?领导安排下来了任务,说要去做SaaS系统,作为小白的我赶紧去看看什么是SaaS,大概收集整理(并非原创)了这部分内容,分享给大家。相信大家看了也会有很多收获。本文从以下几个方面对SaaS系统召开介绍:云服务架构的三个概念SaaS系统的两大特征SaaS服务与传统服务、互联网服务的区别B2B2CSaaS系统的分类...
2023-12-14 09:40:41
266
转载 采用 SpringCloud 开发的一款医院信息系统(附源码)
戳上方蓝字“Java笔记虾”关注我今天给大家介绍一个医院信息系统开源项目,相对比较完整,采用的技术栈是 Spring cloud和Spring boot 2.x,比较主流,正在做这方面系统的童鞋们可以参考一下!主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、财务管理、患者管理。诊疗活动由各工作站配合完成,并将临床信息进行整理、处理、汇总、统计、分析等。本系统包括以下工作站:门诊医生工作...
2023-12-13 09:40:59
309
转载 采用最新技术栈 Vue3.2 + Element-Plus:一个极客范儿的后台管理框架开源了!
戳上方蓝字“Java笔记虾”关注我介绍 ????Geeker-Admin 一款基于 Vue3.3、TypeScript、Vite5、Pinia、Element-Plus 开源的后台管理框架,使用目前最新技术栈开发。项目提供强大的 ProTable 组件,在一定程度上提高您的开发效率。另外本项目还封装了一些常用组件、Hooks、指令、动态路由、按钮级别权限控制等功能。项目功能 ????使用 Vue3.3 + ...
2023-12-12 09:41:03
491
转载 IntelliJ IDEA 2023.3发布,AI 助手出世,新特性杀麻了!
戳上方蓝字“Java笔记虾”关注我这两天 Jetbrains 来了一波大的更新,推出了 2023.3 正式版,做了不少优化,最重要的是大家期待已久的 Ai Assistant 插件本次更新也正式推出,助力大家提高 Coding 效率。但是很遗憾,目前我们无法使用,因为该插件底层主要基于 OpenAi,大陆现在是未开放地区,未提供服务。另外,即便是你用了魔法工具上网,现在主流的激活工具和授权等同样无...
2023-12-11 09:40:42
260
转载 为什么阿里不推荐使用 keySet() 遍历HashMap?
Part1引言HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的。HashMap的遍历方式现如今有非常多种:使用迭代器(Iterator)。使用 keySet() 获取键的集合,然后通过增强的 for 循环遍历键。使用 entrySet() 获取键值对的集合,然后通过增强的 for 循...
2023-12-11 09:40:42
113
转载 年底了,出了P0级故障,人肉运维不可靠。。。
戳上方蓝字“Java笔记虾”关注我最近感觉不太太平,某头部大公司接二连三的出现一些运维相关的生产事件,搞得大家议论纷纷。在运维领域中,有一个奇特的分支,或者说灰色地带,叫做“人肉运维”。其实关于“人肉运维”,只要你不是一毕业就进入大厂的核心团队,一般来说你可能也接触过一些类似的事情。小公司,懂的都懂,干人肉运维的事情很常见。。。前几天我看到了一篇关于“人肉运维”的文章,觉得写的很棒,简直就是“现身...
2023-12-10 11:35:24
195
转载 史上最全的整合第三方授权登录的工具类库,JustAuth 搞定一切!
戳上方蓝字“Java笔记虾”关注我JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录 SDK,让登录变得 So easy!JustAuth 集成了诸如:Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow 等国内外数十家第三方平台。1功能丰富的 OAuth 平台: 集成国内外数十...
2023-12-08 09:40:16
718
转载 Service 层的异常是抛到 Controller 层还是直接处理?
戳上方蓝字“Java笔记虾”关注我1前言一般初学者学习编码和错误处理时,先知道编程语言有一种处理错误的形式或约定(如Java就抛异常),然后就开始用这些工具。但却忽视这问题本质:处理错误是为了写正确程序。可是2啥叫“正确”?由解决的问题决定的。问题不同,解决方案不同。如一个web接口接受用户请求,参数age,也许业务要求字段是0~150之间整数。如输入字符串或负数就肯定不接受。一般在后端...
2023-12-07 09:40:46
148
转载 SpringBoot 项目 Jar 包加密,防止反编译
戳上方蓝字“Java笔记虾”关注我1场景最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。2方案第一种方案使用代码混淆采用proguard-maven-plugin插件在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。那么使用此方案就比较麻烦,配置复杂,文档难懂,各模块之间...
2023-12-06 09:40:13
312
转载 推荐一款开源在线简历生成器
今天推荐一款开源的在线简历生成器,简单、模板精致、安全。简介在线简历生成器,仅内置3套模板,避免你选择困难。支持自定义颜色、标题、中/英等,支持导出 pdf 。使用体验1、编辑导出配置在线编辑 -> 保存简历找到保存的“简历信息”位置,例如: visiky/visiky2、拼接URL根据官方给的范例,得出:https://visiky.github.io/resume?user=visik...
2023-12-05 09:40:28
314
转载 在不到 30s 内得到一个干净、开箱即用的临时 Linux 系统,这个开源软件绝了!
instantbox 能够仅通过浏览器的情况下,在不到 30s 的时间内,就可以使用 web 来操作一个开箱即用的 Linux 系统,当然这里的 "系统" 是通过 docker 实现的,所以也不能直接认为就是如同 KVM 般隔离更严格的虚拟化系统。1应用场景演讲时,临时需要一个干净的 Linux 环境,可以尝试使用 instantbox 为观众做演示当学校教学/LUG 活动需要大家一起进行 Lin...
2023-12-04 09:40:13
404
转载 Spring 事务失效的十种常见场景
1概述Spring针对Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API(JPA)等事务 API,实现了一致的编程模型,而Spring的声明式事务功能更是提供了极其方便的事务配置方式,配合Spring Boot的自动配置,大多数Spring Boot项目只需要在方法上标记@Transactional注解,即可一键开启方法的事...
2023-12-03 11:35:48
176
转载 让同事血压飙升的八个 Bug 操作....
前言本文的选题来源于一周前我的一次崩溃,当时各种压力和工作把我整的不行了,让我在短时间内改另一个同事写的代码。本来以为是一次简单的叠叠乐,没想到随便看了眼之前的代码,发现历史需求没写完,而且逻辑还有错,当时直接蚌埠住了。我的 IDEA 比较新,平时看着报错我都会去手动改一下,有时候我看着同事的代码一片黄,总是忍不住要改。久而久之也烦了,不明白为什么这么明显的 BUG 还能放在上面,于是产生了来一期...
2023-12-01 09:40:44
149
转载 不知道哪种分页效果更好?一次性教给你四种分页方案!
”使用mysql limit 分页就行了,分页查询用得着四种写法吗? "这可能是很多人的想法。的确mysql limit offset是可以胜任分页的,但是另外三种办法在其他场景表现更好。大家最熟悉的就是如下的分页截图,返回总页数、支持页数跳转。1Limit Offset分页例如每页10条,查询第三页 ,mysql limit 部分为:limit 20,10;前段每次需要指定 每页数量,当前页数。...
2023-11-30 09:40:16
239
转载 GitHub 前 CTO:“全面微服务是最大的架构错误!”,发生了什么?
GitHub 前 CTO Jason Warner 在推特上表示,“我确信过去十年中,最大的架构错误之一就是全面使用微服务。”从单体应用到微服务的规划顺序,Warner 的建议是:单体>应用程序>服务>微服务。Warner 表示,这是一种思维方式而非规则。“任何构建过大型分布式系统的人都知道他们并不真的那样工作,但还必须适应它。”其次,Warner 表示认为,公司所处的阶段很重要...
2023-11-29 09:40:52
148
转载 旧电脑别扔!手把手教你折腾一个无限大小的存储服务器~
Part1前言家里有个七十多个月的笔记本,在笔记本里算年龄大的了,有了新机之后这个就一直拿来当自己的小服务器用了,存点照片、资源什么的(别问,是正经资源),但是毕竟只是个笔记本,容量有点小,随便整个小电影就几个G几个G的(别问了,电影也是正经电影)存不了多少东西,而且虽然做了服务器,但有时候也会使用,图形化的windows系统会方便些,也就没有装Linux,能凑成我这样业余还喜欢瞎折腾的也不容易啊...
2023-11-28 09:35:26
1051
转载 为了方便开发,我打算实现一个Redis 工具集
1前言Redis 基本上是互联网公司必备的工具了,Redis的应用场景实在太多了,但是有很多相似的功能如果每个项目都要实现一遍就显得太麻烦了,所以为了方便,我打算开发一个基于 Redis 的工具集,尽量做到开箱即用。2目前实现功能这个工具集并没有开发完成,实现了部分功能,如下图简单介绍下已经实现的模块:common : 整个项目公共模块,比如AOP工具等;delay: Redis实现的延迟队列;l...
2023-11-27 09:41:00
143
转载 SpringBoot 应用 Docker 化:从 Maven 构建到 Docker 部署的完整指南
1使用Dockerfile部署#使用Java8基础镜像FROMjava:8LABELauthors="mabh"#设置时区为Asia/Shanghai,可以根据需要更改ENVTIME_ZONE=Asia/Shanghai#更新时区RUNln-snf/usr/share/zoneinfo/$TIME_ZONE/etc/localtime&&e...
2023-11-26 11:30:45
349
转载 HTTPS 行为大赏:三分钟了解加密过程
既然要对HTTPS进行解读,我们首先了解,HTTPS是什么?HTTPS就相当于HTTP+SSL/TLS这样的组合,HTTP(超文本传输协议),HTTP是tcp/ip组中的协议之一运用在应用层,也是互联网上应用最为广泛的协议之一,所有的WWW(万维网)文件都必须遵循这个标准。而设计HTTP协议的最终目的是用来在互联网上传输HTML文件,而SSL/TLS就是一种加密算法。下面会对HTTPS加密的进化过...
2023-11-25 11:15:51
106
转载 看了我的 Mapstruct 用法,同事们也开始悄悄模仿了!
前几天同事review我的代码,发现mapstruct有这么多好用的技巧,遇到POJO转换的问题经常过来沟通。考虑到不可能每次都一对一,所以我来梳理五个场景,谁在过来问,直接甩出总结。环境准备由于日常使用都是spring,所以后面的示例都是在springboot框架中运行的。关键pom依赖如下:<properties><java.version>1.8</j...
2023-11-23 09:35:50
392
转载 又一款更快、更好、更稳定的 Redis 可视化工具开源了!!!
ARDM(Another Redis Desktop Manager) 是一款更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值。同时,ARDM支持哨兵、集群、ssh通道、ssl认证、stream、subscribe订阅、树状视图、命令行以及暗黑模式、多种格式化方式,甚至能够自定义格式化脚本,满足你的一切需求。适合自己的,才是...
2023-11-22 09:40:11
263
转载 分布式锁自己写,不用Redssion,结果翻车了…
近日遇到了一个分布锁线上问题,导致用户获取锁一直失败,被阻拦提单近2H。bug原因是Redis setnx获取锁超时,但实际写入成功,出现超时后并没有释放锁。由于锁维度是userId维度,导致用户再次提单一直无法获取锁,提单一直失败,客服同学说:用户情绪很激动,骂骂咧咧的。为了避免锁超时导致并发问题,系统设置的超时时间过长——2小时。这导致用户2个小时都无法提单。由于系统日订单量在千万,即便超时比...
2023-11-21 16:16:04
158
转载 炸锅了!ChatGPT发布一周年之际,ChatGPT之父率先失业!
梦晨 发自 凹非寺多牛AI | 公众号 duoniu99OpenAI突发公告,宣布领导层换届。高层内讧,Sam Altman被董事会解雇,不再担任CEO。这一决定由董事会作出,经过深思熟虑和审查程序后,结论是:奥特曼先生在与董事会的沟通中始终不坦诚,阻碍了董事会履行职责的能力。董事会不再对他继续领导OpenAI的能力充满信心。太突然,ChatGPT发布接近一周年,奥特曼几乎一直是OpenAI的的标...
2023-11-20 09:40:52
111
转载 Java现在真的不好找工作了吗?
昨天有个朋友给我分享了一个知乎链接。我点进去一看,是一个小伙子提出的这个问题:Java 真的现在不好找工作了吗?我觉得这个问题很好回答啊。“是的,没错,不好找。”回答完毕。这个问题下面有一个高赞回答,看完之后怎么说呢?个人感受是:难怪人家敢开口要 70w 的年薪,人家是有货的啊。如果是我的话...这篇文章分享一下这个问题下面的这个高赞回答。在正式分享之前,先放个防杠声明:同样的事情,由于每个人的经...
2023-11-19 11:30:26
229
转载 适合中小企业的轻量级自动化运维平台,已开源,贼好用!
最近逛 Github,发现了一款非常不错的开源自动化运维平台 - Spug,分享一下。介绍Spug 是面向中小型企业设计的轻量级 无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。特性批量执行: 主机命令在线批量执行在线终端: 主机支持浏览器在线终端登录文件管理: 主机文件在线上传下载任务计划: 灵活的在线任...
2023-11-18 11:30:48
603
转载 池化技术在真实业务中的实践
1一些废话作为一名Java开发人员,池化技术或多或少在业务代码中使用。常见的包括线程池、连接池等。也是因为Java语言超级丰富的基建,基本上这些池化能力都有着相对成熟的“工具”。比如,需要使用线程池的时候常常会选择Spring提供的 ThreadPoolTaskExecutor , 工具内部替我们维护了线程的生命周期与任务的状态变化。线程池的运转流程图2正文开始在笔者的业务场景里,java服务需要...
2023-11-17 09:40:26
158
转载 支付系统就该这么设计,稳的一批!!
支付永远是一个公司的核心领域,因为这是一个有交易属性公司的命脉。那么,支付系统到底长什么样,又是怎么运行交互的呢?抛开带有支付牌照的金融公司的支付架构,下述链路和系统组成基本上符合绝大多数支付场景。其实整体可以看成是交易核心+支付核心 两个大系统。交易系统关联了业务场景和底层支付,而支付系统完成了调用支付工具到对账清算等一系列相关操作。下面我们就来一起看下各个系统的核心组成和交互。1. 支付系统总...
2023-11-16 09:40:43
154
转载 代码优雅之道——Java如何判空
1前言实际项目中我们会有很多地方需要判空校验,如果不做判空校验则可能产生NullPointerException异常。针对异常的处理我们在上一篇有提及:先来看一下实际项目中一些判空方式通常我们判断一个对象是否为Null,可以使用java.util中的Objects.nonNull(obj)、hutool中的ObjectUtil或者直接 null != obj2List的判空像List这种比较特殊的...
2023-11-16 09:40:43
142
转载 优秀的架构师是怎样绘制系统架构蓝图的?
1前言今天我们来了解一些关于软件设计文档的基础知识,这样你在学习后面的具体案例时,就能更加清楚地理解文档是基于什么方式来组织的了。首先,请你设想这样一个场景:如果公司安排你做架构师,要你在项目开发前期进行软件架构设计,你该如何开展你的工作?如何输出你的工作成果?如何确定你的设计是否满足用户需求?你是否有把握最后交付的软件是满足要求的?是否有把握让团队每个工程师清楚自己的职责范围并有效地完成开发工作...
2023-11-15 09:35:56
174
转载 为什么游戏公司不愿意使用微服务架构?
1背景介绍笔者最近去面试了家游戏公司。最近面试了一家游戏公司(满大间的,有上市)我问他,公司有没有做微服务架构的打算及考量?他很惊讶的说,我没听说过微服务耶,你可以解释一下吗?我大概说了,方便测试,方便维护,方便升级,服务之间松耦合,可多语言开发,自动扩容…之类的点然后他说游戏 server 不太需要微服务,因为要求 real time,做微服务会影响效能,分模组来开发就好了我也不确定,但微服务不...
2023-11-14 09:40:29
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅