2 刘知昊

尚未进行身份认证

学生。

等级
TA的排名 3k+

【Nginx学习笔记】3:配置文件的语法,命令行的使用(重载配置文件,热部署,切割日志文件)

Nginx二进制文件中已经指定了Nginx包含了哪些模块,所有模块有独立的配置,但遵循相同的配置语法。Nginx配置文件语法基本规则有些指令块可以有参数(跟在指令块名后面),有些指令块不能有参数,具体是由提供指令块的Nginx模块来决定的。时间单位后缀空间单位后缀一个例子Nginx命令行的使用简述Nginx命令行和大多Linux命令是类似的,格式是nginx-参数参数...

2019-08-19 16:44:51

算法设计课程总结4~6(贪心法,回溯法,分支限界法,解空间树剪枝)

[4]贪心算法贪心算法不从整体最优上考虑,而是在局部最优上做出选择。对于很多问题贪心法不能得到整体最优解,但对于某些特殊的问题,仍然可以得到整体最优解。使用贪心算法应满足这些性质:①最优子结构性质:一个问题的最优解包含的子问题也是最优的。②贪心选择性质:整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。活动安排问题n个活动的集合E,都需要使用同一资源,活动i有开始时间si和

2019-08-17 22:38:09

【Nginx学习笔记】2:Nginx的版本发布情况,选择哪种Nginx,安装符合自己需求的Nginx

版本发布情况在Nginx开源版官网点击右侧download可以看到各个版本的Nginx,其中Mainline是抢先的主干版本(版本号是奇数),Stable是稳定版(版本号是偶数)。点击某个版本左侧的CHANGES可以查看CHANGES文件,其中Feature标注了新增的功能,Bugfix标注了修复的bug,Change标注了做了重构的部分。选择哪种Nginx没有特殊需求一般就用开源版Ngi...

2019-08-17 22:32:37

【Nginx学习笔记】1:Nginx的使用场景,出现背景,优点,组成部分

Nginx的使用场景[1]反向代理服务应用服务对开发效率要求很高,其使用效率(QPS,TPS等)是非常有限的,所以需要很多应用服务构成集群,这时候就要用到Nginx的反向代理功能,将动态请求传给各个应用服务。这些应用服务构成集群后至少又会产生两个需求:动态扩容容灾处理(服务可能会出问题)所以Nginx反向代理要有负载均衡的功能。另外,Nginx往往处在企业内网的边缘,随网络链路...

2019-08-14 15:33:48

【MATLAB学习笔记】1:基本操作技巧和矩阵的使用

特殊变量和常量使用iskeyword命令可以看到众关键字,但还有些特殊变量和常量也不能作为标识符来使用。ans:最近一次计算的结果i,j:用于表示复数Inf(即inf):无穷大,试计算1/0和log(0)将分别得到正负无穷大eps:表示浮点数的相对精度,浮点数越靠近0精度越大,MATLAB无法表示1至1+1eps之间的数,也无法表示2至2+2eps之间的数NaN:NotaNumb...

2019-07-24 22:07:36

【区块链学习笔记】11:比特币系统中的匿名性

平时谈的匿名性(anonimity)总是和隐私保护相关,即用户做的事情不想被别人知道。因为比特币系统中账户的产生不会暴露用户个人信息,用户可以产生很多对账户,然后用不同的账户做不同的事情。但这种不暴露个人信息的账户显然不是完全的匿名,可以称为假名(pseudonymity)。所以比特币系统中的匿名只是一种假的匿名,就像作家写作用笔名,网民上网交流用网名一样。这种匿名性能提供什么程度的隐私保护...

2019-07-14 22:03:21

【区块链学习笔记】10:比特币系统中的分叉

产生分叉的情况[1]对区块链状态产生了分歧:statefork前面学过,如果两个节点差不多同时挖到一个区块,这两个区块都是挂在当前的区块上的,不同节点先收到的区块不同,就会各自沿着先收到的区块往下扩展,这种时候就会出现临时性的分叉,称为statefork,即由于对区块链当前的状态有意见分歧而产生的分叉。分叉攻击(forkingattack)也属于statefork,只不过这种意见分...

2019-07-11 23:11:01

【区块链学习笔记】9:比特币中使用的脚本语言#2

前面学到P2SK设计得很复杂,但其一个应用场景就是多重签名。多重签名比特币系统中一个交易输出可能要求使用它的交易输入提供多个签名,才能把BTC取出来。比如某个公司可能要求5个合伙人中的任意三个提供签名,才能把公司的钱转走。这样设计不但为私钥的泄露提供了一定安全性保护,也为私钥的丢失提供了一定的容错性。[1]最早的多重签名简述最早的多重签名是通过比特币脚本中的CEHCKMULTISIG操作...

2019-07-10 23:07:20

【区块链学习笔记】8:比特币中使用的脚本语言#1

比特币系统中使用的脚本语言很简单,唯一能访问的内存空间就是一个栈,这点和通用脚本语言的区别很大。在blockchain.info上观察一个交易以下面这个交易为例:这个交易有一个输入和两个输出,其中一个输出已经被花出去了,另一个没有被花出去。输入脚本输入脚本包含两个操作,分别将两个很长的数压入栈中。输出脚本输出脚本有两行,分别对应上面的两个输出,即每个输出有自己单独的一段脚本。...

2019-07-10 18:29:32

【区块链学习笔记】7:比特币中的挖矿

比特币系统中有两种节点,一种是全节点,一种是轻节点。全节点的特征一直在线在本地硬盘上维护完整的区块链信息在内存中维护UTXO集合,以便快速检验交易的正确性监听比特币网络上的交易信息,验证每个交易的合法性监听别的矿工挖出的区块,验证其合法性:区块中的每个交易都要合法(包括铸币交易及其出块奖励)发布的区块是不是符合难度要求、难度目标阈值的设置是否正确、每两周调整的挖矿难度区块是在...

2019-07-09 22:30:11

【区块链学习笔记】6:比特币挖矿难度的调整

挖矿难度挖矿就是不断尝试区块块头中的nonce和extranonce的值,使得:H(block header)≤targetH(block\header)\leqtargetH(block header)≤target显然目标阈值target越小,则挖矿的难度就越大。所以调整挖矿难度就是在调整target,以调整目标空间在整个输出空间中所占的比例。比特币中使用的哈...

2019-07-09 09:42:16

【区块链学习笔记】5:比特币网络的原理简述

新的交易要发布到比特币网络上,矿工将交易打包成的区块也要发布到比特币网络上。应用层:BitcoinBlockchain网络层:P2POverlayNetwork比特币网络中的P2P网络是很简单的,所有结点之间都是对等的,没有超级结点。要加入这个网络,至少要有一个种子结点(seednode),和种子结点联系,它会告知它所知道的网络中的其它结点(有点像构造路由表的过程)。结点之间通过...

2019-07-08 22:34:16

【区块链学习笔记】4:比特币系统的实现

区块链是去中心化的账本,比特币采用的是基于交易的账本模式(transaction-basedledger),只记录了转账交易和铸币交易,并没有直接记录每个账户上有多少钱。如果想知道某个比特币账户上有多少钱,要通过交易记录来推算。UTXO比特币中的全结点要维护一个叫UTXO(UnspentTransactionOutput)的数据结构,即还没有被花出去的交易的输出。一个交易可能有多个输出,...

2019-07-08 20:09:11

【区块链学习笔记】3:比特币中的共识协议

数字货币和纸质货币的区别这里肖老师举了一个例子,比如央行要发行数字货币,如果直接为货币的面额等信息,用央行的私钥签名,然后使用的时候,用户直接拿央行的公钥验证签名,就这样用是行不通的,因为完全可以用这个数字货币再去买东西了,这叫双花攻击(doublespendingattack)。签名保证了面额等信息不能修改,但这个数字文件可以复制很多份。如果是纸质货币,花出去自己手里就没有了,这是数字货币...

2019-07-07 23:13:48

【区块链学习笔记】2:比特币中的数据结构

[1]哈希指针普通的指针存储的是某个数据在内存中的首地址。哈希指针不仅要保存地址,还要保存数据的哈希值。通过哈希指针不仅能找到数据的位置,还能检测出数据有没有被篡改(因为保存了哈希值)。[2]区块链区块链就是一个个区块(block)组成的链表。和普通的链表相比有一些区别。用哈希指针代替普通指针走到底的区块是系统中产生的第一个区块(在区块链的最末尾,下图中最左),叫创世纪块(genesi...

2019-07-06 22:43:05

【区块链学习笔记】1:比特币中的密码学原理

跟着肖臻老师公开课学习一下区块链技术。加密货币加密货币(crypto-currency)是不加密的,区块链上的所有交易都是公开的,包括转账地址和转账金额。比特币中和密码学有关的技术主要就是哈希和签名两种技术。密码学中的哈希函数密码学中的哈希函数叫cryptographichashfunction,有如下两个性质。性质1:collisionresistance(collisionf...

2019-05-21 12:23:17

【PyTorch学习笔记】19:Batch Normalization

归一化(Normalization)简述现在常使用ReLU函数,避免梯度弥散的问题,但是有些场合使用Sigmoid这样的函数效果更好(或者是必须使用),如Sigmoid函数当函数值较大或者较小时,其导数都接近0,这会引起梯度弥散,所以要将输入控制在一个较好的范围内,这样才避免了这种问题。BatchNormalization就是为了解决这个需求的,当将输出送入Sigmoid这样的激活函数之前...

2019-04-30 12:40:53

【PyTorch学习笔记】18:pooling,up-sample,ReLU

pooling池化是下采样(down-sample)的一种手段,让featuremap减小;而up-sample则是上采样,实际上做了放大图像的操作。在CNN中,基本的单元是一个Conv2d,后面配上[BatchNorm,pooling,ReLU],后面三个的顺序不一定。pooling图像的down-sample在图像中要缩小图像的尺寸,常用的是隔行采样的方式,例如纵向每隔一行...

2019-04-29 10:21:26

【Go学习笔记】1:变量,常量,数组

变量基本使用packagemainimport"fmt"vare="一个全局变量字符串"varf,gint=1,2//一次定义多个//可以用因式分解的写法var( h,i,jint=3,4,5 kbool=false l,mfloat32=2.5,3.5)funcmain(){...

2019-04-26 21:10:23

【Keras学习笔记】11:CNN识别MNIST手写数字

CNN架构卷积层layers.Conv2Ddata-format:输入图像的格式,当为"channels_last"时为(batch,height,width,channels);当为"channels_first"时为(batch,channels,height,width)filters:生成多少个卷积核(要得到的图像的厚度),即变换后的图像通道数kernel_si...

2019-04-24 15:28:04

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。