自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

新手村

最近学的东西随便写写,以免到后面自己都忘记了、、、

  • 博客(67)
  • 资源 (2)
  • 收藏
  • 关注

原创 Ubuntu下 Hyperledger Farbic 环境配置

Hyperledger FarbicHyperledger作为IBM旗下主推的区块链,是首个面向企业的开放区块链技术的重要探索,现阶段也推出了1.0稳定版本。虽然IBM也有相关的配置文档,并且完善度十分高,但是依旧有些坑点。配置目录:以下皆为Ubuntu系统下:OpensslCurl + HttpsGo配置DockerDocker-composenpmNode.js Curl:作为拉取Farbic...

2018-02-15 05:10:25 1242

原创 [LeetCode] Longest Substring Without Repeating Characters Python

题目:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3.Given "bbbbb", the answer i

2018-01-24 03:46:35 617

原创 A5/1流密码算法详解

A5/1A5 / 1是用于在GSM蜂窝电话标准中提供无线通信隐私的流密码。它是为GSM使用指定的七种算法之一。最初是保密的,但通过泄漏和逆向工程成为公众的知识。 密码中存在一些严重的弱点。算法步骤:A5/1算法使用3个线性反馈移位寄存器,简称为LFSR。三个寄存器的分别为19位、22位、23位。这里要使用三个共包含64位二进制的线性反馈移位寄存器,这个设计绝非偶然。

2017-11-27 04:37:30 18090 3

原创 SHA-2 安全散列算法2 算法详解

SHA-2又称安全散列算法2(Secure Hash Algorithm 2),是一种密码散列函数算法标准,其输出长度可取224位、256位、384位、512位,分别对应SHA-224、SHA-256、SHA-384、SHA-512。它含包含另外两个算法:SHA-512/224、SHA-512/256。下面我们主要讨论SHA-256算法具体步骤:SHA-256算法的输入是最

2017-11-18 03:09:10 15069

原创 块加密 工作模式 ECB、CBC、PCBC、CFB、OFB、CTR

块加密块加密,英文Block Cyper,又称分组加密,是一种常见的对称加密,具有代表性的块加密有DES,AES,3DES等。块加密的工作模式允许使用同一个分组密码密钥对多于一块的数据进行加密,并保证其安全性。ECB模式又称电子密码本模式:Electronic codebook,是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块,之后将每块使用相同的

2017-10-25 03:38:04 35546 4

原创 Remix 以太坊Solidity IDE搭建与初步使用

以太坊:因为以太坊为开源社区,虽然东西很优秀,但是组件十分的杂乱,因此首先简单介绍下以太坊的一些常用组件:1. Geth:Geth是由以太坊基金会提供的官方客户端软件,用Go编程语言编写的。2. Parity:Parity 是对以太坊协议的另一个很好的实现,并且是用Rust编程语言编写的。 这是一个由一家名为Parity Inc的公司来维护的非官方客户端。任

2017-09-28 03:50:53 40463 11

原创 DES 数据加密标准 结构详解

DESData Encryption Standard,又称数据加密标准,是一种对称加密算法,也是密码学摆脱古典流加密后最简单的一种块加密算法。由于香农与1949年提出“完善保密性”,该标准要求密钥长度不短于明文长度,实际操作难以达到,因此DES使用了块加密,选择牺牲一定程度的“完善保密性”来降低密钥的长度。核心结构:上图为DES的整体结构,Feistel

2017-09-26 02:01:08 7959

原创 波雷费密码 Playfair Cipher 及 希尔密码 Hill Cipher 原理简述

本篇可以看做是以前“密码史简介(对称加密以解密)”这篇的番外,附链接:http://blog.csdn.net/jerry81333/article/details/52708379波雷费密码 Playfair Cipher:1854年面世,曾在一战时期被英军所使用,二战时期澳大利亚所使用(话说土澳这样真的好吗,人家德军都是One-time-pad了、、、)具体

2017-09-17 03:08:00 14669

原创 变色龙哈希函数 Chameleon Hash 可变型区块链

哈希函数 Hash:众所周知,区块链有着极其优秀的安全性就是因为其充分使用了哈希函数。哈希简单用一句话来讲,就是:将任意长度输入的字串可转换成一个固定长度的字串,通过原始字串可以很容易地算出转换后的字串,通过转换后的字串很难还原出原始字串。哈希函数特征:1. 对于任意m作为输入,得到输出的结果,很难找到另一个输入m'  (m'不等于m),使得m'的Hash结果也为同样的输出

2017-07-26 13:35:28 13435 4

原创 [LeetCode] Trapping Rain Water 三种方案 Python

Trapping Rain Water:Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,

2017-07-25 15:21:38 758

原创 [LeetCode] 3Sum Closest 最近的三数之和 Python

3Sum Closest:Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input w

2017-07-24 16:31:37 1368

原创 [LeetCode] 3Sum 三数之和 Python

刚开始刷题,各方面都觉得很不成熟,总是被Time Limited,特此总结下失败的思维和成功的思维。Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum o

2017-07-24 15:24:32 3534 1

原创 DBSCAN 具有噪声的基于密度的聚类算法简述 附Python代码

DBSCAN DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法。基本概念:所需参数:半径:EpsEps半径内指定的数目(阈值):MinPts数据点分为三:1. 核心点:在半径Eps内含有超过MinPts数目的点

2017-07-21 15:46:36 9142 1

原创 量子密码学 BB84 简述

量子计算机最近看见量子传输通道在国内某块ZF内部已经建立起来了,着实吓了一跳,毕竟现阶段的大部分加密方式都没有考虑过量子计算机的威胁。因此个人觉得还是有必要了解一下基础的。当然,本人不是物理专业,所有仅从计算机层面来简述一个基础。量子计算机是用量子逻辑进行运算的计算机,相较于传统计算机,理论上量子计算机能让计算量飙升数十甚至百倍,因此在摩尔定律逐渐趋于极限的现在,量子计算机也是未来的一种方

2017-07-11 10:28:24 7374

转载 TensorFlow不同版本引起的错误

最近有开始搞点Tensorflow,但是突然发现以前有点API没用了,特此转载,用来记录,方便回忆。转自:http://blog.csdn.net/s_sunnyy/article/details/70999462前4个是 V0.11 的API 用在 V1.0 的错误1. AttributeError: 'module' object has no attrib

2017-07-07 16:48:22 2117

原创 K-means、K-means ++、K-modes和K-prototype聚类算法简述 附Python代码

K-meansK-means属于聚类算法中最简单的一种,也是一种无监督学习的算法。步骤:按上图所示,具体步骤如下:1. 设定初始簇的个数,上图为22. 使用欧式距离对簇进行分类,与最近的簇为一类,如上图所示,分为红蓝两类3. 对已分类的所有数据区均值,取X/Y坐标的平均值,设为新的中心点,如上图c-d的操作4. 重新对簇进行分类(如步骤2),如上

2017-07-07 16:25:04 18725 2

原创 区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述

共识算法区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今POS的变体DPOS(Delegated Proof of Stake,股份授权证明)进一步削减算力的浪费,同时也加强了区块链的安全性。不过,对于不需要货币体系的许可链或者私有链而言,绝对信任的节点

2017-07-04 15:16:31 60913 10

原创 智能音箱对比:Google,Amazon,Apple,讯飞

智能音箱好久没写Blog,最近主要也在关心异军突起的智能音箱行列,这里也来稍微的分析下。前言2014年,Amazon不声不响的推出了智能音箱Echo,并慢慢建立了Alexa语音服务平台,直到2016年销量忽然剧增达到了1000万台。消息一出,整个科技业就像饿了几月的狼看见鲜肉一般,不管有的没的,先立项,拨款,发布会,一气呵成,似乎每家公司都有这类应急预案一般。以下,先来看看现在

2017-06-30 15:18:19 34565

原创 Ubuntu Truffle 创建及编译测试合约基础

Truffle:在此声明,本文仅基于V3.2.1版本为基础,可适用于3.X版本,因为Truffle近几版改动也是较大,因此可能具有一定的时效性。目录结构:基于我上一篇文章配置后,项目目录将会如下:app:前端界面的展示,也就是localhost:8080时所展示的界面。build:当执行truffle migrate时,会自动将contracts里面的.so

2017-04-27 09:40:53 2886

原创 Ubuntu Truffle V3.2.1环境配置及合约部署基础

Truffle:以太坊是区块链开发领域最好的编程平台,而Truffle是以太坊(Ethereum)最受欢迎的一个开发框架。以前写过的go-ethereum并不是主要用于开发的,Truffle才是,但是因为Windows系统出了名的乱,部署起来问题一堆堆的,所以我最后还是选择了Ubuntu。至于为何要写这篇文章,主要是因为3.X版本,相比2.X版本在部署上有了很大的改变,继续延续2.X的部署会遇

2017-04-25 03:52:09 2777 1

原创 数据库事务处理的简介及常见思路

数据库事务事务简介:核心就是:锁,并发一个事务单元:事务要保证的就是ACID:原子性,一致性,隔离性,持久性。在数据库中事务可以代表:1. 索引 2. 读取数据 3. 写入数据 4.删除数据 等等基本上需要对数据的操作都可以被认为是一个事务。事务单元之间的Happen-Before 关系:读写,写读,读读,写写。事务的执行要保证逻辑的情况下,

2017-04-06 11:08:51 934 1

原创 Win10 Django+MySQL+Python3 配置

Django网上大部分情况都是基于Python2.7,或者Django1.10以下版本来进行的,使用Python3时候会产生不少问题,在此记录下配置的方法。配置步骤:1.使用pip安装Django,和pymysql包:pip install Djangopip install pymysql2.新建一个Application:python manage.py starta

2017-03-07 02:11:05 3634

原创 Win10 go-ethereum的安装配置与基本使用教程

go-ethereumgo-ethereum是以太坊的客户端之一,是一个基于Go语言的客户端。以太坊还有别的客户端包括C++,JavaScript,python,Java等,比较常用的就是Go语言实现的客户端geth (go-ethereum),其他常用的还有一个叫testrpc的工具, 它使用了Python客户端pyethereum。Win10配置:1.打开Powershell,wi

2017-02-19 03:22:54 11156 12

转载 AVL树 平衡二叉树 简介及实现原理

平衡二叉树平衡树是计算机科学中的一类数据结构。 平衡树是计算机科学中的一类改进的二叉查找树。在这里,平衡指所有叶子的深度趋于平衡,更广义的是指在树上所有可能查找的均摊复杂度偏低。AVL树AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或

2017-01-31 03:24:32 1031

原创 最短路径算法 Dijkstra算法 Floyd算法 简述

Dijkstra算法又称迪杰斯特拉算法,是一个经典的最短路径算法,主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止,使用了广度优先搜索解决赋权有向图的单源最短路径问题,算法最终得到一个最短路径树。时间复杂度为O(N^2)执行动画:实例:抽象步骤:1.将起点A放入集合中,A点的权值为0,因为A->A=0。2.与起点A相连的所有点的权值设

2017-01-29 06:22:47 30907 8

原创 Prim算法 Kruskal算法 简述

Prim算法和Kruskal算法,都是用来找出图中最小生成树的算法,两个算法有些小差别。Prim算法又称普里姆算法,以图上的顶点为出发点,逐次选择到最小生成树顶点集距离最短的顶点为最小生成树的顶点,并加入到该顶点集,直到包含所有的顶点。步骤:1.选择一出发点,加入集合A。2.遍历与集合A中的点相邻的边,找到最短的边,并且不构成回路。3.将步骤2得到的边的目标点加入集合A

2017-01-25 06:28:30 6390 1

原创 赫夫曼树 赫夫曼编码

赫夫曼树又称哈夫曼树,最优二叉树,其本质就是一个带权值的树。它们的带权路径长度分别为:图a: WPL=5*2+7*2+2*2+13*2=54图b: WPL=5*3+2*3+7*2+13*1=48图b为赫夫曼树。构建赫夫曼树:步骤:1,将所有左,右子树都为空的作为根节点。2,在森林中选出两棵根节点的权值最小的树作为一棵新树的左,右子树,且置新树

2017-01-22 03:25:58 1023

原创 四则运算表达式 逆波兰表达式

感觉是一块比较偏门的东西,特此记录下:逆波兰表达式:或者叫后缀表达式,我们原先用的一直都是中缀表达式,但是因为如果表达式过长,计算机计算起来不方便。需要先遍历一边,找出其中的()进行优先计算,如果有多个()叠加的话就更麻烦了。于是为了计算机的方便计算,将中缀表达式转换成后缀表达式,计算机便可以使用栈的特性,来快速的计算一个表达式。至于逆波兰表达式这个名字,相传是因为这个波兰人的名字太复杂了

2017-01-10 22:56:07 1575

原创 常用排序算法

排序算法:内部排序算法大致分为两种:一种是比较排序,时间复杂度最少可达到O(n log n),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,

2017-01-02 21:56:31 510

原创 基于SVM的股票预测 Python实现 附Github

SVM 支持向量机原理就不赘述了,其余的文章有讲过。SVM是一种十分优秀的分类算法,使用SVM也能给股票进行一定程度上的预测。核心因为是分类算法,因此不像ARIMA一样预测的是时序。分类就要有东西可分,因此将当日涨记为1,跌记为0,作为分类的依据。使用历史数据作为训练数据。处理数据:1.股票历史数据来源于yahoo_finance api,获取其中Open,Cl

2016-12-30 21:32:25 39187 6

原创 基于ARIMA的股票预测 Python实现 附Github

ARIMA全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA)。核心函数是ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它

2016-12-23 04:51:12 23292 1

原创 基于NaiveBayse SVM KNN的Python垃圾短信过滤系统(二)

Update V2.0增大了数据量,从80条数据,60训练数据,20测试数据,到160条数据,120训练数据,40测试数据。因为数据源原因,160条数据之后不是GBK编码,无法识别,因此最多160条。依旧可以看出各个算法对于垃圾短信系统的特点,NB时间消耗短,准确率较高,因此性价比高,SVM虽然慢,但是准确率惊人,KNN永远都不会把正常短信当成垃圾短信。基于80条数据,60训练

2016-12-18 13:02:34 2448

原创 基于NaiveBayse SVM KNN的Python垃圾短信过滤系统 附代码

垃圾短信过滤系统一个课程的结课设计,挺好玩的。数据处理:短信数据来源于UCI machine learning repository,可以到以下网址去下载:https://archive.ics.uci.edu/ml/datasets/SMS+Spam+Collection计算机不可能直接识别文字,并在其基础上进行计算,因此,我们的文字将要转换成可计算的数字,比如,向量。步

2016-12-12 18:01:45 5483 1

原创 SVM 基本概念及Python实现方式

SVM(support vector machine)支持向量机:注意:本文不准备提到数学证明的过程,一是因为有一篇非常好的文章解释的非常好:http://blog.csdn.net/v_july_v/article/details/7624837,另一方面是因为我只是个程序员,不是搞数学的(主要是因为数学不好。),主要目的是将SVM以最通俗易懂,简单粗暴的方式解释清楚。线性分类:

2016-11-16 09:55:18 16683 4

原创 决策树 (Decision Tree) 进阶应用 CART剪枝方法及Python实现方式

决策树  Decision TreeC5.0先简述下C5.0,C5.0是一个商业软件,对于公众是不可得到的。它是在C4.5算法做了一些改进。比之C45,减少了内存,使用更少的规则集,并且准确率更高。CART:Classification and Regression Trees与C4.5算法是非常相似的,也只是如何选取节点的区别,但是CART支持预测连续的值(回归)

2016-11-16 03:48:50 17491 2

原创 K-Nearest Neighbor(KNN) 最邻近分类算法及Python实现方式

K-Nearest Neighbor 最邻近分类算法:简称KNN,最简单的机器学习算法之一,核心思想俗称“随大流”。是一种分类算法,基于实例的学习(instance-based learning)和懒惰学习(lazy learning)。懒惰学习:指的是在训练是仅仅是保存样本集的信息,直到测试样本到达是才进行分类决策。核心想法:在距离空间里,如果一个样本的最接近的k个邻居里

2016-11-12 05:40:16 17170 3

原创 Python Socket通讯编程入门

Socket:又名套接字,是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。三种最流行的套接字类型是:stream,datagram和raw。stream和datagram套接字可以直接与TCP协议进行接口

2016-11-12 03:46:27 869

转载 TCP协议,UDP协议,TCP/IP的区别

TCP/IP:首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,传输层,网络层,网络访

2016-11-11 22:20:24 1669

原创 决策树 (Decision Tree) 原理简述及相关算法(ID3,C4.5)

Decision Tree 决策树:决策树是属于机器学习监督学习分类算法中比较简单的一种,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。 下面来看个范例,就能很快理解

2016-11-11 04:11:06 23854 2

原创 Tensorflow Overfitting过拟合解决方法 Dropput()使用方法

Overfitting过拟合所谓过拟合,就是指把学习进行的太彻底,把样本数据的所有特征几乎都习得了,于是机器学到了过多的局部特征,过多的由于噪声带来的假特征,造成模型的“泛化性”和识别正确率几乎达到谷点,于是你用你的机器识别新的样本的时候会发现就没几个是正确识别的。如上图所示,左边是Underfitting欠拟合,一根直线,根本无法区分数据,或是与理想区分度误差太大。中间图片,

2016-11-10 02:39:04 8255 1

Pro OGRE 3D Programming 中文翻译版本0.2.0

Ogre 3D是一个成熟,稳定,可靠,灵活,跨平台,而且拥有丰富功能实时3D图形库。

2012-12-04

空空如也

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

TA关注的人

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