<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[voidfaceless的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/voidfaceless</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; voidfaceless]]></copyright><item><title><![CDATA[maven中scope的分类]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/109607752</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/109607752</guid><author>voidfaceless</author><pubDate>Tue, 10 Nov 2020 21:22:39 +0800</pubDate><description><![CDATA[scope的分类


1.compile：默认值 他表示被依赖项目需要参与当前项目的编译，还有后续的测试，运行周期也参与其中，是一个比较强的依赖。打包的时候通常需要包含进去


2.test：依赖项目仅仅参与测试相关的工作，包括测试代码的编译和执行，不会被打包，例如：junit


3.runtime：表示被依赖项目无需参与项目的编译，不过后期的测试和运行周期需要其参与。与compile相比，跳过了编译而已。例如JDBC驱动，适用运行和测试阶段


4.provided：打包的时候可以不用包进去，别的设施会]]></description><category></category></item><item><title><![CDATA[【快速排序】python实现快速排序及思路讲解]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/106970500</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/106970500</guid><author>voidfaceless</author><pubDate>Fri, 26 Jun 2020 15:47:37 +0800</pubDate><description><![CDATA[python实现快速排序
def quick_sort(a, l, r):
    if l &gt;= r:
        return
    m = par(a, l, r)
    quick_sort(a, l, m-1)
    quick_sort(a, m+1, r)

def partition(a, l, r):
    x = a[r]
    i = l - 1
    index = l
    while index &lt; r:
        if a[index] &l]]></description><category></category></item><item><title><![CDATA[【python】python nohup运行时print不输出显示]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/106363925</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/106363925</guid><author>voidfaceless</author><pubDate>Tue, 26 May 2020 20:06:25 +0800</pubDate><description><![CDATA[nohup python test.py &gt; nohup.out 2&gt;&amp;1 &amp;

发现nohup.out中显示不出来python程序中print的东西。
这是因为python的输出有缓冲，导致nohup.out并不能够马上看到输出。
python 有个-u参数，使得python不启用缓冲。
nohup python -u test.py &gt; nohup.out 2&gt;&amp;1 &amp;

就可以了

...]]></description><category></category></item><item><title><![CDATA[【tensenflow serving】tensenflow serving docker部署demo(不包含模型)]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/105734904</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/105734904</guid><author>voidfaceless</author><pubDate>Fri, 24 Apr 2020 16:48:36 +0800</pubDate><description><![CDATA[安装docker
这里省略，参考其他docker安装的文章


安装tensorflow_serving docker


$docker pull tensorflow/serving:1.8.0

注意这里可以换成你自己想要的版本，具体有哪些版本可以去
https://hub.docker.com/r/tensorflow/serving/tags/去找。
除tensorflow版本不同外...]]></description><category></category></item><item><title><![CDATA[【Spark】Task not serializable]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/105323742</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/105323742</guid><author>voidfaceless</author><pubDate>Sun, 05 Apr 2020 11:17:54 +0800</pubDate><description><![CDATA[在spark开发过程中，可能都会遇到Task not serializable这样的错误，本文就这个问题提供几种解决方式。
出现的原因
spark处理的数据单元为RDD（即弹性分布式数据集），当我们要对RDD做诸如map,filter等操作的时候是在excutor上完成的。但是如果我们在driver中定义了一个变量，在map等操作中使用，则这个变量就要被分发到各个excutor，因为driver和...]]></description><category></category></item><item><title><![CDATA[【scala】trait的构造顺序]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/105179878</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/105179878</guid><author>voidfaceless</author><pubDate>Sun, 29 Mar 2020 15:41:29 +0800</pubDate><description><![CDATA[trait的构造顺序：

首先调用超类构造器
特质构造器在超类构造器之后，类构造器之前执行
特质从左向右被构造
每个特质当中，父特质先被构造
如果多个特质共有一个父特质，而那个父特质已经被构造，则不会被再次构造
所有特质构造完毕，子类被构造

class Account {
  println("Account constructor")
}
 
trait Logged {
  println(...]]></description><category></category></item><item><title><![CDATA[【Redis】Redis的过期策略]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104780689</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104780689</guid><author>voidfaceless</author><pubDate>Tue, 10 Mar 2020 19:00:10 +0800</pubDate><description><![CDATA[Redis的过期策略
我们都知道，Redis是key-value数据库，我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了，Redis如何处理。
过期策略通常有以下三种：

定时过期：每个设置过期时间的key都需要创建一个定时器，到过期时间就会立即清除。该策略可以立即清除过期的数据，对内存很友好；但是会占用大量的CPU资源去处理过期的数据，从...]]></description><category></category></item><item><title><![CDATA[【scala】Maven发现依赖和扩展的远程仓库地址，解决不能发现依赖jar包的问题]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104780557</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104780557</guid><author>voidfaceless</author><pubDate>Tue, 10 Mar 2020 18:52:31 +0800</pubDate><description><![CDATA[下面是一些在新建scala-spark项目时，用于发现、导入依赖的jar包的远程仓库列表，可以直接复制到你的maven配置pom文件里。
  &lt;repositories&gt;
    &lt;repository&gt;
      &lt;id&gt;central&lt;/id&gt;
      &lt;name&gt;Maven central&lt;/name&gt;
     ...]]></description><category></category></item><item><title><![CDATA[【python】小心python的list乘法——[]*的坑]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104779499</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104779499</guid><author>voidfaceless</author><pubDate>Tue, 10 Mar 2020 17:52:38 +0800</pubDate><description><![CDATA[python是个很方便的语言，我经常使用python的*操作符去构建list中的重复元素。例如：
&gt;&gt;&gt; l = [1] * 4
&gt;&gt;&gt; print(l)
&gt;&gt;&gt; [1, 1, 1, 1]

这样做确实很方便，但也很危险，请先看下面的代码:
&gt;&gt;&gt; l = [{'a': 1}] * 4
&gt;&gt;&gt; print(l...]]></description><category></category></item><item><title><![CDATA[【Leetcode】面试题57 - II. 和为s的连续正数序列]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104701657</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104701657</guid><author>voidfaceless</author><pubDate>Fri, 06 Mar 2020 18:52:36 +0800</pubDate><description><![CDATA[题目
输入一个正整数 target ，输出所有和为 target 的连续正整数序列（至少含有两个数）。
序列内的数字由小到大排列，不同序列按照首个数字从小到大排列。
示例 1：
输入：target = 9
输出：[[2,3,4],[4,5]]
示例 2：

输入：target = 15
输出：[[1,2,3,4,5],[4,5,6],[7,8]]

限制：
1 &lt;= target &lt;=...]]></description><category></category></item><item><title><![CDATA[【Leetcode】面试题03. 数组中重复的数字]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104691439</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104691439</guid><author>voidfaceless</author><pubDate>Fri, 06 Mar 2020 11:08:38 +0800</pubDate><description><![CDATA[题目
找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1：

输入：
[2, 3, 1, 0, 2, 5, 3]
输出：2 或 3 


限制：

2 &lt;= n &lt;= 100000

思路
思路1：
排序，然后判断前后...]]></description><category></category></item><item><title><![CDATA[【Leetcode】1103.分糖果II]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104673603</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104673603</guid><author>voidfaceless</author><pubDate>Thu, 05 Mar 2020 14:34:03 +0800</pubDate><description><![CDATA[题目
排排坐，分糖果。
我们买了一些糖果 candies，打算把它们分给排好队的 n = num_people 个小朋友。
给第一个小朋友 1 颗糖果，第二个小朋友 2 颗，依此类推，直到给最后一个小朋友 n 颗糖果。
然后，我们再回到队伍的起点，给第一个小朋友 n + 1 颗糖果，第二个小朋友 n + 2 颗，依此类推，直到给最后一个小朋友 2 * n 颗糖果。
重复上述过程（每次都比上一次多给...]]></description><category></category></item><item><title><![CDATA[【Spark】Spark中dataframe不能filter多个条件的问题]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104657225</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104657225</guid><author>voidfaceless</author><pubDate>Wed, 04 Mar 2020 17:02:31 +0800</pubDate><description><![CDATA[今天在统计东西时，需要对sparksql.dataframe进行过滤，用到了filter函数，但是当需要过滤多个条件时，查阅网上说可以这样写：
df.filter($"s"===1 || $"ss"=!=2)

但是我在尝试的时候总是报错：
Cannot resolve overload method ‘filter’
我调了两个小时一直都不行，去查源码，spark源码也给出了这样的例子。后来才发...]]></description><category></category></item><item><title><![CDATA[【Leetcode] 915.分割数组]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104502768</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104502768</guid><author>voidfaceless</author><pubDate>Tue, 25 Feb 2020 18:41:47 +0800</pubDate><description><![CDATA[题目
给定一个数组 A，将其划分为两个不相交（没有公共元素）的连续子数组 left 和 right， 使得：
left 中的每个元素都小于或等于 right 中的每个元素。
left 和 right 都是非空的。
left 要尽可能小。
在完成这样的分组后返回 left 的长度。可以保证存在这样的划分方法。
示例 1：

输入：[5,0,3,8,6]
输出：3
解释：left = [5,0,3]，...]]></description><category></category></item><item><title><![CDATA[【Leetcode】1129. 颜色交替的最短路径]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104392940</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104392940</guid><author>voidfaceless</author><pubDate>Wed, 19 Feb 2020 14:47:07 +0800</pubDate><description><![CDATA[题目
在一个有向图中，节点分别标记为 0, 1, ..., n-1。这个图中的每条边不是红色就是蓝色，且存在自环或平行边。
red_edges中的每一个 [i, j]对表示从节点i到节点j的红色有向边。类似地，blue_edges 中的每一个[i, j]对表示从节点 i 到节点j的蓝色有向边。
返回长度为 n 的数组answer，其中 answer[X]是从节点0到节点X 的最短路径的长度，且路径...]]></description><category></category></item><item><title><![CDATA[【Hadoop】hadoop删除文件文件夹]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104371372</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104371372</guid><author>voidfaceless</author><pubDate>Tue, 18 Feb 2020 11:09:40 +0800</pubDate><description><![CDATA[删除文件
hdfs  fs –rm [文件地址]

例如：
hdfs  dfs –rm /user/spark/applicationHistory/local-1564737954168
删除文件后文件会存放至 /user/hdfs/.Trash中，hdfs的回收站，可设置回收站清理时间
使用 hdfs dfs -rm -skipTrash [文件地址] 跳过回收站删除文件
删除文件夹
hdfs...]]></description><category></category></item><item><title><![CDATA[【Leetcode】563. 二叉树的坡度]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104360870</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104360870</guid><author>voidfaceless</author><pubDate>Mon, 17 Feb 2020 17:02:44 +0800</pubDate><description><![CDATA[题目
给定一个二叉树，计算整个树的坡度。
一个树的节点的坡度定义即为，该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。
整个树的坡度就是其所有节点的坡度之和。
示例:
输入: 
     1
   /   \
  2     3
输出: 1
解释: 
结点的坡度 2 : 0
结点的坡度 3 : 0
结点的坡度 1 : |2-3| = 1
树的坡度 : 0 + 0 + 1 =...]]></description><category></category></item><item><title><![CDATA[【Leetcode】309. 最佳买卖股票时机含冷冻期]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104121970</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104121970</guid><author>voidfaceless</author><pubDate>Fri, 31 Jan 2020 11:07:33 +0800</pubDate><description><![CDATA[题目
给定一个整数数组，其中第 i 个元素代表了第 i 天的股票价格 。​
设计一个算法计算出最大利润。在满足以下约束条件下，你可以尽可能地完成更多的交易（多次买卖一支股票）:
你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
卖出股票后，你无法在第二天买入股票 (即冷冻期为 1 天)。
示例:
输入: [1,2,3,0,2]
输出: 3 
解释: 对应的交易状态为: [买入, 卖出...]]></description><category></category></item><item><title><![CDATA[【Leetcode】120. 三角形最小路径和]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/104108718</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/104108718</guid><author>voidfaceless</author><pubDate>Wed, 29 Jan 2020 17:58:12 +0800</pubDate><description><![CDATA[Leetcode 120.三角形最小路径和
题目描述
给定一个三角形，找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。
例如，给定三角形：
[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]
自顶向下的最小路径和为 11（即，2 + 3 + 5 + 1 = 11）。
说明：
如果你可以只使用 O(n) 的额外空间（n 为三角形的总行数）来解决这个问题，那么你的算法...]]></description><category></category></item><item><title><![CDATA[【Spark】Caused by: org.jets3t.service.ServiceException: Service Error Message. -- ResponseCode: 404]]></title><link>https://blog.youkuaiyun.com/voidfaceless/article/details/103824987</link><guid>https://blog.youkuaiyun.com/voidfaceless/article/details/103824987</guid><author>voidfaceless</author><pubDate>Fri, 03 Jan 2020 18:20:01 +0800</pubDate><description><![CDATA[Caused by: org.jets3t.service.ServiceException: Service Error Message. – ResponseCode: 404, ResponseStatus: Not Found
今天运行spark任务在调用sc.saveAsTextFile保存数据时出错：
Caused by: org.jets3t.service.ServiceExcep...]]></description><category></category></item></channel></rss>