Develop

#Develop

返回
闪念

在 MacOS 上激活 Chrome Devtools 的远程调试功能

在 MacOS 上激活 Chrome Devtools 的远程调试功能 关键在于除了指定 --remote-debugging-port,还需要指定 --user-data-dir。 下面的命令能解决问题: `shell rm -rf ~/tmp/user-data-dir mkdir -p ~/tmp/user-data-dir cp -r...

闪念

Espressif Rust 安装:RISC-V 与 Xtensa

Espressif Rust 安装:RISC-V 与 Xtensa 来源(官方文档):https://docs.espressif.com/projects/rust/book/installation/riscv-and-xtensa.html (访问时间:2025-09-22) 摘要 - 使用 espup 一站式安装并维护 Espressif 目标所需的工具链(同时覆盖 RISC-V 与...

闪念

Git忽略文件:.gitignore vs .git/info/exclude

Git忽略文件:.gitignore vs .git/info/exclude 📍 文件位置 | | .gitignore | .git/info/exclude | |----------------|-----------------------|-----------------------| | 路径 | 项目根目录/子目录 | 本地仓库的 .git/info 目录 | | 是否提交...

闪念

跨项目共享本地 Git 子模块配置

跨项目共享本地 Git 子模块配置 配置现有子模块 1. 修改子模块 URL S 是子模块名称。 `bash cd /path/to/parent_repo 进入父仓库(A/B/C) git config submodule.S.url /projects/S 指向你的本地仓库 ` 2. 强制重新初始化 `bash rm -rf S 删除旧子模块 git submodule...

闪念

Rust 嵌入式:STM32G474 通过 XIP 扩容 Flash

Rust 嵌入式:STM32G474 通过 XIP 扩容 Flash * [ ] 等待 PCB 打样和焊接 * [ ] 验证 > 目前开发项目,写着写着固件体积超了,不得研究 XIP 技术来将程序放到外部扩展的存储器中使用。可惜 G4 系列只有少数高端系列支持 XIP,目前没时间折腾,直接换了大容量的版本 G474 先开发项目,等有时间了再用 G474 验证 XIP。 背景知识 eXecute...

闪念

20250221 r1xllgas

Blessed.rs: Rust 生态精选库索引,通过社区共识筛选出各领域最稳定、实用的第三方 crate,提供类似 Linux 发行版软件源级别的依赖推荐。

闪念

20250221 9qlb579n

gibo: 基于 GitHub gitignore 模板库的命令行工具,通过 gibo dump 可快速生成 200+ 编程语言/开发环境的 .gitignore 文件配置。

闪念

20250202 rmxy9fct

搓个小脚本,用来将 Blinko 目前所有的笔记转成公开(分享)。 使用 bun 执行: `shell bun run blinko-share-notes.ts ` 脚本地址

闪念

在自部署的 Gitea 中,使用 Actions 和 [actions/checkout@v4](https://github.com/actions/checkout/tree/v4/) 拉取子模块

在自部署的 Gitea 中,使用 Actions 和 actions/checkout@v4 拉取子模块 先准备一个机器人账户,专门用来在 actions 中对 gitea 进行访问。如果不在意安全性或做功能验证,可以把自己的账户当作这个机器人账户使用。 首先通过 ssh-keygen -t ed25519 -C "your_email@gitea.example.com" -f...

闪念

20241124 8reewga1

在 Git 中,使用下面的命令删除子模块: `shell git submodule deinit -f path/to/submodule git rm -rf path/to/submodule ` 完整的参考请看评论

闪念

20241030 kqxsd1o6

dummyhttp 是一个超级简单的 HTTP 服务器,它返回固定的主体和固定的响应代码。使用 Rust 语言编写。 这是一个简单、小型、自包含、跨平台的命令行工具,用于调试和测试。它允许您返回任意 HTTP 响应并记录传入请求数据。包括 HTTP/2 支持。

文章

带功率计量的 PD 诱骗器 Ver.2

书接上文 我打算做个 PD 诱骗器,用来获取几个固定档位的电压,以便测试我的 [[Project/PowerDesk]]。第一版大概因为开发到功率计算时,flash 用尽,对应的高配 MCU 还没发布,这次也正好结合之前发现的问题,重新做一个第二版。 改进之处 系统供电 之前使用 LDO 进行供电,诱骗到 12V以上后,温度是真的有亿点点高,所以这次换了 DC-DC...

闪念

20241022 j0tz5ixx

Git 项目中,可以通过生成 git 差异,向 LLM 换取 commit message. 获取暂存取差异并复制到剪贴板: `shell git diff --staged | pbcopy ` 获取工作取差异并复制到剪贴板: `shell git diff | pbcopy `

闪念

run default job, usually based on cargo check

使用 Bacon 在 Rust 项目中自动执行测试 cargo watch 作者的推荐使用 Bacon 替代 cargo watch。 bacon is a background rust code checker. 安装和更新: `shell cargo install --locked bacon ` 基本使用: `shell run default job, usually based...

闪念

20241010 nn1fl0th

miniserve 是一个用 Rust 语言编写的 HTTP 服务器。可以用来部署静态站点,支持 MPA、SPA。 1. 轻量级 HTTP 文件服务器 2. 跨平台,单一可执行文件 3. 快速部署,适合临时文件共享 4. 支持 HTTPS 和基本身份验证 5. 提供网页界面和文件上传功能 6. 可自定义端口和 IP 绑定 7. 支持 QR 码生成和 zip 压缩下载 8. 命令行工具,易于集成

闪念

20241006 yoonf4n6

CSS Bed 是一个提供多种无类 CSS (no-class or classless) 主题效果预览的网站,为网页开发提供了起始模板。这些主题响应迅速,支持良好,且体积小巧,便于开发者快速应用。 更多: - dbohdan/classless-css: A list of classless CSS themes/frameworks with screenshots

闪念

20241006 wv1dvib1

natemoo-re/micromorph: A very tiny library for diffing DOM nodes 可以通过对比提供的 DOM 节点或 DOM 字符串与现有 DOM 节点的差异来更新当前的 DOM。可用来将 MPA 实现为 SPA。

闪念

检查并更新 Cargo 依赖

检查并更新 Cargo 依赖 使用 cargo-edit 实现。 安装 cargo-edit `shell cargo install cargo-edit ` 检查是否有更新 `shell cargo upgrade -i --dry-run ` 更新 `shell cargo upgrade -i `

闪念

20240912 k6qc49mw

Rinky-Dink Electronics 提供了许多嵌入式开发可用的 C 数组风格的字体文件。

文章

带功率计量的 PD 诱骗器

背景与目标 最近正在开发一款支持多协议快充的桌面供电设备,需要测试输出的情况,所以迫切需要拥有一个 PD Sinker。之前还没机会用到相关的芯片,这次借机搓一个。 因为自己的首要需求是测试快充输出,其次是其他场景下也能发挥最大的功能,所以考虑要实现的目标如下: 1. 支持 PD sink 1. 5-20V 支持,不追求细分的电压档位 2. 数控,避免误操作 3....

闪念

一些关于 git commit 的风格

一些关于 git commit 的风格 Conventional Commits (Conventional commits are based on the Angular conventional commits) gitmoji | An emoji guide for your commit messages Conventional Emoji Commits

闪念

20240701 9hg6d2bs

sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O. 使用 Rust 编写的终端文件管理器。

闪念

调整缩进

vscode 中格式化 python 代码 插件:autopep8 调整缩进 如果 vscode 显示的缩进空格数不正确,执行 >Detect Indentation from Content 捕获。

闪念

20240622 l5hc95a3

dprint 是一个快速、多语言的代码格式化工具。 主要特点包括: - 性能:使用 Rust 编写,比 Prettier 更快。 - 多语言支持:类似 Prettier,支持多种语言。 - 配置灵活性:比 Prettier 提供更细粒度的配置选项。 - 一致性:与 Prettier 类似,确保团队代码风格统一。 - 插件系统:支持扩展,类似 Prettier。 与 Prettier 的主要区别:...

闪念

20240622 glg611qf

vscode 调试 Rust 项目时,提示:Oops! The debug adapter has terminated abnormally. 将插件删除后恢复正常。 `shell rm -rf ~/.vscode/extensions/vadimcn.vscode-lldb-1.* ` Rust Analyzer Not Working in VSCode for Mac x86 with...

闪念

20240621 ua8hn3n8

Three.js 的光照贴图(lightMap)~~无法在金属度(metalness)大于 0.9 时体现效果,原因不明。~~babylon.js 上未发现这个问题。 Lightmap for metal does not work - Questions - three.js forum Lightmaps not visible with dark base colors or metal...

闪念

20240614 a79hrfyz

在 Intel Hackintosh 中无法启动 Android Emulator (AVD),一直黑屏的解决方法: Create the file ~/Library/LaunchAgents/emulatorfix.plist with the content below. `xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist...

闪念

20240601 07bpuyyc

在 Git 中,可以使用以下命令同时克隆主仓库和其子模块: 1. 克隆主仓库并初始化子模块: `shell git clone --recurse-submodules <主仓库 URL> ` 这个命令会自动克隆主仓库,并且同时初始化和克隆所有的子模块。 2. 克隆主仓库,但不初始化子模块: `shell git clone <主仓库 URL> ` 然后手动初始化和更新子模块: `shell...

闪念

install on ArchLinux

ncdu 是一个用户友好的 TUI 程序,用于分析磁盘空间使用情况,是 du 命令高级的替代品。 `shell install on ArchLinux sudo pacman -S ncdu usage sudo ncdu / `

闪念

20240415 sp63uvs3

将本地最新版本的 docker image 上传到指定服务器: `shell docker save $(docker images foo/bar --format "{{.Repository}}:{{.Tag}}" | awk "NR==1") | bzip2 | ssh user@example.com 'bunzip2 | docker load' `

闪念

20240329 rpfqg80c

公开的测试视频直播源: - HLS - https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/hls/xgplayer-demo.m3u8 - https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/hls/xgplayer-...

闪念

20240328 nlvfmta5

ImHex 是一个免费、开源的 Hex 编辑器。支持解析文件。

闪念

20240328 jagryn1z

readable-stream-clone 能够将 Node.js 可读流克隆出多份。

闪念

20240325 3j8gfyma

HTTPie 是一个 API 测试客户端,有桌面版和 CLI 版本。

闪念

20240323 yejvamrn

httpbin.org 是一个简单的 HTTP 服务器,能够帮助开发人员测试 HTTP client。它提供了在线服务和自部署服务。

闪念

MongoDB 在 Docker 中备份和恢复 Archive 格式数据

MongoDB 在 Docker 中备份和恢复 Archive 格式数据 备份: `bash docker compose exec mongo mongodump --archive > ./backups/date +%Y-%m-%d"_"%H_%M_%S.archive ` 恢复: `bash docker compose exec -T mongo mongorestore...

闪念

主要特点包括:

maildev 是一个用于开发环境的电子邮箱服务器,将发信服务器配成它之后,可以在他的 Web 界面查看发信的内容。 这是一个名为Maildev的开源项目,它提供了一个本地SMTP服务器和web界面的组合,用于邮件开发和测试。 主要特点包括: - 本地运行一个SMTP服务器,用于捕捉开发过程中发送的测试邮件。 - 提供web界面,可以在浏览器中查看、预览收到的邮件和其附件。 -...

闪念

20240301 5gzh6cy4

使用 vite-bundle-visualizer 分析 Vite 项目捆绑包的内容。 `bash npx vite-bundle-visualizer --open `

闪念

20240229 sswc2u6a

Colima 是一个在 Mac OS 或 Linux 上的容器运行时。 目前我使用它来代替 Docker。 Colima 日常使用

闪念

20240220 fe0n7lie

使用 PNPM 的 overrides 选项,可以可靠地将指定依赖替换成你想要的,非常适合本地修补其他包时临时测试使用。 如果是 workspace 项目,需要在根的 package.json 中配置。如果未启用 shared-workspace-lockfile (默认是 true)则应在相关的项目中的 package.json 配置。

闪念

20240215 2qv0s5o7

httpstat.us 是一个提供指定 HTTP 状态码响应的网站。

闪念

20240130 y1xo0nt8

msgpackr 是一个高性能的 JSON 序列化/反序列化的 JS 实现。支持 Node.js、Deno、Bun 和 Browser 平台。 NPM

闪念

20240123 s3y805qk

vite-plugin-swc-transform 这个 Vite 插件能够让 Vite 正确构建带有装饰器和元数据的 TypeScript 项目。 它能让下面的编译参数正确生效。终于可以在 Vite 项目中快乐地使用 async-injection 了。 `json { "compilerOptions": { // ... "experimentalDecorators": true,...

闪念

20240123 lzkj1v7y

canvas-hypertxt 能高效地在 Browser Canvas 中帮助我们简单排版文字,它作为一个帮助方法使用,本身不接管渲染。

闪念

20240120 mgf9fpqv

将本地构建的 Docker image 传送并加载到服务器中。 `shell docker save <image_tag> | bzip2 | pv | ssh <user@host> 'bunzip2 | docker load' ` 上面的代码将本地镜像通过管道符压缩并传递到另一台主机上,并在那台主机上解压并加载到 docker 引擎中。 可以同时传多个: `shell docker...

闪念

install

Rust 工具链相关操作 查看已安装和可用的工具链 `shell rustup show ` 安装和卸载工具链 `shell install rustup toolchain install <toolchain> uninstall rustup toolchain uninstall <toolchain> ` 切换工具链 `shell rustup default rustup...

闪念

20240114 dei5mqa1

更新 Cargo installed 的程序。 `shell cargo install $(cargo install --list | egrep '^[a-z0-9_-]+ v[0-9.]+:$' | cut -f1 -d' ') ` 上面的脚本能将通过 cargo 安装的程序更新到最新的版本。 来源:https://github.com/rust-lang/cargo/issues/95...

闪念

20240113 bjnlsba5

JSON 与 Base64 互转 `typescript // Encode { const obj = {"Hello": "World"} const bytes = new TextEncoder().encode(JSON.stringify(obj)); const binStr = String.fromCharCode(...bytes); const base64Str...

闪念

20240107 hgpx8nia

WebUI 是一个支持多种编程语言开发 GUI 的库,GUI 部分直接使用操作系统中已安装的 Web 浏览器来展示。

闪念

20240106 onrxtxql

WakaTime 是一款为软件开发者提供的编码时间统计工具。 WakApi 是其开源的替代品,可以作为 WakaTime 的后端,而 IDE 插件可以直接使用 WakaTime 的官方插件。 GitHub: WakApi

闪念

20240106 9e6fx5xs

traefik/whoami 是一个用于回显 HTTP 请求的工具 Docker Image。 Docker Hub: traefik/whoami - Docker Image | Docker Hub GitHub: traefik/whoami: Tiny Go server that prints os information and HTTP request to output...

闪念

Browser 中,dataURL 与 ArrayBuffer 互转

Browser 中,dataURL 与 ArrayBuffer 互转 `js const dataURL = `data:${file.mimeType};base64,${btoa( String.fromCharCode(...new Uint8Array(buffer)), )}`; const buffer = fetch(url) .then(res =>...

闪念

20231230 hctsp15k

nocodb 将任何 MySQL、PostgreSQL、SQL Server、SQLite 和 MariaDB 变成智能电子表格。 Airtable Alternative。

闪念

限制 Docker 日志体积

限制 Docker 日志体积 Docker 默认使用 json driver 记录日志,但没有限制日志体积。 将以下配置放入 /etc/docker/daemon.json 后重启 docker 服务,可以使以后创建的容器都应用日志数量和体积限制: `json { "log-driver": "json-file", "log-opts": { "max-size": "10m", ...

闪念

Docker 跨平台构建镜像

Docker 跨平台构建镜像 首先检查一下现有的 driver `bash docker buildx ls ` 默认的 driver 目前不支持。如果除了 default 外没有其他的,需要重新创建一个: `bash docker buildx create --name mybuilder --bootstrap --use ` 然后使用刚刚创建的 driver: `bash docker...

闪念

20231129 neum6l7e

TypeScript 源文件中,找不到 process 定义,可能是因为: 1. 没有安装 @types/node 2. 没有在 tsconfig 中配置 compilerOptions.types: ["node"] `json5 { "compilerOptions": { // ... "types": ["node"] } } ` 3. 没有将文件 include 到项目中...

闪念

20231125 h69kqu0b

使用 Vitest 或 Jest 进行测试用例开发时,可以使用 Snapshot 简化期望值的设置。

闪念

20231118 zmd5h4k9

dirname-filename-esm 简单地帮助我们在 ESM 项目中获取 dirname 和 filename 的工具。 `ts import { dirname, filename } from 'dirname-filename-esm'; const __dirname = dirname(import.meta); const __filename =...

闪念

小结三个 JS/TS 代码测试框架

小结三个 JS/TS 代码测试框架 Jest:目前最流行的测试框架 - ✓ 主流 - ✓ 通过扩展支持 TypeScript - ✓ 支持 cjs Mocks,实验支持 mjs Mocks - X 性能不好,似乎有内存泄露的问题 Vitest:零配置 - ✓ 开箱即用的 ESM、TypeScript、JSX 支持 - ✓ 智能且即时的监视模式,有效地自动避免无关文件的测试 - ✓ 支持...

闪念

20231116 izu44g9b

pg-mem 一个适合用于测试的、在内存模拟的 PostgreSQL 数据库。

闪念

20231109 ffx1b8nu

normalize.css 浏览器默认样式重置 `bash pnpm i normalize.css ` `js import 'normalize.css' `

闪念

install

cloc 代码行数统计工具: `bash install brew install cloc use cloc . --vcs=git `

闪念

20231106 8hyfyr78

tsx 使用 esbuild 增强 Node.js 以运行 TypeScript 和 ESM。

闪念

20231105 pwx5g77m

NVM Node.js 版本管理工具使用 安装:brew install nvm 安装最新的 Node.js LTS:nvm install --lts 使用 zsh-nvm 自动安装和使用对应版本的 node.js: `bash echo 'zinit load lukechilds/zsh-nvm ' >> ~/.zshrc ` 在项目根目录中,指定项目使用的 Node.js 版本:...

闪念

20231101 ox581fi9

GIt 本地忽略路径 The .git/info/exclude file has the same format as any .gitignore file. Another option is to set core.excludesFile to the name of a file containing global patterns. Note, if you already...

闪念

20231101 37cgvgwu

VS Code 中使用 Chrome 调试网页的启动配置 `json { "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "Launch Chrome against localhost", "url": "http://localhost:3000",...

闪念

20231031 oga7p58g

Docker Image 镜像查看与分析工具 Dive Repo:https://github.com/wagoodman/dive `bash docker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -e DOCKER_API_VERSION=1.37 \ wagoodman/dive:latest...

闪念

获取当前目录下的所有子目录

批量更新并启动子目录的所有 docker compose container 脚本。 `bash #!/bin/bash 获取当前目录下的所有子目录 directories=$(find . -maxdepth 1 -type d) 遍历每个子目录 for dir in $directories; do if [[ $dir != "." ]]; then echo "进入目录: $dir"...

闪念

20231014 v049z3o3

valtio 一个基于 proxy 的状态管理。 适用于 React 和 Vanilla。

闪念

20231013 ej3xenr9

使用 AudioContext 解决 iOS Safari UGM 之后,无法自动连续播放音频的问题。

闪念

20230930 e86fa34f

Sqids 一个从数字 ID 编码成适合 URL 的短字符串库,支持解码

闪念

20230924 q9ncarm8

判断 Safari 是否是 iPadOS 版本 根据网络上资料来看,由于 iPadOS 13 开始,iPad Pro 将自己的 navigator.platform 报告为 MacIntel, UA 也从包括 iPad 字样变成只包括 Macintosh。但是目前 Macintosh 还没有支持触摸屏的产品,所以可以这么判断: `js const isIPadPro =...

闪念

20230915 e91uiuwi

在TypeScript monorepo项目中,启用 “declarationMap” 选项以避免在跳转到定义时跳转到“. d.ts”文件。 tsconfig.json `json { "compilerOptions": { "declarationMap": true, // ... } } ` 参考: - Go to definition goes to \*.d.ts when...

闪念

20230913 q3bnwzm8

pmndrs/detect-gpu 根据设备信息和基准库对比,获取 GPU 性能指标。 适合为三维场景渲染做默认质量设置。

闪念

20230901 z4s1ciu3

CBOR 是一个类似 JSON 但是二进制的序列化表示 cborg 是一个优秀的 CBOR 实现。

闪念

20230819 n8k2umh8

fetch-progress 让 fetch 也能有 onProgress 回调。 `js fetch(this.props.src) .then( fetchProgress({ // implement onProgress method onProgress(progress) { console.log({ progress }); // A possible...

闪念

20230814 nw4ksu5d

SpacetimeDB 您可以将 SpacetimeDB 视为数据库和服务器合二为一。 它是一个关系数据库系统,允许您通过称为“模块”的奇特存储过程将应用程序逻辑直接上传到数据库中。 您的客户端无需部署位于客户端和数据库之间的 Web 或游戏服务器,而是直接连接到数据库并在数据库本身内部执行应用程序逻辑。您可以将所有权限和授权逻辑写入模块内,就像在普通服务器中一样。 这意味着您可以使用单一语言...

闪念

20230809 qbmshvh2

批量执行 NPM 脚本时常用的工具: - concurrently - wait-on - npm-run-all2

闪念

20230809 2dyk11u5

Three.js VR UI 库 - felixmariotto/three-mesh-ui: ⏹ Make VR user interfaces for Three.js - ion 3D Engine

闪念

20230808 o3i7ar05

async-injection 支持异步的依赖注入库。使用装饰器标记。

闪念

20230808 nekzpvl1

yuka JavaScript 游戏 AI。 提供寻路、转向、触发器等功能,以及 AI 逻辑设计

闪念

20230805 z85b9ghs

React TwinwindCSS 组合: - Twind.style 😂 这个项目好像有点凉了 - daisyUI — Tailwind CSS Components

闪念

20230805 r5eqf7jy

在 .npmrc 增加下面的内容,解决无法使用 pre 和 post 前缀脚本: ` enable-pre-post-scripts=true ` ref: How to fix "postbuild" and "prebuild" not working with pnpm? | The David Dias

闪念

20230805 i3q66wz8

UnoCSS 类似 TwinwindCSS 的 Atomic CSS 引擎 Onu UI React UI with Uno CSS

闪念

20230725 fxw1iwvz

让 pnpm 在网络状态不太正常的环境下尽快重新获取资源: .npmrc ` fetch-retries=5 fetch-retry-mintimeout=1 fetch-retry-maxtimeout=10 `

闪念

20230725 dl00ixna

Vite 开发服务器反向代理 Parse Server 时,会出现较大的响应(29KiB) 被截断的问题 表现是 cURL 测试时,响应内容在固定位置停止,连接保持未断开。 经过测试,问题出在 node-http-proxy 上。使用 fast-proxy 没有出现问题。如果不使用 Parse Server 作为上游,直接用 express 返回静态的结果,在 node-http-proxy...

闪念

20230724 xdw2xfas

在Vite 配置文件中使用项目的 .env 环境变量: `ts // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }; return { your_config:...

闪念

install with brew

killport 是一个 Rust 语言写的命令行程序,可以杀死占用指定端口的进程。 安装: `shell install with brew brew install killport or curl -sL https://bit.ly/killport | sh ` 使用: `shell killport 8080 `