自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(682)
  • 资源 (51)
  • 收藏
  • 关注

原创 撮合引擎是交易系统

清算的工作就是把买单冻结的USD扣掉,并加上买入所得的BTC,同时,把卖单冻结的BTC扣掉,并加上卖出所得的USD。撮合引擎本质上就是维护一个买卖盘列表,然后按价格优先原则对订单进行撮合,能够成交的就输出成交结果,不能成交的放入买卖盘。在撮合引擎输出成交记录给清算系统的同时,它还把去除用户和订单相关信息的成交记录输出给行情系统(Quotation),由行情系统保存市场的成交价、成交量等信息,并输出实时价格、K线图等技术数据,以便公开市场查询。经过这样的模块化设计,一个证券交易系统就具备了雏型。

2024-04-11 17:49:39 186

原创 gorm和geometry

【代码】gorm和geometry。

2024-03-27 09:36:21 127

原创 golang的GEO写入

【代码】golang的GEO写入。

2024-03-26 17:55:57 85

原创 pdf文件修改

【代码】pdf文件修改。

2023-12-18 15:40:32 425

原创 C++ 自定义对象 sort 排序

变量student中写 友元函数comp2 对私有属性Age进行排序。使用friend关键字 友元函数 进行 排序。如果是public成员变量排序会非常简单。

2023-12-12 09:46:52 582

原创 c++ set

lower_bound和upper_bound函数用于在有序容器中查找某个值。lower_bound函数返回第一个大于或等于给定值的迭代器,upper_bound函数返回第一个大于给定值的迭代器。

2023-12-11 17:58:33 395

原创 c++ multimap

multimap创建。

2023-12-11 17:50:15 446

原创 c++ map

【代码】c++ map。

2023-12-11 17:40:44 376

原创 c++时间转换

获取系统当前时间所需要的包。

2023-12-11 16:07:48 377

原创 链路追踪jaeger

尤其微服务中,我们知道各个微服务部署在不同的服务器上,并且每一个微服务可能是不同的人开发的,如果我们不做链路追踪,微服务之间相互调用,假如有的微服务出问题了,整个系统都会受影响,目前比较流行的Tracing开源方案Jaeger进行实践,使用jaeger-client-go这个库作为client。这里的链路指的是客户端向服务发起一个请求,该请求所经过的路线,也可以说是该请求经过的流量。指我们通过一些手段将链路进行监控, 对于系统调试和维护链路追踪是非常重要的,这就一个请求的完整链路。

2023-08-21 10:04:32 172

原创 Linux系统编程-终端、进程组、会话

在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),进程中,控制终端是保存在PCB中的信息,而fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。操作系统设计的进程组的概念,是为了简化对多个进程的管理。

2023-08-12 23:14:24 213

原创 linux信号介绍

信号介绍信号的概念信号是信息的载体,Linux/UNIX 环境下,古老、经典的通信方式, 现下依然是主要的通信手段。信号在我们的生活中随处可见,例如:古代战争中摔杯为号;现代战争中的信号弹;体育比赛中使用的信号枪…信号的特点简单不能携带大量信息满足某个特点条件才会产生2 信号的机制进程A给进程B发送信号,进程B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕后再继续执行。

2023-07-27 22:00:08 417

原创 libevent介绍

是在当前没有套接字的情况下对链接监听器进行初始化, 看最后2个参数实际上就是bind使用的关键参数, backlog是listen函数的关键参数(略有不同的是, 如果backlog是-1, 那么监听器会自动选择一个合适的值, 如果填0, 那么监听器会认为listen函数已经被调用过了), ptr是回调函数的参数, cb是有新连接之后的回调函数, 但是注意这个回调函数触发的时候, 链接器已经处理好新连接了, 并将与新连接通信的描述符交给回调函数。

2023-07-27 21:57:14 271

原创 TCP状态转换图

由于TCP有可能存在丢包重传, 丢包重传若发给了已经断 开连接之后相同的socket-pair(该连接是新建的, 与原来的socket-pair完 全相同, 双方使用的是相同的IP和端口), 这样会对之后的连接造成困扰, 严重可能引起程序异常.若是先关闭的客户端, 再关闭的服务端, 此时启动服务端就不会报这个错误.如果一方close, 另一方没有close, 则认为是半关闭状态, 处于半关闭状态的 时候, 可以接收数据, 但是不能发送数据. 相当于把文件描述符的写缓冲区 操作关闭了.

2023-07-27 21:53:25 701

原创 linux网络基础

同样需要设置属性表明要链接到哪里.属性:1.href=”http://www.itcast.cn”,前往地址,必填,注意要写http://2.title=”前往传智” 鼠标移动到链接上时显示的文字3.target=”_self”或者”_blank”,_self是默认值,在自身页面打开,_blank是新开页面前往连接地址示例:来传智。

2023-07-27 21:48:50 332

原创 c++网络编程

网络编程模型。

2023-07-27 17:34:35 1015

原创 linux 网络

网络基础协议的概念什么是协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则

2023-07-27 16:54:51 765

原创 C++ 提高编程

函数模板的作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体确定,用一个虚拟的类型来代表。容器:各种数据结构:vector、list、deque、set、map等,用来存放数据。非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历、寻找极值等等。因此,C++为了解决这种问题,提供模板的重载,可以为这些特定的类型提供具体化模板。质变算法:是指运算过程中会更改区间内的元素的内容,例如拷贝、替换、删除等等。常用的数据结构:数组、列表、树、栈、队列、集合、映射表等。

2023-07-26 18:00:36 199

原创 C++ 核心编程

对象的初始化和清理工作是编译器强制要我们做的事情,因此如果我们不提供构造函数和析构,编译器会提供。纯虚析构语法:类内部:virtual ~类名() = 0;当 B 继承了 A 的数据,C 同样继承了 A 的数据,当 D 使用数据时,就会产生二义性。案例:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号。如果子类中出现和父类同名的成员函数,子类的同名成员函数会隐藏掉父类中所有同名成员函数。代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。

2023-07-26 17:44:18 203

原创 linux 系统编程

所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为cfo. cfo通常是一个非负整数, 用于表明文件开始处到文件当前位置的字节数. 读写操作通常开始于 cfo, 并且使 cfo 增大, 增量为读写的字节数. 文件被打开时, cfo 会被初始化为 0, 除非使用了 O_APPEND.需要说明的是,当一个进程终止时, 内核对该进程所有尚未关闭的文件描述符调用close关闭,所以即使用户程序不调用close, 在终止时内核也会自动关闭它打开的所有文件。

2023-07-25 22:04:49 601

原创 linux五 进程控制

当一个进程退出之后,进程能够回收自己的用户区的资源,但是不能回收内核空间的PCB资源,必须由它的父进程调用wait或者waitpid函数完成对子进程的回收,避免造成系统资源的浪费。为了保证每个进程都有一个父进程,孤儿进程会被init进程领养,init进程成为了孤儿进程的养父进程,当孤儿进程退出之后,由init进程完成对孤儿进程的回收。若子进程死了,父进程还活着, 但是父进程没有调用wait或waitpid函数完成对子进程的回收,则该子进程就成了僵尸进程。分别为初始态,就绪态,运行态,挂起态与终止态。

2023-07-25 21:57:21 195

原创 numpy广播机制

广播(Broadcast)是如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。结果为当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制。结果为下面代码结果为。

2023-06-25 14:08:20 301

原创 Numpy数组

使用 empty, zeros, ones, identity,eye 创建矩阵。ndarray.ndim: 数组维数。Numpy 中数组的基本属性。Numpy 生成数组函数。

2023-06-25 13:53:34 151

原创 docker安装MongoDB

【代码】docker安装MongoDB。

2023-06-01 14:31:03 763

原创 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 1213

原创 go的binary包及其应用

计算机字节序和网络字节序字节序 就是多字节数据类型 (int, float 等)在内存中的存储顺序。可分为大端序,低地址端存放高位字节;小端序与之相反,低地址端存放低位字节。在计算机内部,小端序被广泛应用于现代性 CPU 内部存储数据;而在其他场景譬如网络传输和文件存储使用大端序。使用小端序时不移动字节就能改变 number 占内存的大小而不需内存地址起始位。比如我想把四字节的 int32 类型的整型转变为八字节的 int64 整型,只需在小端序末端加零即可。

2023-05-26 16:35:07 455

原创 gdb--设置断点的方法

【代码】gdb--设置断点的方法。

2023-05-18 16:17:49 400

原创 -L -Wl,-rpath-link -Wl,-rpath的不同点

Wl,-rpath= 为程序添加一个运行时库文件搜索路径。例如:指定链接的位置。程序运行时会先去下搜索所需库文件。

2023-04-25 08:57:38 1525

原创 sklearn进行kmeans聚类分析

【代码】sklearn进行kmeans聚类分析。

2023-04-03 11:01:41 105

原创 go 的 fsnotify库

fsnotify 本质上就是对系统能力的一个浅层封装,主要封装了操作系统提供的两个机制:1,inotify 机制 2,epoll 机制。

2023-03-20 13:56:43 328

原创 chatGPT模型简介

其次,与GPT3等大模型相比,ChatGPT回答更全面,可以多角度全方位进行回答和阐述,相较以往的大模型,知识被“挖掘”得更充分。其中,最主要的问题是隐私和安全。现在的ChatGPT没有实时更新和事实判断能力,而这如果结合WebGPT的自动搜索能力,让ChatGPT学会自己去海量知识库中探索和学习,预测可能会是GPT-4的一项能力。比如最近同为火热的Stable Diffusion模型,利用ChatGPT生成较佳的Prompt,对于AIGC内容和日趋火热的艺术创作,提供强大的文字形态的动力。

2023-01-30 18:32:58 25730 3

原创 RSI基本概念

RSI为80是 股票超买的临界点,RSI为20是股票超卖的临界点,RSI 取值为50设定为“中心线”,该线表明股票的买入力量等于卖出力量。股票买入力量过大,买入力量在未来可能会减小,所以股票未来价格可能会下跌,此时卖出股票,未来下跌后再买入股票,从而赚取价差。在股票市场上,买方和卖方力量的消长会影响股票的架构,如果股票的买入力量大于卖出力量,则股票的价格会上涨,反之则会下跌。●RSI取值越小,可以推出说明DOWN的取值超过UP取值的程度越大,股票的卖出热度大于买入热度的程度越大。

2023-01-17 20:24:15 357

原创 libevent库

1 事件驱动, 高性能, 轻量级, 专注于网络2 源代码精炼, 易读3 跨平台4 支持多种I/O多路复用技术, 如epoll select poll等5 支持I/O和信号等事件。

2022-11-20 22:13:46 465

原创 linux进程回收

当一个进程退出之后,进程能够回收自己的用户区的资源,但是不能回收内核空间的PCB资源,必须由它的父进程调用wait或者waitpid函数完成对子进程的回收,避免造成系统资源的浪费。为了保证每个进程都有一个父进程,孤儿进程会被init进程领养,init进程成为了孤儿进程的养父进程,当孤儿进程退出之后,由init进程完成对孤儿进程的回收。若子进程死了,父进程还活着, 但是父进程没有调用wait或waitpid函数完成对子进程的回收,则该子进程就成了僵尸进程。通过杀死其父进程的方法可以消除僵尸进程。

2022-11-13 17:34:39 704

原创 C++11 新特性

编译器会根据 a = 10 自动推导出auto是int类型,后面的 b 变量自然也为 int 类型,所以把 11 赋值给它也是正确的, 但是如果我们将b 赋值为 12.3就是错误的,因为 12.3 是double 类型,这和 int 是冲突的。这样就避免了新的空间的分配,大大降低了构造的成本。随着C++语法的发展, 人们开始觉得上面的写法太复杂了,每次为了实现一个algorithm算法, 都要重新去写一个类,如果每次比较的逻辑不一样,还要去实现多个类,特别是相同类的命名,这些都给编程者带来了极大的不便。

2022-11-08 15:17:15 1050

原创 第十章 STL

迭代器类的具体实现:为了隐藏每个容器中迭代器的具体实现,也为了统一用户对于每个容器中迭代器的访问方式,用户可以把迭代器当成一个指针对容器中的元素进行访问。STL提供的许多容器中都实现了一个迭代器用于对容器中对象的访问,虽然每个容器中的迭代器的实现方式不一样,但是对于用户来说操作方法是一致的,也就说通过迭代器统一了对所有容器的访问方式。而我们知道,迭代器的内部是通过指针访问容器中的元素的,而插入后,若vector扩容,则原有的数据被释放,指向原有数据的迭代器就成了野指针,所以迭代器失效了。

2022-11-07 22:34:40 616

原创 第九章 泛型编程

这样我们就定义了一个简单的类模板,其中的T代表任意的类型,可以出现在类模板中的任意地方,与函数模板不同的是,使用类模板构造对象时必须显示的指定数据类型,编译器无法自动推导,例如testt;class Operator< T* ,T*> //指定类型参数,必须为2个参数,和正常类模板参数个数一致。class Operator //完全特化的类模板,当两个参数都是void*,调用这个。

2022-11-07 22:33:39 351

原创 第八章 强制类型转换

例如,程序员执意要把一个 int* 指针、函数指针或其他类型的指针转换成 string* 类型的指针也是可以的,至于以后用转换后的指针调用 string 类的成员函数引发错误,程序员也只能自行承担查找错误的烦琐工作:(C++ 标准不允许将函数指针转换成对象指针,但有些编译器,如 Visual Studio 2010,则支持这种转换)至于“向上转型”(即派生类指针或引用类型转换为其基类类型),本身就是安全的,尽管可以使用dynamic_cast进行转换,但这是没必要的, 普通的转换已经可以达到目的。

2022-11-07 22:32:12 408

原创 第七章 异常

如果您想让 catch 块能够处理 try 块抛出的任何类型的异常,则必须在异常声明的括号内使用省略号 …C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。throw 语句的操作数可以是任意的表达式,表达式的结果的类型决定了抛出的异常的类型。您可以指定想要捕捉的异常类型,这是由 catch 关键字后的括号内的异常声明决定的。如果 try 块在不同的情境下会抛出不同的异常,这个时候可以尝试罗列多个 catch 语句,用于捕获不同类型的异常。

2022-11-07 22:31:34 125

原创 第六章 C++对C的拓展2

通过查看example.o 和 main.o中的符号表我们发现g++编译器和gcc编译器在对同一函数编译时生成的符号表不一样,所以导致使用g++编译时会找不到add函数的声明(因为在编译的链接阶段,编译器首先会在main.o中查找_Z3addii,如果没有找到会去example.o中查找,但是在example.o中函数add被生成的符号时add,所以编译器就报错了)“这条代码的时候,会用C语言的规则进行编译,这样生成的符号也叫做"add",因为在example.o中存在"add"函数,所以编译能够通过。

2022-11-07 22:21:30 318

apache-activemq-5.15.1-bin.tar.gz

apache-activemq-5.15.1-bin.tar,activemq消息队列的linux下安装包。

2018-12-18

couchdb-2.3.0.msi

couchdb-2.3.0.msi,在window下的安装包,下载后就可以直接运行。详细见https://blog.csdn.net/qq_30505673/article/details/85039731

2018-12-16

chaincode命令

这是我自己运行chaincode的超级账本的命令,solo集群的方式,1个order,4个peer

2018-12-16

nginx安装包

nginx安装包,亲测有效,你真的值得拥有!

2018-12-14

fastdfs安装包

fastdfs安装包,亲测有效,你真的值得拥有!

2018-12-14

protobuf-all-3.6.1.zip

protobuf-all-3.6.1.zip,亲测在ubuntu系统中解压可用,https://blog.csdn.net/qq_30505673/article/details/84865289可供参考

2018-12-06

truffleWebpack.zip

truffleWebpack.zip,windows下64位亲测可以使用的,你值得拥有!

2018-11-30

node-v10.14.1-x64 .msi

node-v10.14.1-x64 .msi,windows下64的node安装包,你值得拥有!

2018-11-30

腾讯区块链白皮书

腾讯大公司在区块链进行产业布局,这是腾讯的区块链白皮书。

2018-11-16

Git和GitHub教程

Git和GitHub教程,用于代码同步很好的资料,你值得拥有

2018-11-12

Xshell_5.0.0.37_setup.1459931786

Xshell_5.0.0.37_setup.1459931786,是一款非常好用的上传工具!

2018-10-30

mysql-5.6.35.tar压缩包

mysql-5.6.35.tar.gz的压缩包,内含在zip压缩包里面,很好用!

2018-10-29

谷歌浏览器广告和视频插件

谷歌浏览器上面的广告和视频插件,非常好用,你值得拥有!

2018-10-29

10TB级日志的秒级搜索v3

10TB级日志的秒级搜索v3,携程大数据解决方案,你值得拥有!

2018-10-27

区块链原理、设计与应用

区块链原理、设计与应用书籍,相当好的pdf书籍,你值得拥有!

2018-10-22

采用windows IME 机制编写拼音输入法C语言源码

采用windows IME 机制编写拼音输入法源码,c语言源代码,遵循GUN GPL(General Public License)

2018-10-19

小米集团招股说明书-2018.5.3 香港联交所S

小米集团招股说明书-2018.5.3 香港联交所S,你值得拥有!

2018-10-12

北京市的房租出租的数据

北京市房租出租数据,含有大量上万级别的租房数据信息。

2018-10-10

beego结合前端练习

beego结合前端练习,里面有静态资源css、js、img和数据库相关的结构体,适合于练习。

2018-10-10

github.com/go-sql-driver/mysql

github.com/go-sql-driver/mysql,go语言连接数据库的驱动

2018-09-16

超级账本Hyperledger白皮书(中文版)

超级账本Hyperledger白皮书(中文版)的pdf,超级账本很好的资料。

2018-09-11

typora-setup-x64

typora-setup-x64,windows下的安装包,用来写笔记和看笔记非常方便。

2018-09-11

软件设计师历年真题解析(2014-2017)

软件设计师历年真题解析(2014-2017),答案解析非常详细,你值得拥有!

2018-09-11

mysql5.5.27_win32_zol

mysql5.5.27_win32_zol.msi,数据库软件,还包含mysql-front5.0-key

2018-09-11

深度探索区块链书籍

深度探索区块链书籍,作者思路非常清晰,写的非常好,你值得拥有!

2018-09-10

go1.9.2.windows-amd64.msi

go1.9.2.windows-amd64.msi的安装包,点击即可运行,你值得拥有!

2018-09-07

uci部分数据集

uci部分数据集,包括wine和compound还有4k2_far数据集

2018-09-07

goland的windows2018.2.1安装包

goland的windows2018.2.1安装包,windows下的64位安装包,go语言开发利器。

2018-09-07

golang的gjson解析

golang中的json解析包,非常好用,使用gjson对字符串进行解析。

2018-09-07

libevent-2.0.22-stable.tar

libevent-2.0.22-stable.tar,搭建nginx所需要的linux安装包

2018-09-07

NavicatforMySQL

NavicatforMySQL连接MySQL数据库的神器,你值得拥有!

2018-09-07

北京市房租出租数据

北京市房租出租数据,北京市房租出租数据,北京市房租出租数据

2018-09-04

goland开发工具

goland开发工具,go语言在Windows下开发的利器,你值得拥有!

2018-09-01

go1.9.2.windows-amd64

go1.9.2.windows-amd64.msi,点击后直接运行安装即可。

2018-09-01

securecrt和winscp软件

securecrt和winscp软件,远程连接linux必备,securecrt免注册码,winscp也是的。

2018-09-01

mac下redis desktop manager 0.9.3.29.zip

mac下非常好用的redis图形化客户端,推荐一下redis desktop manager 0.9.3.29。

2020-01-02

nosqlbooster4mongo-5.2.8.dmg

一款非常好用的MongoDB的图形化界面,https://nosqlbooster.com/downloads

2020-01-02

consul_1.5.0_linux_amd64.zip

ubunut下的consul安装包,1.5.0的版本,非常好用,推荐一下。

2019-05-21

grpc安装包

grpc安装包在github中的安装包,亲测有效,你值得拥有!

2018-12-27

elasticsearch-6.5.3.tar.gz

elasticsearch-6.5.3.tar.gz,linux下的tar.gz的包,推荐下。

2018-12-17

空空如也

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

TA关注的人

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