自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 【跨链机制】哈希锁定原理

随着区块链多年来的发展,在区块链生态中已经形成了不同特性的区块链网络,这些网络之间存在着一定的隔离和孤立性。为了打破这种局面,跨链技术应运而生,促进了区块链间的数据流通和价值交换。目前,主流的跨链机制包括公证人机制、侧链/中继、哈希锁定等。

2024-07-22 15:10:15 728 1

原创 【LLMs】大语言模型分类

随着大型语言模型(LLM)技术的发展,它们主要被划分为两个类别:基础LLM(Base LLM)和指令调优LLM(Base LLM侧重于广泛的语言理解和生成能力,而则在Base LLM基础上,通过在特定指令集上进行优化,以提高对特定任务的适应性和性能。

2024-07-14 11:41:00 752

原创 【并发编程】进程 & 线程 & 协程

进程(Process)、线程(Thread)和协程(Coroutine)构成了计算机科学中实现任务并发执行的三种核心抽象机制。通常,为了提高程序的执行效率,开发者会根据应用场景和性能需求,选择相应的并发策略。

2024-07-13 17:00:00 666 1

原创 【并发编程】CPU & IO 密集型

CPU-bound(计算密集型)和I/O-bound(I/O密集型)是描述程序性能瓶颈的两种常见类型。CPU-bound程序的性能主要受限于CPU的处理速度,它们需要执行大量的计算任务。而I/O-bound程序的性能则主要受限于I/O操作的速度,如磁盘读写或网络通信。在并发编程中可以选择合适的并发模型和优化策略显著提升它们各自的性能。

2024-07-13 15:01:44 431 2

原创 【数据结构与算法】树状数组

树状数组(Binary Indexed Tree,又称 Fenwick Tree)是一种基于数组实现的数据结构,用于高效地动态维护前缀和。

2023-05-11 10:35:12 523 1

原创 【Cross-Chain】跨链桥架构

在区块链中,通常利用跨链桥技术来帮助用户实现跨链交易。所谓跨链桥应用一般使用托管者-发债者架构(custodian-debt issuer architecture)进行设计,在这种架构下,跨链桥主要由三个部分组成,分别是Custodian和(如下图所示,这里源链以以太坊为例,目标链是任何支持智能合约的区块链)。

2023-04-01 17:06:39 867

原创 【Cross-Chain】Xscope 跨链交易攻击检测

本次解读的文章是 2022 年发表于 ASE 的跨链交易攻击检测论文《Xscope: Hunting for Cross-Chain Bridge Attacks》!

2023-03-31 00:07:08 718 2

原创 【区块链】虚拟货币钱包

目前区块链中虚拟货币的钱包种类和应用多样,按照私钥存储方式的不同,可以将钱包分为『热钱包』和『冷钱包』两大类型。

2023-03-29 17:05:57 1954

原创 【BTC】数据结构

介绍 BTC 中涉及到的两种数据结构:区块链和 Merkle Tree

2023-01-27 10:33:25 1577

原创 【推荐系统】User-Item CF:NGCF

本次解读的文章是 2019 年发表于 SIGIR 的一篇基于图卷积神经网络的用户物品协同过滤推荐算法论文,论文名为《Neural Graph Collaborative Filtering》

2023-01-26 16:42:27 607

原创 【BTC】密码学原理

BTC 系统运行的过程中需要依赖的核心技术之一包括密码学技术,在 BTC 系统中使用到的密码学功能包括哈希算法和数字签名。

2023-01-26 12:03:21 725

原创 【Django】修改端口号与地址

Django 修改默认的端口号和 IP 地址

2023-01-25 11:27:35 7834 1

原创 【推荐系统】User-Item CF:LR-GCCF

本次解读的文章是 2020 年发表于 AAAI 的一篇基于图卷积神经网络的用户物品协同过滤推荐算法论文,论文名为《Revisiting Graph Based Collaborative Filtering: A Linear Residual Graph Convolutional Network Approach》

2023-01-25 09:54:15 748

原创 【推荐系统】User-Item CF:GC-MC

本次解读的文章是 2017 年 arXiv 的一篇基于图卷积神经网络的用户物品协同过滤推荐算法论文,名为《Graph Convolutional Matrix Completion》

2023-01-24 11:11:05 784 1

原创 【Gas优化】检测Gas低效模块

本次解读的文章是 2022 年 Journal of Computer Science and Technology 的一篇与智能合约 Gas 优化相关的论文,名为《Characterizing and Detecting Gas-Inefficient Patterns in Smart Contracts》

2023-01-23 13:20:47 429

原创 【Gas优化】设计Gas优化模式

本次解读的文章是 2020 年 IWBOSE 的一篇与智能合约 Gas 优化相关的论文,名为《Design Patterns for Gas Optimization in Ethereum》

2023-01-22 16:27:39 633

原创 【Gas优化】Blockchain Superoptimizer

本次解读的文章是 2020 年 arXiv 的一篇与智能合约 Gas 优化相关的论文,名为《Blockchain Superoptimizer》

2023-01-22 12:39:33 351

原创 【区块链】Go 实现简单区块链

本文主要利用 Go 语言对区块链模型进行了简单的实现,通过 GoLand 创建链式结构和一个简单的 http server,对外暴露读写接口,运行 rpc 并以地址访问形式向区块链发送数据和读取数据。

2023-01-20 23:16:14 3365 1

原创 【Gas优化】GasChecker

本次解读的文章是2020年发表于 IEEE Transactions on Emerging Topics in Computing 的智能合约 Gas 优化论文《GasChecker: Scalable Analysis for Discovering Gas-Inefficient Smart Contracts》。

2023-01-18 12:41:16 479

原创 【Gas优化】超优化 By Max-SMT

本次解读的文章是2020年发表于 Springer 的一篇与智能合约 Gas 优化相关的论文,名为 Synthesis of Super-Optimized Smart Contracts Using Max-SMT

2023-01-16 11:29:50 573

原创 【Go】字符串拼接

在 Go 语言中,常见的字符串拼接方式包括:+拼接、fmt.Sprintf拼接、strings.Join拼接、buffer.Builderbuffer.WriteString拼接和strings.Builder.WriteString拼接。

2022-11-28 20:27:22 2410 1

原创 【PyTorch】nn.Embedding

torch.nn.Embedding 的详细介绍!

2022-11-24 11:51:34 945

原创 【PyG】与networkx的图转换

在使用图神经网络的过程中,往往需要使用到相关的 GNN 库,而在这些 GNN 库中,一款比较高效热门的图神经网络库是 PyTorch 中的 PyG 库。PyG 提供了很多经典的图神经网络模型和图数据集,通常在使用 PyG 框架来构建和训练图模型时,需要事先选择合适的图数据结构来构造图,PyG 提供的选择包括 Data、HeteroData、TemporalData。

2022-11-23 11:20:40 4148

原创 【图嵌入】SILK

本文是2021年发表于 IEEE TKDE 的一篇关于异构图嵌入学习的论文,该论文的亮点在于提出了一种动态自学习随机游走策略来学习异构图中的节点嵌入,这种做法摆脱了对先验知识和预定义元路径的依赖,学习异构图中每个节点对不同语义的敏感性,并通过实验证明,所提出的框架 SILK 在包括节点分类和聚类在内的几个任务上显著优于最先进的模型。

2022-11-19 17:00:33 746

原创 【数据结构与算法】接雨水问题

接雨水问题给定nnn个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。解题思路:每一个位置的雨水接收量大小取决于该位置两端的最大柱子高度,当知道一个位置iii的柱子高度HiH_{i}Hi​和这个位置左右两边的最大柱子高度HLiHL_{i}HLi​,HRiHR_{i}HRi​后,该位置的雨水接收量满足:Vi=min(HLi,HRi)−HiV_{i} = min(HL_{i}, HR_{i}) - H_{i}Vi​=min(HLi​,HRi​)−Hi​则对应的总的

2021-11-13 12:57:19 558

原创 【数据结构与算法】堆排序

优先队列(priority queue)是按照某种优先级进行排列的队列,优先级越高的元素出队越早,优先级相同者按照先进先出的原则进行处理。

2021-11-06 19:49:10 754

原创 【操作系统】程序的装入与链接

程序的装入与链接用户程序要在系统中运行,必须先将它装入内存,然后再将其转变为一个可执行的程序,对用户程序的处理步骤可分为三步(编译、链接、装入):程序的编译程序的链接源程序经过编译后,可得到一组目标模块。链接程序的功能是将这组目标模块以及它们所需要的库函数装配成一个完整的装入模块。在对目标模块进行链接时,根据链接的时间不同,可将链接方式分成三种。静态链接方式静态链接:在程序运行之前,先将各目标模块及它们所需的库函数连接成一个完整的可执行文件(装入模块),之后不再拆开。装入时动态链接

2021-11-03 16:07:04 1514

原创 【数据结构与算法】高斯消元法

高斯消元法数学上,高斯消元法(Gaussian Elimination或译:高斯消去法),是线性代数规划中的一个算法,可用来为线性方程组求解。在许多应用中,我们需要解一个包含n个方程的n元联立方程组:其中,n是一个大数。高斯消去法的思路是把n个线性方程构成的n元联立方程组变成一个等价方程组(也就是说,它的解和原来的方程组相同),该方程组有着一个上三角形的系数矩阵,这种矩阵的主对角线下方元素全部为0。用矩阵的符号,我们可以把它写成Ax=b=>A’x=b′{\boldsymbol{A}x=\bo

2021-11-02 13:07:45 7067

原创 【Oracle】解决EM页面乱码问题

解决EM页面乱码问题使用EM登陆oracle数据库时,页面中的按钮出现乱码现象,这时可以尝试如下步骤:(1)点击页面设置(2)选择“高级”下的“语言”(3)将“中文”移至第一位(4)重新刷新页面可以看到此时已经恢复正常!...

2021-10-27 21:34:31 456 1

原创 【计算机组成原理】并行主存系统

并行主存系统目前,主存的存取速度已经成为提升计算机系统性能的瓶颈,而提高存储器的访问速度可以从两个方面进行:选择高速元件存储器的并行工作并行主存系统主要从存储器并行工作的角度来提高存储器的访问速度,并行工作的存储器主要有三种,它们分别是:双端口存储器单体多字存储器多体交叉存储器双端口存储器双端口存储器的特点如下:具有两组相互独立的读写控制线路两组读写控制线路可以并行操作端口地址不相同,无冲突,并行存取端口地址相同,读写冲突,无法并行存取冲突处理为解决冲突,每个端口

2021-10-26 22:49:22 1515

原创 【机器学习】KMeans

KMeansKMeans聚类算法也称k均值聚类算法,是集简单和经典于一身的基于距离的聚类算法。它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。KMeans聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类

2021-10-23 17:25:23 529

原创 【数据结构与算法】标记单元格问题

标记单元格问题n为任意偶数,在一张无限大的绘图格子纸上标记n个单元格,使得每个被标记的单元格有奇数个相邻的标记单元格。相邻是指两个单元格在水平方向或垂直方向上相邻,但非对角方向上相邻。被标记的单元格必须形成连续域,也就是说区域中任意一对标记单元格之间有一条经过一系列相邻标记单元格的路径。分析上述问题可知:利用减治的思想,以2个单元格水平相邻放置开始,每次加上2个单元格,直至单元格数目等于n为止。在这个过程中,可以发现如果每次在上一次结果的最后一个单元格的水平方向和竖直方向都添加一个单元格,而且在水平方向

2021-10-19 17:10:12 244

原创 【计算机组成原理】多位串行加法器

多位串行加法器将n个全加器的进位链串联即可得到n位串行加法器,也称为行波进位加法器(行波可以理解为进位信息需要从后往前一个接一个的传递)。可以看到图中低位进位输出是连接到高位进位输入的。考虑溢出判断的方式不同,可以将串行加法器分为如下两类:单符号位补码加法器双符号位补码加法器单符号位补码加法器上图是单符号位补码加法器的逻辑实现,对于有符号数的加减法运算,溢出的检测信号是overflow,可以直接利用最高位数的进位和符号位的进位异或得到。对于无符号数的加法运算,溢出的检测信号是Cn{C

2021-10-17 17:22:04 2575

原创 【计算机组成原理】一位全加器

一位全加器在设计全加器的过程中,需要考虑如下两个问题:如何产生相加数的和数如何产生相加数的进位数和数的逻辑实现和为1:0+1=1  1+0=1和为0:0+0=0  1+1=0和为1: 0 + 1 = 1 \space \space 1 + 0 = 1\\和为0: 0 + 0 = 0 \space \space 1 + 1 = 0和为1:0+1=1  1+0=1和为0:0+0=0  1+1=0根据上述公式可知

2021-10-17 16:29:50 6720 3

原创 【Oracle】解决启动监听报错

解决Oracle启动监听报错在Linxu虚拟机上,启动Oracle监听服务:[oracle@localhost ~]$ lsnrctl start结果出现监听错误信息如下:TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection closed Linux Error: 29: Illegal seek在经过多次尝试以及查阅资料后,发现错误是由默认主机名造成

2021-10-05 20:45:46 1791

原创 【Linux】网络配置

Linux网络配置Linux网络配置的原理进入虚拟机后,选择NAT模式的网络配置,其所对应的原理图如下:从图中可知,在本机(Windows)中存在两块网卡,一块是虚拟网卡VMnet8,一块是真实的网卡(无线网卡),当虚拟机Linux与VMnet8处在同一个网段下时,虚拟机Linux就和本机中的VMnet8网卡构成了一个网络,这时虚拟机Linux就能与本机相互ping通。而又因为本机与外部网络连通,所以Linux就能间接地通过这种方式访问外网。因此,为了让Linux能访问外网,需要选择虚拟机中的NA

2021-09-24 23:19:13 213

原创 【Python】argparse模块详解

Python argparse模块详解argparse 是一个用来解析命令行参数的 Python 库,它是 Python 标准库的一部分。基于 python 2.7 的 stdlib 代码。argparse 模块使编写用户友好的命令行界面变得容易。程序定义了所需的参数,而 argparse 将找出如何从 sys.argv 中解析这些参数。argparse 模块还会自动生成帮助和使用消息,并在用户为程序提供无效参数时发出错误。简单实现圆柱体体积的计算为了便于对argparse命令行参数解析模块的理解,我

2021-08-20 13:51:12 6531

原创 【Python】解决matplotlib绘图出现中文乱码

解决使用matplotlib绘图时出现中文乱码的问题具体的场景当在python中使用matplotlib画图时,可能需要用中文对横坐标、纵坐标和标题等进行中文的文字性描述,比如:plt.title("中文")plt.xlabel("中文")plt.ylabel("中文")报错的信息这时可能会出现包含如下信息的错误:font.set_text(s, 0.0, flags=flags)解决的方案可以选择设置对应的参数来解决,设置代码如下:import matplotlib.pyplot

2021-08-14 14:39:39 922

原创 【深度学习】数据准备

深度学习的数据准备完成一个深度学习的项目需要的四个步骤:Prepare the data(准备数据)Build the model(建立模型)Train the model(训练模型)Analyze the model’s results(分析模型的结果)准备数据准备数据将遵循ETL过程extract(提取)transform(转换)load(加载)我们从数据源提取数据,再将数据转换为理想的格式,然后将数据加载到一个合适的结构中进行查询和分析,需要引入的包如下:import

2021-08-10 20:18:36 1467

原创 【Pytorch】Tensor的访问操作

Tensor的访问操作Tensor的主要运算操作通常分为四大类:Reshaping operations(重塑操作)Element-wise operations(元素操作)Reduction operations(缩减操作)Access operations(访问操作)访问操作当我们希望从一个张量中获得具体的标量值时,可以对张量进行访问操作。(1)访问单元素张量(item张量法)t = torch.tensor([ [1, 2, 3], [4, 5, 6],

2021-08-10 13:33:23 2194 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除