自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘉禾笔记

一个一线研发写的技术知识和个人碎碎念...

  • 博客(9)
  • 收藏
  • 关注

翻译 你还在用JWT做身份认证嘛?

翻译自:JSON Web Tokens (JWT) are Dangerous for User Sessions—Here’s a Solution有时候,人们采用旨在解决狭义问题的技术,并开始广泛运用这项技术。这些问题可能看起来类似,但是使用独特的技术来解决一般的问题,可能会造成意想不到的后果。举个栗子,手里拿个锤子,看谁都是钉子,jwt就是这样一种技术。来源:Stop using JWT for sessions来源:Why JWTs Are Bad for Authentication.

2021-12-25 21:30:10 560

原创 深入分析Log4j 漏洞

几乎每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,但是日志过多也会影响系统的性能,所以好的日志框架应该是可靠,快速和可扩展的。Apache Log4j2 是一个基于 Java 的日志工具,是Log4j的升级版本,引入了很多丰富的特性,包括高性能,低垃圾收集,插件系统等。目前很多互联网公司以及耳熟能详的公司的系统或者开源框架都在使用Log4j2。2021.12.7,Log4j首次被发现了一个非常严重的漏洞,在当天Log4j就发布了log4j-2.15.0-rc1,但是12.

2021-12-16 22:45:09 18680 2

原创 使用Layui的upload上传文件在上传之前做逻辑处理并终止上传

在使用layui的upload模块上传文件非常方便,但是如果我们想在文件上传前做逻辑判断,比如判断文件的类型,大小,如果不满足系统要求则停止上传,目前是没有对应的方法满足这个功能。在网上搜索对应的解决方案,大多都是修改源代码:在upload.js中找到:y = function() { if ("choose" !== t && !l.auto || (l.choose && l.choose(g), "choose" !== t)) return

2021-11-25 11:30:12 3612 2

原创 Java调用ssl出现异常:javax.net.ssl.SSLHandshakeException: No appropriate protocol

在Java8及高版本以上的版本在调用ssl时会出现javax.net.ssl.SSLHandshakeException: No appropriate protocol的异常。javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at sun.security.ssl.HandshakeContext.<init&

2021-11-03 21:46:08 17479 11

原创 Serverless之快速搭建Spring Boot应用

Serverless,也就是无服务器,什么是无服务器,和服务器有什么关系,为什么需要Serverless,还有怎么使用Serverless,这些问题将是本篇文章得到答案。在本篇文章中会简单介绍Serverless的基础概念和利用Serverless快速搭建Spring Boot应用。1. 什么是无服务器 (Serverless)1.1 基础概念现在正常的开发发布流程是首先编码,然后把代码打包成镜像,服务器拉取最新镜像重启更新,我们不仅需要编码,还需要考虑服务器的部署,应用日志,扩容,负载均衡等等,那么

2021-10-30 22:00:08 885

原创 使用 Prometheus + Grafana 监控 MySQL

在上一篇文章中,我们介绍了Grafana和Prometheus的基本概念,以及如何监控Spring Boot应用。今天,这篇文章将要介绍如何通过Prometheus + Grafana 监控 MySQL,快速方便的查看连接数,锁,内存,网络等指标,通过这些指标我们能快速的发现mysql瓶颈,死锁等问题。1. Prometheus之前介绍过Prometheus是开源的监控系统,与其他监控系统相比,具有易于管理,监控服务的内部运行状态,强大的数据模型,强大的查询语言PromQL,高效,可扩展,易于集成,可视

2021-10-16 20:48:04 728

原创 使用 Prometheus + Grafana + Spring Boot Actuator 监控应用

在企业级的应用中,监控往往至关重要,监控可以帮助我们预防故障,预测变化趋势,在达到阈值的时候报警,为排查生产问题提供更多的信息。如果我们不知道我们程序的运行情况,当线上系统出现了事故再去排查就需要花费更多的时间,如果能提前监控,就能早做准备,以免出了事故之后乱了手脚,当然也避免不了系统不产生一点事故,但是能减少系统事故的产生。同时也能看到系统问题,早做优化,避免更大的事故发生。1. Spring Boot Actuator根据官网介绍,Spring Boot包含了很多附加功能帮助我们监控和管理我们的应用

2021-10-06 21:53:32 611

翻译 SQL中的树应该怎样设计

这个主题是我的旧主题,但是值得重复的再谈一次,我在新闻讨论组中看到过太多关于SQL树和层次结构的问题。SQL书籍中树结构的常见示例称为邻接列表明细,它如下所示:CREATE TABLE Personnel ( emp CHAR(10) NOT NULL PRIMARY KEY, boss CHAR(10) DEFAULT NULL REFERENCES Personnel (emp), salary DECIMAL (6,2) NOT NULL DEFAULT 100.00);另外一种表示树

2021-09-25 08:56:45 686

原创 使用Github Actions + Docker 部署Spring Boot应用

使用Github Actions + Docker 部署Spring Boot应用当前,如果我们手动部署Spring Boot应用,一般都是在本地打成jar包,然后在通过ftp上传到服务器,再重启应用。这样部署实在太过麻烦,如果能把代码直接提交到代码库,自动跑测试,测试通过去部署应用,也就是持续集成,这样就能省太多的时间去创造更好的产品。当前的持续集成服务主要有:最早支持Github项目的Travis CI,腾讯的Coding和大名鼎鼎的Jenkins。Github Actions是Github提供的

2021-09-25 08:49:57 1315 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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