Dll Path Mystery

Dll Path Mystery Windows dll的搜索路径和PATH一样,真是一个设计的败笔,当一些程序想把自己放到PATH,却又不小心把dll也放到PATH中了, 如果恰好和

Gitlab Ci Docker Auth

Gitlab CI docker 问题 Gitlab CI使用docker比较方便,但是现在docker越来越不容易拉取了,并且官方确实是太慢了。 阿里云的ACR个人版是免费的,访问速

Web Frontend Learning

最近使用 tauri 开发一个小工具,学了一些前端知识,也能用antd开发一个有几页的工具了。 下面的叙述未必正确,毕竟我不是一个前端工程师。 工具选择 React (antd)

Axum Codec

axum_codec axum_codec 是一个用于处理 axum 请求和响应的编解码器。 可用根据客户端的accept头,自动处理 JSON、XML、YAML、TOML、MsgPack格式。

Rust Release Opt

release Cargo.toml [profile.release] strip = true opt-level = "s" lto = 'fat' codegen-units = 1 panic = "abort" debug only 一些调试时使用的代码,可以用 #[cfg(debug_assertions)] 来包裹, debug时的检查可以用 debug_assert! #[cfg(debug_assertions)] debug_only_code(); debug_assert!(xxx) features 根据不同使用场景,可以使用f

Tauri Plugin Typegen

BUG真的是太多了,略复杂一点的都搞不定,还是手动使用 ts-rs 生成比较好 虽然今天终于上传代码到github上,tauri-typegen,并且还改

Apt Priority

no snap! 在 /etc/apt/preferences.d 新建如下文件 nosnap.pref Package: snapd Pin: release a=* Pin-Priority: -10 firefox deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://mirrors.tuna.tsinghua.edu.cn/mozilla/apt mozilla main Package: firefox* Pin: version 1:1snap1* Pin-Priority: -1 Package: firefox* Pin: origin mirrors.tuna.tsinghua.edu.cn Pin-Priority: 1001 thunderbird sudo add-apt-repository ppa:mozillateam/ppa Package: thunderbird* Pin: version 2:1snap1* Pin-Priority: -1 Package: thunderbird* Pin: release a=ppa:mozillateam/ppa Pin-Priority: 1001 如何测试设置是否正确呢 设置

Rust ISO8601

ISO8601 格式的 DateTime 和 Duration 经常会在 REST API 中遇到,rust 标准库支持得不是很好, 经常问AI,这回记录一下 time = { version = "0.3.44", features = ["macros", "serde", "serde-well-known"] } iso8601-duration-serde = "0.1" #[derive(Serialize, Deserialize)] pub struct Info { #[serde(with="time::serde::iso8601")] last_modified_time: time::OffsetDateTime, #[serde(with="iso8601_duration_serde")] cycle_time:

Rust Cross Compile Musl

Why musl Rust 编译的程序默认是依赖 glibc 的,这会导致在新的系统上编译的 rust 程序,无法在旧的系统器上运行,有一些服务器运行了一些很老版本的系统, 如 debian stretch 之类的

Upgrade Ubuntu

升级ubuntu 因 Tauri 2.0 需要至少 22.04 LTS,所以没有办法必须要升级了。重装当然更麻烦,但是内网要升级,需要访问哪些网站,如果中间失败会不会就挂了

Pyfltk

Install fltk是一个维护了很多年的C++跨平台GUI库,fltk-rs 是它的rust绑定, 可以做出很小的GUI程序,并且样子还可以 fltk-theme 那pytho

Python Current App Dir

我们有的时候需要获取只前程序所在的目录,可能需要加载一外部的资源等等。如果只是脚本,可以使用 __file__,但很多时候我们会使用 pyins

App Singleton

有时候,我们希望应用程序只运行一个,即单例。 方案 我们可以这样做,每次启动程序就生成一个文件,并把当前的pid存储到这个文件中。如果启动时发现

It Is Time for Uv

uv 确实是一个很快很快的包管理工具,最重要的是它不止一个包管理工具, 还可以管理python的不同版本!还集成pip,pipx! Python版本

Bluetooth BLE GATT

如何给一个Iot设备配置网络呢?使用蓝牙看起来是一个可行的方案。低功耗蓝牙可以以极少的电量, 长期处于广播状态,广播自己的服务(service

Try Mcp

最近很火的mcp感觉非常有前景,python-sdk在这里。 快速开始 uv init -p 3.10 test-mcp cd test-mcp uv add "mcp[cli]" # server.py from mcp.server.fastmcp import FastMCP # Create an MCP server mcp = FastMCP("Demo") # Add an addition tool @mcp.tool() def add(a: int, b: int) ->

我的跨平台工具(持续更新)

安装 rust 因为很多工具都是rust写的,所以需要先安装rust,参考这个网页 Linux export RUSTUP_DIST_SERVER="https://rsproxy.cn" export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup" curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh Windows 需要先安装vs_BuildTools,然