<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[白杨的专栏]]></title><description><![CDATA[选择大于努力，态度决定高度！]]></description><link>https://blog.youkuaiyun.com/ZCF1002797280</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZCF1002797280]]></copyright><item><title><![CDATA[Golang Unit Test单元测试]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51981299</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51981299</guid><author>ZCF1002797280</author><pubDate>Thu, 21 Jul 2016 11:41:10 +0800</pubDate><description><![CDATA[1. Golang单元测试对文件名和方法名要求
文件名必须以xx_test.go命名
方法必须是Test[^a-z]开头
方法参数必须 t *testing.T
2. go test 参数解读　　 
go test是go语言自带的测试工具，其中包含的是两类，单元测试和性能测试。通过go help test可以看到go test的使用说明：
格式go test [-c] [-i] [build fla]]></description><category></category></item><item><title><![CDATA[tmux使用及个性化配置]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859524</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859524</guid><author>ZCF1002797280</author><pubDate>Fri, 08 Jul 2016 11:30:03 +0800</pubDate><description><![CDATA[1. tmux介绍
tmux是一个优秀的终端复用软件，split窗口。可以在一个terminal下打开多个终端。
即使非正常掉线，也能保证当前的任务运行，这一点对于远程SSH访问特别有用，网络不好的情况下仍然能保证工作现场不丢失。SSH重新连接以后，就可以直接回到原来的工作环境，不但提高了工作效率，还降低了风险，增加了安全性。
tmux完全使用键盘控制窗口，实现窗口的切换功能。
2. 安装sudo]]></description><category></category></item><item><title><![CDATA[Raft一致性协议]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859495</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859495</guid><author>ZCF1002797280</author><pubDate>Fri, 08 Jul 2016 11:27:19 +0800</pubDate><description><![CDATA[0. 写在前面分布式存储系统通过维护多个副本来进行fault-tolerance，提高系统的availability。
  带来的代价就是分布式存储系统的核心问题之一：维护多个副本的一致性。
一致性协议就是用来干这事的，即使在部分副本宕机的情况下。Raft是一种较容易理解的一致性协议。
  一致性协议通常基于replicated state machines，即所有结点都从同一个state出发，都经]]></description><category></category></item><item><title><![CDATA[加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859452</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859452</guid><author>ZCF1002797280</author><pubDate>Fri, 08 Jul 2016 11:23:09 +0800</pubDate><description><![CDATA[在看一些资料中经常会遇到加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录这写概念。下面将对加密、数字摘要、数字证书、SSL、HTTPS及SSH免密登录这些领域技术做一个简单介绍。1. 常用技术间的关系
在我们正式开始对每一项技术进行介绍之前，让我们先有一个宏观的认识，下图罗列我们将要涉及的安全技术以及它们之间的关联。 
 安全领域的技术众多，但是归根结底，他们都是为了保障如下三个方面：认]]></description><category></category></item><item><title><![CDATA[Github 配置SSH KEY]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859414</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51859414</guid><author>ZCF1002797280</author><pubDate>Fri, 08 Jul 2016 11:20:14 +0800</pubDate><description><![CDATA[0. 前言很多朋友在用 github 管理项目的时候，都是直接使用 https url 克隆到本地，当然也有有些人使用 SSH url 克隆到本地。然而，为什么绝大多数人会使用 https url 克隆呢？
  这是因为，使用 https url 克隆对初学者来说会比较方便，复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了。而使用 SSH url 克隆]]></description><category></category></item><item><title><![CDATA[Bloom Filter 原理及 Google BloomFilter]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495362</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495362</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:24:47 +0800</pubDate><description><![CDATA[1. Bloom Filter简介布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出，它是一种space efficient的概率型数据结构，用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用于判断元素是否在集合中，但是布隆过滤器只需要哈希表的1/8或1/4的空间复杂度就能完成]]></description><category></category></item><item><title><![CDATA[linux free命令使用及解析]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495347</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495347</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:20:09 +0800</pubDate><description><![CDATA[1. 命令格式free [参数]
2. 命令功能
  free 命令显示系统使用和空闲的内存情况，包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略
3. 命令参数-b 　以Byte为单位显示内存使用情况。 
-k 　以KB为单位显示内存使用情况。 
-m 　以MB为单位显示内存使用情况。
-g   以GB为单位显示内存使用情况。
-h   自动转换单位（最常用）
-o 　不显示]]></description><category></category></item><item><title><![CDATA[scala中集合的交集、并集、差集]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495231</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495231</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:09:44 +0800</pubDate><description><![CDATA[交集：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]]></description><category></category></item><item><title><![CDATA[变量命名规范]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495229</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495229</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:07:14 +0800</pubDate><description><![CDATA[1. 驼峰命名法1.1 小驼峰法
  除第一个单词之外，其他单词首字母大写（常用于变量）
int myStudentNumber
1.2 大驼峰法（帕斯卡命名法）
  每一个单词的首字母都采用大写字母（常用语类名，函数名，属性，命名空间）
class StudentFamily
2. 匈牙利命名法
  变量名＝属性＋类型＋对象描述，这样做的好处是使程序员第一眼看到变量时就对变量的类型和其它属性有直观]]></description><category></category></item><item><title><![CDATA[Virtualenv 快速上手指南]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495228</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495228</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:04:00 +0800</pubDate><description><![CDATA[1. virtualenv概述
  virtualenv 通过创建独立Python开发环境的工具，来解决依赖、版本以及间接权限问题。比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7，版本跨度过大， 导致不兼容使项目无法正在运行，使用virtualenv可以解决这些问题。
  
  virtualenv 创建一个拥有自己安装目录的环境，这个环境不与其他虚拟环境共享库， 能够方]]></description><category></category></item><item><title><![CDATA[Zipf,Power-laws,Pareto分布]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495225</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51495225</guid><author>ZCF1002797280</author><pubDate>Wed, 25 May 2016 08:01:41 +0800</pubDate><description><![CDATA[对于在对数坐标系中出现一条直线而言，三种分布都是可能的：Zipf，Power-laws和 Pareto。这三种分布都是用于描述同一种现象：大量事件是稀少的，而一些小事件确是很普遍的。 
例如：成绩非常优异的学生是少数，但是成绩中等的学生却很多。(1)Zipf分布描述事件出现平率yy与其由下优先级r(Rank)r(Rank)之间的关系，按照Zipf模型，事件出现的平率与其优先级rr成反比:]]></description><category></category></item><item><title><![CDATA[影响Spark输出RDD分区的操作函数]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289590</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289590</guid><author>ZCF1002797280</author><pubDate>Sun, 01 May 2016 10:05:13 +0800</pubDate><description><![CDATA[1. 会影响到Spark输出RDD分区（partitioner）的操作cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, reduceByKey, combineByKey, partitionBy, sort, mapValues(如果父RDD存在partitioner), flatMapValues(如果父RD]]></description><category></category></item><item><title><![CDATA[fold/foldLeft/foldRight区别和联系]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289575</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289575</guid><author>ZCF1002797280</author><pubDate>Sun, 01 May 2016 09:59:30 +0800</pubDate><description><![CDATA[1. fold介绍从本质上说，fold函数将一种格式的输入数据转化成另外一种格式返回。fold, foldLeft和foldRight这三个函数除了有一点点不同外，做的事情差不多。我将在下文解释它们的共同点并解释它们的不同点。 
我将从一个简单的例子开始，用fold计算一系列整型的和。val numbers = List(5, 4, 8, 6, 2)
numbers.fold(0) { (z, i)]]></description><category></category></item><item><title><![CDATA[Mysql支持的数据类型]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289560</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289560</guid><author>ZCF1002797280</author><pubDate>Sun, 01 May 2016 09:54:48 +0800</pubDate><description><![CDATA[1. 数值类型Mysql支持所有标准SQL中的数值类型，其中包括严格数据类型(INTEGER，SMALLINT，DECIMAL，NUMBERIC)，以及近似数值数据类型(FLOAT，REAL，DOUBLE PRESISION)，并在此基础上进行扩展。扩展后增加了TINYINT，MEDIUMINT，BIGINT这3种长度不同的整形，并增加了BIT类型，用来存放位数据。
  整类型
  字节
  范围（]]></description><category></category></item><item><title><![CDATA[Markdown数学符号]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289555</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289555</guid><author>ZCF1002797280</author><pubDate>Sun, 01 May 2016 09:50:33 +0800</pubDate><description><![CDATA[Markdown数学符号，Latex数学符号]]></description><category></category></item><item><title><![CDATA[RESTful API 设计最佳实践]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289507</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51289507</guid><author>ZCF1002797280</author><pubDate>Sun, 01 May 2016 09:30:02 +0800</pubDate><description><![CDATA[1. 背景REST（英文：Representational State Transfer，表述性状态转移）描述了一个架构样式的网络系统，比如 web 应用程序。  目前互联网上充斥着大量的关于RESTful API（为方便，下文中“RESTful API ”简写为“API”）如何设计的文章，然而却没有一个”万能“的设计标准：如何鉴权？API 格式如何？你的API是否应该加入版本信息？当你开始写一个a]]></description><category></category></item><item><title><![CDATA[GraphX源码解析（Graph构建过程）]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51075656</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51075656</guid><author>ZCF1002797280</author><pubDate>Wed, 06 Apr 2016 15:58:49 +0800</pubDate><description><![CDATA[1. Graph构建Graph对象是用户的操作入口，主要包含edge和vertex两部分。边是由点组成，所以边中所有的点就是点的全集，但这个全集包含了重复的点，去重后就是VertexRDD。1.1 构建图的方法
从边的集合构建图（Graph.fromEdges）def fromEdges[VD: ClassTag, ED: ClassTag](
      edges: RDD[Edge[ED]],]]></description><category></category></item><item><title><![CDATA[Leanote 博客详细安装教程]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51011040</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/51011040</guid><author>ZCF1002797280</author><pubDate>Wed, 30 Mar 2016 09:14:02 +0800</pubDate><description><![CDATA[0. 写在前面本教程仅适合Mac, linux用户。1. 下载leanote二进制版下载 leanote 最新二进制版假设将文件下载到 /home/user1下, 解压文件 $> cd /home/user1
$> tar -xzvf leanote-.tar.gz此时在/home/user1目录下有leanote目录, 可以看看里面有什么:$> cd leanote
$> ls
app  bin]]></description><category></category></item><item><title><![CDATA[scala中sealed关键字使用指南]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/50848487</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/50848487</guid><author>ZCF1002797280</author><pubDate>Thu, 10 Mar 2016 17:22:59 +0800</pubDate><description><![CDATA[1. 防止继承滥用​sealed关键字可以修饰类和特质（特质）。密封类提供了一种约束：不能在类定义的文件之外定义任何新的子类。然而，这样做有什么用呢？在scala源码中List的实现用到了sealed关键字。抽象类List有sealed关键字修饰，接下来Nil和::分别继承了该List抽象类。那我们来尝试实现基于List实现一个自己的List：scala> class NewList extends]]></description><category></category></item><item><title><![CDATA[基于近邻用户协同过滤算法的音乐推荐系统]]></title><link>https://blog.youkuaiyun.com/ZCF1002797280/article/details/50786893</link><guid>https://blog.youkuaiyun.com/ZCF1002797280/article/details/50786893</guid><author>ZCF1002797280</author><pubDate>Thu, 03 Mar 2016 11:04:12 +0800</pubDate><description><![CDATA[0. 摘 要基于近邻用户的协同过滤音乐推荐系统，主要是将与目标用户有相同行为和兴趣爱好的用户，形成一个最近邻的推荐群组，从最近邻推荐群组中产生最终的目标用户推荐列表。该推荐系统通过网络爬虫获取虾米音乐网站真实未脱敏用户的行为信息，采用余弦相似度作为求解相似矩阵的算法，从而为目标用户推荐喜欢的音乐，达到推荐目标。1. 引言1.1 研究背景人类已经进入信息爆炸的时代，面对这么庞大的信息，是很难进行人为筛]]></description><category></category></item></channel></rss>