<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Rust on kutake小站</title><link>https://www.kutake.top/categories/rust/</link><description>Recent content in Rust on kutake小站</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 28 Dec 2023 21:04:15 +0800</lastBuildDate><atom:link href="https://www.kutake.top/categories/rust/index.xml" rel="self" type="application/rss+xml"/><item><title>使用Github Workflows构建Tauri应用</title><link>https://www.kutake.top/archives/%E4%BD%BF%E7%94%A8github-workflows%E6%9E%84%E5%BB%BAtauri%E5%BA%94%E7%94%A8/</link><pubDate>Thu, 28 Dec 2023 21:04:15 +0800</pubDate><guid>https://www.kutake.top/archives/%E4%BD%BF%E7%94%A8github-workflows%E6%9E%84%E5%BB%BAtauri%E5%BA%94%E7%94%A8/</guid><description>&lt;p&gt;下面这个例子是，当release分支有commit发生时，自动获取当前应用的版本信息，并使用缓存，分别构建前端和rust，并将构建好的包上传至指定tag的release上。在 &lt;code&gt;platform&lt;/code&gt;处定义平台，这里我只选定了Win&lt;/p&gt;</description></item><item><title>[Tauri]Uint8Array与 Vec&lt;u8&gt;的坑</title><link>https://www.kutake.top/archives/tauriuint8array%E4%B8%8E-vec%E7%9A%84%E5%9D%91/</link><pubDate>Thu, 28 Dec 2023 20:44:38 +0800</pubDate><guid>https://www.kutake.top/archives/tauriuint8array%E4%B8%8E-vec%E7%9A%84%E5%9D%91/</guid><description>&lt;h2 id="问题"&gt;问题&lt;/h2&gt;
&lt;p&gt;当尝试传递 &lt;code&gt;Uint8Array&lt;/code&gt;类型的图片数据给rust后端时，会发生 &lt;code&gt;invalid type: map, expected a sequence&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;原因在于，tauri将 &lt;code&gt;Uint8Array&lt;/code&gt;是作为对象而不是一个 &lt;code&gt;Vec&lt;/code&gt;，要接受它，需要使用 &lt;code&gt;HashMap&amp;lt;String, u8&amp;gt;&lt;/code&gt;来接收。&lt;/p&gt;</description></item><item><title>Tokio异步task控制并发数量</title><link>https://www.kutake.top/archives/tokio%E5%BC%82%E6%AD%A5task%E6%8E%A7%E5%88%B6%E5%B9%B6%E5%8F%91%E6%95%B0%E9%87%8F/</link><pubDate>Thu, 28 Dec 2023 20:30:29 +0800</pubDate><guid>https://www.kutake.top/archives/tokio%E5%BC%82%E6%AD%A5task%E6%8E%A7%E5%88%B6%E5%B9%B6%E5%8F%91%E6%95%B0%E9%87%8F/</guid><description>&lt;h3 id="使用tokiosyncsemaphore"&gt;使用tokio::sync::Semaphore&lt;/h3&gt;
&lt;p&gt;信号量可以保证在某一时刻最多运行指定数量的并发任务。&lt;/p&gt;
&lt;p&gt;使用信号量时，需在初始化时指定信号灯(tokio中的SemaphorePermit)的数量，每当任务要执行时，将从中取走一个信号灯，当任务完成时(信号灯被drop)会归还信号灯。当某个任务要执行时，如果此时信号灯数量为0，则该任务将等待，直到有信号灯被归还。因此，信号量通常用来提供类似于限量的功能。&lt;/p&gt;</description></item></channel></rss>