<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aaronthon的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aaronthon</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aaronthon]]></copyright><item><title><![CDATA[供应链金融之数字债权凭证]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/136227109</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/136227109</guid><author>aaronthon</author><pubDate>Sun, 18 Feb 2024 15:34:00 +0800</pubDate><description><![CDATA[一、数字债权凭证介绍
数字债权凭证产品是解决核心企业与供应商之间的应付账款，以核心的主体信用作为依托，银行给核心企业进行授信，得到总体授信授信后，核心企业开立凭证给供应商。供应商可拿着凭证进行融资或转让给其他企业。

                  图1   数字债权凭证交易结构
二、数字债权凭证优势
1. 无追索权与利率低
利用核心的信用作为担保，...]]></description><category></category></item><item><title><![CDATA[SpringBoot连接MySQL]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/136227106</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/136227106</guid><author>aaronthon</author><pubDate>Sun, 04 Feb 2024 16:39:00 +0800</pubDate><description><![CDATA[一、文件结构：

二、实体类

package com.example.demo.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import java...]]></description><category></category></item><item><title><![CDATA[JAVA自定义注解]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/135783896</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/135783896</guid><author>aaronthon</author><pubDate>Thu, 18 Jan 2024 10:34:00 +0800</pubDate><description><![CDATA[import java.lang.annotation.*;
 
// 定义一个自定义注解
public @interface MyAnnotation {
    // 在注解中定义属性
    String value() default "";
}
 
// 使用自定义注解
class MyClass {
    
    // 在类上应用自定义注解
    @MyAnnotation(...]]></description><category></category></item><item><title><![CDATA[简单实现区块链]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/134741840</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/134741840</guid><author>aaronthon</author><pubDate>Wed, 22 Nov 2023 13:40:00 +0800</pubDate><description><![CDATA[一、区块链与区块链结构

# Block.pyimport hashlib
from datetime import datetime
 
 
class Block:
    """
        区块链结构：
            prev_hash：      父区块哈希值
            data：           区块内容
            timestamp： ...]]></description><category></category></item><item><title><![CDATA[区块链学习之公钥、私钥、签名和身份验证]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/134511278</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/134511278</guid><author>aaronthon</author><pubDate>Thu, 16 Nov 2023 11:16:00 +0800</pubDate><description><![CDATA[区块链是一种去中心化的分布式账本技术，其中公钥和私钥是用于加密和解密数字资产的重要工具。
公钥是一个公开的密钥，私钥是一个私人的密钥。
公钥可以用于加密数据，而私钥可以用于解密数据。
签名是一种数字签名技术，它使用私钥对数据进行签名，以证明该数据来自特定人或实体。
身份验证是一种用于验证用户身份的技术，它使用公钥对用户进行身份验证。


import binascii
import Crypto...]]></description><category></category></item><item><title><![CDATA[go 接口]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/129395422</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/129395422</guid><author>aaronthon</author><pubDate>Tue, 07 Mar 2023 19:46:00 +0800</pubDate><description><![CDATA[demo如下：

package main

import "fmt"

//定义一个接口
type Phone interface {
    speak()
    read()
}

//以下结构体可以分别设置自己的属性
type IPhone struct {
    name string
}

type Oppo struct {
    id int
}
type Mi struc...]]></description><category></category></item><item><title><![CDATA[go mod 指定包版本号]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/126098631</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/126098631</guid><author>aaronthon</author><pubDate>Mon, 01 Aug 2022 11:31:00 +0800</pubDate><description><![CDATA[// go.mod
require (
    github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b
)
replace github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b =&gt; github.com/satori/go.uuid v1.2.0...]]></description><category></category></item><item><title><![CDATA[PaddleOCR安装与使用]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124958661</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124958661</guid><author>aaronthon</author><pubDate>Tue, 24 May 2022 23:17:00 +0800</pubDate><description><![CDATA[一、安装
1.1 环境环境

CentOS 7 / Ubuntu16.04 / Ubuntu18.04 / Ubuntu20.04 (64bit)  // 这里是有CentOS 7

GPU版本支持CUDA 10.1/10.2/11.2  // 默认使用CPU版本

conda 版本 4.8.3+ (64 bit)  

1.2 安装Anaconda

# 首先安装wget
sudo yum i...]]></description><category></category></item><item><title><![CDATA[最长回文子串]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124395981</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124395981</guid><author>aaronthon</author><pubDate>Sun, 24 Apr 2022 22:47:00 +0800</pubDate><description><![CDATA[给你一个字符串 s，找到 s 中最长的回文子串。
示例 1：
输入：s = "babad"输出："bab"解释："aba" 同样是符合题意的答案。示例 2：
输入：s = "cbbd"输出："bb"
提示：
1 &lt;= s.length &lt;= 1000s 仅由数字和英文字母组成
来源：力扣(LeetCode)链接：https://leetcode-cn.com/problems/lon...]]></description><category></category></item><item><title><![CDATA[山羊拉丁文]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124395982</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124395982</guid><author>aaronthon</author><pubDate>Sun, 24 Apr 2022 22:42:00 +0800</pubDate><description><![CDATA[给你一个由若干单词组成的句子sentence ，单词间由空格分隔。每个单词仅由大写和小写英文字母组成。
请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文- Pig Latin 的虚构语言)。山羊拉丁文的规则如下：
如果单词以元音开头('a', 'e', 'i', 'o', 'u')，在单词后添加"ma"。例如，单词 "apple" 变为 "applema" 。如...]]></description><category></category></item><item><title><![CDATA[docker方式搭建zookeeper集群]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124358587</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124358587</guid><author>aaronthon</author><pubDate>Fri, 22 Apr 2022 13:37:00 +0800</pubDate><description><![CDATA[方式一：单台服务器搭建zookeeper集群
一、取镜像，本篇以3.4.10为例

docker pull zookeeper #拉取最新的镜像
docker pull zookeeper:3.4.10 # 拉取指定版本

二、创建镜像，启动服务

docker run -d --name zk01 -p 2181:2181 --ip 10.88.0.19 zookeeper:3.4.10
do...]]></description><category></category></item><item><title><![CDATA[有效的数独]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124311906</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124311906</guid><author>aaronthon</author><pubDate>Wed, 20 Apr 2022 23:16:00 +0800</pubDate><description><![CDATA[请你判断一个9 x 9 的数独是否有效。只需要 根据以下规则 ，验证已经填入的数字是否有效即可。
数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)
注意：
一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则，验证已经填入的数字是否有效即可。空白格用'.'表示。
示例 1：
...]]></description><category></category></item><item><title><![CDATA[两个数组的交集]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124162426</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124162426</guid><author>aaronthon</author><pubDate>Wed, 13 Apr 2022 22:52:00 +0800</pubDate><description><![CDATA[给你两个整数数组nums1 和 nums2 ，请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数，应与元素在两个数组中都出现的次数一致(如果出现次数不一致，则考虑取较小值)。可以不考虑输出结果的顺序。
示例 1：
输入：nums1 = [1,2,2,1], nums2 = [2,2]输出：[2,2]示例 2:
输入：nums1 = [4,9,5], nums2 = [9,4,9,8,...]]></description><category></category></item><item><title><![CDATA[单值二叉树]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124162425</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124162425</guid><author>aaronthon</author><pubDate>Wed, 13 Apr 2022 22:50:00 +0800</pubDate><description><![CDATA[如果二叉树每个节点都具有相同的值，那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时，才返回true；否则返回 false。
示例 1：
输入：[1,1,1,1,1,null,1]输出：true示例 2：
输入：[2,2,2,5,2]输出：false
提示：
给定树的节点数范围是[1, 100]。每个节点的值都是整数，范围为[0, 99]。
来源：力扣(LeetCode)链接：ht...]]></description><category></category></item><item><title><![CDATA[go实现二叉树]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124162424</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124162424</guid><author>aaronthon</author><pubDate>Wed, 13 Apr 2022 22:26:00 +0800</pubDate><description><![CDATA[package main

import (
    "fmt"
)
// 节点
type BinaryTreeNode struct {
    Data  int
    Left  *BinaryTreeNode
    Right *BinaryTreeNode
}
// 创建节点
func CreateBinaryTree(data int) *BinaryTreeNode {
  ...]]></description><category></category></item><item><title><![CDATA[合并两个有序链表]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124114618</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124114618</guid><author>aaronthon</author><pubDate>Mon, 11 Apr 2022 22:52:00 +0800</pubDate><description><![CDATA[将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1：
输入：l1 = [1,2,4], l2 = [1,3,4]输出：[1,1,2,3,4,4]示例 2：
输入：l1 = [], l2 = []输出：[]示例 3：
输入：l1 = [], l2 = [0]输出：[0]
提示：
两个链表的节点数目范围是 [0, 50]-100 &lt;= ...]]></description><category></category></item><item><title><![CDATA[杨辉三角]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124090035</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124090035</guid><author>aaronthon</author><pubDate>Sun, 10 Apr 2022 22:38:00 +0800</pubDate><description><![CDATA[给定一个非负整数numRows，生成「杨辉三角」的前numRows行。
在「杨辉三角」中，每个数是它左上方和右上方的数的和。
示例 1:
输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2:
输入: numRows = 1输出: [[1]]

func generate(numRows int) [][]int ...]]></description><category></category></item><item><title><![CDATA[重塑矩阵]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124090034</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124090034</guid><author>aaronthon</author><pubDate>Sun, 10 Apr 2022 22:06:00 +0800</pubDate><description><![CDATA[在 MATLAB 中，有一个非常有用的函数 reshape ，它可以将一个m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵，但保留其原始数据。
给你一个由二维数组 mat 表示的m x n 矩阵，以及两个正整数 r 和 c ，分别表示想要的重构的矩阵的行数和列数。
重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。
如果具有给定参数的 reshape 操作是可行且合理...]]></description><category></category></item><item><title><![CDATA[买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124030923</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124030923</guid><author>aaronthon</author><pubDate>Thu, 07 Apr 2022 22:59:00 +0800</pubDate><description><![CDATA[给定一个数组 prices ，它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票，并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润，返回 0 。
示例 1：
输入：[7,1,5,3,6,4]输出：5解释：在第 2 天(股票价格 = 1)的时...]]></description><category></category></item><item><title><![CDATA[合并两个有序数组]]></title><link>https://blog.youkuaiyun.com/aaronthon/article/details/124030922</link><guid>https://blog.youkuaiyun.com/aaronthon/article/details/124030922</guid><author>aaronthon</author><pubDate>Fri, 01 Apr 2022 20:30:00 +0800</pubDate><description><![CDATA[给你两个按 非递减顺序 排列的整数数组nums1 和 nums2，另有两个整数 m 和 n ，分别表示 nums1 和 nums2 中的元素数目。
请你 合并 nums2 到 nums1 中，使合并后的数组同样按 非递减顺序 排列。
注意：最终，合并后数组不应由函数返回，而是存储在数组 nums1 中。为了应对这种情况，nums1 的初始长度为 m + n，其中前 m 个元素表示应合并的元素...]]></description><category></category></item></channel></rss>