<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[零的幂方 的博客]]></title><description><![CDATA[请输入博客描述...]]></description><link>https://blog.youkuaiyun.com/wwjde_csdn</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wwjde_csdn]]></copyright><item><title><![CDATA[Scala 学习（10）之「集合 」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104136311</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104136311</guid><author>wwjde_csdn</author><pubDate>Tue, 18 Feb 2020 22:14:21 +0800</pubDate><description><![CDATA[数组
定长数组
Array：采用()访问，而不是[]，下标从 0 开始。
val array1 = new Array[String](5)		//创建数组
println(array1)		//返回数组的hashcode
array1.length		//Int = 5
array1(1) = "0mifang"	//为指定的index位置的元素进行赋值

val array2 = Array(...]]></description><category></category></item><item><title><![CDATA[Scala 学习（9）之「函数式编程」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104121249</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104121249</guid><author>wwjde_csdn</author><pubDate>Sun, 16 Feb 2020 22:37:24 +0800</pubDate><description><![CDATA[引用透明

对相同的输入，总是能得到相同的输出。
如果 f(x) 的参数 x 和函数体都是引用透明的，那么函数 f 是纯函数。

违反引用透明的例子

我们可以很清楚的看到，对于相同的输入，第二次调用append()和第一次调用append()时候的输出结果是不同的。
纯函数(函数的纯粹性)
指的是没有副作用的函数
副作用
指的是状态的变化：

修改全局变量
抛出异常
IO 读写
调用有副作用的函...]]></description><category></category></item><item><title><![CDATA[Scala 学习（8）之「trait (2) 」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104113018</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104113018</guid><author>wwjde_csdn</author><pubDate>Mon, 10 Feb 2020 23:14:51 +0800</pubDate><description><![CDATA[trait调用链

Scala 中支持让类继承多个 trait 后，依次调用多个 trait 中的同一个方法，只要让多个 trait 的同一个方法中，在最后都执行super.方法即可
类中调用多个 trait 中都有的这个方法时，首先会从最右边的 trait 的方法开始执行，然后依次往左执行，形成一个调用链条
这种特性非常强大，其实就相当于设计模式中的责任链模式的一种具体实现依赖

trait H...]]></description><category></category></item><item><title><![CDATA[Scala 学习（7）之「trait (1) 」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104104979</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104104979</guid><author>wwjde_csdn</author><pubDate>Sun, 02 Feb 2020 15:23:41 +0800</pubDate><description><![CDATA[将 trait 作为接口使用

在 triat 中可以定义抽象方法，就与抽象类中的抽象方法一样，只要不给出方法的具体实现即可
类可以使用 extends 关键字继承 trait，注意，这里不是 implement，而是 extends，在 Scala 中没有 implement 的概念，无论继承类还是 trait，统一都是 extends
类继承 trait 后，必须实现其中的抽象方法，实现时不需...]]></description><category></category></item><item><title><![CDATA[Scala 学习（6）之「对象」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104103335</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104103335</guid><author>wwjde_csdn</author><pubDate>Sat, 01 Feb 2020 14:24:32 +0800</pubDate><description><![CDATA[object

相当于 class 的单个实例，通常在里面放一些静态的 field 或者 method，第一次调用 object 的方法时，就会执行 object 的 constructor，也就是 object 内部不在 method 中的代码；但是 object 不能定义接受参数的 constructor
注意，object 的 constructor 只会在其第一次被调用时执行一次，以后再次...]]></description><category></category></item><item><title><![CDATA[Scala 学习（5）之「类——基本概念3」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104080895</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104080895</guid><author>wwjde_csdn</author><pubDate>Tue, 28 Jan 2020 10:48:39 +0800</pubDate><description><![CDATA[文章目录使用模式匹配进行类型判断protected调用父类的constructor匿名内部类抽象类抽象field
使用模式匹配进行类型判断

在实际开发中，比如 spark 的源码中，大量的地方都是使用了模式匹配的方式来进行类型的判断，这种方式更加地简洁明了，而且代码得可维护性和可扩展性也非常的高
使用模式匹配，功能性上来说，与 isInstanceOf 一样，也是判断主要是该类以及该类的子类的对...]]></description><category></category></item><item><title><![CDATA[新年快乐～]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104079419</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104079419</guid><author>wwjde_csdn</author><pubDate>Fri, 24 Jan 2020 10:24:47 +0800</pubDate><description><![CDATA[预祝大家新年快乐，新的一年继续突飞猛进，但别忘了保重身体，积极锻炼，能拥有更强健的体魄，毕竟身体是革命的本钱。
新春佳节，肯定是团团圆圆，大家聚在一起喝喝酒，涮涮肉，乐呵乐呵的，但今年，可能有点不同，可能大家出门都带着口罩，又或者连出门都不敢了，这是好事，说明大家都知道这次病毒的危险性。
给大家更新一下最新的情况，以下数据来自丁香医生。

具体的链接：

https://3g.dxy.cn/new...]]></description><category></category></item><item><title><![CDATA[Scala 学习（4）之「类——基本概念2」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103991318</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103991318</guid><author>wwjde_csdn</author><pubDate>Wed, 22 Jan 2020 11:02:16 +0800</pubDate><description><![CDATA[内部类
import scala.collection.mutable.ArrayBuffer
class Class {
	class Student(val name: String) {}		//此处为内部类
	val students = new ArrayBuffer[Student]
	def getStudent(name: String) = {
		new Student(nam...]]></description><category></category></item><item><title><![CDATA[Superset 0.28三奏曲——安装、集成ECharts和汉化]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104061532</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/104061532</guid><author>wwjde_csdn</author><pubDate>Tue, 21 Jan 2020 14:19:28 +0800</pubDate><description><![CDATA[前言
第一次写博客，本着共享知识而来，为技术的发展做点小贡献。最近在研究Superset安装、集成ECharts和汉化的工作，网上关于Superset的相关文章感觉挺少的，所以想写这一篇综合点的博客，来和大家共享，如有不足，请多指教。
1 环境和版本
操作系统：Cen...]]></description><category></category></item><item><title><![CDATA[Scala 学习（3）之「类——基本概念1」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103978424</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103978424</guid><author>wwjde_csdn</author><pubDate>Fri, 17 Jan 2020 14:43:31 +0800</pubDate><description><![CDATA[类

小提示：可以通过:paste进入 Scala 的多行模式，输入对应的代码块之后，按ctrl + D退出多行模式，然后再调用刚才输入的函数或者方法进行测试

//定义类，包含 field 以及方法
class HelloWorld {
	private var name = "0mifang"
	def sayHello() {print("Hello, " + name)}
	def get...]]></description><category></category></item><item><title><![CDATA[Scala 学习（2）之「函数」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103498467</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103498467</guid><author>wwjde_csdn</author><pubDate>Tue, 14 Jan 2020 18:43:47 +0800</pubDate><description><![CDATA[有返回值函数
def 函数名(参数名 : 参数类型): 返回值类型 = {
	// 函数体
}

无返回值函数
// 不声明返回值类型的函数前提是右侧函数体不包含递归的语句
def 函数名(参数名 : 参数类型) = {
	// 函数体
}

// 又或者
def 函数名(参数名 : 参数类型): Unit = {
	// 函数体
}

默认参数
def sayHello(firstName:St...]]></description><category></category></item><item><title><![CDATA[Scala 学习（1）之「变量，数据类型，if 表达式，循环」]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103454188</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103454188</guid><author>wwjde_csdn</author><pubDate>Tue, 14 Jan 2020 18:42:35 +0800</pubDate><description><![CDATA[文章目录变量数据类型类型转换类型判断
变量
可变变量（var）：赋值后可以改变，生命周期中可以被多次赋值。语法：var 变量名称: 类型 = xxx
不可变变量（val）：赋值后不可变，类似于 Java 中的 final 变量，值一旦初始化了就不能再改变。语法：val 变量名称: 类型 = xxx
大多数情况下推荐使用 val 来声明变量，因为可以防止变量的值被错误修改，提高程序的健壮性和安全性。...]]></description><category></category></item><item><title><![CDATA[HBase客户端连接错误--org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103200881</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103200881</guid><author>wwjde_csdn</author><pubDate>Fri, 22 Nov 2019 15:02:50 +0800</pubDate><description><![CDATA[执行 HBase 操作时权限不足]]></description><category></category></item><item><title><![CDATA[HBase 常见 shell 操作]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103199822</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103199822</guid><author>wwjde_csdn</author><pubDate>Fri, 22 Nov 2019 14:29:58 +0800</pubDate><description><![CDATA[HBase 常用的 shell 操作]]></description><category></category></item><item><title><![CDATA[Scala 遍历 map]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103196077</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103196077</guid><author>wwjde_csdn</author><pubDate>Fri, 22 Nov 2019 10:24:02 +0800</pubDate><description><![CDATA[Scala 遍历 map]]></description><category></category></item><item><title><![CDATA[Scala 如何跳出 (当前) 循环？]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103086018</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103086018</guid><author>wwjde_csdn</author><pubDate>Fri, 15 Nov 2019 15:40:44 +0800</pubDate><description><![CDATA[scala 跳出当前循环 / 跳出整个循环]]></description><category></category></item><item><title><![CDATA[scala 中 split(".") 无法识别]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103085445</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/103085445</guid><author>wwjde_csdn</author><pubDate>Fri, 15 Nov 2019 15:02:24 +0800</pubDate><description><![CDATA[需求： 将一个字符串按 “.” 拆分，然后遍历出来]]></description><category></category></item><item><title><![CDATA[SQL Server如何测试程序运行时间]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/90751440</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/90751440</guid><author>wwjde_csdn</author><pubDate>Mon, 03 Jun 2019 14:18:28 +0800</pubDate><description><![CDATA[目的：测试程序的运行时间，比较不同写法的运行时间，得出最优的写法
DECLARE @程序开始时间 VARCHAR(50)
DECLARE @程序结束时间 VARCHAR(50)
SELECT @程序开始时间 = CONVERT(VARCHAR(50), GETDATE(), 13)

这里是执行具体业务的代码

SELECT @程序结束时间 = CONVERT(VARCHAR(50), GETDA...]]></description><category></category></item><item><title><![CDATA[SQL Server踩坑——随机数]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/90695878</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/90695878</guid><author>wwjde_csdn</author><pubDate>Thu, 30 May 2019 14:37:33 +0800</pubDate><description><![CDATA[目的：想在原本表的基础上插入一列随机数，用来匹配某个内容，达到字段内容随机输出的目的。
但不巧的是 SQL Server 向一列中插入随机数时，并不能逐个的插入随机数，它的随机数生成函数 rand() 只执行了一次，然后将结果批量更新到你所需要的列中，这样导致的结果就是该字段的列都是同一个随机数。过程如下所示：
--建表代码
CREATE TABLE #优快云
(
	ID INT PRIMARY...]]></description><category></category></item><item><title><![CDATA[数据结构——链表]]></title><link>https://blog.youkuaiyun.com/wwjde_csdn/article/details/84110547</link><guid>https://blog.youkuaiyun.com/wwjde_csdn/article/details/84110547</guid><author>wwjde_csdn</author><pubDate>Thu, 15 Nov 2018 20:39:11 +0800</pubDate><description><![CDATA[数据结构——链表
简介
数组是一种线性表数据结构，它用一组连续的内存空间，来存储一组具有相同类型的数据。

数组如何实现随机访问
计算机会给每个内存单元分配一个地址，计算机通过地址来访问内存中的数据，当计算机需要随机访问数组中的某个元素时，它会通过下面的寻址公式，计算出该元素存储的内存地址。
公式如下：
a[i]_address = base_address + i * data_type_siz...]]></description><category></category></item></channel></rss>