- 博客(186)
- 资源 (17)
- 收藏
- 关注
原创 谷歌开通第三方平台OAuth登录及Java对接步骤
调研起因:当然还是因为手头的海外项目,用户注册通常要用邮箱,正常流程需要给用户邮箱发送验证码,再让用户输入密码进行注册。为了简化流程,让用户使用谷歌邮箱一键完成注册或登录,我们直接获取谷歌邮箱、谷歌注册里的头像、姓名等信息,所以要进行谷歌对接。废话不多说,直接开始步骤说明吧:注意:要注册和对接,必要的科学上网还是需要的,这个自己想办法吧。
2025-01-01 09:15:00
3109
原创 SpringBoot项目升级到3.*,并由JDK8升级到JDK21
使用JDK21+ spring-boot-starter3.3.1 + spring-cloud-starter-openfeign4.1.2创建项目过程中碰到的问题小结,并提供项目Demo。
2024-11-20 20:34:33
1764
1
原创 一段代码读取Chrome存储的所有账号密码和Cookie
介绍了如何用代码读取Chrome存储的账号密码,以及Cookie的数据,并警醒这些数据泄露的可能性很大,日常电脑使用一定要注意安全。
2024-06-16 19:13:01
3800
原创 需求分析案例:消息配置中心
本文介绍了一个很常见的消息推送需求,在系统需要短信、微信、邮件之类的消息推送时,边界如何划分和如何设计技术方案。并最终展示了消息服务和消息配置中心服务的设计。
2023-07-29 11:09:07
809
原创 前端不暴露ak/sk直接上传阿里云oss的方案
介绍如何在不暴露ak/sk的情况下,使用javascript直接上传阿里云 oss的方案,并小小的吐槽一下
2023-07-07 10:20:37
3169
原创 SpringBoot项目登录并接入MFA二次认证
MFA多因素认证():一些需要身份认证的服务(如网站),为了提升安全性,通常会在账号密码登录成功后,要求用户进行第二种身份认证,以确保是正确用户登录,避免用户密码泄露了或其它原因导致用户信息泄露。不过,用户体验就比较差,因为要登录2次嘛。本文只介绍网站的MFA软件接入方案,并采用手机应用进行认证。
2023-06-04 22:13:40
7190
1
原创 SpringCloudConfigServer配置刷新优化方案
Config-Server端:提供管理API,用于开发人员更改 最近配置刷新时间提供客户端API,用于客户端定时拉取最近的配置刷新时间,并判断是否需要重新加载配置和刷新Config-Client端:定时轮询Config-Server端的API,获取自己的最近的配置刷新时间;如果比上一次刷新时间大,则进行配置刷新/*** 客户端使用:获取指定app的配置更新时间} /*** 管理端使用:设置指定app的配置更新时间,以触发该app更新配置if(!
2023-05-29 09:49:18
863
原创 IDEA常用提升效率的操作小记
Ctrl+鼠标左键点击方法,会转到方法的定义点击变量,会转到变量的定义注:如果进入了反编译的代码,可以点右上角的【下载源码】看带注释的正常代码。
2023-04-29 22:44:05
1133
原创 分享一个自研的工具项目:代码生成|表结构对比|配置对比
从MySQL读取表结构,并生成对应的Java源码文件和对应的前端VUE编辑/列表页面,可以直接复制到项目中,entitymapperservicecontrollerdtoentity与dto互转的mapstruct-mapper转换类基于VUE2.0的前端html页面点击页面的下载文件, 并解压解压的文件,除html,其它文件复制到你的SpringBoot项目对应的java目录下html复制到你的SpringBoot项目的目录下复制项目根目录下的res.zip。
2023-04-21 19:25:02
607
原创 SpringCloudConfigServer配置中心使用与刷新详解
介绍SpringCloud原生的配置中心部署、使用,以及如何自动刷新配置的完整步骤。
2023-03-22 15:24:15
1605
原创 DevOps-8:需求开发生命周期与DevOps系统能力
简述我使用过的DevOps系统能力和完整需求生命周期流程图,包括需求与代码关联、代码扫描、配置比对、表结构比对等
2023-03-10 10:54:49
621
原创 SpringBoot项目配置明文密码泄露问题处理
在项目开发过程中,需要配置数据库连接密码、Redis密码、网盘上传的AK/SK等敏感信息,都需要保存在配置文件里,或者配置中心。这些信息如果泄露,还是会造成一定的困扰,这里介绍2种处理方案:1、使用系统环境变量储存密码比如K8S的环境变量、Windows的环境变量、Centos的环境变量等等,然后在程序里使用 System.getenv()方法读取。这种方式的好处:只有运维人员知道,连开发都不知道生产的密码。密码变更也简单,运维直接操作就好了。缺点就是部署时,容易遗漏,不过可以通过统一的环境镜
2022-01-20 17:17:50
2803
2
原创 SpringBoot项目日志输出为JSON格式,方便Elastic采集
这段时间,使用K8S部署项目,同时使用Elastic采集日志并提供给开发检索,使用过程中,经常出现换行日志无法完整采集和展示的问题。比如抛出的Exception会有换行,被ES采集后,变成多条日志,极其不方便检索和排错。经运维提示,并参考 https://groups.google.com/g/fluent-bit/c/XoOibAxGGeI改用json输出项目日志,本地调试依然使用旧日志格式。注:本文基于:spring-boot-starter:2.4.11 或 spring-boot-star
2022-01-19 14:56:44
1651
原创 生产问题一则:ThreadLocal使用不当导致的内存泄露
先简单介绍一下 ThreadLocal,它是一个线程级的数据存储对象,生命周期是从一个线程的创建到该线程销毁。ThreadLocal里的数据,只能被所持有的线程读取,所以是线程安全的(前提是该数据不是多线程共享的)。ThreadLocal的get、set、remove等方法,其实是对Thread.threadLocals字段的封装,而Thread.threadLocals的类型是ThreadLocalMap,它维护了一个key/value键值对,ThreadLocalMap.set方法简略代码如下:/
2021-07-28 15:31:29
1052
原创 生产问题一则:MySQL隔离级别引发的数据读取失败问题
先简介MySQL的4种隔离级别和解决的3种问题:隔离级别脏读不可重复读幻读读未提交 read-uncommitted是是是读已提交 read-committed否是是可重复读 repeatable-read否否是串行化 serializable否否否脏读:事务A新增或更新数据,还未提交,事务B就能读取到,然后事务A回滚了,导致事务B读取的是脏数据。不可重复读:事务A读取一行数据,事务B更新该数据,事务A再次读取同一行数据,两次读取
2021-06-30 13:03:45
500
C#的Demo项目:RabbitMQ封装和使用
2018-05-23
2014年驾照科目一考试大图版
2014-03-07
2014年驾照科目一考试
2014-03-06
带进程路径的任务管理器
2012-02-14
基于C#.net开发的hosts静态域名解析文件修改工具
2010-11-25
ASP.Net做的简易版文件管理器,就一个aspx文件
2010-11-17
修正:支持Chrome、FireFox的梅花雨日历控件3.0修正版
2010-09-14
小巧的Asp.net分页控件源代码
2009-12-15
支持AJAX的TreeView树例子,使用省市县三级xml作演示
2009-07-06
C#版本和javascript版本的DES加密函数(注:可以交互加解密)
2009-06-24
C#版的贪食蛇程序(使用VS.Net2005重新封装)
2008-09-04
不要下载这个了,又做了一个新的
2007-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人