<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一个月只有三十天]]></title><description><![CDATA[再也做不了一个大四狗了]]></description><link>https://blog.youkuaiyun.com/Haidaiya</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Haidaiya]]></copyright><item><title><![CDATA[使用datastream实现双流join]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/164506314</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/164506314</guid><author>Haidaiya</author><pubDate>Mon, 07 Sep 2026 21:32:42 +0800</pubDate><description><![CDATA[connect操作后，流会变成ConnectedStream，需要实现当任意一条流数据到达时的处理逻辑，以订单流到达为例，当订单数据到达时，检查支付数据是否已经来了，如果支付数据没来，则暂存订单数据，并且注册一个1min的定时器用来处理当支付数据超过1min没有到达的处理逻辑，如果支付数据已经来了，则正常join后下发正常的数据，这里注意如果注册了定时器的化，需要删除定时器，因为定时器是用来处理异常情况的。（1）订单消息先来，支付消息没来：需要先暂存订单消息，等待支付消息。]]></description><category></category></item><item><title><![CDATA[huggingface镜像下载]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/159206274</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/159206274</guid><author>Haidaiya</author><pubDate>Wed, 18 Mar 2026 14:15:03 +0800</pubDate><description><![CDATA[注册账户后create token获取，需要token的仓库不指定token下载会被拒绝。个别仓库协议需要指定--token，huggingface token需要去。python >= 3.8 建议使用uv隔离python环境，避免脏环境。]]></description><category></category></item><item><title><![CDATA[7.Go语言中的slice]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/157266477</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/157266477</guid><author>Haidaiya</author><pubDate>Fri, 23 Jan 2026 17:46:49 +0800</pubDate><description><![CDATA[slice在自动扩容时会新建一个新的数组，然后将老数组的元素复制到新数组中，注意的是不会将老的slice指向这个新的数组，这和Java中的ArrayList的实现机制不同，所以在使用Go中的slice时，在append操作时，需要使用原有的slice变量接收下append的结果，否则发生自动扩容后，slice变量绑定的还是老的数组。切片对于数组就像文件描述符对于文件，数组通常作为slice的底层存储存在，slice也可以看作是数组的窗口，使用slice屏蔽了底层数组的操作和扩容等，是非常常用的数据结构。]]></description><category></category></item><item><title><![CDATA[6.复合类型字面量]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/157179597</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/157179597</guid><author>Haidaiya</author><pubDate>Wed, 21 Jan 2026 16:24:13 +0800</pubDate><description><![CDATA[Go语言中提供了一些复合类型，如结构体，数组，切片，map等，这些复合类型的初始化有多种方式，在下面的代码中，对复合类型有2种初始化方式，一种是创建后赋值，一种是使用复合类型字面量进行赋值，看起来简单且方便。]]></description><category></category></item><item><title><![CDATA[5.零值可用]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/157033262</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/157033262</guid><author>Haidaiya</author><pubDate>Fri, 16 Jan 2026 20:27:08 +0800</pubDate><description><![CDATA[go语言中每个原生类型都有默认值，这种默认值我们叫做零值，下面的代码中展示了go语言中类型对应的零值，和大部分语言差不多，特别是可用，代码中定义了一个slice切片，但是切片并没有初始化，所以零值是nil，类似java中的null，在java中对于null的List进行add操作会报npe，但是在go语言中是零值可用的，直接对nil做append是可以成功添加元素的。]]></description><category></category></item><item><title><![CDATA[4.const和iota]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/156948843</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/156948843</guid><author>Haidaiya</author><pubDate>Thu, 15 Jan 2026 00:18:55 +0800</pubDate><description><![CDATA[go中常量在const语法块中实现，const语法提供了一种"隐式重复前一个表达式"的机制，以下面的代码为例，在const语法块中定义了a,b,c,d四个常量。其中a ,b 定义是1，2；c，d并没有初始化，这里根据“隐式重复前一个表达式”机制，c,d 会重复前面的表达式，所以c，d也会定义为1，2。]]></description><category></category></item><item><title><![CDATA[3.常量和类型转换]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/156581773</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/156581773</guid><author>Haidaiya</author><pubDate>Mon, 05 Jan 2026 00:08:45 +0800</pubDate><description><![CDATA[Go的类型安全是十分严格的，在下面的例子中，myInt是底层类型是int的新类型，我们清楚的知道int类型和myInt类型是可以安全的相加的，但是直接相加依然会报错，go不会帮我们做隐式的类型转换，需要我们手动转换。]]></description><category></category></item><item><title><![CDATA[2.变量声明]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/156461921</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/156461921</guid><author>Haidaiya</author><pubDate>Wed, 31 Dec 2025 20:43:02 +0800</pubDate><description><![CDATA[go中常见的变量声明方式go中的变量分为2种：1.包级变量：在package级别可见的变量，如果是导出的变量，也叫全局变量2.局部变量：在函数和方法体内声明的变量，仅在函数和方法体内可见。]]></description><category></category></item><item><title><![CDATA[1.golang项目结构]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/156457859</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/156457859</guid><author>Haidaiya</author><pubDate>Wed, 31 Dec 2025 16:56:05 +0800</pubDate><description><![CDATA[1.cmd目录用来存放可执行程序的main文件，即用go build指定的文件，如果有多个可执行文件的话细分为多个app文件，存放多个可执行文件，例如app1中的main是一个client程序，app2中的main是一个server程序。2.pkg目录用来存放项目依赖的一些包，比如cmd中的main需要依赖的代码包，需要注意的是该目录下的代码也可以被外部引用，是项目导出包的一个集合。]]></description><category></category></item><item><title><![CDATA[Go语言精进之路读书笔记(第二部分-项目结构、代码风格与标识符命名)]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/145560855</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/145560855</guid><author>Haidaiya</author><pubDate>Sat, 15 Feb 2025 16:41:02 +0800</pubDate><description><![CDATA[说明：《Go语言精进之路》第一部分-熟知Go语言的一切，不在博客中做读书笔记了，大家可以自己读一读，每个人心里都会有自己对Go语言的认识和理解。直接从第二部分-项目接口、代码风格与标识符命名开始。]]></description><category></category></item><item><title><![CDATA[2.生成Transformation]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144387980</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144387980</guid><author>Haidaiya</author><pubDate>Wed, 11 Dec 2024 02:17:26 +0800</pubDate><description><![CDATA[以下面的WordCount为例//@Override})@Override}).sum(1).print();]]></description><category></category></item><item><title><![CDATA[1.1.Flink的项目初始化和Hello-world]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144339668</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144339668</guid><author>Haidaiya</author><pubDate>Mon, 09 Dec 2024 11:15:13 +0800</pubDate><description><![CDATA[为了加速依赖的下载，尤其是在国内，可以配置maven的国内镜像，配置方法为设置maven的settings.xml文件。代码不是很复杂，Flink的api相对而言和Spark比较类似，先创建一个上下文的执行环境，在项目结束的位置，使用execute运行，Spark中也有collect操作。对于输出的一些解释，对于输出我们做一些解释，可以看出流计算和批计算的差异。输入hello world后，输出(hello,1) (world,1)b.有状态，通过对hello的追踪，可以看出计算时是可以读写状态的。]]></description><category></category></item><item><title><![CDATA[【第十二课】Rust并发编程（三）]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144083068</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144083068</guid><author>Haidaiya</author><pubDate>Wed, 27 Nov 2024 16:13:02 +0800</pubDate><description><![CDATA[Rust并发编程之共享可变状态]]></description><category></category></item><item><title><![CDATA[【附录】Rust国内镜像设置]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144061067</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144061067</guid><author>Haidaiya</author><pubDate>Tue, 26 Nov 2024 16:14:52 +0800</pubDate><description><![CDATA[Rust国内镜像设置]]></description><category></category></item><item><title><![CDATA[【第十一课】Rust并发编程（二）]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144039276</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144039276</guid><author>Haidaiya</author><pubDate>Mon, 25 Nov 2024 21:23:43 +0800</pubDate><description><![CDATA[Rust并发编程之通道]]></description><category></category></item><item><title><![CDATA[【第十课】Rust并发编程（一）]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/144009968</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/144009968</guid><author>Haidaiya</author><pubDate>Mon, 25 Nov 2024 20:02:33 +0800</pubDate><description><![CDATA[Rust并发编程之Fork和Join]]></description><category></category></item><item><title><![CDATA[【第九课】Rust中泛型和特质]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/143918728</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/143918728</guid><author>Haidaiya</author><pubDate>Thu, 21 Nov 2024 23:05:48 +0800</pubDate><description><![CDATA[Rust泛型和特质]]></description><category></category></item><item><title><![CDATA[【第八课】Rust中的函数与方法]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/143887747</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/143887747</guid><author>Haidaiya</author><pubDate>Wed, 20 Nov 2024 16:07:01 +0800</pubDate><description><![CDATA[Rust中的函数与方法]]></description><category></category></item><item><title><![CDATA[【第七课】Rust所有权系统（三）]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/143866137</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/143866137</guid><author>Haidaiya</author><pubDate>Tue, 19 Nov 2024 00:04:13 +0800</pubDate><description><![CDATA[rust所有权系统，引用的生命周期]]></description><category></category></item><item><title><![CDATA[【第六课】Rust所有权系统（二）]]></title><link>https://blog.youkuaiyun.com/Haidaiya/article/details/143839577</link><guid>https://blog.youkuaiyun.com/Haidaiya/article/details/143839577</guid><author>Haidaiya</author><pubDate>Mon, 18 Nov 2024 14:18:30 +0800</pubDate><description><![CDATA[rust所有权系统-引用，借用]]></description><category></category></item></channel></rss>