<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yimcarson的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yimcarson</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yimcarson]]></copyright><item><title><![CDATA[AES加密解密long型id]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/108095696</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/108095696</guid><author>yimcarson</author><pubDate>Wed, 19 Aug 2020 11:02:08 +0800</pubDate><description><![CDATA[Java实现的一个生成系统内唯一且无法被伪造的订单号的工具，基本思路是对long型自增的id加密解密，加密算法是AES，需要结合其他encode/
decode方法。
AESUtil
加密解密的工具类
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingExcept]]></description><category></category></item><item><title><![CDATA[谷歌身份验证器二维码]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/107571219</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/107571219</guid><author>yimcarson</author><pubDate>Fri, 24 Jul 2020 23:11:53 +0800</pubDate><description><![CDATA[otpauth://totp/ACCOUNT?secret=SECRET&amp;issuer=NAME

ACCOUNT账户名称
SECRET密钥
NAME发布者、公司、网站的名称
e.g.
otpauth://totp/yimcarson?secret=VIABPOEXKBBMLZD2&amp;issuer=优快云


]]></description><category></category></item><item><title><![CDATA[Java生成纳秒时间戳]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/106118484</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/106118484</guid><author>yimcarson</author><pubDate>Thu, 14 May 2020 14:19:17 +0800</pubDate><description><![CDATA[记一次生成高精度时间戳，类似与.net的时间戳，码着备忘。

long timestamp = System.currentTimeMillis() * 1000000L + System.nanoTime() % 1000000L;

System.currentTimeMillis()生成的毫秒时间戳，有时并不能满足需求，如在有并发的系统内将时间戳作为唯一标示。System.nanoTime()API的本意是用来计算时间差的，生成的纳秒时间戳虽然不能作为精确的时间戳，但是生成的纳秒值可以为我所用。10.]]></description><category></category></item><item><title><![CDATA[Java实现谷歌身份验证器]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/104323871</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/104323871</guid><author>yimcarson</author><pubDate>Sat, 15 Feb 2020 10:57:31 +0800</pubDate><description><![CDATA[生成一个随机秘钥

	public static String generateSecretKey() throws NoSuchAlgorithmException {
        SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
        sr.setSeed(Base64.decodeBase64("fooabrbal...]]></description><category></category></item><item><title><![CDATA[JarEncrypt2加密工具]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/103531921</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/103531921</guid><author>yimcarson</author><pubDate>Fri, 13 Dec 2019 18:55:30 +0800</pubDate><description><![CDATA[JarEncrypt2是一个jar包加密工具，类加载器基于jvmti实现，可以有效防止java代码被反编译，支持CentOS、Ubuntu等Linux环境，和MacOSX环境。

JarEncrypt2检测环境变量修改加密范围修改密码编译加密解密
检测环境变量
打印环境变量JAVA_HOME
echo ${JAVA_HOME}

OSX:

/Library/Java/JavaVirtualMa...]]></description><category></category></item><item><title><![CDATA[git转移到新的仓库]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/102833776</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/102833776</guid><author>yimcarson</author><pubDate>Thu, 31 Oct 2019 10:58:43 +0800</pubDate><description><![CDATA[git remote rename origin old-origin

git remote add origin git@git.github.com:yimcarson/***.git

git push -u origin --all

git push -u origin --tags


]]></description><category></category></item><item><title><![CDATA[nexux安装与配置]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/102714765</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/102714765</guid><author>yimcarson</author><pubDate>Thu, 24 Oct 2019 08:05:34 +0800</pubDate><description><![CDATA[nexux安装与配置
安装nexux
下载Nexus Repository Manager OSS 3.x，官网地址https://www.sonatype.com/download-oss-sonatype，复制下载链接，使用wget下载
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManag...]]></description><category></category></item><item><title><![CDATA[方法封装如何使用带范型的集合]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/101571552</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/101571552</guid><author>yimcarson</author><pubDate>Sat, 28 Sep 2019 00:26:19 +0800</pubDate><description><![CDATA[public static &lt;T&gt; List&lt;T&gt; foo(Class clazz, /* 其他参数*/) throws IllegalAccessException, InstantiationException {
        List&lt;T&gt; result = new ArrayList&lt;&gt;();
        T item = c...]]></description><category></category></item><item><title><![CDATA[记lombok插件builder模式的一个坑]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/101569961</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/101569961</guid><author>yimcarson</author><pubDate>Fri, 27 Sep 2019 23:51:18 +0800</pubDate><description><![CDATA[使用lombok的builder模式时，如果属性有指定的默认值，不能使用静态的builder().build()创建对象，正解见下文。
一个坑
最近接手了一套代码，代码中的数据库表id用了UUID，有如下一个实体：
import java.util.UUID;

public class Person {
    private String id = UUID.randomUUID().toSt...]]></description><category></category></item><item><title><![CDATA[Ubuntu环境安装USDT钱包]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/94552924</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/94552924</guid><author>yimcarson</author><pubDate>Wed, 03 Jul 2019 10:25:40 +0800</pubDate><description><![CDATA[下载程序包

下载

前往https://github.com/OmniLayer/omnicore/releases下载需要的程序包。下面是为Ubuntu环境安装最新的omnicore需要的程序压缩包。
wget https://github.com/OmniLayer/omnicore/releases/download/v0.5.0/omnicore-0.5.0-x86_64-linux-g...]]></description><category></category></item><item><title><![CDATA[Libra链节点安装]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/93603583</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/93603583</guid><author>yimcarson</author><pubDate>Tue, 25 Jun 2019 11:28:55 +0800</pubDate><description><![CDATA[Libra
节点安装
官方文档https://developers.libra.org/docs/my-first-transaction
clone源码
git clone https://github.com/libra/libra.git

安装Libra Core
cd libra

./scripts/dev_setup.sh

提示需要安装一些依赖
 build Libra Core....]]></description><category></category></item><item><title><![CDATA[Spring Boot 部署脚本]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/90480308</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/90480308</guid><author>yimcarson</author><pubDate>Thu, 23 May 2019 14:45:59 +0800</pubDate><description><![CDATA[写在前面的话
这里是一个在Linux环境上，使用Git+Maven实现Spring Boot项目的快捷部署和启动的脚本，推荐给JavaEE开发和运维同学们。
干货

在项目跟路径上新建一个 deploy.sh文件

vim deploy.sh


把这段脚本改吧改吧黏贴进去

dir=/data/demo-api
port=8899
project=demo-api
version=1.0.0.B...]]></description><category></category></item><item><title><![CDATA[Golang笔记之基础语法]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/87720305</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/87720305</guid><author>yimcarson</author><pubDate>Tue, 19 Feb 2019 17:22:11 +0800</pubDate><description><![CDATA[
Go（又称Golang）是Google开发的一种静态强类型、编译型、并发型，并具有垃圾回收功能的编程语言。Go的语法接近C语言，但对于变量的声明有所不同。Go支持垃圾回收功能。

基础语法标记换行符注释标识符关键字数据类型基本类型整型浮点型字符串派生类型指针数组结构体Channel函数切片接口Map
标记
Golang程序是由换行符、注释、标识符和关键字等标记构成。
换行符
Golang允许没有...]]></description><category></category></item><item><title><![CDATA[macOS终端字体颜色DIY教程]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/87704709</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/87704709</guid><author>yimcarson</author><pubDate>Tue, 19 Feb 2019 13:43:22 +0800</pubDate><description><![CDATA[
换了mac book后经常用Terminal登录Linux系统，强迫症的趋势下，决定修改mac终端的主题，目标是看起来跟Ubuntu一样。


修改终端的偏好设置
打开终端的偏好设置，选一个喜欢的主题，Pro是预设的黑白配，字体我喜欢	Menlo。

添加变量
编辑～/.bash_profile，添加三个变量

vim .bash_profile

export LS_OPTIONS='--co...]]></description><category></category></item><item><title><![CDATA[Golang笔记之环境搭建]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/87638628</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/87638628</guid><author>yimcarson</author><pubDate>Mon, 18 Feb 2019 19:09:45 +0800</pubDate><description><![CDATA[Golang环境搭建安装Golang环境变量配置

本文主要描写了在macOS上搭建Golang环境

安装Golang
从golang.org下载安装包并安装，安装完成后用go version命令检查安装是否成功。
go version

安装成功后的打印
go version go1.11.5 darwin/amd64

环境变量配置
编辑.bash_profile文件，添加GOROOT、GO...]]></description><category></category></item><item><title><![CDATA[MacOS微信双开]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/85320192</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/85320192</guid><author>yimcarson</author><pubDate>Fri, 28 Dec 2018 12:36:57 +0800</pubDate><description><![CDATA[实现方式，启动两次微信线程。使用快捷方式无法启动第二个线程，正确的打开方式如下：

退出现在登录的微信
在程序扩展坞右键微信退出。
编写command文件
在桌面或者其他其他方便访问的路径下新建一个.command文件，如WeChatStart.command，用文本编辑器打开，输入下面这行代码（命令）,其实就是微信可执行程序文件WeChat的全路径。

/Applications/WeChat....]]></description><category></category></item><item><title><![CDATA[国际区号+手机号正则校验]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/85266960</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/85266960</guid><author>yimcarson</author><pubDate>Wed, 26 Dec 2018 18:39:29 +0800</pubDate><description><![CDATA[
项目中设计国际短信的发送，就需要检查国际区号与手机号是否匹配，也要校验手机号是否正确从而决定是否调用短信通道

这里是一个存储一些手机号正则表达式的枚举
public enum MobileRegularExp {
    CN(&quot;中国&quot;,&quot;^(\\+?0?86\\-?)?1[345789]\\d{9}$&quot;),
    TW(&quot;台湾&quot;,&quot;^(\\+?886\\-?|0)?9\\d{8}$&quot;),
...]]></description><category></category></item><item><title><![CDATA[Spring Boot笔记之多数据源（Mysql+MyBatis）]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/85058697</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/85058697</guid><author>yimcarson</author><pubDate>Mon, 17 Dec 2018 23:55:24 +0800</pubDate><description><![CDATA[Mysql+MyBatis多数据源配置SpringBoot单数据源配置pom.xmlapplication.ymlSpringBoot多数据源配置修改application.ymlConfiguration类配置结语
SpringBoot单数据源配置
pom.xml
在pom.xml中添加相关依赖：
MySQL驱动
&amp;lt;dependency&amp;gt;
	&amp;lt;groupId&amp;gt;mysql&amp;...]]></description><category></category></item><item><title><![CDATA[Spring Boot笔记之上传图片（Base64和MultipartFile）]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/84937674</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/84937674</guid><author>yimcarson</author><pubDate>Mon, 10 Dec 2018 11:53:52 +0800</pubDate><description><![CDATA[SpringMVC接收图片图片的上传form表单上传jquery.form.js提供的ajax上传Base64格式上传SpringMVC接收MultipartFile接收Base64字符串接收nginx配置
图片的上传
form表单上传
&amp;lt;form action=&quot;/user/upload/file&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&amp;g...]]></description><category></category></item><item><title><![CDATA[Spring Boot笔记之邮件（spring-boot-starter-mail）]]></title><link>https://blog.youkuaiyun.com/yimcarson/article/details/84936440</link><guid>https://blog.youkuaiyun.com/yimcarson/article/details/84936440</guid><author>yimcarson</author><pubDate>Mon, 10 Dec 2018 10:49:17 +0800</pubDate><description><![CDATA[Spring Boot环境中发送邮件pom.xml引入`spring-boot-starter-mail`application.yml配置163邮箱QQ邮箱Gmail邮箱发送邮件service实现类templates模版测试结语
pom.xml引入spring-boot-starter-mail
Spring Boot2.x集成了mail模块，在dependencies引入这个
&amp;amp;lt;depe...]]></description><category></category></item></channel></rss>