<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[liuwff的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liuwff</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liuwff]]></copyright><item><title><![CDATA[springboot-用maven进行依赖版本固化]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/106902397</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/106902397</guid><author>liuwff</author><pubDate>Tue, 14 Feb 2023 19:59:54 +0800</pubDate><description><![CDATA[springboot的依赖管理
springboot在使用时非常便捷，通过导入starter系列的dependency就可以导入相关依赖包并自动生成bean实例，这种便捷功能是springboot应用maven进行构建来实现的。

pom分析

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/]]></description><category></category></item><item><title><![CDATA[FreeMarker学习笔记（二）处理邮件]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/129029366</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/129029366</guid><author>liuwff</author><pubDate>Tue, 14 Feb 2023 18:40:39 +0800</pubDate><description><![CDATA[springboot邮件服务，以及FreeMarker处理邮件模板示例]]></description><category></category></item><item><title><![CDATA[FreeMarker学习笔记（一）springboot集成]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/129027282</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/129027282</guid><author>liuwff</author><pubDate>Tue, 14 Feb 2023 16:12:52 +0800</pubDate><description><![CDATA[FreeMarker简单介绍，以及SpringBoot中作为模板引擎使用方法]]></description><category></category></item><item><title><![CDATA[hive-hive分区表添加新字段后老分区中读取为NULL的解决方法]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/107002888</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/107002888</guid><author>liuwff</author><pubDate>Sun, 28 Jun 2020 17:13:20 +0800</pubDate><description><![CDATA[某次需求要给hive表添加两个字段并回刷数据，本以为很简单的事情三下五除二加了字段:
alter table app.tableName  add columns( browse_pv_sum BIGINT, click_pv_sum BIGINT);

修改脚本开刷完成！????
结果一查数据，新字段显示为’NULL’！？
	
本以为是脚本改错了导致数据没生成，结果各种修改一通操作，折腾1个多小时愣是没好，这也是脑子陷入了死磕到底的二愣模式，最后直接把两个字段写死成‘1’来进行插入，结果查询仍然是’NUL]]></description><category></category></item><item><title><![CDATA[VScode中pyspark调试配置以及无法启动调试问题]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/105642611</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/105642611</guid><author>liuwff</author><pubDate>Tue, 21 Apr 2020 17:36:32 +0800</pubDate><description><![CDATA[首先说明，我并非专业大数据开发者，因为目前工作中开发一些python/shell脚本，用来在公司的大数据集群上进行大数据任务，因此在本地搭建了spark环境来测试和学习spark的API之用，我想肯定有很多人和我一样，因此写下来以供查阅，以期能对大家有所帮助。

VSCode配置python


下载并安装python并配置环境变量(python命令一般是python2，python3则一般指向...]]></description><category></category></item><item><title><![CDATA[一句话概念秒懂之：事务隔离级别]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/105542977</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/105542977</guid><author>liuwff</author><pubDate>Wed, 15 Apr 2020 21:00:40 +0800</pubDate><description><![CDATA[白话解答
A和B玩猜题，A写B猜:
脏读：A写完“你好”的时候B偷看了一下，然后A又把写的擦掉了，于是B说你写的是“你好”，但是A把题版亮出来说我啥都没写
不可重复读：B这次学精了，看两次，第一次看的A写的“你好”，第二次看结果变成了“我好”，这下B整个人都不好了！
幻读：这次B抗议，说写的不能改，A说好，于是B第一次看，A这次写了“你好吗？”，第二次看结果A又增加了“你不好”，变成了”你好吗？你...]]></description><category></category></item><item><title><![CDATA[一句话概念秒懂之：TCP连接全流程]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/105519005</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/105519005</guid><author>liuwff</author><pubDate>Tue, 14 Apr 2020 20:02:56 +0800</pubDate><description><![CDATA[TCP连接经历了什么？3次握手建立连接，4次挥手关闭连接。

白话概念
假设有两个人A(火星人)和B(汪星人)是邻居，A找B聊天，于是：


A去B家敲门(first hand),A等着B来开门(A:SYN-sent)；
B开门了问A你干啥?(second hand)；
A说找你聊天啊(thrid hand);

然后两个人在门口开始正式会晤，这就是建立连接的过程。

两个人聊完了之后：

A说...]]></description><category></category></item><item><title><![CDATA[pyspark的环境配置]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/105492749</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/105492749</guid><author>liuwff</author><pubDate>Mon, 13 Apr 2020 17:59:35 +0800</pubDate><description><![CDATA[spark下载地址

spark
spark包下载并解压后，进入解压的spark文件夹下的bin文件，并执行./spark-shell，若出现以下界面，则表示spark配置ok了。

spark环境配置
配置SPARK_HOME环境变量。
打开 ~/.bash_profile文件，配置SPARK_HOME以及PATH
export SPARK_HOME=/usr/local/spark/spar...]]></description><category></category></item><item><title><![CDATA[postman之cookie管理]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/105487445</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/105487445</guid><author>liuwff</author><pubDate>Mon, 13 Apr 2020 14:54:51 +0800</pubDate><description><![CDATA[postman 官方链接：https://learning.postman.com/docs/postman/sending-api-requests/cookies/

开发接口时，postman作为测试接口的工具非常好用，这里介绍如何使用postman进行cookie管理。
操作步骤：
Cookies
Postman的应用程序提供了  MANAGE COOKIES  模块，可以在域这一级别上...]]></description><category></category></item><item><title><![CDATA[springIOC]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/103952690</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/103952690</guid><author>liuwff</author><pubDate>Mon, 13 Jan 2020 09:40:30 +0800</pubDate><description><![CDATA[1. 概念

IoC = inversion of control 控制反转 ，指的是把对象创建和管理的控制权交给框架、容器来管理。
DI=dependency injection 依赖注入，是把对象依赖的其他对象通过不同方法传递给该对象的设计模式，通过依赖注入模式，避免对象因依赖关系产生的高耦合
IoC容器 是通过使用管理容器来实现 IoC、DI，第一步是注册对象间的依赖关系到container...]]></description><category></category></item><item><title><![CDATA[SpringAOP]]></title><link>https://blog.youkuaiyun.com/liuwff/article/details/103952561</link><guid>https://blog.youkuaiyun.com/liuwff/article/details/103952561</guid><author>liuwff</author><pubDate>Mon, 13 Jan 2020 09:37:11 +0800</pubDate><description><![CDATA[springAOP实现方式

动态代理 使用 Proxy机制，使用反射技术，创建实际对象的代理对象，添加AOP的逻辑后执行。
动态字节码增强 ASM CGLIB的工具库实现

AOP概念

joinpoint
目标对象上的要执行AOP的具体执行点。和pointcut类似于对象实例和类的概念，pointcut规定一组判断逻辑，符合多级的具体点就是一个个的joinpoint，而pointcut规定的表...]]></description><category></category></item></channel></rss>