SakuraDon's Blog

04
Dec
Windows Terminal 美化
Windows下有cmd和powershell两种命令行工具,但是系统自带的工具实在是太丑了。微软后来推出了Windows Terminal,直接让命令行工具颜值上了几个档次,再配上一些其他工具可以让你的Windows命令行也不输Linux的体验。效果图添加到右键菜单右键菜单打开当前目录是必须要有的,不然每次打开终端再cd实在太蠢。可以参考Windows管理右键菜单在注册表HKEY_CLASSES_ROOT\Directory\Background\shell下新建项wt(名字随意)。默认值改为"Open with Windows Terminal"(按自己喜好来)添加字符串值Icon,...
1,773
2019/12/04
04
Dec
Windows管理右键菜单
随着开发工具越来越多,右键菜单也变得越来越繁杂。其实通过修改注册表的方式就可以任意添加或删除右键菜单里的选项了。上图是我的右键菜单,我想让Git GUI Here和Git Bash Here消失,除了Windows Terminal以外的开发工具显示在Shift + 右键中。注册表选项首先打开注册表,定位到HKEY_CLASSES_ROOT\Directory\Background\shell可以看到下面有很多项,每一项都对应着一个右键菜单里的选项。选择git_gui后,可以看到有两个字符串值和一个子项,两个字符串值如图。默认的值就是在右键菜单中显示的标题Icon的值就是右键菜单中该项显...
403
2019/12/04
09
Nov
Spring boot 使用AOP 通过注解处理404异常
这是一篇Spring boot aop的简单应用。应用场景我在我的应用中,如果尝试获取一个不存在的资源,例如GET /user/123,当不存在123这个用户时,我会返回404错误给前端。以前的做法是在service层获取资源,资源为null时抛出NotFoundException异常。久而久之代码里就会充斥着大量的重复判断的代码,例如ArticleDO articleDO = articleMapper.getArticle(articleId); if (articleDO == null) { throw Exceptions.notFoundException; }这明显...
455
2019/11/09
06
Nov
Spring boot 项目开启proxy代理
项目中可能会调用到一些墙外的api,例如谷歌、youtube等等的。这时候就需要给项目配置代理了。VM option调试的时候在这里面配置,打包后运行的时候直接在命令行上加参数。分别是http代理和socks代理。代码// http System.setProperty("http.proxySet", "true"); System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort"...
798
2019/11/06
04
Nov
Spring boot 部署脚本
之前的外包项目我都使用的Jenkins自动部署,但是Jenkins本身也是一个Java应用,还挺吃内存,我个人服务器只有1G的内存,跑Jenkins会很吃力,况且还用不到几次,所以直接写一个脚本半自动部署了,这里简单记录一下。#!/bin/bash # 打包环境 env=prod # 端口 port=9002 jar_name=*-${env}-*.jar # 项目运行目录 running_path=./running echo "开始拉取项目" git pull echo "项目拉取完毕" pid=$(netstat -nlp | gre...
217
2019/11/04
31
Oct
第三方支付方案
方案图一般支付API文档参考此文档开发API商户私钥生成方法openssl genrsa -out app_private_key.pem 2048 #生成私钥 openssl pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem #Java需要将私钥转换成PKCS8格式 openssl rsa -in app_private_key.pem -pubout -out app_public_key.pem #生成公钥经过以上步骤,开发者可...
345
2019/10/31
31
Oct
全新自制主题纪念
最近也是快闲到头了,于是乎琢磨着自己写了一个主题,到今天第一版算是正式完成了,所有的文章也改动完了。之前的handsome主题挺好的,但是用的人好像也挺多的,虽然我的是魔改过的,但还是能一眼看出来是一个模子。经常网上搜一些问题都能搜到同款博客,有一种撞车的感觉233。博客很简洁,靠着自己的审美和UI素材网站慢慢凑出来的样式。第一版该有的基本功能都有(搜索文章是个摆设。。。),还添加了一个音游成绩图,记录我收歌的时间线,这是我一直想要的一个功能,能直观的看到自己实力的增长(装逼)。后续还会慢慢加入个人信息页、相册、日志、加密访问等等功能,再接入github、waketime等等的api,当...
265
2019/10/31
21
Sep
Token身份验证 过期自动刷新
之前有写过一篇文章,不过写的太烂了就被我删了▄█▀█●,怕误人子弟。token一般用于身份校验,校验http请求者的身份。常使用jwt作为token,但也不一定,只要后台能解析出来令牌内容,能校验用户身份,用什么都行。令牌的实现就不说了,今天主要说整个身份校验的流程。访问令牌和刷新令牌一个令牌通常有到期时间,一个没有到期时间的令牌相当于一个永久的密钥,是绝对不安全的。当令牌失效过期时,理论上应该重新登陆获取新的令牌。但在某些场合我们希望用户能在不需要额外操作的情况下,自动更新令牌。之前我的做法是在后端判断过期与否,然后生成新的token放到header中返回给前端。前端判断header中...
675
2019/09/21
17
Sep
Spring boot 项目多环境打包控制
在进行项目开发的时候通常会遇到环境切换的问题,例如开发环境和生产环境。不同的环境通常有不同的配置,例如数据库,redis等等。每次切换环境再手动修改配置文件明显是不可取的,今天分享一下Spring boot项目通过Maven控制代码环境。配置文件首先是配置文件application.ymlspring: profiles: active: @profileActive@application.yml主要用于控制环境以及一些通用的配置。@profileActive@即为环境变量,在pom.xml里会用到。application-dev.yml和application-prod....
555
2019/09/17
02
Aug
使用neo4j数据库管理用户关系
引言再做一些涉及到数据深度关系的管理时,传统的关系型数据库,如Mysql、Oracle就显得不那么方便了。例如一个邀请功能,A邀请了B,B邀请了C,C邀请了D,如何快速的查出D是A的第三代下家?用传统数据库,不是在查询的时候费事费劲,就是在插入的时候要想方设法。不仅是上述的场景,还有很多,比如常见的好友推荐,推特上常能看见的好友的喜欢等等。传统数据库肯定无法支撑,所以采用了一种NOSQL,图数据库,今天要介绍的neo4j也是图数据库中的老大。安装下载地址打开官网下载,可以下载Server版,也可以下载Desktop版,桌面版能更轻松友好的管理你的数据库,下面介绍桌面版的安装。下载完毕后打...
1,239
2019/08/02