Git
2025-05-26
看了 《How Core Git Developers Configure Git》,作者建议配置应该尽可能简单一些,不要使用 alias 定义别名。
最后作者也提供了一些他建议配置的条目,如下:
# clearly makes git better
[column]
# 自动分栏(比如列出分支的时候,会按照屏幕宽度自动分栏显示)
ui = auto
[branch]
# 按照最新提交时间排序
sort = -committerdate
[tag]
# 默认按字母排序不是好的选择,比如:
# v0.1
# v0.10
# v0.2
sort = version:refname
[init]
defaultBranch = main
[diff]
algorithm = histogram
colorMoved = plain
mnemonicPrefix = true
renames = true
[push]
default = simple
autoSetupRemote = true
followTags = true
[fetch]
prune = true
pruneTags = true
all = true
# why the hell not?
[help]
autocorrect = prompt
[commit]
verbose = true
[rerere]
enabled = true
autoupdate = true
[core]
excludesfile = ~/.gitignore
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
# a matter of taste (uncomment if you dare)
[core]
# fsmonitor = true
# untrackedCache = true
[merge]
# (just 'diff3' if git version < 2.3)
# conflictstyle = zdiff3
[pull]
# rebase = true
WebDev
2025-05-26
开发工具
2025-05-24
几年前就用过 sunny,这次因为一些特殊场景又要用到网络穿透,又捡起来了。
- 先在他们官网上创建隧道(选择本地地址,还有远程端口)
- 下载 sunny 程序(他们定制的 ngrok 客户端)
- 执行他们隧道管理页面提供的命令 sunny --server=free.idcfengye.com:4443 --key=xxxx 就行了
如果临时使用一下的话,nuhup + &
就够:
nuhup sunny --server=free.idcfengye.com:4443 --key=xxx &
如果要求更高,那就用 systemd 保活:
sudo vim /etc/systemd/system/sunny-eqr.service
sudo chmod 644 /etc/systemd/system/sunny-eqr.service
sudo systemctl enable sunny-eqr.service
sudo systemctl start sunny-eqr.service
sudo systemctl status sunny-eqr.service
需要吧把注删除
[Service]
ExecStart=/home/catroll/Documents/Mine/sunny --server=free.idcfengye.com:4443 --key=xxx
Restart=always
RestartSec=3
# 每10秒检查一次 (程序不支持 watchdog 协议)
# WatchdogSec=10
# 启动前等待2秒
ExecStartPre=/bin/sleep 2
# 自定义停止命令
ExecStop=/usr/bin/pkill -f sunny
# 限制最大内存使用
MemoryMax=512M
# 限制CPU使用率
CPUQuota=80%
先配置 ssh 证书信任,然后就关闭密码登录,后续就通过证书认证。
# 将自己的公钥配置到服务器上(在本地执行)
ssh-copy-id -i /path/to/id_rsa -p 10022 admin@free.idcfengye.com
# 修改服务器 ssh 配置(在服务器执行)
# PermitRootLogin no
# PasswordAuthentication no
sudo vim /etc/ssh/sshd_config
sudo systemctl restart sshd
# 测试链接情况(在本地执行)
ssh -i /path/to/id_rsa -p 10022 admin@free.idcfengye.com
DB
2025-05-22
个人
2025-05-19
抖音上刷到一个视频(心理医生老秦):
家庭的第一原理是经济,而不是感情
职场的第一原理是功劳,而不是苦劳
人脉的第一原理是资源互换,而不是卑微讨好
爱情的第一原理是筛选,而不是培养
健康的第一原理是自我管理,而不是医疗
养老的第一原理是金钱,而不是医疗
我又搜索到了这一篇 人性的第一性原理
结合我自己的认知,总结如下:
最重要的事:
- 家庭 -> 经济基础 + 感情经营
- 爱情 -> 互相尊重、互相理解
- 职场 -> 功劳 + 苦劳,我的定位是什么,我为团队带来了什么,我是不是不可替代
- 人脉 -> 价值互换(可能有点功利,但是确实比真诚、善良等优秀品质更可靠、更持久)
- 养老 -> 提前规划(财务储备) + 健康管理 + 心态调整(知足常乐)
- 健康 -> 自律 + 医疗
- 教育 -> 不迷信(独立思考) + 知识积累 + 实践迭代(实践->总结->改进 循环)
我认为好的做事方法:
- 用心做事,以诚待人。
- 要深入思考事情的核心,不要被表面上不那么重要的事情所蒙蔽。
- 方法论:
- 制度设计:要能够围绕一个目标形成一个正向循环,而不是指望单方面持续投入。
- 优先级管理。
第一原理
又叫第一性原理,希腊哲学家亚里士多德提出,指那些不言而喻的真理,整个理论系统的基础。
希腊哲学家亚里士多德提出。
马斯克在采访中提到“第一原理思维”(first principle thinking),是一种从根本出发,追问事物本质的思维方式。
大概是指人们做事总是习惯看着前人的脚步,在其基础之上做一些小的创新。
而在做革命性事业时,需要抛开前人的经验,不要被那些“前提条件”所阻碍,从最根本的问题开始思考。
“电池组太贵了,每千瓦时要 600 美元。但如果根据构成电池的原料价格计算成本,你会发现其实只需每千瓦时 80 美元。那么一定有办法把这些材料组合成电池,并大幅降低成本。”
“火箭是由什么材料组成的?航空级铝合金、钛、铜、碳纤维… 如果把这些材料按市场价计算,成本只有传统火箭价格的 2%。所以问题在于,如何将这些材料组装成一枚火箭。”
TLS
2025-04-24
硬件
2025-04-18
苹果电脑的芯片发展可以分成三个阶段:
- 1994 年到 2005 年:使用 IBM 的 PowerPC 架构
- 2006 年到 2020 年:改用 Intel 的 x86 架构
- 2020 年底开始:全面转向自研的 ARM 架构 M 系列芯片(M1 ~ M4)
苹果肯定是觉得 Intel 做的不好,然后选择更加开放的 ARM 标准做魔改。
看到网上的评价,应该是非常成功的,移动设备的功耗 + 桌面设备的性能,并且比传统的 CPU 更加面向未来。
1. 架构不同:ARM vs x86
M 系列基于 ARM 架构,强调低功耗高效能;而传统 Intel / AMD 芯片是 x86 架构,更强调通用计算能力。
ARM 原本是移动端主流架构,苹果通过深度优化,做出了媲美甚至超越传统 PC 的性能,同时拥有更长续航。
拓展阅读:网易号,Apple M4 成为新单核性能冠军,击败英特尔的 Core i9-14900KS
2. SoC 设计:高度集成
M 系列采用 SoC(System on a Chip)设计,把 CPU、GPU、NPU(神经网络引擎)、内存控制器等都集成在一颗芯片中,减少延迟、提高带宽。传统 PC 芯片大多是分散式设计,效率和功耗控制上不如 SoC。
3. 统一内存架构(UMA)
M 系列的 CPU 和 GPU 共享同一套高速内存,数据无需来回搬运,适合图形、视频、AI 场景。传统 PC 中,CPU 和 GPU 使用不同内存,需要频繁复制数据。
阮一峰的《科技爱好者周刊(第 345 期)》中是这么说的:
大芯片指的是 CPU、GPU、内存封装在一块芯片里面,典型代表是苹果的 M 系列芯片。
这种设计使得 CPU 和 GPU 共享内存,并且有极大的内存带宽,这就是为什么苹果电脑不需要 Nvidia 显卡,也能运行 AI 模型。
4. 软件生态的适配和进化
苹果在 2020 年 M1 发布时推出了 Rosetta 2 翻译层,用于兼容旧的 x86 应用。现在,大量主流 macOS 应用已经原生适配 ARM,性能更强、能耗更低。开发者也逐步转向以 ARM 为主的架构优化。
5. M4 的新特性
M4 是第五代 Apple Silicon,主要升级包括:
- 采用台积电第二代 3nm 工艺,性能与能效进一步提升
- 神经网络引擎更强,面向 AI 原生支持(如生成式模型、照片处理)
- 新一代 GPU 架构,支持动态缓存和光线追踪
- 加强视频编解码引擎,更适合 4K/8K 视频处理
开发者
2025-04-11
brew 执行命令的时候总是提醒这个:
Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
-
关闭自动更新:环境变量中添加:
export HOMEBREW_NO_AUTO_UPDATE=1
-
忽略提示:环境变量中添加:
export HOMEBREW_NO_ENV_HINTS=1
-
调整更新频率:环境变量中添加:
# 改成每周一次
export HOMEBREW_AUTO_UPDATE_SECS=604800
我就是在 ~/.zshrc
文件中添加:
# brew 自动更新配置
# 自动更新时不在终端打印提示信息
export HOMEBREW_NO_ENV_HINTS=1
# 频率每周检查一次
export HOMEBREW_AUTO_UPDATE_SECS=604800
手动更新:
# update brew
brew update
# upgrade all installed packages
brew upgrade
个人
2025-04-05
我又开始思考如何替换公司的那台老 Dell 笔记本了。
现有机器
家里:
公司:
- MacBook Pro 13″
- Dell Inspiron 14R (5437)(i5-4200U / 8G DDR3 1600MHz / 500G HDD)
替换机器
零刻 EQR6(国补之后大约 2200)
- AMD 锐龙 R9 6900HX(8 核 16 线程,4.9 GHz)
- 16GB DDR5 4800MHz * 2
- 1TB (M.2 2280 PCIe 4.0 X4)
- AMD Radeon 680M 显卡(12CUs,2400 MHz)
- 双千兆网卡 + WIFI 6 + 蓝牙 5.2 + 85W 电源
作用:
- Linxu 环境(Ubuntu 24.04)
- 定时任务
- 网络环境(OpenVPN 等)
|
Mac Mini M4 |
零刻 EQR6 |
价格 |
4499 |
2799 |
价格(优惠后) |
4499 - 750 - 750 = 2999 |
2799 - 560 = 2239 |
CPU |
M4 10 核(4 + 6) |
AMD Ryzen 9 6900HX 8 核 16 线程, 3.3GHz |
内存 |
16GB |
16GB x 2 |
硬盘 |
256GB |
1TB M.2 SSD |
显卡 |
- |
AMD Radeon 680M (12CUs, 2400MHz) |
苹果优惠:教育优惠 750,国家补贴 750(20%)
零刻优惠:国家补贴 560(20%)
参考资料与拓展阅读
个人
2025-04-01