升级打怪

 
日常花点时间学习 Solana

最近有大佬写了本书,「Learn Me A Solana」。

初略看了几章,通俗易懂。介绍数学知识的那几章除外,🤦。

本来以为是个参考书,连续看了几章,感觉还不错,或许有所得。

Ref

 
使用GUI配置 Andriod 模拟器

要想使用 Andriod 模拟器,通常先安装 Android Studio。

Andriod 模拟器,即AVD(Android Virtual Device Android虚拟设备)。

模拟器配置

运行 Android Studio,再依次选择 “More Actions > Virtual Device Manager”

device-manager-welcome-screen

然后点击 “+”,再点击 “Create Virtual Device”。

2025-12-19_13-47

选择自己需要的系统版本。

2025-12-19_13-48

创建设备后,您将能够在设备管理器面板中看到所有设备的列表。

2025-12-19_13-51
 
TailwindCSS 高效入门

正确使用姿势:

  1. 无 CSS
  2. 实用优先,多用组合
  3. 提取组件类,减少重复出现的class

搭档利器:

  1. clsx,简单的条件类名组合;
  2. twMerge,需要类名覆盖的场景;
  3. cva,有多个变体的复杂组件

开发体验:

  1. Tailwind CSS IntelliSense - 核心智能感知
  2. Headwind - 保持代码整洁
  3. Tailwind Fold - 提高可读性
  4. Convert CSS to Tailwindcss - CSS 转换 TailwindCSS

Ref

 
Brew FQA

Permission denied (publickey)

==> Updating Homebrew...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
2025-12-15_09-47

苹果公司更新了其技术说明 ,指出自 10.12.2 版本起,macOS 包含了 OpenSSH 7.3p1 版本及其新行为。通过 ssh-add -K 添加到钥匙串的密钥在重启后不会自动重新添加到 ssh-agent。

方案一,手动执行下面👇的命令:

ssh-add ~/.ssh/userKey

方案二,或者,在 ~/.ssh 下创建 config 文件(推荐使用这个方式。),内容如下:

Host * (asterisk for all hosts or add specific host)
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile <key> (e.g. ~/.ssh/userKey)

Ref:

 
Web & Native develop

跨端开发,一直是个热门的话题。

但经历这么多年的发展后,真正持续发热、社区活跃的技术方案,屈指可数。

发展历程

最开始,PhoneGap / Cordova,

然后,React Native / Weex / Flutter

再来,uni-app / Taro

事实上跨端的方案远非如此,还有 Ionic / Expo / Metro 等等。

对于 React Native / Weex 的兴起,前端开发很兴奋...但很快被打脸,对比 native 的性能太差,很多最求性能的公司,都逐渐放弃,又投向 native 的怀抱。

Google 适时的推出 Dart + Flutter,其性能非常接近 native,又让大家看到了曙光。

随着开发深度的推进,Flutter 也暴露出诸多不足:

  1. 包体积大小
  2. Dart 生态有限
  3. 原生集成复杂度
  4. Web 性能与 SEO
  5. 桌面端成熟度
  6. 内存消耗
    ...

但仍然有公司不断前行,深耕 Flutter 生态建设。

新的转机

技术开发领域,各项一直都是耕耘不辍,Web 领域尤为突出。

由于业务扩张,Web 领域再次迎来了一个变革——小程序,轻应用。

随着小程序的出现,前端开发再次迎来转机,国内催生了 uni-app、Taro 等一众转译框架。

这些转译框架不单可以生成小程序,也可以转化成对比 native 性能的客户端应用。

现在,跨端开发进入到深水区,不仅是UI交互表现,而且追求极至的性能。

对于未来,个人感觉这个方向,转译框架终将替代 native 开发。

Ref

 
谈一谈 vibe coding

vibe coding 这个事情出来也有些时间了。

感觉对于IT从业者需要了解,以至于不被快速发展的行业趋势所淘汰。

简单讲,就是编程这个事情,是人来主导?还是机器主导?

软件需求开发,一般是:

  1. 需求文档
  2. 开发概设
  3. coding

在开发概设的时候,需要考虑技术架构和选型等一众技术问题。

当进入 coding 阶段,需要考虑编码规范、业务逻辑等一些具体实现问题。

然而,vibe coding 这个模式,主要实施在 coding 阶段。区别是,不再考虑编码规范等一些实现细节,而是由 AI 相关工具完成。

使用这个模式的开发者,只需要告诉 AI 具体的需求,然后针对产出物微调,直至达成。

总体而言,是一个非常好的理念,但想替代传统开发有限。

非常适合,周末即兴项目,即MVP。

Ref

 
React 开发日常

Warning: Each child in a list should have a unique “key” prop

这是因为在渲染 template 模板时缺少 key

容易忽视的是,

<></> 是Fragment的缩写形式,遍历使用时要加key,而缩写形式是不可以加key的,所以要这样写:

<React.Fragment key={'your key'}>
  // ...
</React.Fragment>

Ref:

Objects are not valid as a React child (found: object with keys {xxx}). If you meant to render a collection of children, use an array instead

产生以上错误的原因是,在 jsx 语法中错误的渲染了对象数据,在 react 语法设计里,数组和基本数据类型可以直接插入 jsx 渲染,但是不可以直接插入对象进行渲染

Ref:

 
已损坏,无法打开。您应该将它移到废纸篓。

如果 macOS 上安装软件时出现了“已损坏,无法打开。 您应该将它移到废纸篓”,可以尝试这2种方式:

  1. 开启软件安全性来源为任何来源
sudo spctl --global-disable
2025-11-24_14-43

提示🔔:Globally disabling the assessment system needs to be confirmed in System Settings.

这个不用理会,切换一下界面:先点击其他tab,再重新选择“隐私与安全性”

2025-11-24_14-42
  1. 为应用解除 macOS 的安全限制问题
sudo xattr -r -d com.apple.quarantine /Applications/your.app

Ref

 
Chrome 谷歌浏览器记住密码后,回显时输入框字体很小

最近在开发 Web 端页面时,发现 Chrome 浏览器有一些展示问题,比较困惑,网络上搜索时,发现很多人遇到这个问题,特此记录。

问题表现

Kapture 2025-11-22 at 14.09.25

原因

给表单设置自动填充 autocomplete="on" 后,Chrome 会默认给自动填充的input表单加上 input:-webkit-autofill 私有属性。

解决办法

方法一:对私有属性设置样式(无效)

input:-webkit-autofill::first-line {
	font-size: 20px;
}

方法二:关闭自动填充(有效)

<input type="password" autocomplete="new-password" />

Ref

 
Cursor 试用,真香~
 
如何在手机上发布 Planet?

最近在玩 Planet,感觉这个既可以做 blog,也可以用来做记录,很方便。

但是,Planet 目前主要是适配在 mac 的工作,所以用来做记录,就有点不方便。

看了下 @Livid 大佬,关于 V2EX 的 Planet 聚合器及其相关生态 - V2EX 的文章,斗胆问了句 “Planet 最近使用下来,非常适合移动场景,考虑开发移动端的 app 吗?”

然后,@Livid 大佬,发了一篇 Mac Mini Server 的配置文章,看完后瞬间头大。

所以,现在先做个笔记,有空的时候学习一下 Tailscale

另外,YouTube 上有蛮多关于 Tailscale 的视频,可以结合一起搞。

Ref

 
旧版 1Password 7 再续前缘

今天逛 V2,发现有人写了一篇 旧版 1Password 7 买断用户生存指南 - V2EX

内容很详实,立马跟着操作了一遍。

大概花了1-2H,将 1Password 7 “满血复活”。

个人的操作方式如下:

  1. 先开通 1Password 8 的会员订阅,然后在电脑上安装最新的 1Password 8.x 版本,然后将数据以 .csv 导出;
  2. 将导出的数据,再导入 1Password 7(v7.9.11) 中;
  3. 手机上卸载 1Password 8.x,然后安装 1Password 7 版本;
  4. 打开手机上的 1Password 7,创建保险库,并配置 iCloud 或者 dropbox,这样就可以同步数据;
  5. 电脑上的 1Password 7 也同样连接 iCloud 或者 dropbox;

浏览器插件

这块还没折腾,大致思路是:使用开发者模式,加载 1 password 插件

软件截图

iPhone

IMG_0164 IMG_0165 IMG_0163 IMG_0162

mac

2025-11-16_14-28_1 2025-11-16_14-28

FQA

建议关闭软件更新

2025-11-16_14-29

Ref

 
记录一下 iPhone 去广告的办法
  • Shadowrocket + 规则 + HTTPS 解密
  • DoH & DoT 加密 DNS

Ref

Shadowrocket

DNS

 
PopClip 效率工具

CodingCases.popclipext

命名风格转换

312296629-099f1577-3196-4ac2-9643-14576aa3b8af 312303289-a1202b04-0631-4384-a74a-f3d3642cc0c1

【PopClip 从 MAS 迁移】 update by 2026-01-06

由于苹果公司的“沙箱”策略,PopClip 已不再向苹果提交最新版本,MAS 上最后有一个版本为 2023.9。

迁移方法很简单,参考 Migrate from the Mac App Store (MAS) edition to the Standalone edition 即可。

国外 reddit 论坛也有这个事情的讨论,详见:PSA: PopClip is leaving the Mac App Store due to Apple’s sandboxing policy (in future will be available on Setapp and website)

非常感谢🙏开发者,对于 MAS 迁移的用户没有收取额外费用。

Ref

 
OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

重置 Git 代理

git config --global --unset http.proxy
git config --global --unset https.proxy

Ref

OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443解决方案

Git
 
如何设置 Clash Verge Rev 自定义规则
 
Planet:记录一下安装和使用的过程

有意无意之间在逛 V2ex 时,发现 Planet 这个东西。

今天折腾了大概一下午,终于搞定。

成果🏅:顺利使用 Planet 发布了 blog,并且绑定了域名:rich-1e.sol

安装 & 使用 Planet

提前准备:

  • Macbook 电脑💻
  • 安装 Homebrew & Planet 客户端
  • 挂🪜
brew install --cask planet # 通过 brew 安装

当 Planet 安装好之后,就可以写 blog 了。点击发布,用不了几秒钟,你就可以右击菜单,然后点击那个球🌍,就可以在网络上看到刚刚发布的内容。

未命名 未命名-1

里面还有很多配置⚙️和玩法🎮,可以自行研究🧐。

绑定 .sol 域名

这个费点功夫,需要用 sol 购买。

大概的流程是:

  1. 注册一个钱包;
  2. 兑换 SOL 币🪙;
  3. 然后去 sns.id 购买域名

建议使用: okx 比较容易上手。

明天再补,下班先。。。。


Update: 2025/11/14

接上面👆的内容,现在说如何购买 .sol 域名:

  1. 首先在手机上安装 okx 客户端
  2. 通过 okx 购买 SOL 币🪙
  3. 安装 okx 浏览器插件(建议使用 Chrome)
  4. 将购买的 SOL 币🪙,转入 okx 浏览器插件内的钱包
  5. sns.id 选好域名,点击 “Connect Wallet”
  6. 然后,在 okx 浏览器插件确认,即可
2025-11-14 10.32.48

补充:okx,即欧易。

sns.id 也可以使用信用卡💳交易

Ref

 
如何在 M 芯片 MacBook Pro 上安装老版本的 Nodejs?

苹果笔记本 MacBook Pro

  • 芯片:M1
  • 操作系统:macOS 15.1.1

使用 nvm 安装 Nodejs(v14)会报错:

nvm install --lts=fermium

Installing with latest version of LTS line: fermium
Downloading and installing node v14.21.3...
Downloading https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz...
curl: (56) The requested URL returned error: 404

download from https://nodejs.org/dist/v14.21.3/node-v14.21.3-darwin-arm64.tar.xz failed
grep: /Users/rich1e/.nvm/.cache/bin/node-v14.21.3-darwin-arm64/node-v14.21.3-darwin-arm64.tar.xz: No such file or directory
Provided file to checksum does not exist.
Binary download failed, trying source.
Detected that you have 10 CPU core(s)
Running with 9 threads to speed up the build
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
Local cache found: ${NVM_DIR}/.cache/src/node-v14.21.3/node-v14.21.3.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/src/node-v14.21.3/node-v14.21.3.tar.xz
$>./configure --prefix=/Users/rich1e/.nvm/versions/node/v14.21.3 <
Node.js configure: Found Python 3.14.0...
Please use python3.10 or python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.
nvm: install v14.21.3 failed!

报错原因是 python 版本不支持,

Please use python3.10 or python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.

通过 pyenv 安装支持的版本,例如:python3.10~3.5

安装 python 完成后,再次执行:

nvm install --lts=fermium 

如果仍然报错,那么可以通过 Rosetta 2 试试。

安装 Rosetta :

softwareupdate --install-rosetta  
                                       
I have read and agree to the terms of the software license agreement. A list of Apple SLAs may be found here: https://www.apple.com/legal/sla/
Type A and press return to agree: A
2025-11-10 14:25:48.307 softwareupdate[47336:2590239] Package Authoring Error: 072-30124: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
Install of Rosetta 2 finished successfully

安装完成后,重新启动 iTerm

当前我的命令行工具是 iTerm,也可以使用系统自带的 Termial。

然后,右击菜单->显示简介,勾选“使用 Rosetta 打开”。

iTerm

打开 iTerm,再次执行:

nvm install --lts=fermium 

这样应该就成功了~🏅

Ref

 
VCMI 游戏指南

VCMI 是一个开源游戏项目,里面的内容几乎与英雄无敌3一致。

VCMI is an open-source engine for Heroes III, offering new and extended possibilities. To use VCMI, you need to own the original data files.

官方提供 Android / iOS / macOS / Windows 等平台的安装包,用户只需要加载游戏所需的数据文件,即可畅玩。

iOS 未越狱方案

这里主要讲一下安装方式,侧载

  • AltStore
  • SideStore
  • LiveContainer

安装步骤如下:

  1. 首先要安装 AltStore;
  2. 然后通过 AltStore 安装 SideStore;
  3. 再通过 SideStore 安装 LiveContainer;

其实,也可以通过 AltStore 直接安装 LiveContainer,但是 AltStore 有安装数量7天有效性限制🚫。因此,改为 SideStore + LiveContainer 的组合🤝方式。

  • SideStore 可以通过Wi-Fi刷新,解除7天有效性♻️限制,比 AltStore 方便
  • LiveContainer 可以突破👆App 安装数量限制🔢

App 截图

LiveContainer 列表

LiveContainer 列表

游戏启动画面

游戏启动画面

网络故障

网络故障,需要挂🪜

模组

安装模组

游戏截图

如果是新人,建议从官方发布的版本开始玩,后面可以再玩其他类型的地图🗺️和模组📦。

New Game

New Game

CAMPANING

CAMPANING

CUSTOM

CUSTOM

浏览选择自创战役

浏览选择自创战役

加载战役,【历代记-废墟战神】

加载战役,【历代记-废墟战神】

加载动画

加载动画

游戏开始

游戏开始

人物属性

人物属性

Ref

Prev
Page 6 of 6