Code With Topic
code with topicasync并发编程 - Rust 中的异步编程 — Concurrent programming - Asynchronous Programming in Rust
异步编程是一种并发,其高级目标与线程并发(同时做很多事情)相同,但实现方式不同。异步并发和线程并发之间的两大区别是,异步并发完全在程序中进行管理,无需 OS 的帮助,而多任务处理是协作的,而不是抢占式。
并发concurrency:多个任务在一个时间段执行(排序),针对单个cpu,由软件支持(时间片、调度)
并行parallelism:多个任务同时执行,需要多核同时执行多个任务。
并发是组织代码的一种方式,而并行是一种资源。
In threaded systems, each concurrent thread is executed in parallel using as much parallelism as possible. In async systems, there is no strong default: a system may run all tasks in ...
简历collect
modelOlorundara AkojedeLAGOS, NIGERIA | +234811 543 6934 | https://www.linkedin.com/in/dvrvsimi/
Education
Bachelor of Science, Biomedical Engineering August 2024
University of Lagos, Lagos, NigeriaRelated Experience
A. External Developer Advocate Jan 2025 - PresentSolana Foundation, Houston. Zug, Switzerland (Remote)
Maintain and improve technical developer content for Solana’s product, including SDKs, APIs, and devex tools.
...
code-Review
code-Review1.chainweaver-did接口(post-get的包装部分)login
调用了postRequest:json解析,用utils的post到指定的url
func Post(url string, body []byte, header map[string]string) (resp []byte, err error)
//其中为了测试跳过了https证书验证
解析postRequest的返回值
if r.Code != module.SUCCESS { return c.login(phoneNumber, password) } else { if r.Data.OldAccessToken != "" { r.Data.AccessToken = r.Data.OldAccessToken } if r.Data.OldExpiresIn != 0 { r.Data.ExpiresIn = r.Data.OldExpiresI ...
日语笔记
日语笔记(初学)写的很粗超
输入法初试这也许是最完整的日语输入法使用教程了 - 哔哩哔哩
我使用了微软的输入法
あって、紳士です。
トキョ出身です。
按我初学的状态,输入的时候平假名直接写,汉字则在打完平假之后或者tab空格来联想汉字。很符合直觉的是回车结束一个词语的输入,或者直接打下一个词。
有个进阶的kana模式,等学的更好了之后再说。
单词区(包含发音课)记录一下网课的单词
发音的0到3含义:**日语入门教程之声调 · 标记方法 · 标记规则【干货】 - 知乎**,简单的说就是下图
单词记忆方法每天定量,10到20个为最佳(和多领国挺接近)
白天一组+晚上一组
看词+默写5分钟,并用特殊颜色标注出错误的词
3分+2分重复以上方法,重点在错误的词
记了又忘
当天晚上复习第一组
第二天白天复习第二组
练听力需要熟读、听写和听译,从词到句
材料首先是教材,再是其他地方,比如日剧动漫新闻
www3.nhk.or.jp其中的news web easy,
第五节课(浊音鼻浊拗音)
假名
日语汉字
中文含义
げんき①
元気
精力、健康
ごはん②
御飯
米饭
りんご⓪ ...
solanaNotes
solanaNotes账户账户有几种:
program:存储可执行代码,info无状态
data:由program创建,用英语存储和管理程序状态
native program: solana内置的程序
Sysvar: 存储network cluster state的特殊账户
每个账户有一个唯一的地址,以Ed25519格式表示为32字节
1.accountInfo账户最大为10mb,存储的数据结构称为accountInfo
account
data
executable
lamports
owner
type
Bytes
Boolean
Number
Program Address
usage
存储账户状态
标志着该账户是否是程序
账户余额的数字形式
拥有该账户的程序的公钥
2.native program常见的有the System Program和BPF loader
3.System program所有新建账户默认归system program所有
系统程序执行以下关键任务:
New Account Creation
Space Allocation
A ...
solana资料和环境配置
solana!巧合下接触了rust和这个,干了
写这一节废话的原因是这个的中文资料真的又旧又少
资料online关键词:cookbook+solana(对solana的概念有中文版本介绍),anchor(最常用的框架),solana+playground(在线ide,没用过不评价)
环境搭建这节主要参考:Installation - Docs (anchor-lang.com),加了点自己遇到的问题和解决方案
首先要有rust,有的话跳过这步
我的环境:wsl2、ubuntu22.04
Install Rust - Rust Programming Language (rust-lang.org)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
再安装solana命令行工具这里只展示第一个命令,具体看Install the Solana CLI | Solana Validator (solanalabs.com)
sh -c "$(curl -sSfL https://rel ...
rCore-Tutorial follow the riscv trend!!!
我的博客地址:uloveRock? - God knows…
welcome!
rCore-ch1环境执行fn main() { println!("hello,world");}
从修改hello world,使它不用系统自带的依赖开始
修改目标平台目标为裸机平台,没有rust标准库和os支持的系统调用,为了方便换上了rust的core库
# os/.cargo/config[build]target = "riscv64gc-unknown-none-elf"
移除标准库依赖在main.rs中修改如下:
#![no_std]#![no_main]mod lang_items;pub extern "C" fn _start() { loop {}}
同级目录新建一个lang_items.rs
use core::panic::PanicInfo;#[panic_handler]fn panic(_info: &PanicInfo) ...
隐私计算
隐私计算learning从技术层面来说,隐私计算主要有三类主流技术路线:一类是采用密码学和分布式系统,以多方安全计算(Secure Multiparty Compute,MPC)为代表;另一类是采用基于硬件的可信执行环境(Trusted Execution Environment,TEE);最后一类是近年来发展相当火热的**联邦学习(Federated Learning,FL)**。此外,还有零知识证明、同态加密、差分隐私等技术。各类技术路线融合应用趋势凸显。
参考隐私计算介绍https://www.esensoft.com/industry-news/dx-5995.html
对多方学习的介绍和经典应用https://36kr.com/p/1718172828733449
默克尔树的介绍https://yeasy.gitbook.io/blockchain_guide/05_crypto/merkle_trie
多方安全计算
定义
多方安全计算(Secure Multi-Party Computation)是指在无可信第三方的情况下,多个参与方协同计算一个约定函数,除计算结果以 ...
ZombieBlock
follow the Zombies!准备工作:浏览此网站https://cryptozombies.io/,并注册一个账号,从最基础的课程学起。
当然只学这个还是太单薄了,看看登链社区和去remix上编译实操,做些题之类的更好
first Class:build your own zombie factories表面是僵尸工厂,实际上是solidity
内容概括如下:
合约的定义:
pragma solidity ^0.4.19;//必须的一行,表明编译器版本,合约内容一般不可修改contract Helloworld {//合约内部}
变量类型
pragma solidity ^0.4.19;contract ZombieFactory { uint dna = 100;//uint 等效于uint256,256位无符号整数 uint8 num=0;//也有uint8,16,32等,一般直接用uint即可}
数学运算
有加减乘除,以及特殊的乘方:uint x = 5 ** 2;
结构体
struct Zombie & ...
区块链到简单虚拟货币
区块链到简单虚拟货币区块链技术旨在实现并维持一个去中心化的点对点网络系统以及其中附带的功能,虚拟货币就是其中之一。
什么是区块链?区块链根据语义能有不同含义:
一种数据结构
一种算法
一个完整的技术方案
一个完全去中心化的点对点系统
当作为数据结构时,它表现为区块和链等多个形式
//引入一个必要的hash函数const getSha=require("crypto-js/sha256")//区块,仅作演示,具体数据类型和数量可以有很多class EzBlock { constructor(data,previousHash){ this.data=data;//每个区块总会有的数据 this.previousHash=previousHash;//hash是区块链中会用到的算法,它是保证区块链有效性的基础 this.hash=this.createHash();//区块自己的hash和前一个区块的hash值将保证链式结构的独特性质 } createHash(){ ...