自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (1)
  • 收藏
  • 关注

原创 椭圆曲线加密算法与聚合签名原理解析

文章目录1 椭圆曲线2 椭圆曲线加解密算法3 椭圆曲线签名算法3.1 签名过程3.2 验签过程4 聚合签名5 密钥消除攻击椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)是基于椭圆曲线数学原理实现的一种非对称加密算法。1 椭圆曲线椭圆曲线可用以下方程式表示:y2 = ax3 + bx2 + cx + d定义椭圆上两点相加A+B如下:过A、B两点的直线...

2020-02-25 20:45:49 1841 1

原创 python + logging 实现日志输出及保存到文件

文章目录1 开始使用 logging1.1 第一个程序1.2 日志级别1.3 输出格式2 输出日志到文件2.1 使用 basicConfig 配置文件路径2.2 logging 模块化设计2.3 自动分割日志文件最近因为一个小需求,需要保存日志到文件中。因为平时调试都只是用print,当不需要的时候又得把print删掉,这样很不方便,而且这样也只能把报错信息输出到控制台。于是上网查了一下,pyt...

2019-07-19 17:26:13 74285 14

原创 区块链项目——区块链网上安全商铺(合约代码、前端、后台)

1 项目地址所有源代码与说明的github地址:https://github.com/Runner1014/SafeOnlineShop2 选题背景与依据在互联网的背景下,网购因其便捷、便宜,已成为人们购物的主要方式之一。但其中还是存在一些问题。第一,由于大数据平台对数据的贩卖,网购容易导致泄露用户隐私,比如刚刚浏览某个购物网站,在其他的社交平台上就会看到类似的广告弹窗。这是由于网购平台...

2019-02-28 22:47:27 4880

原创 以太坊的安装、私有链创世区块搭建以及智能合约的部署

文章目录1. 以太坊的安装、私有链创世区块搭建、私有链节点的加入1.1 以太坊的安装1.2 私有链创世区块搭建1.3 私有链节点的加入2. 对getBlock中所得区块的各个字段的解释3. 对日志输出的解释4. 智能合约的部署5. 对交易的字段的解释6. 附:常用指令小记1. 以太坊的安装、私有链创世区块搭建、私有链节点的加入1.1 以太坊的安装官方下载地址:https://geth.eth...

2019-02-28 22:33:07 6451 5

原创 从零开始设计一个共识算法——一场没有硝烟的战争

区块链的共识算法太多太复杂?不同共识算法比如 PBFT、Tendermint、Hotstuff 之间有什么联系和区别?读完本文,相信你会有答案。

2022-10-20 11:36:46 1855 3

翻译 到底什么是 Web3 —— 可读-可写-可拥有?

什么是Web3?早期的 Web1 和现在的 Web2 存在什么问题?为什么我们需要Web3?Web3 有哪些局限性?可以怎么解决?

2022-10-20 11:16:46 554

原创 细品以太坊的“四棵树”——Merkle Patricia Trie

以太坊的 MPT 树是什么?起了什么作用?四棵树是哪四棵?本文从构成 MPT 的几个基础算法说起,详解以太坊的 MPT 树,这对理解以太坊的存储结构至关重要。

2022-10-20 11:06:03 2856

翻译 一文读懂 Web 3.0 应用架构

是什么让 Web 3.0 与 Web 2.0 如此不同?本文使用以太坊生态作为例子,从 Web 2.0 开始,由浅入深,一步步介绍 Web 3.0 的应用架构。

2022-08-02 22:06:09 2118

原创 椭圆曲线聚合签名原理 & PBFT 算法改进

共识算法是区块链系统的核心之一,其安全性和效率是性能评估的重点。本文先以比特币为例介绍区块链概念的由来,并阐述 PBFT(practical Byzantine fault tolerance,实用拜占庭容错算法)相比传统拜占庭容错算法和应用于公有链的工作量证明等算法在效率上的优势,并重点说明 PBFT 在可拓展性方面仍有改进的空间。本文通过使用基于椭圆曲线的聚合签名,降低 PBFT 的网络复杂度,以提高 PBFT 的可拓展性,并由此降低采用 PBFT 算法的区块链系统对稳定网络的依赖性,使系统即使处于网络

2022-06-22 19:21:49 4265

原创 深入理解PBFT算法的提交阶段

PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)是联盟链常用的一种共识算法。本文讨论PBFT提交阶段的作用,要求读者对PBFT的算法有一个大致了解,如果你是刚听过这个算法,知道算法的基本流程,看完本文可能会对PBFT有更深入的理解;如果你研读过PBFT原论文,那么本文也许可以作为阅读拓展。如果有不同理解或者认为文中表述有问题,欢迎讨论指正。.........

2022-06-21 19:05:40 436

原创 Nginx限流应用 & 漏桶/令牌桶算法原理

限流是一个后台服务的重要组成部分,尤其是在应对大量并发请求时,将流量限制到系统能够承受的范围内,才能保证系统安全高效运行。本文从nginx配置入手,先列举限流的几种场景和nginx限流配置的用法,结合实验验证,再详细分析nginx中的漏桶算法原理。......

2022-06-21 17:26:33 2557

原创 Git关键命令总结

文章目录时光机穿梭版本回退工作区和暂存区远程仓库分支管理标签管理.git文件作用配置代理问题时光机穿梭版本回退显示状态(待提交,冲突文件等)git status显示提交日志git log [--pretty=oneline]回退版本git reset --hard HEAD^git reset --hard 1094a(版本号)上一个版本就是HEAD^,上上一...

2020-04-08 16:58:44 261

原创 go语言的变量声明

文章目录1 一般语法2 添加初始化器3 简化变量声明1 一般语法var 变量名 变量类型多个同类型变量可以声明成一条语句:var 变量名1, 变量名2, 变量名3 变量类型变量声明可以是包级的或者函数级的,如:package mainimport "fmt"var c, python, java bool // 包级变量声明func main() { var i in...

2020-03-23 14:39:57 364

原创 java byte[]转String再转回byte[]不一致问题

最近做项目时,为了将byte[]存入map的value,先将其转为String存入,需要时再取出转回byte[],但实现过程却发现了问题:转回的byte[]与原来不一致:byte[] bytes = Hex.decode("1a91031001");String str = new String(bytes);byte[] after = str.getBytes();System.out...

2020-02-17 20:09:10 5023 4

原创 .gitignore过滤当前目录下的文件夹,不影响其他目录

最近在使用git时遇到一个问题,push到远程机器上时某个log文件夹丢失了,本地查找是有的,git status也显示clean:$ git statusOn branch masterYour branch is up to date with 'origin/master'.nothing to commit, working tree clean于是猜测可能是被.gitig...

2020-02-13 18:37:21 3166

原创 windows和各编辑器实用快捷键总结

windows快捷键win+tab 选择界面win+E 打开文件资源管理器win+PrtSc 全屏截图并保存到系统图片的”屏幕截图“文件夹,并放到剪贴板win+shift+S 截取选中区域并放到剪贴板win+G打开屏幕录制工具win+Alt+R直接开始录制win+D显示桌面win+R 运行程序Ctrl+Alt+Delete 打开安全操作界面,可选任务管理器ctl+shift+E...

2019-09-03 11:30:18 1196

原创 python字符串格式化

python字符串格式化方式一和C语言一致,后面跟几个变量或者值,只有一个时括号可以省略>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 10000)'Hi, runner, you have $10000.'占位符替换内容...

2019-08-30 16:54:33 207

原创 windows 下 socket 的 shutdown 和 closesocket 的区别

It is important to distinguish the difference between shutting down a socket connection and closing a socket.分辨关闭(shutdown)一个socket连接和关闭一个socket的区别是重要的。以下为了区分二者,分别用英文的shutdown和close表述。shutdown a ...

2019-08-29 12:09:05 2049

原创 c++模板与泛型编程

文章目录1 定义模板1.1 函数模板1.2 类模板1.3 模板参数1.4 成员模板1.5 控制实例化1.6 效率与灵活性2 模板实参推断2.1 类型转换与模板类型参数2.2 函数模板显式实参2.3 尾置返回类型与类型转换2.4 函数指针和实参推断1 定义模板1.1 函数模板template <typename T> // 模板参数列表,不能为空,用逗号隔开,每个类型参数前必须使用...

2019-07-31 18:42:18 274

原创 一篇文章理清python的字符编码

文章目录字符编码最近在用python接受网络数据的时候,输出时总是遇到编码的问题,虽然都解决了,但深刻意识到自己其实对python的编码并没有清晰的认识,所以才会遇到这样的问题。今天就此总结一下,以免日后夜长梦多。字符编码首先,谈一下什么是字符编码。因为计算机只能表示0和1,即二进制表示,参考:廖雪峰python教程:字符串和编码...

2019-07-21 20:44:37 382

原创 Java学习笔记——新特性-注解

Java学习笔记——新特性-注解文章目录Java学习笔记——新特性-注解1 三个基本的 Annotation1.1 @Override1.2 @Deprecated1.3 @SuppressWarnings2 自定义 Annotation3 元 Annotation3.1 @Retention3.2 @Target3.3 @Documented3.4 @Inherited4 利用反射获取注解信息...

2019-06-25 21:05:55 457

原创 系统设计与分析课程项目个人小结

简短的课程学习自我总结(400字以内)请不用讲述与分析、设计、开发、管理无关的话题可以包括对同学帮助的致谢(同学姓名请用 github 昵称表示,不许出现真实姓名)0 ~ 400字,即没有这段也没关系作为后台开发和测试工程师,我的工作主要是完成后台部分接口的实现以及测试。分析在开始开发之前,跟组员一起分析需求。在会议中提出一些需要注意的细节。比如在是否根据微信号自动登录这个点上,由于...

2019-06-23 16:32:40 931

原创 系统设计与分析-技术报告-定时清理验证码的一种解决方案

背景在系统设计与分析的这门课程中,我们要完成一个项目,是一个大学生通过填写问卷、帮拿快递等方式“挣闲钱”的app。这个App要求实名注册,身份认证的方案如下:以每个学生独有的学校邮箱作为认证注册的凭证,注册之前要先填写邮箱并通过邮箱获取验证码,输入正确验证码才能注册成功。问题第一个重要的问题就是如何保存验证码?是保存在数据库中,还是直接保存在内存中,显然直接放在内存中效率是更高的。另一个问...

2019-06-23 15:54:25 489

原创 系统分析与设计06

练习资源:Asg-RH.pdf使用 UMLet 建模1、使用类图,分别对 Asg_RH 文档中 Make Reservation 用例以及 Payment 用例开展领域建模。然后,根据上述模型,给出建议的数据表以及主要字段,特别是主键和外键注意事项:对象必须是名词、特别是技术名词、报表、描述类的处理;关联必须有多重性、部分有名称与导航方向属性要注意计算字段数据建模,为了简化描...

2019-06-22 18:07:44 183

原创 黑盒测试:等价类划分法(弱一般)

问题构造 NextDate 问题的弱一般的等价类测试用例。NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的值,输出这一天的下一天的日期的 month, day 和 year 值。解答Test CasemonthdayyearExpec...

2019-06-03 12:11:43 1564

原创 黑盒测试:等价类划分法(弱健壮)

问题构造下述三角形问题的弱健壮的等价类测试用例。三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形、等腰不等边三角形、完全不等边三角形还是不能构成三角形。解答有效等价类划分:R1 = {<a, b, c>: the triangle with sides a, b, and c is equilateral}R2 = {<a, b...

2019-06-03 11:29:19 4788

原创 分析判定表图例

问题分析 Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例的第6列和第23列,分别给出:(1) 输入条件的自然语义陈述;(2) 输出结果的自然语义陈述;(3) 用命题逻辑形式描述实现上述输入-输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。解答输入条件的自然语义陈述第6列输入11010,表示C1售货机可找零,C2投入1元硬币,C4按下橙汁按...

2019-06-03 10:52:40 1143

原创 系统分析与设计05

使用 UMLet 建模1. 根据订旅馆建模文档,Asg-RH.pdf:1.1 绘制用例图模型(到子用例)1.2 给出 make reservation 用例的活动图2. 根据课程练习“投递员使用投递箱给收件人快递包裹”的业务场景2.1 分别用多泳道图建模三个场景的业务过程2.2 根据上述流程,给出快递柜系统最终的用例图模型用正常色彩表示第一个业务流程反映的用例用绿色背景表述第二个...

2019-05-26 23:55:50 214

原创 软件测试——程序控制流图、McCabe 环形复杂度与独立路径

题目根据程序流程图,完成:(1) 画出相应的程序控制流图;(2) 给出控制流图的邻接矩阵;(3) 计算 McCabe 环形复杂度;(4) 找出程序的一个独立路径集合。1. 画出相应的程序控制流图2. 给出控制流图的邻接矩阵12345671111000020111000300110004...

2019-05-24 13:40:57 33386 18

原创 系统分析与设计04

简答题用例的概念用例就是一组相关的成功和失败场景集合,用来描述参与者如何使用系统来实现其目标。用例指明了系统将要实现的功能或行为需求。用例和场景的关系?什么是主场景或 happy path?场景是参与者和系统之间一系列特定的活动和交互,也称为用例实例。场景是使用系统的一个特定情节或用例的一条执行 路径。例如使用现金成功购买商品的场景。主场景描述了满足涉众关注点的典型成功路径。主...

2019-05-19 10:17:53 275

原创 系统分析与设计03

文章目录1. 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点2. 简述统一过程三大特点,与面向对象的方法有什么关系?3. 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?4. 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?1. 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点从项目特点、风险特征、人力资源利用角度...

2019-04-21 10:36:15 178

转载 Cookie/Session的机制与安全

来源: https://harttle.land/2015/08/10/cookie-session.html文章目录Cookie 的实现机制Cookie 的安全隐患Cookie 防篡改机制Session 的实现机制Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道。本文来详细讨论Cookie和Session的实现机制,以及其中...

2019-04-17 19:36:36 209

转载 图解HTTPS

原文链接:http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html文章目录HTTPS简介1. 客户端发起HTTPS请求2. 服务端的配置3. 传送证书4. 客户端解析证书5. 传送加密信息6. 服务段解密信息7. 传输加密后的信息8. 客户端解密信息我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或...

2019-04-16 22:44:19 213

原创 系统分析与设计02

1、简答题用简短的语言给出对分析、设计的理解。Analysis is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it. --wiki分析是将复杂的主题或事物分解为更小部分的过程,以便更好地理解它。...

2019-04-14 22:15:30 259

原创 动态规划——最大连乘子序列

昨天去富途面试实习生的时候问到了这样的一道题,记录一下。题目求出一串数的最大连乘子序列的乘积。所谓最大连乘子序列,就是指连续的子序列中的乘积最大的那个子序列,比如{-2.5, 3, 0, 2, 4, -6, -2},24(-6)*(-2)就是乘积最大的连续子序列,结果为96。思路一循环暴力破解法,就是穷举所有的子串,然后求出乘积最大的那个,时间复杂度为O(n2)O(n^2)O(n2)。思...

2019-03-29 11:23:46 376

原创 <Sicily>1005. Prime Palindromes质数回文数的判断方法

原题如下Time Limit: 1sec Memory Limit:256MBDescriptionThe number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). W...

2019-03-24 09:33:37 370

原创 判断一颗树是不是另一棵树的子结构

问题输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路及实现首先要明确的一点是,子结构不是子树,子树是一个更强的条件,而子结构只是指树结构中有这一子部分,如下图,B不是A的子树,但却是A的子结构。 1 2 / \ \ 2 3 5 / \ \...

2019-03-23 15:40:15 682

原创 各种树的简单总结

其中B树部分参考的是这篇文章:从B树、B+树、B*树谈到R 树里面讲得特别详细!树二叉树满二叉树国内:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。国外::a binary tree T is full if each node is either a leaf...

2019-03-21 21:48:43 284

原创 blender 2.8的基本使用和使用形态键(Shape key)做帧动画

文章目录打开blender盒子形状用形态键做帧动画一些常用快捷键打开blender首先打开blender 2.8,出来的画面是这样的。点击画面的任意位置(除中间弹出框)就可以关闭弹出框。之后点击上方的Help->Splash Screen可重新唤起该窗口。盒子形状接下来我们来做一个盒子的形状,点击上方的Modeling进入编辑状态。将左边的工具栏拉宽直至可以看到名字:...

2019-03-21 08:59:22 13982 3

原创 计算机网络——TCP拥塞控制

文章目录1. 拥塞网络的代价2. TCP拥塞控制概述3. TCP拥塞控制算法3.1 慢启动(强制)3.2 拥塞避免(强制)3.3 快速恢复(推荐)3.4 总结TCP拥塞控制是为了解决发送方以过高的速率发送导致网络中出现阻塞,其核心思想就是发生重传时控制发送方滑动窗口(通过控制拥塞窗口cwnd)的大小,从而控制其发送速率。1. 拥塞网络的代价1、当分组的到达速率率接近链路容量时,分组经历巨大的...

2019-03-17 10:18:01 1121

《算法图解》高清中文版.pdf

《算法图解》高清中文PDF,用有趣的语言和图片讲解算法,有目录,可复制,无广告。

2019-03-09

空空如也

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

TA关注的人

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