记一个BUG

在一次发包后,没有修改接口A的任何代码,但是接口A却不能正常返回数据,
INFO级别日志一切正常,后换为DEBUG级别日志,看到一些信息:
Could not find result map java.lang.String
于是全局扫描ResultMap标签,发现的确有一处代码写错了,位置就在A接口的下边,是一段正处于开发阶段的代码
错误的原因就是我在ResultMap中写了java.lang.String,改成ResultType后正常

造成错误的原因:
1.没有通过纯净分支发布服务,因为我所开发的服务一般都是由我发布的,所以一般情况下都是在我本地的分支上发布的,正在开发的时候需要发布的情况是会经常出现的;
2.不了解Mybatis的加载机制,没有很明确的了解到与A接口无关的代码也会影响到A接口的运行

反思:
细致开发,深入技术

idea 提交代码持续 local changes refresh状态

发生原因:
之前有一次提交代码时idea同时在后台进行其他操作,导致idea卡顿,于是手动中断,就导致了只要点击提交代码就出现local changes refresh提示框

说明:
除了不能提交代码,更下代码或查看提交记录等都正常才,所以排除了svn服务器端及网络的问题

尝试过的解决方案:
1.按照网上的方式设置一些参数刷新idea缓存并重启idea,没什么卵用,不清楚为什么那么多人都在转发这种方法
2.重装svn,无效,排除是svn 的问题
3.重装idea,无效,排除并非是idea程序错乱引起的,到这个时候就只有idea的配置文件没有替换
4.删除配置文件:
文件路径:C:\Users\Administrator\.IntelliJIdea2018.2(注意版本号)
直接删除.IntelliJIdea2018.2文件夹(因为我也不能确定到底指哪个文件出了问题)
重新打开idea发现需要重新配置工作空间什么的一堆东西
一切都配置好之后随便给项目加一个注释提交,发现问题解决了

总结:
这个问题出现后,导致我用了一天时间反复尝试各种方法。。。
所以没事别瞎点。。。

使用Ngrok进行内网穿透

1.访问https://ngrok.com/

2.下载Ngrok并注册账号用于生成token

3.windows下双击下载的exe文件

4.执行:ngrok authtoken 密钥(将秘钥添加到ngrok.yml文件中)

5.执行:ngrok http 80(在端口80上启动HTTP隧道)

6.回到Ngrok官网查看即可找到你建立的映射

注意:
  此版为windows下最简单版本,域名为自动生成的
  紧急情况下可通过此方法在外网快速穿透项目
  后续持续更新。。。

推荐一个HTML转换为PDF的方式

之前在网上搜,找到一种方式
打开谷歌,右键选中打印,然后再选择另存为成PDF
这种方式会因为网页内容导致生成的PDF布局发生变化,不推荐使用

在此推荐一种比较好用的方法:
下载谷歌浏览器扩展程序>>>Full Page Screen Capture
点开要转PDF的网页后点击谷歌浏览器右上角该插件图标即可预览
选择下载PDF文件就可获取到

此方法的优点在于完美还原网页原状
缺点在于其内容实际上是先转为图片后包装成了PDF文件,所以很难对PDF进行二次修改