文章列表

#JAVA #FastJSON #Jackson #源码分析 # 起因 刚开始是有一个业务需求,需要判断用户手机号是否存在,返回不同的属性,我寻思着就在实体类里写个 getUserPhone 之类的方法,并且为了防止和原本的 getPhone 冲突,特地命名成不一样的名字,但是没想到还是被调用了,虽然猜到这俩 json 库大致是获取了所有的 get 和 set 前缀的方法,然后再进行什么操作,不过还是想知道为什么有这种需求,于是调试下源码记录下。 # 找入口点 业务代码出问题的地方是我进行了一次 JSON.toJSONString () 操作,导致触发了 get 方法,不过我调试过程中发现...

#Java #BUG #异常 # 起因 大概是组里人手不够吧,反正就是把我拉去排查一个 N 多年前的项目的 bug,听描述就是微信公众号推送消息的代码有问题,不过之前没对接过,说实话还不知道具体流程,死马当活马医了。 # BUG1 先进服务器看下日志,直接就看到一个形如栈溢出的异常,不过最后抛出的不是 StackOverflow,好像是空指针之类的异常,于是把代码拉下来看了眼,果不其然 只能说这写的是真的神秘,咱也不知道当时到底是什么需求,会导致这样的代码,听说这 jsticket 反正也不用了,干脆就给注释了。 然后跑了一下发现还是不通,于是就去试了下 api,结果发现限额用光了,换了个...

#SpringBoot #Vue #CAS #单点登录 #前后端分离 # 前言 因为组里来了新的前端,所以新开的项目就都准备用前后端分离的方式来做,原本还挺爽的,只用写自己接口就完事了,但是到了对接甲方 CAS 的时候就出了问题。 # CAS 认证流程 官网给出的认证流程如下, TGC,TGT,ST 之类的概念就不说了,网上一搜一大堆,简单来说就是访问网站后没登陆就跳到 cas 认证中心,登录完会在浏览器存一个 cookie 叫 TGC(用来标识你登陆过了,以及后续获取 ticket),跳转到你的服务上,并且 url 后面会携带一个 ticket,也就是 ST,client...

#源码 这几天写项目,有分页需求,每个接口上定义一次参数有点麻烦,就想到 RuoYi 写了个 getPageDomain 的静态方法,其原理是直接通过 HttpServletRequest 对象获取 url 中的参数。 public static PageDomain getPageDomain(){ PageDomain pageDomain = new PageDomain(); pageDomain.setPageNum(Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1));...

#Spring #SpringMVC #Mybatis #源码 # 添加 Sring+SpringMVC 相关依赖 因为使用的 maven,web 容器使用的 tomcat,所以先在 pom.xml 中加上: <packaging>war</packaging>这样项目就会自动将依赖放进 WEB-INF 下面的 lib 中,否则会出现一系列 NoClassFound 等错误。 添加 spring-webmvc 依赖: <dependency>...

# 懒汉式 public class LazySingleton { private static SingletonObject singletonObject; public static SingletonObject getInstance() { if (singletonObject == null) { return new SingletonObject(); } return singletonObject;...

#CTF # 引言 放暑假了,想着搭建一个 ctf 靶场训练下新生,但遇到的问题比我想象中的多得多。。。写个 blog 记录一下。 # 参考文章 ctfd 使用 ctfd-whale 动态靶机插件搭建靶场指南 手把手教你如何建立一个支持 ctf 动态独立靶机的靶场(ctfd+ctfd-whale) CTFd-Whale 推荐部署实践 三篇文章所使用的方法基本上差不多,但是部署的 ctfd 版本和插件版本不尽相同,第一篇文章中使用的是 frankli0324 师傅修改后的 ctfd-whale,但是部署上之后测试发现,renew...

#Terminal # 前言 Powershell 这体验着实是不行,乱码,颜色无法显示。是时候该换 Windows Terminal 了 # 安装 # Github 安装 下载页面 Github,下载下来安装就可以了,值得注意的是,如果从 GitHub 安装,终端将不会自动更新为新版本。 # Microsoft Store 安装(推荐) 直接在开始菜单中打开 Microsoft Store,搜索 Windows Terminal,安装即可 # 美化 虽然刚安装好的 Terminal 看起来还可以,不过还是不够美观,继续优化 # Powerline Powerline...

今天准备使用 npm 时遇到了这个问题,npm install 没有反应,npm 也没反应,但是 nvm 确确实实是有安装好 nodejs 的。 然后一步步找,突然看到 windows 下的 npm 命令是调用 npm.cmd 接着就试着直接运行,发现一个黑框一闪而过。 然后再尝试打开 cmd,也是一个黑框一闪而过,感觉问题应该就是出在这。 使用 windows terminal 打开 cmd,结果就出现了 网上搜索到的注册表,gpedit,全都没有效果,后来直接去 stackoverflow...

#Hexo # Part 1 今天提交文章的时候,上去博客看了一眼,发现图片全都显示不出来, 看了下图片 url,全都是 file://image/123.jpg 这种形式的。 因为我使用的 typora 来写 markdown,自动插入图片默认的是本地路径,去设置里更改为使用相对路径即可 # part 2 原本以为大功告成,结果发现还是显示错误,去网上查了下,有些插件没有装,_config.yml 里的选项也没有开。。。 安装 hexo-asset-image npm install https://github.com/CodeFalling/hexo-asset-image...