自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 web3钱包基础

注册即根据加密算法本地生成公私钥,公钥即地址广播到网络中,私钥通过助记词生成。私钥不上链,助记词->种子->私钥->交易签名->广播->节点通过公钥即地址校验。

2023-11-17 17:17:38 153

原创 move学习日记1

move编译器由rust编写,所以move大部分语法基于rust,语言原生native方法源码可以从vm下看。

2023-10-21 17:52:15 75

原创 编译原理1之基本流程&&文法定义

前4步与源语言相关,称为front_end编译前端。后两步和目标语言相关,称为back end编译后端。3. 分析语义semantic analysis。1. 词法分析 lexical analysis。中间用于生成中间代码生成,作为桥梁,通常是字节码。2. 分析语法 syntax analysis。划分句子成分,分析主谓宾,了解表达意思。分析短语(单词组成),获得句子结构。先确定单词词性,是动词介词or。

2023-10-21 16:15:24 74

原创 Lingkang的算法学习日记4之链表归并二分排序

将每个node指向next全部断掉,以递归的方式两个两个组合,组合的时候对左右两个list排序,实现排序,当全部断连接,实际内存中会存每个node的值,再以此组合。

2023-09-18 12:17:12 76

原创 LingKang的Rust学习日记

借用引用是Rust中最常见的引用类型,它们以指针的形式指向某个值,并且具有借用规则,用于确保在引用的生命周期内,被引用的值不会被修改或移动。原始引用是一种更底层的引用类型,它们不受借用规则的限制,可以直接操作内存。cargo build --release 发布模式不会检查panic的整数溢出,如果发生,会执行环绕操作, 如u8 =0 - 255 , 256会变成0,257变成1...引用本质就是指针,相当于凭空多了一个值,自然不存在所有权的限制,主要是为了维持rust所有权规则。let a = [3;

2023-09-14 16:22:06 76 1

原创 LingKang的Rust学习日记之基础(keep refreshing)

假如你的项目是一个可执行文件,你应该把cargo.lock文件提交到代码库,这样,其他人下载构建的时候会使用相同的版本,确保构建后的二进制相同。Cargo.lock文件的修改历史记录了依赖的更新。cargo update命令仅仅更新最新的兼容版本,如果你想跨不兼容的版本更新,需要手动修改Cargo.toml,下次构建的时候,Cargo会更新版本和Cargo.lock文件。Cargo只有在你希望它更新的时候才会更新新版本,手动修改Cargo.toml里的版本成新的版本号或者运行cargo update。

2023-09-13 19:46:45 113 1

原创 LingKangSg的go学习日记9之DAG

【代码】LingKangSg的go学习日记9之DAG。

2023-09-13 15:41:59 191 1

原创 LingKangSg的go学习日记8之rune byte

byte` 通常用于处理字节数据和 ASCII 字符,而 `rune` 用于处理 Unicode 字符,包括多字节的字符。在 Go 语言中,字符串是由 `byte` 组成的字节数组,而使用 `[]rune` 类型可以处理字符串中的 Unicode 字符,每个 `rune` 表示一个字符。- `byte` 是 Go 语言中的内置类型,它是一个无符号的整数类型,占用 1 个字节(8 位)的存储空间。在 Go 语言中,`byte` 和 `rune` 是两种不同的数据类型,用于处理字符和字节数据。

2023-09-10 20:54:16 64 1

原创 LingKangSg的go学习日记6之匿名字段

【代码】go匿名字段。

2023-09-08 10:39:02 53 1

原创 LingKangSg的go学习日记7之map索引如何查找

一般有两种方式:开放寻址法和拉链法。最常用的当属拉链法了,基于数组+链表实现,先使用散列函数将键key映射到数组索引(如:计算hash值,并按数组长度取模),因为不同的键key可能映射到同一个数组索引,所以多个键值对形成链表。

2023-09-06 10:27:37 49 1

原创 LingKangSg的go学习日记5之gmp模型

当一个goroutine被阻塞时,它会被移出本地队列,并被放入全局队列中。当一个P的本地队列为空时,它会从全局队列中获取goroutine执行。当一个goroutine被创建时,它会被分配到一个P(处理器)上执行。当一个goroutine被创建时,它会被放入当前P的本地队列中。每个p会维护一个本地队列,当本地队列为空时,会掉别的p的本地队列从tail获取goroutine。因此,当一个goroutine被阻塞时,它会被分配到全局队列。当一个P的本地队列为空时,它会从全局队列中获取goroutine执行。

2023-09-01 22:15:27 55 1

原创 LingKangSg的go学习日记4之func receiver

function receiver

2023-09-01 17:12:25 39 1

原创 lingkangSg的go学习日记3之go签发ca流程

【代码】go签发ca流程。

2023-08-31 14:36:55 104

原创 LingKang的Rust学习日记2 - trait dyn关键字

dyn stands for dynamic, 动态分配不知道具体是啥,所以当返回dyn trait的时候因为每个结构体内存大小不同,需要配合box保存指针指向堆上的数据。trait可以有默认实现或者无默认实现(空接口)trait可以理解成rust中的接口。

2023-08-25 15:03:42 108 1

原创 Lingkang的算法学习日记3-动态规划之01背包问题

给你⼀个可装载重量为 W 的背包和 N 个物品,每个物品有重量和价值两 个属性。其中第 i 个物品的重量为 wt[i] ,价值为 val[i] ,现在让你⽤ 这个背包装物品,最多能装的价值是多少?举个简单的例⼦,输⼊如下: N = 3, W = 4 wt = [2, 1, 3] val = [4, 2, 3]dp[i][j] = dp[i-1][j] 装不下。dp[a][b], a表示物品,b表示重量,dp表示最多能装的价值。本质就是穷举,状态可以根据穷举的顺序迭代。

2023-08-17 23:42:23 55 1

原创 Lingkang的算法学习日记2 - 动态规划

dp[i]为 当num[i]>num[k]时,dp[k] + 1, 前i-1个比第i个值小的num的dp最大子序列+1 的最大值就是第i个dp最长的最优子序列。dp:=make([]int, len(arr)) // init with 1 所有值。目的是找到最长上升子序列,设置dp为第index个的最长最优子序列,即知道dp[0..i-1],就可以推导出dp[i]// dp转移可以优化, 最近的一定最大。明确问题的最优子结构和状态转移方程。定义dp数组,以及如何迭代dp。3. 初始化边界条件。

2023-08-16 19:57:22 60 1

原创 LingKang的机器学习日记1- CCS229

深度学习与大数据时代(2010年至今):近年来,随着计算能力的提升、大规模数据集的普及以及深度神经网络的发展,深度学习成为热门领域。统计学派时代(1980年代-1990年代初期):随着统计建模方法的发展,统计机器学习成为主流。此外,在机器学习演进历史中还出现了许多重要的里程碑和技术突破,如强化学习、迁移学习、生成对抗网络(GANs)等。这些创新不断推动着机器学习领域的发展,并为解决各种复杂问题提供了更加强大和灵活的工具和方法。比如育犬,听话,gooddog,给点吃的。不听话,baddog,揍他。

2023-08-15 23:13:58 50 1

原创 LingKang的go学习日记-2 routine&&channel

for-select需要注意routine关闭,否则造成内存泄漏,除非main接触,否则协程方法/实例方法没有办法被gc回收。for-range只需要保证channel被关闭,即可退出,不会造成routine不退出导致的内存泄露。协程定义&&理解: (历史背景,底层逻辑,理解)

2023-08-14 10:32:34 47

原创 Lingkang的go学习日记1

无意刷到Hackerrank一道简单题目,发现用到go http包但是不太清楚用法,耽误了点时间,于是专门写一篇关于http的使用,和这道题目解法分享。b. go包中基于get,post,postform。原题目请在hackerrank搜一下,大概意思就是用http协议进行交互,json格式获取参数,一些需求处理。a. http协议是什么。

2023-08-14 00:20:56 49

原创 LingKang的Rust学习日记1 - Option,Result以及and_then,map_or使用

1. 首先Option是一个rust标准库的一个枚举类,他存在的目的就是为了null值,既不存在的值,go/java都有nil null的存在,于是rust使用option none来表示。if let Book::Papery(index) = book { // if let Option::Some(t) = xx 同理。result, option均实现了and_then map_or func,当返回result<option<t>>嵌套使用时,可如下使用。if let来判断枚举类型。

2023-08-10 00:20:39 293 1

原创 Lingkang的算法学习日记-1

1. 数据结构底层只有两种,数组,链式(指针指向对象)a.树形可能性图也可以用此递归。2. 学会遍历,增删改查操作。

2023-08-08 00:09:35 69

原创 go grpc stream sample 本地demo

/通过刚刚的连接 生成一个client对象。//通过grpc 库 建立一个连接。//创建一个grpc 服务器。//服务端 客户端 双向流。//调用服务端推送流。//客户端 推送 流。

2023-07-25 15:25:36 50

原创 计算云装机

protoc 安装完成后需要装protoc-gen-go 和 protoc-gen-go-grpc插件。goinstall 之后 会在 gopath/bin下生成对应插件exe文件 // 没有自己创建。mkfs -t ext4 /dev/vdb1格式化。mount /dev/vdb1 /disk 挂。linux 在/root/.cargo/config。source /etc/profile 生效。fdisk /dev/vdb 分区。将/bin放到path系统变量下 即可找到。5.docker配置。

2023-07-24 09:47:19 52

空空如也

空空如也

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

TA关注的人

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