- 博客(690)
- 资源 (51)
- 收藏
- 关注
原创 viem库
maxFeePerGas: parseGwei('20'), // 手动设置 Gas 费用gasLimit: 21000, // 手动设置 gas 限额});console.log('自定义交易哈希:', txHash);📌 总结🚀 viem 提供了比 ethers.js 更轻量级、类型安全的 Web3 交互方案,非常适合 DApp、交易所、NFT 平台开发。
2025-02-08 19:48:05
911
原创 typescript 简介
) 允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。就是代码运行时如果遇到 null 或 undefined 就可以⽴即停⽌某些表达式的运⾏,直接返回undefined。
2025-01-28 22:59:50
260
原创 生成新钱包
现在,我们可以使用go - ethereum 包将其转换为十六进制字符串,hexutil该包提供了采用字节切片的方法。我们删除0x前 2 个字符,04这 2 个字符始终是 EC 前缀,并且不是必需的。要生成新的钱包,首先我们需要导入提供生成随机私钥的方法的go - ethereum 包。由于公钥是从私钥派生出来的,因此go - ethereum的加密私钥有一个Public方法可以返回公钥。这是用于签署交易的私钥,应像密码一样对待,不得共享,因为拥有它的人就可以访问您的所有资金。
2024-07-03 16:18:17
259
原创 docker使用PostgreSQL容器
如果你的 SQL 文件在宿主机上的 db/migrations/ 目录下,你需要将这些文件复制到 Docker 容器中。这段脚本会循环遍历 db/migrations/ 目录下的所有 .sql 文件,并通过 docker exec 命令在容器中执行每个 SQL 文件。如果你不想进入容器,也可以从宿主机直接执行这些 SQL 文件。进入容器并执行这些 SQL 文件。如果执行过程中遇到错误,请提供具体的错误信息以便进一步诊断和解决。在容器内或从宿主机上依次执行每个 SQL 文件。将 SQL 文件复制到容器中。
2024-05-21 15:24:34
505
1
原创 使用 Goose 进行数据库迁移
Goose 是一个用于管理数据库迁移的工具,类似于 Flyway 和 Liquibase。它可以方便地管理数据库模式的版本,并应用相应的 SQL 脚本。你提到在 db/migrations/ 目录下有多个 SQL 文件,这些文件通常是用来管理数据库迁移的。确保 GOPATH/bin 在你的 PATH 中,以便可以直接运行 goose 命令。通过这些步骤,你可以使用 Goose 管理数据库迁移,确保数据库结构与代码的变化同步。使用 Goose 进行数据库迁移。
2024-05-21 15:20:18
391
原创 撮合引擎是交易系统
清算的工作就是把买单冻结的USD扣掉,并加上买入所得的BTC,同时,把卖单冻结的BTC扣掉,并加上卖出所得的USD。撮合引擎本质上就是维护一个买卖盘列表,然后按价格优先原则对订单进行撮合,能够成交的就输出成交结果,不能成交的放入买卖盘。在撮合引擎输出成交记录给清算系统的同时,它还把去除用户和订单相关信息的成交记录输出给行情系统(Quotation),由行情系统保存市场的成交价、成交量等信息,并输出实时价格、K线图等技术数据,以便公开市场查询。经过这样的模块化设计,一个证券交易系统就具备了雏型。
2024-04-11 17:49:39
567
原创 C++ 自定义对象 sort 排序
变量student中写 友元函数comp2 对私有属性Age进行排序。使用friend关键字 友元函数 进行 排序。如果是public成员变量排序会非常简单。
2023-12-12 09:46:52
696
原创 c++ set
lower_bound和upper_bound函数用于在有序容器中查找某个值。lower_bound函数返回第一个大于或等于给定值的迭代器,upper_bound函数返回第一个大于给定值的迭代器。
2023-12-11 17:58:33
447
原创 链路追踪jaeger
尤其微服务中,我们知道各个微服务部署在不同的服务器上,并且每一个微服务可能是不同的人开发的,如果我们不做链路追踪,微服务之间相互调用,假如有的微服务出问题了,整个系统都会受影响,目前比较流行的Tracing开源方案Jaeger进行实践,使用jaeger-client-go这个库作为client。这里的链路指的是客户端向服务发起一个请求,该请求所经过的路线,也可以说是该请求经过的流量。指我们通过一些手段将链路进行监控, 对于系统调试和维护链路追踪是非常重要的,这就一个请求的完整链路。
2023-08-21 10:04:32
253
原创 Linux系统编程-终端、进程组、会话
在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),进程中,控制终端是保存在PCB中的信息,而fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。操作系统设计的进程组的概念,是为了简化对多个进程的管理。
2023-08-12 23:14:24
275
原创 linux信号介绍
信号介绍信号的概念信号是信息的载体,Linux/UNIX 环境下,古老、经典的通信方式, 现下依然是主要的通信手段。信号在我们的生活中随处可见,例如:古代战争中摔杯为号;现代战争中的信号弹;体育比赛中使用的信号枪…信号的特点简单不能携带大量信息满足某个特点条件才会产生2 信号的机制进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕后再继续执行。
2023-07-27 22:00:08
493
原创 libevent介绍
是在当前没有套接字的情况下对链接监听器进行初始化, 看最后2个参数实际上就是bind使用的关键参数, backlog是listen函数的关键参数(略有不同的是, 如果backlog是-1, 那么监听器会自动选择一个合适的值, 如果填0, 那么监听器会认为listen函数已经被调用过了), ptr是回调函数的参数, cb是有新连接之后的回调函数, 但是注意这个回调函数触发的时候, 链接器已经处理好新连接了, 并将与新连接通信的描述符交给回调函数。
2023-07-27 21:57:14
511
原创 TCP状态转换图
由于TCP有可能存在丢包重传, 丢包重传若发给了已经断 开连接之后相同的socket-pair(该连接是新建的, 与原来的socket-pair完 全相同, 双方使用的是相同的IP和端口), 这样会对之后的连接造成困扰, 严重可能引起程序异常.若是先关闭的客户端, 再关闭的服务端, 此时启动服务端就不会报这个错误.如果一方close, 另一方没有close, 则认为是半关闭状态, 处于半关闭状态的 时候, 可以接收数据, 但是不能发送数据. 相当于把文件描述符的写缓冲区 操作关闭了.
2023-07-27 21:53:25
814
原创 linux网络基础
同样需要设置属性表明要链接到哪里.属性:1.href=”http://www.itcast.cn”,前往地址,必填,注意要写http://2.title=”前往传智” 鼠标移动到链接上时显示的文字3.target=”_self”或者”_blank”,_self是默认值,在自身页面打开,_blank是新开页面前往连接地址示例:来传智。
2023-07-27 21:48:50
530
原创 linux 网络
网络基础协议的概念什么是协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则
2023-07-27 16:54:51
918
原创 C++ 提高编程
函数模板的作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体确定,用一个虚拟的类型来代表。容器:各种数据结构:vector、list、deque、set、map等,用来存放数据。非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历、寻找极值等等。因此,C++为了解决这种问题,提供模板的重载,可以为这些特定的类型提供具体化模板。质变算法:是指运算过程中会更改区间内的元素的内容,例如拷贝、替换、删除等等。常用的数据结构:数组、列表、树、栈、队列、集合、映射表等。
2023-07-26 18:00:36
275
原创 C++ 核心编程
对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们不提供构造函数和析构,编译器会提供。纯虚析构语法:类内部:virtual ~类名() = 0;当 B 继承了 A 的数据,C 同样继承了 A 的数据,当 D 使用数据时,就会产生二义性。案例:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号。如果子类中出现和父类同名的成员函数,子类的同名成员函数会隐藏掉父类中所有同名成员函数。代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。
2023-07-26 17:44:18
293
原创 linux 系统编程
所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为cfo. cfo通常是一个非负整数, 用于表明文件开始处到文件当前位置的字节数. 读写操作通常开始于 cfo, 并且使 cfo 增大, 增量为读写的字节数. 文件被打开时, cfo 会被初始化为 0, 除非使用了 O_APPEND.需要说明的是,当一个进程终止时, 内核对该进程所有尚未关闭的文件描述符调用close关闭,所以即使用户程序不调用close, 在终止时内核也会自动关闭它打开的所有文件。
2023-07-25 22:04:49
664
原创 linux五 进程控制
当一个进程退出之后,进程能够回收自己的用户区的资源,但是不能回收内核空间的PCB资源,必须由它的父进程调用wait或者waitpid函数完成对子进程的回收,避免造成系统资源的浪费。为了保证每个进程都有一个父进程,孤儿进程会被init进程领养,init进程成为了孤儿进程的养父进程,当孤儿进程退出之后,由init进程完成对孤儿进程的回收。若子进程死了,父进程还活着, 但是父进程没有调用wait或waitpid函数完成对子进程的回收,则该子进程就成了僵尸进程。分别为初始态,就绪态,运行态,挂起态与终止态。
2023-07-25 21:57:21
230
原创 numpy广播机制
广播(Broadcast)是如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。结果为当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制。结果为下面代码结果为。
2023-06-25 14:08:20
361
原创 Numpy数组
使用 empty, zeros, ones, identity,eye 创建矩阵。ndarray.ndim: 数组维数。Numpy 中数组的基本属性。Numpy 生成数组函数。
2023-06-25 13:53:34
204
原创 golang中Unmarshal的问题
当使用 interface{} 接收整数,再次 Marshal 需要注意精度丢失的问题。float64最大的安全整数是52位尾数全为1且指数部分为最小 0x001F FFFF FFFF FFFFfloat64可以存储的最大整数是52位尾数全位1且指数部分为最大 0x07FEF FFFF FFFF FFFF十进制有效数字在16位(max = 9007199254740991),超过就很可能精度丢失明确使用int接收,不使用interface{}
2023-05-31 08:56:58
1459
原创 go的binary包及其应用
计算机字节序和网络字节序字节序 就是多字节数据类型 (int, float 等)在内存中的存储顺序。可分为大端序,低地址端存放高位字节;小端序与之相反,低地址端存放低位字节。在计算机内部,小端序被广泛应用于现代性 CPU 内部存储数据;而在其他场景譬如网络传输和文件存储使用大端序。使用小端序时不移动字节就能改变 number 占内存的大小而不需内存地址起始位。比如我想把四字节的 int32 类型的整型转变为八字节的 int64 整型,只需在小端序末端加零即可。
2023-05-26 16:35:07
840
原创 -L -Wl,-rpath-link -Wl,-rpath的不同点
Wl,-rpath= 为程序添加一个运行时库文件搜索路径。例如:指定链接的位置。程序运行时会先去下搜索所需库文件。
2023-04-25 08:57:38
2114
原创 go 的 fsnotify库
fsnotify 本质上就是对系统能力的一个浅层封装,主要封装了操作系统提供的两个机制:1,inotify 机制 2,epoll 机制。
2023-03-20 13:56:43
422
原创 chatGPT模型简介
其次,与GPT3等大模型相比,ChatGPT回答更全面,可以多角度全方位进行回答和阐述,相较以往的大模型,知识被“挖掘”得更充分。其中,最主要的问题是隐私和安全。现在的ChatGPT没有实时更新和事实判断能力,而这如果结合WebGPT的自动搜索能力,让ChatGPT学会自己去海量知识库中探索和学习,预测可能会是GPT-4的一项能力。比如最近同为火热的Stable Diffusion模型,利用ChatGPT生成较佳的Prompt,对于AIGC内容和日趋火热的艺术创作,提供强大的文字形态的动力。
2023-01-30 18:32:58
27142
3
原创 RSI基本概念
RSI为80是 股票超买的临界点,RSI为20是股票超卖的临界点,RSI 取值为50设定为“中心线”,该线表明股票的买入力量等于卖出力量。股票买入力量过大,买入力量在未来可能会减小,所以股票未来价格可能会下跌,此时卖出股票,未来下跌后再买入股票,从而赚取价差。在股票市场上,买方和卖方力量的消长会影响股票的架构,如果股票的买入力量大于卖出力量,则股票的价格会上涨,反之则会下跌。●RSI取值越小,可以推出说明DOWN的取值超过UP取值的程度越大,股票的卖出热度大于买入热度的程度越大。
2023-01-17 20:24:15
1340
couchdb-2.3.0.msi
2018-12-16
protobuf-all-3.6.1.zip
2018-12-06
采用windows IME 机制编写拼音输入法C语言源码
2018-10-19
mac下redis desktop manager 0.9.3.29.zip
2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人