<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hello World!]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bit_10</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bit_10]]></copyright><item><title><![CDATA[Go Defer语句详解]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155982800</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155982800</guid><author>bit_10</author><pubDate>Tue, 16 Dec 2025 15:23:55 +0800</pubDate><description><![CDATA[defer会在当前函数返回前执行多个defer按后进先出（LIFO）顺序执行defer的作用域是函数级别defer最常见的用途是关闭文件、释放资源掌握defer是写出安全、优雅 Go 代码的重要一步。]]></description><category></category></item><item><title><![CDATA[Go 切片表达式]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155916958</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155916958</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 19:43:23 +0800</pubDate><description><![CDATA[本节你学习了 Go 中的切片表达式，主要内容包括：简单切片表达式及其索引low和high；如何通过简单切片表达式获取子切片和子串；子切片共享父切片的底层数组；完整切片表达式及其索引lowhighmax；完整切片表达式不支持字符串，只能用于切片、数组或指向数组的指针。]]></description><category></category></item><item><title><![CDATA[Go 结构体高级用法]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155916465</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155916465</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 18:57:28 +0800</pubDate><description><![CDATA[在本主题中，你将学习结构体的高级使用概念：匿名结构体、嵌套结构体（即结构体中包含另一个或多个结构体作为字段）、匿名字段、提升字段以及 Go 中的结构体标签（struct tags）。：匿名结构体必须立即附带一个结构体字面量初始化它的字段，否则编译器会报错，提示匿名结构体不是一个表达式。结构体可以组合不同的数据类型，所以一个结构体可以包含一个或多个结构体作为字段。之前我们讲过基本的结构体类型声明，需要先创建一个新的数据类型。匿名结构体提供了快速创建结构体而无需新建类型的方式。上面，我们声明了一个匿名结构体。]]></description><category></category></item><item><title><![CDATA[Go 结构体]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155916303</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155916303</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 18:38:54 +0800</pubDate><description><![CDATA[struct（结构体的缩写）是一种数据类型，它允许我们将不同类型的元素组合在一起，例如整数、字符串、map，甚至其他 struct，形成一个单独的类型。任何具有一系列属性的现实世界实体都可以用 struct 来表示。如果你熟悉 Java 或 C++，struct 可以与这些面向对象语言中的类（class）相比较。Go 的 struct 可以被视为一种轻量级类（lightweight class），它不支持继承，但支持组合（composition）。]]></description><category></category></item><item><title><![CDATA[Go 字符串格式化]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155916022</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155916022</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 18:05:57 +0800</pubDate><description><![CDATA[至少接受一个参数。最简单的用法是把它当作kitty1kitty2在本节中，我们学习了：Go 使用fmt包进行字符串格式化Printf()和Sprintf()的区别常用格式化动词（%d%f%s%v等）参数索引%[n]使用反引号编写多行字符串在实际开发中，正确地格式化字符串可以让代码更加整洁、可读性更强。]]></description><category></category></item><item><title><![CDATA[Range循环和切片]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155914226</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155914226</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 15:49:24 +0800</pubDate><description><![CDATA[使用for range遍历数组和切片range中的元素是副本，不能直接修改copy函数用于复制切片append函数用于扩展切片切片的容量、重新分配以及性能优化技巧。]]></description><category></category></item><item><title><![CDATA[Go切片详解]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155913928</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155913928</guid><author>bit_10</author><pubDate>Sun, 14 Dec 2025 15:25:34 +0800</pubDate><description><![CDATA[本文介绍了Go语言中切片（slice）的核心概念及使用方法。切片与数组类似但更灵活，本质是引用类型，指向底层数组。文章详细讲解了切片声明、初始化（使用make函数）、长度与容量获取、多维切片创建等操作，并通过代码示例对比了切片与数组在赋值行为上的关键差异：切片赋值复制引用（共享底层数据），而数组赋值复制全部元素。同时指出未初始化的切片默认为nil，使用时需注意避免panic。]]></description><category></category></item><item><title><![CDATA[Go数据类型介绍]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155890652</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155890652</guid><author>bit_10</author><pubDate>Sat, 13 Dec 2025 18:01:06 +0800</pubDate><description><![CDATA[Go 提供了多种基本（原始）数据类型，本节主要介绍了：有符号与无符号整数浮点数复数bool类型rune与byte通过组合这些类型，我们就可以使用算术和逻辑表达式来编写完整的 Go 程序。]]></description><category></category></item><item><title><![CDATA[Go包基础与使用指南]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155890139</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155890139</guid><author>bit_10</author><pubDate>Sat, 13 Dec 2025 17:19:16 +0800</pubDate><description><![CDATA[简单来说，Go 包就是项目中的一个目录，它包含一个或多个 Go 源文件，甚至还可以包含其他嵌套的 Go 包。在少数情况下，例如调试未完成的代码时，代码中可能会有一些未使用的包。它将包导入到当前包相同的命名空间中，因此无需使用导入包的名字来访问其函数。源文件中的任何变量、类型或函数都属于其声明的包，同一个包内的其他源文件可以访问它们。请记住，内部包只能由位于与该内部包相同父目录或其子目录内的包导入。目录，并防止它包含的包被任何不共享同一父目录或不是该父目录子目录的包导入。通常，你的程序中会需要使用多个包。]]></description><category></category></item><item><title><![CDATA[深入理解Java类加载]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155494071</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155494071</guid><author>bit_10</author><pubDate>Tue, 02 Dec 2025 13:51:45 +0800</pubDate><description><![CDATA[简单来说,类加载就是将一个新类型加载到运行时的 JVM 的过程,加载后的类型才能被 Java 进程使用这里我们重点讨论的是 Class 对象它代表 JVM 中的类型,而这些概念可以构成 Java 中的主要特性(如反射)然后我们将探讨字节码,来研究各种类型的运行时的工作原理。]]></description><category></category></item><item><title><![CDATA[后端的定义与学习路径]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155314192</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155314192</guid><author>bit_10</author><pubDate>Thu, 27 Nov 2025 14:26:51 +0800</pubDate><description><![CDATA[不仅要学框架，更要理解底层原理。构建自己的知识体系，而不是碎片化学习。安全、性能、架构、可观测性是高级后端的核心能力。持续学习与实践是唯一的成长之路。如果你坚持把以上知识逐步掌握，你会真正从“会写 CRUD”成长为“能设计系统”的后端工程师。]]></description><category></category></item><item><title><![CDATA[Scala 循环控制：掌握 while 和 for 循环]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/155270038</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/155270038</guid><author>bit_10</author><pubDate>Wed, 26 Nov 2025 12:54:42 +0800</pubDate><description><![CDATA[掌握 Scala 的循环结构是编写高效代码的基础。从简单的 while 循环到功能丰富的 for 循环，Scala 提供了多种工具来处理重复任务。良好的循环设计不仅提高代码可读性，还能提升性能。]]></description><category></category></item><item><title><![CDATA[actix-web开发环境搭建]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153535285</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153535285</guid><author>bit_10</author><pubDate>Sat, 18 Oct 2025 22:32:02 +0800</pubDate><description><![CDATA[本文介绍了搭建actix web开发环境的核心步骤。主要内容包括：1) 引入actix-web和tokio运行时依赖；2) 创建基础项目结构；3) 编写简单的HTTP服务器示例代码。重点讲解了异步编程模型，如async/await、Future和tokio运行时的工作原理。示例代码展示了如何定义路由处理函数和启动服务器，并详细解析了HttpServer、App等核心组件的作用和使用方式。文章强调Rust采用协作式调度而非抢占式线程的异步模型特点。]]></description><category></category></item><item><title><![CDATA[Rust数据库与工具的选择]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153344998</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153344998</guid><author>bit_10</author><pubDate>Wed, 15 Oct 2025 20:38:14 +0800</pubDate><description><![CDATA[包编译时的安全性查询接口异步不支持SQL支持sqlx支持SQL支持diesel支持DSL不支持。]]></description><category></category></item><item><title><![CDATA[在actix-web中创建一个提取器]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153334626</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153334626</guid><author>bit_10</author><pubDate>Wed, 15 Oct 2025 17:52:51 +0800</pubDate><description><![CDATA[特定格式（反）序列化信息在编译期即可完全确定，无需运行时查找，保证了高性能。]]></description><category></category></item><item><title><![CDATA[在actix-web应用用构建集成测试]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153246711</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153246711</guid><author>bit_10</author><pubDate>Tue, 14 Oct 2025 08:54:51 +0800</pubDate><description><![CDATA[run端点是否已正确暴露；是否使用了GET方法；是否返回了状态码200 OK；是否没有响应体（即一旦这些断言全部通过，就说明我们的健康检查端点工作正常。]]></description><category></category></item><item><title><![CDATA[使用 Actix Web 构建 Web 应用]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153209169</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153209169</guid><author>bit_10</author><pubDate>Mon, 13 Oct 2025 19:44:39 +0800</pubDate><description><![CDATA[在 Rust 中，#[tokio::main] 是一个非常常见但又容易被忽略的过程宏。当请求到达时，Actix Web 会按注册顺序遍历所有路由，第一个同时满足路径模板和守卫条件的路由将被选中，并调用其处理器。Rust 没有规定运行时标准接口，所以这就需要我们自己来启动一个运行时，然后在其中运行异步任务。在 main 函数中自动创建并启动一个 Tokio 运行时，然后在其中执行你的异步逻辑。是一个 异步方法，而在 Rust 中，只能在异步函数中调用异步函数。Rust 的 main 函数不能直接是异步的。]]></description><category></category></item><item><title><![CDATA[Rust开发环境搭建]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153182633</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153182633</guid><author>bit_10</author><pubDate>Mon, 13 Oct 2025 10:25:55 +0800</pubDate><description><![CDATA[在Windows操作系统中，需要安装C/C++工具，选择下载生成工具。接下来，选择使用C++的桌面开发。]]></description><category></category></item><item><title><![CDATA[Linux下的Rust 与 C 的互操作性解析]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/153075951</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/153075951</guid><author>bit_10</author><pubDate>Sat, 11 Oct 2025 21:24:05 +0800</pubDate><description><![CDATA[有时Rust需要与其他编程语言编写的程序或库通信，包括调用系统API等。尽管crates.io和Rust生态系统提供了很多功能。这就意味着你可能需要在某时离开Rust舒适区。Rust支持C。虽然有很多限制，但C ABI仍然是许多语言和操作系统的首选公共接口。C语言(或其他基于C的语言)已经存在超过50年了。因此用C/C++编写的应用程序涵盖了所有计算需求。互操作性为Rust开发者提供了对这一庞大库的访问能力。在不同语言交换数据是巨大的挑战，解决这些问题的方案是使用外部函数接口(FFI)。]]></description><category></category></item><item><title><![CDATA[Rust线程详解]]></title><link>https://blog.youkuaiyun.com/bit_10/article/details/152898450</link><guid>https://blog.youkuaiyun.com/bit_10/article/details/152898450</guid><author>bit_10</author><pubDate>Fri, 10 Oct 2025 10:07:05 +0800</pubDate><description><![CDATA[在很多方面，进程内的线程就像住在一个房子里的多个家庭成员。他们必须共享资源，并且常常会无意中竞争这些资源。如果没有适当的协调，那么这可能会导致冲突和不可预测的行为。同样有时也需要线程同步。join和通道都为线程之间的协调提供了帮助。增加必要的同步有助于创建一个安全的环境，从而促使更多并行化。你可以自信地增加并行化层，而无需担心线程之间的冲突。然而，过度同步可能会增加应用程序的复杂性，降低性能。并行编程本质上比顺序变成更复杂。当问题出现时，人民更倾向于增加同步以获得更可预测的结果。]]></description><category></category></item></channel></rss>