<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[liuno0的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/liuno0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; liuno0]]></copyright><item><title><![CDATA[Rust 高级编程 变性的直观解释]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/128516468</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/128516468</guid><author>liuno0</author><pubDate>Sun, 01 Jan 2023 22:05:24 +0800</pubDate><description><![CDATA[协变在Rust中是一个今人迷惑的话题。对于新手可能感知不到这些概念。本篇内容将给出一个更通俗的理解。]]></description><category></category></item><item><title><![CDATA[与 Java 的互操作性]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/128514097</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/128514097</guid><author>liuno0</author><pubDate>Sun, 01 Jan 2023 17:36:10 +0800</pubDate><description><![CDATA[与 Java 的互操作性。允许您创建兼容的库。]]></description><category></category></item><item><title><![CDATA[迭代器 Iterator]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/128222395</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/128222395</guid><author>liuno0</author><pubDate>Wed, 07 Dec 2022 16:26:27 +0800</pubDate><description><![CDATA[迭代器 Iterator]]></description><category></category></item><item><title><![CDATA[从零开始写KV数据库：基于哈希索引]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127893217</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127893217</guid><author>liuno0</author><pubDate>Wed, 16 Nov 2022 21:01:15 +0800</pubDate><description><![CDATA[一个rust 版本的简单的KV本地存储数据库]]></description><category></category></item><item><title><![CDATA[在 Rust 中使用裸函数指针]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127651607</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127651607</guid><author>liuno0</author><pubDate>Wed, 02 Nov 2022 14:53:32 +0800</pubDate><description><![CDATA[在 Rust 中使用裸函数指针]]></description><category></category></item><item><title><![CDATA[rust 裸指针]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127651273</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127651273</guid><author>liuno0</author><pubDate>Wed, 02 Nov 2022 14:41:18 +0800</pubDate><description><![CDATA[rust 裸指针]]></description><category></category></item><item><title><![CDATA[rust的特征----来自rust圣经]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127571473</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127571473</guid><author>liuno0</author><pubDate>Fri, 28 Oct 2022 14:45:50 +0800</pubDate><description><![CDATA[rust的特征对象]]></description><category></category></item><item><title><![CDATA[rust 特征 Trait ----来自圣经]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127555957</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127555957</guid><author>liuno0</author><pubDate>Thu, 27 Oct 2022 16:48:56 +0800</pubDate><description><![CDATA[rust 特征 Trait的简单练习]]></description><category></category></item><item><title><![CDATA[~const“是什么意思]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127553334</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127553334</guid><author>liuno0</author><pubDate>Thu, 27 Oct 2022 15:20:28 +0800</pubDate><description><![CDATA[~const"是什么意思]]></description><category></category></item><item><title><![CDATA[rust 一段代码段]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/127404787</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/127404787</guid><author>liuno0</author><pubDate>Wed, 19 Oct 2022 11:42:50 +0800</pubDate><description><![CDATA[一段rust 代码]]></description><category></category></item><item><title><![CDATA[Rust:axum学习笔记(2) response]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126581429</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126581429</guid><author>liuno0</author><pubDate>Mon, 29 Aug 2022 11:24:31 +0800</pubDate><description><![CDATA[部分url的访问效果如上图，其它的就留给朋友们自己去尝试吧。注：网上传说的中文乱码问题，0.4.3新版本并没有出现，输出时已经自带了chatset=utf-8。web开发中需要的各种格式，都能返回。，在此基础上补充了中文及“自定义错误”及“自定义结构”的返回示例(包括了web开发中大部分的常用返回格式)这是依赖项，下面的代码主要来自。......]]></description><category></category></item><item><title><![CDATA[Rust:axum学习笔记(4) 上传文件]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126581321</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126581321</guid><author>liuno0</author><pubDate>Mon, 29 Aug 2022 11:20:34 +0800</pubDate><description><![CDATA[已经正确处理，并发生了302重定向，但是浏览器里会报错connection_reset（不知道是不是axum的bug)3. 防止伪装mimetype进行攻击（比如：把.js文件改后缀变成.jpg伪装图片上传，早期有很多这类攻击)另外，上传图片后，还可以让浏览器重定向到上传后的图片（当然，仅仅只是演示技术实现，实际应用中并非一定要这样）2. 文件上传的类型限制（仅限指定类型：比如图片）上传后，用/save_image来处理图片上传。没有上传文件或文件格式不对。1. 文件上传的大小限制。2. 文件尺寸太大时。.]]></description><category></category></item><item><title><![CDATA[深入了解 Rust 异步开发模式]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126528130</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126528130</guid><author>liuno0</author><pubDate>Thu, 25 Aug 2022 16:49:05 +0800</pubDate><description><![CDATA[什么是异步开发模式什么是异步开发模式，事件驱动、非阻塞的开发模式。为什么会需要异步框架呢，原因是性能，就是快异步框架难的地方有几个：异步的编程方式、事件、线程/协程的处理等让我们来看看 Rust 以及相关框架 Tokio 和 async-std 是怎么做的。]]></description><category></category></item><item><title><![CDATA[actix-web 更加灵活的身份认证拦截实现]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126525701</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126525701</guid><author>liuno0</author><pubDate>Thu, 25 Aug 2022 15:21:04 +0800</pubDate><description><![CDATA[通常实现身份认证拦截的时候，我们会想到用中间件。比如，但是在使用的时候却不够灵活。比如某个接口不需要拦截，或者在登陆和未登陆的时候返回两种不同的响应。本文带大家从 actix-web 的和认识一个好玩的方法。]]></description><category></category></item><item><title><![CDATA[Rust生命周期]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126444376</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126444376</guid><author>liuno0</author><pubDate>Sat, 20 Aug 2022 21:02:47 +0800</pubDate><description><![CDATA[Rust的生命周期是Rust中一个非常难以理解的概念，也是Rust独有的概念。这篇文章将会继续上一篇文章继续讲述Rust中的生命周期的注意事项。如果还没有阅读上一章关于的请移步。]]></description><category></category></item><item><title><![CDATA[rust 学习笔记]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126124598</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126124598</guid><author>liuno0</author><pubDate>Tue, 02 Aug 2022 16:14:21 +0800</pubDate><description><![CDATA[rust学习笔记]]></description><category></category></item><item><title><![CDATA[Android开发中删除指定 Activity]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/126052213</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/126052213</guid><author>liuno0</author><pubDate>Fri, 29 Jul 2022 11:35:46 +0800</pubDate><description><![CDATA[自己手写一个静态的 Activity 管理池，把已启动的 Activity 管理起来，到时候想怎么删就怎么删]]></description><category></category></item><item><title><![CDATA[Lanterna的使用第四部分]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/125298308</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/125298308</guid><author>liuno0</author><pubDate>Wed, 15 Jun 2022 15:36:40 +0800</pubDate><description><![CDATA[教程 4
在第四篇教程中，我们最终将着眼于创建一个多窗口文本 GUI，所有这些都基于文本。就像上Screen一篇教程中的-layer是基于底层的一样Terminal，我们这里使用的GUI类都是建立在Screen界面之上的。因此，如果您使用这些类，则永远不应与直接支持 GUI 的底层 Screen 交互，因为它可能会以 GUI 不知道的方式修改屏幕。GUI 系统是围绕一个通常是静态的但可以有组件和多个窗口的背景表面设计的。推荐的做法是让所有窗口都模态化，而不是让用户在窗口之间切换，但后者也可以做到。通过使用确]]></description><category></category></item><item><title><![CDATA[Lanterna的使用第三部分]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/125298032</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/125298032</guid><author>liuno0</author><pubDate>Wed, 15 Jun 2022 15:27:54 +0800</pubDate><description><![CDATA[教程 3
在第三个教程中，我们将研究如何使用 Lanterna 中可用的下一层，它建立在您在教程 1 和 2 中看到的终端界面之上。Screen与双缓冲显存类似，它有两个表面，可以直接寻址和修改，并通过调用特殊方法将后缓冲的内容移到前面。但是，a 不是像素，而是Screen包含两个文本字符表面（正面和背面），它们对应于终端中的每个“单元格”。您可以自由修改后“缓冲区”，也可以从前“缓冲区”读取，调用 refreshScreen()方法将内容从后缓冲区复制到前缓冲区，这将使 Lanterna 也应用更改，以便]]></description><category></category></item><item><title><![CDATA[Lanterna的使用第二部分]]></title><link>https://blog.youkuaiyun.com/liuno0/article/details/125297953</link><guid>https://blog.youkuaiyun.com/liuno0/article/details/125297953</guid><author>liuno0</author><pubDate>Wed, 15 Jun 2022 15:24:58 +0800</pubDate><description><![CDATA[教程 2
在第二个教程中，我们将扩展如何使用终端界面来提供更高级的功能。    DefaultTerminalFactory defaultTerminalFactory = new DefaultTerminalFactory();
    Terminal terminal = null;
    try {
        terminal = defaultTerminalFactory.createTerminal();
大多数终端和终端仿真器都支持所谓的“私有模式”，它是不支持任何滚动的文本内容]]></description><category></category></item></channel></rss>