Node.js 程序以 Keyless 模式从 1Password 读取密钥

October 28, 2024

最近经常用 Node.js 写一些本地运行的脚本,需要安全的读取一些密钥密码之类的敏感信息,业界通常的做法是这样:通过环境变量读取通过在线的 KMS 系统读取对于环境变量模式,一般情况需要在本地文件系统明文保存一些关键的密钥信息。本质上还是...

高效优雅的观影指南

October 28, 2024

本文主要聚焦在如何高效、优雅的观看你想看的任意 影视剧、体育、综艺等节目,尤其是一些国外的影视资源。只探讨技术,不提供任何无版权资源。背景近些年海内外各大内容巨头均推出了自己的流媒体平台,对于用户来说面临一个问题:经常需要订阅很多家平台的会...

RIME 鼠须管输入法简明使用教程

April 07, 2023

工作中经常见到大量同事花名被打错的场景,本文分享了我近几年在用的输入法,完美解决了这个问题。本文适合有以下需求的读者:很在意输入法隐私,不想让第三方知道自己输入了什么很在意打字效率和准确性经常要输入一些自定义词组在接触到 RIME 之前,我...

Web3 到底是什么?

September 07, 2022

Web3 究竟是什么,能解决什么问题,符合什么条件才算 Web3。一千个人心中有一千个哈姆雷特,在目前 Web3 快速发展和演变的阶段,以上这些问题的答案的细节也会一直变化,目前并不能准确的盖棺定论。在圈内作为用户体验了一段时间后,我的理解...

每个人都应该读一遍《1984》和《动物庄园》

June 01, 2022

《1984》《动物庄园》...

钱包安全指南:如何保护你的 NFT 和加密资产不被盗

May 03, 2022

目前的加密世界几乎每天都在上演各种被骗和资产被盗的场景,颇有黑暗森林的味道。为什么会这样呢?一个主要因素是钱包的安全保护方案相比传统银行的多重验证方案还是太简单了。很多非常危险的操作,钱包并没有给出特别明显的提示,不明所以的用户只要在钱包里...

我在 macOS 上高频使用的应用

May 02, 2022

RIME 鼠须管输入法开源免费的输入法,胜在干净简洁、定制性高,我用它替换了使用多年的百度输入法第一次使用有一定的上手成本,可以参考我写的使用指南:https://baiyun.me/rime-simple-tutorialKeka免费好用...

Web3 时代:如何使用 MetaMask 钱包实现一键登录

April 30, 2022

在 web2 时代,几乎所有的网站和应用都需要自行保存用户的账户信息,且每家的账号不通用,用户需要记住所有的这些账号信息,为了管理这些账号密码信息,业界甚至诞生了很多类似 1Password 这样的密码管理器帮助用户管理繁多的账号信息。...

境外手机卡:澳门电信大湾区预付卡使用体验

March 13, 2022

在注册一些国外服务的时候大陆手机号有时候并不是很好用,或者干脆无法使用,这时候如果有一个境外的手机号就会方便很多。国内的用户获取境外手机号的方法有很多,不同的方法各有优缺点,比如 Google Voice 号码大部分情况下都是没问题的,不过...

Electron 应用如何获取系统代理配置

January 19, 2022

操作系统默认都有上图这种系统级别的代理配置,但是像 Electron 应用,主进程的网络请求默认并不会走这个系统代理,这个默认行为很容易给用户来带不便从而惹恼用户。如果开发者要让主进程里的网络请求走系统代理,需要用一些技巧。读取系统代理配置...

解决 Xbox 在国内下载速度慢

October 23, 2021

今年入手了 Xbox Series X,发现 Xbox 在国内下载速度非常慢,无奈之下,发现遇到这个问题的玩家还不在少数,最终我花了一点时间用 Node.js 写了一个 xbox-speed-test 缓解下载速度慢的问题,它可以找到对你来...

自建图床指南

October 08, 2021

图片托管是一个很常见的需求,经常能看到不少人在想方设法使用类似微博图床、GitHub issues 等方案变相的当作免费图床,实际上这些方法很容易违反对方的服务条款,说不准哪天就把你的图片删了或者限制外链到其他网站访问,这种是非常不推荐的。...

使用 TypeScript 提升可维护性

September 15, 2021

合理使用 TS 的枚举类型最近发现不少新手或有一定 TS 使用经验的的开发同学并没有充分发挥 TS 枚举值的能力,代码中很容易见到 if(status === 1){} else if (status === 2){} 这种魔法数字,项目只...

从 Loading 动画出发改进 React 应用的用户体验

July 03, 2020

在 Web 1.0 时代,用户在不同的页面之间跳转基本上都是通过全量刷新页面来实现的,这个时候 Web 开发者基本上不用自己添加 Loading 效果,浏览器会有自己的 Loading 状态。不过进入 Web 2.0 时代就不一样了,因为这...

使用 Dart Sass 代替 Node Sass

July 08, 2019

2020-10-27 更新:Sass 官方已在 2020-10-26 正式宣布弃用 LibSass,并推荐使用 Dart Sass https://sass-lang.com/blog/libsass-is-deprecated为什么要换掉...

React 设计模式和思想

June 21, 2018

React 社区在近几年的发展过程中诞生了很多有趣的组件设计 "模式",通过合理的运用这些模式可以让我们写出更好用的 React 组件。比如,在不使用任何设计模式的情况下,要实现一个类似这样的 Tabs 组件最初的代码可能是这样的const...

从传统 MVC 到同构:Web 发展历程

December 22, 2017

Web 技术一直在不断发展和演进,从最早的静态页面到如今的复杂单页应用,这其中经历了许多阶段和技术的迭代。本文将从最传统的 MVC 模式一直介绍到目前常用的同构模式,探讨各种技术的优缺点,帮助读者更好地理解 Web 技术的发展历程。无论是 ...

关于我的博客

March 11, 2017

建立这个博客的初衷是用来分享和记录我的想法,同时希望这些内容能帮助到需要的人,另一方面,这里也是我的技术实验室,很多技术相关的 idea 会在这里进行实践应用。主要用到的技术栈:Node.jsPostgreSQLGraphQLReactTy...