白 杨
码龄14年
关注
提问 私信
  • 博客:962,634
    社区:309
    962,943
    总访问量
  • 84
    原创
  • 1,922,633
    排名
  • 334
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2010-10-31
博客简介:

白杨的专栏

博客描述:
选择大于努力,态度决定高度!
查看详细资料
个人成就
  • 获得346次点赞
  • 内容获得158次评论
  • 获得668次收藏
  • 代码片获得1,284次分享
创作历程
  • 24篇
    2016年
  • 38篇
    2015年
  • 4篇
    2013年
  • 36篇
    2012年
成就勋章
TA的专栏
  • Scala入门指南
    12篇
  • Linux实用技巧
    11篇
  • C
    8篇
  • Spark && Hadoop
    14篇
  • C++
    15篇
  • Scala
    18篇
  • Linux & Ubuntu
    16篇
  • Machine Learning
    4篇
  • Go
    1篇
  • Tools
    16篇
  • Data Structure
    6篇
  • Graph Computing
    3篇
  • Database
    5篇
  • Jave
    3篇
  • Testing
    1篇
  • Shell
    1篇
  • python
    4篇
  • System Architecture
    2篇
  • Distributed System
  • C#
    2篇
  • English
    3篇
  • Spark && Hadoop
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

深度实践kvm pdf

发布资源 2018.05.26 ·
zip

Golang Unit Test单元测试

1. Golang单元测试对文件名和方法名要求文件名必须以xx_test.go命名方法必须是Test[^a-z]开头方法参数必须 t *testing.T2. go test 参数解读   go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试。通过go help test可以看到go test的使用说明:格式go test [-c] [-i] [build fla
原创
发布博客 2016.07.21 ·
3288 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tmux使用及个性化配置

1. tmux介绍tmux是一个优秀的终端复用软件,split窗口。可以在一个terminal下打开多个终端。即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失。SSH重新连接以后,就可以直接回到原来的工作环境,不但提高了工作效率,还降低了风险,增加了安全性。tmux完全使用键盘控制窗口,实现窗口的切换功能。2. 安装sudo
原创
发布博客 2016.07.08 ·
15696 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

Raft一致性协议

0. 写在前面分布式存储系统通过维护多个副本来进行fault-tolerance,提高系统的availability。 带来的代价就是分布式存储系统的核心问题之一:维护多个副本的一致性。一致性协议就是用来干这事的,即使在部分副本宕机的情况下。Raft是一种较容易理解的一致性协议。 一致性协议通常基于replicated state machines,即所有结点都从同一个state出发,都经
原创
发布博客 2016.07.08 ·
1298 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录

在看一些资料中经常会遇到加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录这写概念。下面将对加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录这些领域技术做一个简单介绍。1. 常用技术间的关系在我们正式开始对每一项技术进行介绍之前,让我们先有一个宏观的认识,下图罗列我们将要涉及的安全技术以及它们之间的关联。 安全领域的技术众多,但是归根结底,他们都是为了保障如下三个方面:认
原创
发布博客 2016.07.08 ·
3253 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

Github 配置SSH KEY

0. 前言很多朋友在用 github 管理项目的时候,都是直接使用 https url 克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用 https url 克隆呢? 这是因为,使用 https url 克隆对初学者来说会比较方便,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了。而使用 SSH url 克隆
原创
发布博客 2016.07.08 ·
2794 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Bloom Filter 原理及 Google BloomFilter

1. Bloom Filter简介布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集合中,但是布隆过滤器只需要哈希表的1/8或1/4的空间复杂度就能完成
原创
发布博客 2016.05.25 ·
3796 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

linux free命令使用及解析

1. 命令格式free [参数]2. 命令功能 free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略3. 命令参数-b  以Byte为单位显示内存使用情况。 -k  以KB为单位显示内存使用情况。 -m  以MB为单位显示内存使用情况。-g 以GB为单位显示内存使用情况。-h 自动转换单位(最常用)-o  不显示
原创
发布博客 2016.05.25 ·
2473 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

scala中集合的交集、并集、差集

交集:scala> Set(1,2,3) & Set(2,4) // &方法等同于interset方法scala> Set(1,2,3) intersect Set(2,4)并集:scala> Set(1,2,3) ++ Set(2,4)scala> Set(1,2,3) | Set(2,4) // |方法等同于union方法scala> Set(1,2,3) union Set(2
原创
发布博客 2016.05.25 ·
3832 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

变量命名规范

1. 驼峰命名法1.1 小驼峰法 除第一个单词之外,其他单词首字母大写(常用于变量)int myStudentNumber1.2 大驼峰法(帕斯卡命名法) 每一个单词的首字母都采用大写字母(常用语类名,函数名,属性,命名空间)class StudentFamily2. 匈牙利命名法 变量名=属性+类型+对象描述,这样做的好处是使程序员第一眼看到变量时就对变量的类型和其它属性有直观
原创
发布博客 2016.05.25 ·
17789 阅读 ·
14 点赞 ·
2 评论 ·
88 收藏

Virtualenv 快速上手指南

1. virtualenv概述 virtualenv 通过创建独立Python开发环境的工具,来解决依赖、版本以及间接权限问题。比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7,版本跨度过大, 导致不兼容使项目无法正在运行,使用virtualenv可以解决这些问题。 virtualenv 创建一个拥有自己安装目录的环境,这个环境不与其他虚拟环境共享库, 能够方
原创
发布博客 2016.05.25 ·
3922 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Zipf,Power-laws,Pareto分布

对于在对数坐标系中出现一条直线而言,三种分布都是可能的:Zipf,Power-laws和 Pareto。这三种分布都是用于描述同一种现象:大量事件是稀少的,而一些小事件确是很普遍的。 例如:成绩非常优异的学生是少数,但是成绩中等的学生却很多。(1)Zipf分布描述事件出现平率yy与其由下优先级r(Rank)r(Rank)之间的关系,按照Zipf模型,事件出现的平率与其优先级rr成反比:
原创
发布博客 2016.05.25 ·
3446 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

影响Spark输出RDD分区的操作函数

1. 会影响到Spark输出RDD分区(partitioner)的操作cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, reduceByKey, combineByKey, partitionBy, sort, mapValues(如果父RDD存在partitioner), flatMapValues(如果父RD
原创
发布博客 2016.05.01 ·
1496 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

fold/foldLeft/foldRight区别和联系

1. fold介绍从本质上说,fold函数将一种格式的输入数据转化成另外一种格式返回。fold, foldLeft和foldRight这三个函数除了有一点点不同外,做的事情差不多。我将在下文解释它们的共同点并解释它们的不同点。 我将从一个简单的例子开始,用fold计算一系列整型的和。val numbers = List(5, 4, 8, 6, 2)numbers.fold(0) { (z, i)
原创
发布博客 2016.05.01 ·
5697 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

Mysql支持的数据类型

1. 数值类型Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整类型 字节 范围(
原创
发布博客 2016.05.01 ·
9001 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Markdown数学符号

Markdown数学符号,Latex数学符号
原创
发布博客 2016.05.01 ·
20122 阅读 ·
19 点赞 ·
10 评论 ·
64 收藏

RESTful API 设计最佳实践

1. 背景REST(英文:Representational State Transfer,表述性状态转移)描述了一个架构样式的网络系统,比如 web 应用程序。 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个a
原创
发布博客 2016.05.01 ·
9409 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

GraphX源码解析(Graph构建过程)

1. Graph构建Graph对象是用户的操作入口,主要包含edge和vertex两部分。边是由点组成,所以边中所有的点就是点的全集,但这个全集包含了重复的点,去重后就是VertexRDD。1.1 构建图的方法从边的集合构建图(Graph.fromEdges)def fromEdges[VD: ClassTag, ED: ClassTag]( edges: RDD[Edge[ED]],
原创
发布博客 2016.04.06 ·
5740 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

Leanote 博客详细安装教程

0. 写在前面本教程仅适合Mac, linux用户。1. 下载leanote二进制版下载 leanote 最新二进制版假设将文件下载到 /home/user1下, 解压文件 $> cd /home/user1$> tar -xzvf leanote-.tar.gz此时在/home/user1目录下有leanote目录, 可以看看里面有什么:$> cd leanote$> lsapp bin
原创
发布博客 2016.03.30 ·
11236 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

scala中sealed关键字使用指南

1. 防止继承滥用​sealed关键字可以修饰类和特质(特质)。密封类提供了一种约束:不能在类定义的文件之外定义任何新的子类。然而,这样做有什么用呢?在scala源码中List的实现用到了sealed关键字。抽象类List有sealed关键字修饰,接下来Nil和::分别继承了该List抽象类。那我们来尝试实现基于List实现一个自己的List:scala> class NewList extends
原创
发布博客 2016.03.10 ·
7795 阅读 ·
5 点赞 ·
1 评论 ·
6 收藏
加载更多