比特币私钥、账户与钱包

对于比特币用户来讲,与它们最直接相关的就是比特币中私钥、账户及钱包了,这里讲述一下这三个概念及相关细节。在这之前,先简单的叙述一下基本的公钥密码学知识。 公钥密码体制(Public-key cryptography) 公钥密码体制分为三部分:公钥、私钥、加密解密算法。公钥密码体制的公钥和算法都是公开的(这也是公钥密码体制名称的来源),私钥是保密的。针对不同的用途,可选择采用公钥还是私钥进行加密,再用对应的私钥或者公钥进行解密。公钥密码体制主要功能有以下三点: 加解密功能 签名验证功能 密钥协商
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

【Rust】双重循环break的问题

在单循环中使用break跳出循环,但如果遇到双重循环或者更多重循环时怎么办呢?与其他语言类似,Rust使用标记标识跳出指定循环。如下所示: fn main() { let a = vec![1;5]; let b = vec![2;6]; 'outer: for i in a { println!("{}", i); 'inner: for j in b.iter() { print!("{}", j);
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

Linux进程间通信——信号

版权声明:本文为博主原创文章,转载注明出处。 https://blog.csdn.net/s_lisheng/article/details/78296177 一、认识信号 信号(Signals)是Unix、类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个进程,操作系统中断了进程正常的控制流程,此时,任何非原子操作都将被中断。如果进程定义了信号的处理函数,那么它将被执行,否则就执行默认的处理函数
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

分布式系统中时间、时钟和事件序列

版权声明:本文为博主原创文章,转载注明出处。 https://blog.csdn.net/s_lisheng/article/details/90247296 在程序中,我们经常需要知道事件序列,在单体应用中,事件序列是较为简单的,最简单的办法就是用时间戳,但在分布式系统中,事件序列是很困难的,Leslie Lamport大神在论文Time, Clocks, and the Ordering of Events in a Distributed System讨论了在分布式系统中时间、时钟和事件
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

动态内存分配导致Javascript性能的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/51589921 内存分配对性能的影响是很大的,分配内存本身需要时间,垃圾回收器回收内存也需要时间,所以应该尽量避免在堆里分配内存。不过直到最近优化HoLa cantk时,我才深刻的体会到内存分配对性能的影响,其中有一个关于arguments的问题挺有意思,写在这里和大家分享一下。 我要做的事情是用webgl实现canvas的2d API(这个话题本身
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

再谈面向对象的三大特性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/53585009 面向对象的三大特性:封装、继承和多态。这是任何一本面向对象设计的书里都会介绍的,但鲜有讲清楚的,新手看了之后除了记住几个概念外,并没真正了解他们的意义。前几天在youtube上看了Bob大叔讲解的SOLID原则,其中有一段提到面向对象的三大特性,收获很多,但是我并不完全赞同他的观点,这里谈谈我的想法: 封装 『封装』第一层含义是信息隐
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

用C++扩展node.js(node-nan版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/53856186 0.先安装node.js和python(2.7)。请参考: https://nodejs.org/ https://www.python.org 1.新建一个demo项目: 创建demo目录,并进入其中,然后运行下面命令。 mkdir demo cd demo npm init 运行npm init时,之后会生成一个package.
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

用C++扩展node.js(node-ffi版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/53856187 用C++扩展node.js(node-nan版) 0.先安装node.js和python(2.7)。请参考: https://nodejs.org/ https://www.python.org 1.新建一个demo项目: 创建demo目录,并进入其中,然后运行下面命令。 mkdir demo cd demo npm init 运行
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

如何进行mysql数据库的优化? --慢查询定位 --索引详解 -- 定时备份

mysql数据库优化的常见方法: 1.表的设计要合理(满足3NF) 3范式 2.创建适当索引[主键索引|唯一索引|普通索引|全文索引|空间索引] 3.对SQL语句优化---->定位慢查询(explain) 4.使用分表技术(重点【水平分表,垂直分表】), 分区技术(了解) 5.读写分离,主从同步(配置) 6.创建适当存储过程,函数,触发器 7.对my.ini优化,优化配置 8.软件硬件升级 1NF 指表的属性(列)具有原子性, 即表的列的不能再分了 不能有重复的列 2NF 所谓2NF,就是指我
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

Numpy入门基础用法

numpy的引入 如何保存数据 python原生数据结构支持list和dict,虽然很灵活,但空间占用率和时间效率不高。 类型不做限制 空间内可以保存不同的数据结构 优点是灵活,缺点是效率低 a1 = [1, 2] a1.append('star') a1 --------------------------------------------------------------------- 结果: [1, 2, 'star'] python的array类型 python提供了一种只能保存
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

用C++扩展Electron(node-nan版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/53856192 用C++扩展Electron(node-nan版) Electron内置的node.js,理论上可以通过扩展node.js来扩展Electron。但是通常由于系统中存在的node.js与Electron内置的node.js的版本号不同,给node.js编译的扩展是无法在Electron中使用的,需要一些特殊处理才行。 0.先安装nod
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

用C++扩展Electron(node-ffi版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/53856193 用C++扩展Electron(node-ffi版) Electron内置的node.js,理论上可以通过扩展node.js来扩展Electron。但是通常由于系统中存在的node.js与Electron内置的node.js的版本号不同,给node.js编译的扩展是无法在Electron中使用的,需要一些特殊处理才行。 0.先安装nod
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

numpy的常用运算

数组与数的计算 ndarray和数的操作,实际是对数组中每个元素都和该数进行操作 这种行为又叫做element-wise运算。 这种操作比python原生结果要快的多 import numpy as np ar1 = np.arange(20).reshape(4, 5) ar1 --------------------------------------------------------------------- 结果: array([[ 0, 1, 2, 3, 4],
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

【程序人生】大三Unity客户端第一次找工作的经历

写在前面 大三刚刚结束,开学就是大四的学生了。 本人在2018年7月的时候开始接触游戏相关开发,现在2019年7月刚好一整年。 自己和网友组队了一个独立项目,本以为会有很多东西可以写,后来发现目前只有寻路和AI可以水一水,确实有收获,在结构上有提高,但这种东西没法发出来。 感到很迷惑,原来我的大学实际上只有三年,第四年是用来实习的,人们可能把第四年看做学校与社会之间的“接口”。虽然很羞耻,但是我很想多在学校待一年,逃避一下社会,不想这么快就结束“人生最快乐的时光”(误),作为一个年轻人却害怕改
分类: 编程语言 发布时间: 07-06 15:31 阅读次数: 0

node-bindings无法在Electron中使用的解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/54232785 node-bindings非常好用,但是在Electron中无法使用,我查了一下,是因为fileName以file://开头导致无法定位动态库的根目录。已经提交给作者了,可以临时修改一下node_modules/bindings/bindings.js。 exports.getFileName = function getFileNa
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

pandas基础 -- DataFrame结构

DataFrame结构 DataFrame是一个【表格型】的数据结构,可以看做是【由Series组成的字典】(共用同一个索引)。DataFrame由按一定顺序排列的多列数据组成。设计初衷是将Series的使用场景从一维拓展到多维。DataFrame既有行索引,也有列索引。 行索引:index 列索引:columns 值:values(numpy的二维数组) ds1 = pd.Series([1, 2, 3, 4], name="id") ds2 = pd.Series([10, 20, 30,
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

Makefile/cmake/node-gyp中区分不同平台的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/54235823 最近用QTK开发一个下载(下载到开发板)工具,同时用到了Makefile/cmake和node-gyp,而且都要针对不同平台做不同的处理。这里做个记录,以备以后有需要时查阅。 Makefile 在Makefile中,可以用OS变量判断当前系统是否是Windows,然后用uname来判断当前系统是MacOS还是其它系统。 ifeq ($
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

python 部分面试题整理(3)

OOP思想的理解 面向对象是相对于面向过程而言的。面向过程语言是一种基于功能分析的、以算法为中心的程序设计方法;而面向对象是一种基于结构分析的、以数据为中心的程序设计思想。在面向对象语言中有一个有很重要东西,叫做类。面向对象有三大特性:封装、继承、多态。简单来说就是面向对象是关注结果,而面向过程是关注实现的过程。 python的优点缺点 优点: Python既支持面向过程的函数编程也支持面向对象的抽象编程 丰富的库,python有可定义的第三方库可以使用 规范的代码。Python采用强制缩进的
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

开源固件下载工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/absurd/article/details/54882983 开发板固件下载工具: 开发板固件下载工具: https://github.com/ZHIYUAN-Electronics/zyDownloader 主要特色: 采用自描述的插件式设计,支持不同的下载方式,增加新的下载方式不需要修改界面。 界面用JS开发,实现用C/C++开发。界面和实现完全分离,同时支持图形界面和命令行界面。 目前支持
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0

Elasticsearch相关面试题,你该怎么回答?

1、elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。 面试官:想了解应聘者之前公司接触的ES使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。 解答: 如实结合自己的实践场景回答即可。 比如:ES集群架构13个节点,索引根据通道不同共20+索引,根据日期,每日递增20+,索引:10分片,每日递增1亿+数据, 每个通道每天索引大小控制:150GB之内。 仅索引层面调优手段: 1.1、设计阶段调优 1)根据业务增量需求,采取基
分类: 其他 发布时间: 07-06 15:31 阅读次数: 0