Rust

  • Published on
    serde 几乎是目前 Rust 生态中最常用的序列化与反序列化库了. ## Golang 实现 作为一个 Golang 程序员来说, 免不了要对比一下. Golang 官方库直接实现了 json 的序列化和反序列化. 对于序列化和反序列化, Go 都是用一个简单的接口`interface`表示: ```go // https://pkg.go.dev/encoding/json#Marshaler type Marshaler interface { MarshalJSON() ([]byte, error) } // https://pkg.go.dev/encoding/json#Unmarshaler type Unmarshaler interface { ...
  • Published on
    2022-03-04 update: gdm 用户最好不要启用 motd. 否则在登录界面会卡很久才进去. 有办法可以禁用这一行为, see https://bbs.archlinux.org/viewtopic.php?pid=1684018#p1684018 moving the following line: ```shell session optional pam_motd.so motd=/etc/motd ``` from `/etc/pam.d/system-login` to `/etc/pam.d/sshd`. The result is that the motd is no longer displayed in gdm, but it's still displayed when logging in through ssh. ...
  • Published on
    其实从 0.10.x 开始就觉得 delta 老慢了, 但是一直没怀疑到是 delta 自身的bug. 有一天, 正好在 github 上面看到有人提 [issue](https://github.com/dandavison/delta/issues/824), 说当系统进程较多时, delta 扫描所有进程, 这里花了大量时间导致变慢. 然后作者很快发布了一个新版本 [0.11.2](https://github.com/dandavison/delta/releases/tag/0.11.2) , 说这个问题解决了扫进程时慢的问题. 但是我到手一测试, 发现依然可以肉眼感受到这个"慢". ## flamegraph 分析: 定位问题 ...
  • Published on
    ## 提问的故事 -- 废话哥 vs 高效哥 起因我折腾的时候, 升级了 `zero-to-production` 这个仓库的 `tracing-bunyan-formatter` 版本, 它[当前依赖](https://github.com/LukeMathWalker/zero-to-production/blob/42d4f6a024fda2e7bc277679a595e3edfa2cb6c9/src/telemetry.rs#L18)的是 0.2 版的 `tracing-bunyan-formatter` 和 `tracing-subscriber` : ```toml tracing-subscriber = { version = "0.2.12", features = ["registry", "env-filter"] } ...
  • Published on
    在 WebView2 出来之前,如果想要基于 webivew 技术开发桌面应用,在 Mac OSX 上面可以用 [webkit](https://webkit.org/), 在 Linux 上面可以用 GTK 版的 [webkitgtk](https://webkitgtk.org/), 但是在 Windows 上面只能用 [MSHTML](https://en.wikipedia.org/wiki/Trident_(software)), 这个 MSHTML 使用起来各种不兼容。 现在,随着 m$ 的 edge 浏览器拥抱 Chromium 内核,`WebView2` 的出现,使得情况得到很大的改善。 ...
  • Published on
    6 月 22 日 gtk-rs [官方博客](https://gtk-rs.org/blog/2021/06/22/new-release.html)就发文了 距离上次发布已经过去很长时间了,正如您所猜测的,在这段时间内发生了很多事情。让我们从最重要的开始: gtk-rs 现在为 GTK4 库提供绑定! 它们都可以在 gtk4-rs 仓库中找到。 甚至还写了一本介绍书来教用户如何使用 gtk4-rs。你可以在[这里](https://gtk-rs.org/gtk4-rs/stable/latest/book/)阅读它。接下来几天将发布有关 GTK4 的更详细的博客文章。 ## 新网站和新logo 我们利用这个机会彻底重新设计了网站并制作了一个logo。既然你已经来了,不要犹豫,去看看吧! ...
  • Published on
    刚从 Rust.cc 日报看到的。欢呼ing! ## Crate.io Mirror `~/.cargo/config`: ```toml [source.crates-io] replace-with = 'rsproxy' [source.rsproxy] registry = "https://rsproxy.cn/crates.io-index" ``` Rustup Mirror `~/.zshrc` or `~/.bashrc`: ```shell export RUSTUP_DIST_SERVER="https://rsproxy.cn" export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup" ...
  • Published on
    ## 1. imgproxy/imgproxy (golang, 4.6K star) [imgproxy](https://github.com/imgproxy/imgproxy) 目前有 4.6K star https://github.com/imgproxy/imgproxy > Fast and secure standalone server for resizing and converting remote images > > imgproxy 是一个快速安全的独立服务器,用于调整远程图像的大小和转换远程图像。 imgproxy 的主要原则是简单,速度和安全性。 > > imgproxy 只做一件事 —— 调整远程图像的大小 —— 而且做得很好。 当您需要动态调整多个图像的大小以使其与您的应用程序设计匹配时,它非常有用,而无需准备大量缓存的调整大小的图像或每次设计更改时都重新执行。 ...
  • Published on
    飞书原名叫 Lark. 有Mac, Windows 和 Web 版。 不过打开很多 Tab 的浏览器里找 飞书 的 Tab, 确实不太方便。于 Github 找到一个 用 Electron 包了一下 飞书 Web 的客户端。 使用 electron builder 构建 AppImage / ArchLinux .pkg.tar.xz / rpm / deb 包等还是非常方便, electron builder 实际上采用的是一个基于 ruby 的打包工具,叫 fpm 不得不说Electron的工具还是蛮完善的。 ![](electron-builder.png) 有两个小问题: 1. 隐藏到托盘后没法显示了。 ...
  • Published on
    ## 更新 2021-06-30 更新: 项目名称现在更改为 [vaultwarden](https://github.com/dani-garcia/vaultwarden) 了, 详情见 https://github.com/dani-garcia/vaultwarden/discussions/1642 ## 缘由 1password太贵, 关键是这类软件好像以前还有数据泄露事例。 在此之前老灯用的是[Firefox Lockwise](https://www.mozilla.org/en-US/firefox/lockwise/) , 只能说基本上够用吧。管理密码功能在Firefox上操作。其实就是Firefox本身的功能。 Lockwise app 只是协助在手机端给你自动填充密码。 ...
  • Published on
    > this article first post on 2021-01-25 > updated on 2023-08-28 起因主要是想给我fork自convco的[git-cz](https://github.com/ttys3/git-cz) 项目 release 那里增加一个Mac二进制文件方便使用Mac的人下载。 这是一个方便使用约定式提交记录的git工具. ![git-cz-screen-record.gif ](git-cz-screen-record.gif) ## Environment ``` OS: Fedora 38 (Workstation Edition) x86_64 CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz x86_64 ...
  • Published on
    今天开始新建了一个叫 commandlinefu 的子目录(或者叫分类), 专门分享命令行相关的东西。 ## 5秒钟版本 这次要跟大家分享的是一个叫`bat` https://github.com/sharkdp/bat 的命令工具。 这个工具主要采用[Rust](https://www.rust-lang.org/)编写, 它可以说是Linux里`cat`的克隆和增强版。 安装方法 https://github.com/sharkdp/bat#installation ```bash #Fedora sudo dnf install bat # Windows # Windows没有 choco的可以直接去 https://github.com/sharkdp/bat/releases 下载 bat-*-x86_64-pc-windows-msvc.zip ...